A meticulously careful selection of services to use for everything from securing connections on public WiFi, over storing data to retrieving e-mails. I’ve put together a collection of services that I use for personal and business purposes while on the go.
Let’s start with the basics: Access to the internet. In many places today one can find prepaid SIM cards and free WiFi. For data connections over 3G/LTE I use a Netgear Nighthawk M2 router with local prepaid SIM cards. Depending on the usage limits, I get multiple cards to make sure I don’t run out of data. Also, some carriers are better than others depending on the region I’m currently in.
Apart from that, I run an OpenWrt router that manages my own private network, no matter whether I connect to the internet though the Netgear or a modem.
I prefer to purchase and top-up local SIM cards in cash. In a lot of countries it’s possible to walk into small shops or kiosks and get prepaid SIM cards no questions asked. It is worth checking carriers’ pop-up stalls on the streets and in malls, as they might even give away prepaid cards for free.
I have a large collection of various SIM cards from all over the worlds, some of which even offer roaming options for other countries. Within the EU it’s possible to use the data volume of a SIM card in other EU member states outside of the country the SIM card was purchased in. Effectively this means that you can pick up the cheapest card with most data volume while in a low-income EU country and use it for extended periods of time, under the same conditions, inside a different, much more expensive EU country, where the same data volume would cost a lot more. While it’s possible to anonymously purchase SIM cards in the US, in Central- and Latin-America as well as in Asia, it’s not that easy in Europe. Most countries have implemented strict rules that require showing a passport upon purchase or activation the very least. However, there are still places in less-developed European countries that allow purchasing and activation of data SIMs without KYC requirements. Usually newspaper kiosks, tobacco shops and tiny grocery shops are the places to check for that.
For everyone who’s not looking to swap SIM cards in every country there are providers that offer global SIM cards. With such cards one can roam through multiple countries without the need to purchase individual local SIM cards on arrival, usually at a much higher overall cost though. Here is a list of options for international SIM cards:
- Google Fi
Note: Google Fi will be quick to suspend data roaming if you’re not going to be using it predominantly in the US, regardless of your actual data use – and might even lock you in
- WiFi Map eSIM
Keep in mind though, that apart from Google Fi – which is only available to people with a US bank account/address – most of these SIM cards are pretty expensive for what they offer. 99% of the times you’ll be cheaper (and enjoy better privacy) with a locally purchased SIM card.
Alternatively, to avoid the hassle of finding local shops that would sell SIM cards without KYC, there is a service called silent.link. Depending on the country and the required data/call options it can get pretty expensive, though. However, silent.link promises instant, KYC-less eSIMs that can be paid for via Bitcoin/Lightning. For added privacy, a service like SideShift.ai, fixedfloat.com or changenow.io can be used to send XMR, have it converted to Bitcoin and deposited directly on silent.link’s wallet.
silent.link apparently operates its internet gateways in Europe and Israel. There’s not a lot more info on the company.
Free WiFi can be found through various resources on the internet. For example WiFi Map has iOS and Android apps that show publicly accessible access points on a map. Here is a Google (ghnar!) Map which contains wireless access info from airports and lounges all over the world.
I use VPNs for most of the things I do online. A VPN is one of multiple measures that can be implemented to give corporates (Amazon, Facebook, Google, Twitter, …) a harder time when they try to track your online activities. A VPN might also be helpful when downloading Linux ISOs via BitTorrent. However, keep in mind that they’re by no means privacy silver-bullets and they are definitely not going to protect from state surveillance – unless maybe you invest a good amount of effort and roll your own VPN, but even then …
Speaking of which: I run my own VPN infrastructure based on Wireguard, which I share with a handful of people. The infrastructure consists of VPS instances that are spread across the globe, which I can auto-provision through a minimal but super efficient Terraform + Ansible setup that I implemented for that purpose. Not only does it allow me to spin-up new or turn-off existing VPN servers – all within a matter of minutes – it also makes it possible to flip servers (and thereby IPs) for new ones every couple of hours/days.
Instances that are used for everyday browsing usually run on whatever cloud VPS provider offfers the best price-features-ratio. However, instances that directed towards privacy solely run on cloud providers that offer anonymous payments via XMR and are provisioned through multiple layers of jump-hosts and Tor proxies.
If I was to still use commercial VPNs, I would go for one that will at least pay me in cash or using XMR. Some examples include:
- NordVPN (Panama, accepts XMR and store-purchased gift cards)
- Trust.Zone (Seychelles, accepts CLOAK)
- Njalla (former IPredator VPN) (Nevis, accepts XMR)
- Mullvad VPN (Sweden (caution!), accepts XBT and cash)
Travel caution: The use of Tor/VPNs by individuals is banned/blocked in the following countries: Belarus, Iran, Iraq, Oman, Turkey, Uganda and the United Arab Emirates. In China and Russia only VPN services that get a government approval are officially allowed. In North Korea, Cuba, Egypt, Vietnam, Bahrain, Turkmenistan, Myanmar, Syria, Libya and Venezuela there are no official bans, but due to their strict internet censorship, using Tor/VPNs might not be easily possible and come with risks.
Always make sure to check the laws when traveling to places that are in political turmoil or known for their controversial stance on privacy and free speech. This doesn’t mean you shouldn’t use VPNs or Tor in these regions, it just means you should figure out how to do it in order to not get into trouble.
Self-contained networks / Darknets
At times when a VPN is insufficient from a privacy-standpoint or I cannot find the required information on the clearnet, I use ZeroNet, IPFS and the Tor networks. Some ISPs might try to prohibit use of such networks and block them – for example, during my time in Spain, Vodafone didn’t want people to use IPFS, so it required a few workarounds to access the network.
FYI: This site is also available as a hidden Tor service, via the onion URL linked in the footer. I’m also looking forward to make it available via IPFS as well.
I use encrypted (and ideally anonymized) DNS whenever possible. For this, I have DNSCrypt configured and use public DNSCrypt servers that do not have logging enabled. DNSCrypt on its own won’t prevent DNS leaks. Its sole purpose is to encrypt DNS traffic and prevent attacks like DNS spoofing / MitM.
Hint: Firefox already uses a technology called DoH to protect DNS requests. However, by default it makes use of the Cloudflare DNS. This should be changed to a different one or disabled altogether in preference of a dedicated DNSCrypt setup.
On my Linux workstations all ports are blocked and outgoing connections are explicit. Kill-switches for VPNs are built using iptables scripts. Additionally, the whole network is secured using OpenWrt’s built-in firewalling.
For Linux desktops in general check out OpenSnitch.
On macOS I use Little Snitch in alert mode, so that I get informed about new connection attempts and can decide whether I want to allow them or not.
In Firefox I use the following extensions:
- Cookie AutoDelte
- Dark Reader
- IPFS Companion
- User-Agent Switcher
- uBlock Origin
Additionally, I use the following
beacon.enabled = false browser.contentblocking.category = strict browser.safebrowsing.downloads.remote.enabled = false browser.send_pings = false browser.sessionstore.privacy_level = 2 browser.urlbar.speculativeConnect.enabled = false browser.newtabpage.activity-stream.feeds.telemetry = false browser.ping-centre.telemetry = false browser.tabs.crashReporting.sendReport = false browser.newtabpage.activity-stream.section.highlights.includePocket = false services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includePocket = false extensions.pocket.enabled = false toolkit.telemetry.enabled = false toolkit.telemetry.server = "" toolkit.telemetry.unified = false datareporting.healthreport.uploadEnabled = false media.gmp-widevinecdm.enabled = false media.navigator.enabled = false network.cookie.cookieBehavior = 5 network.dns.disablePrefetch = true network.dns.disablePrefetchFromHTTPS = true network.http.referer.XOriginPolicy = 2 network.http.referer.XOriginTrimmingPolicy = 2 network.http.sendRefererHeader = 0 network.IDN_show_punycode = true network.predictor.enable-prefetch = false network.predictor.enabled = false network.prefetch-next = false privacy.donottrackheader.enabled = true privacy.firstparty.isolate = true privacy.resistFingerprinting = true privacy.trackingprotection.cryptomining.enabled = true privacy.trackingprotection.enabled = true privacy.trackingprotection.fingerprinting.enabled = true privacy.trackingprotection.socialtracking.enabled = true webgl.disabled = true pdfjs.enableScripting = false security.ssl3.rsa_des_ede3_sha = false security.ssl.require_safe_negotiation = true geo.enabled = false
More settings and info can be found here.
I never use Google, Bing, nor DuckDuckGo anymore, because they have questionable privacy-protection. Also, DuckDuckGo announced the introduction of censorship, under the excuse of protecting people from Russian disinformation.
For image searches I use Yandex, which is a privacy-nightmare, but has some of the best results in that specific area.
I mainly use OpenStreetMap for address lookups and navigation. On my phones I use OsmAnd. I keep Google Maps installed on iOS for emergencies only. However, I have the precise location setting for Google Maps disabled.
Communication makes a big part of my digital life. In order to keep in touch with friends as well as business contacts I use a variety of messengers, video-conferencing tools, social networks and other platforms.
As detailed in an entry I wrote a while ago, e-mail to me is more of a temporary storage for documents. I use different services with varying privacy-settings for that matter. In addition, I share accounts with other people for less important kind-of-team-mail-things.
I run my own mail servers, which, as with the VPN infrastructure, I share with a handful of people I know. E-mail has become the scourge of humanity and the “privacy-respecting e-mail” market is snakeoil. Very expensive snakeoil.
For business email I still use a hosted service, simply because its mail servers’ reputation guarantees that important business mail won’t end up in someone’s spam folder.
Direct & Small-Group Messaging
For the past decade I was using Messages (formerly iMessage) and Signal (formerly TextSecure) for the means of instant messaging. While Messages catered to professional communication (e.g. with clients and business partners), Signal handled my private communication with friends.
Since the end of 2021 I’ve started moving as far away from both messengers as possible, due to privacy concerns. Neither Messages nor Signal are to be trusted. Apple is continuing to weaken the little privacy they had left and Moxie (the initial Signal founder) is not to be trusted either, having some very disturbing opinions on decentralization, cryptocurrency and the way how Signal should operate.
While it’s naive to think that a messaging app could protect one’s privacy while it’s running on a closed-source platform that has tracking and spying built right into its core – as it is the case with iOS and Android – I nevertheless try to limit the reach of proprietary communication tools.
I’m slowly replacing both of these apps with XMPP + OMEMO. All of my phone numbers, apart from a single business-related mobile number have been disabled for Messages and FaceTime. I still use Signal with a handful of contacts, but I’ve switched personal communication via Signal over to a burner number.
Community- and Group-Messaging
I have been idling on the IRC (mainly
libera) for the past
decades. I kept ZNC running as a bouncer and even have ZNC
Push configured to send me push
notifications via Pushover when someone mentions me
while being afk. Feel free to join me
Additionally, I have been using Matrix, or Riot, or Element,
or Puffy, or Diddy, P. Poppa, Poppadiddy Pop, whatever, for a long time now.
While I don’t like Element (as a client) and wish there was a way to use my
irssi setup on Matrix – spoiler, there
is – I do like the
privacy Matrix offers over plain-text IRC.
Recently I started the experiment to move from IRC to Element/Matrix by
turning off my ZNC bouncer. I don’t know whether I can make Element stick, but
it’s worth a try and I might be able to make
irssi connect to it via
The experiment failed, I’m back on IRC, but Element is also still in use. Eh.
Voice- & Video-Calling
See Messaging. Additionally, in case there’s a need for conference calls with room links, moderation, screen-sharing, et al., I prefer to use Jami and Jitsi over Google Meet or Microsoft Teams. Unfortunately in the corporate world it’s hard to replace well-established products, mainly because people are comfortable using them and don’t like change too much in general. Hence I’m forced to use spyware from time to time.
In these cases I make sure to allow these websites or apps to access my microphone only temporary. I also make sure they don’t have access to neither my camera nor my desktop unless it’s required. Even then, I remove access to all these things afterwards or even delete the apps altogether, until the next conference call comes up.
I never use or install Skype or Zoom in particular. I also never install any other video conferencing software that is not OSS on my workstation or my laptop. I don’t mind installing Google Meet or the Microsoft Teams app on my business phone, since it is packed with spyware already.
Unless I have to call a hotline I don’t do plain phone calls. Not only is the quality of calls miserable; Phone calls offer the least amount of privacy possible. I auto-reject phone calls that don’t use FaceTime, Signal or Matrix, simply because 99.99% of these calls are unsolicited and often spam/scam. In fact, my phone is on airplane mode every time I’m near WiFi, so reaching me via a regular phone call is pretty much impossible.
On a side note, I have recently discovered EasyEffects, an audio effects application for PipeWire on Linux. With EasyEffects it’s possible to alter the sound of the voice in order to make it harder to be identified. While it allows pitching it up to Chipmunk level and down to sound like Darth Vader, it’s usually sufficient to add a handful of compressor, filter and reverb plugins and randomize the values from call to call, to make it harder for your voice to become a fingerprint when using non-open voice calling software.
Apart from my regular posts on Superhighway84 and sporadically posting on reddit, I don’t use any social network. I dropped Mastodon a while ago, simply because the instances I was registered on did not work for me – and a glimpse into other instances didn’t appear much more promising either.
Contacts, Calendars and Tasks
I’m running my own Baïkal server that allows me to connect any device using the infamous CalDAV and CardDAV protocols. These protocols are supported by virtually every operating system and contacts- or calendar-app and allow for syncing appointments, events and contact details across multiple platforms.
I have set up Baïkal on an OpenBSD instance that runs a minimal but reliable httpd+PHP-FPM (meh) setup. I share the instance with a few people who also didn’t enjoy having all their contacts and calendar entries stored at Google, Apple or any other surveillance-capitalism profiteur.
Before that I checked out EteSync, which I found to be riddled with bugs and hence too unreliable. I also checked out Radicale, which was good, although too minimal for what I was looking for.
Documents & Data
Keeping data secure and private is important for someone who is constantly on the move. And while not everyone can carry a fully-encrypted and remotely backed-up data center with them all the time, there are nevertheless ways to retrieve, send and store data in ways in which things won’t blow up in the event of disaster.
An important note upfront: I always make sure that every device I carry with me has hard-drive encryption turned on. On macOS it’s called FileVault, on Linux it’s OpenZFS’s native encryption as well as Dm-crypt. Smartphones usually have hardware full-disk encryption turned on by default.
An important topic when using encrypted devices is plausible deniability. Gregory Alvarez wrote a good piece on that, which I recommend reading.
Version Controlled Data
Much of my critical data is version controlled, meaning that I maintain it
git repository. In addition, if the data is by
any means confidential, I use
to transparently encrypt and decrypt it using my GPG key. Depending on the type
of data, my
git remote is either a public or private GitHub repository or a
git server that I run on my own infrastructure.
Additionally, I use
git for collaborating, since it’s possible to give other
people access to individual repositories.
Keep in mind that version control makes sense for changing data where you want to keep a revisions history. For everything else it might end up being a waste of space.
Data that doesn’t need to be version controlled and might not even require to be readily available at all times goes here. For example documents that might be kept for compliance reasons. For this sort of data, I use Resilio Sync. It allows me to sync individual folders between my devices. Additionally, it offers selective synchronization, so that I can keep only the documents on individual devices that are relevant to have there.
Sharing data is something I do in different ways. The easiest one is to send it
through any means of communication (e-mail, messengers) or via
OnionShare. Depending on the confidentiality and
whether it will have to be sent back with modifications,
git or Resilio Sync
(or Syncthing) might work better.
Snapdrop is another option here, btw. It uses WebRTC to directly send files from peer to peer.
Instead of Google Docs or Microsoft Office 365 I use offline applications like LibreOffice and Apple’s office suite (Pages, Numbers, Keynote). For collaborative work, I use CryptPad. CryptPad uses parts of different software (like OnlyOffice) and packages everything into a privacy-friendly collaboration platform.
When I need to draw sophisticated service architecture diagrams, I use Cloudcraft.
Apart from obvious things like encryption I also use a few methods to make sure that in case my data was compromised, I notice it and maybe get some clues about what happened. One of those methods consists of spreading canary traps across every set of data and online service that I’m using. Services I can recommend for that purpose are CanaryTokens.org and “BlueCloudDrive”.
Canary tokens can be added to…
- file-systems, as website bookmarks or as tags included in HTML files
- e-mail services (e.g. by having a mail titled “Important documents” in your inbox that contains an obfuscated link to the token
- digital address books, by adding the link as website of a (fake) contact that might be of interest for others
- calendars, by adding a recurring meeting with the token link as meeting URL
- physical objects, e.g. to phones, credit cards and even printed documents, either as very short text-links or as QR codes
In order to be able to work online I need infrastructure that runs somewhere in a well-connected and ideally heavily guarded environment. For simple things like websites, I use CDN-based storage. Amazon S3, Google Cloud Storage or GitHub Pages are sufficient for that purpose. For more complex setups and services, though, it can be tricky to strike a good balance between cost, comfort, privacy and availability. Through my attempt to drop Google I noticed that it can be incredibly tricky to find alternatives when you’ve been dealing with more sophisticated infrastructures.
For a long time I have been using Amazon Web Services and Google Cloud Platform as cloud providers for my cloud infrastructure. I cut ties with AWS, because GCP turned out to be cheaper for what I was doing. And even though GCP sucked (and in parts still does), I was able to migrate everything without too much effort.
When I began cutting ties with Google a year ago, I started experimenting with other cloud providers. One important requirement for me is an API for which Terraform has a provider plugin. This allows me to do (at least) the most basic things through code.
Additionally, since I was running many things on AWS Lambda (later Google Cloud Functions), I was eager to find a provider that would offer a serverless environment to which I could migrate.
Unfortunately there is still no competition to Google and Amazon on the serverless playing field, which meant that I would have to go for the second best option: DIY.
I ended up on DigitalOcean, mainly because it was the cheapest cloud infrastructure provider at that time that had a working Terraform implementation. I migrated all my services into containers and pods and ran them on DO’s managed Kubernetes service, using the smallest available node sizes and horizontal auto-scaling enabled. Unfortunately it turned out to be more expensive and require more maintenance than everything I used on AWS and GCP before.
Right now I’m in the middle of reconsidering my infrastructure provider choice. Not much has changed and there still is no mature alternative to Lambda/Cloud Functions on the market. Here is a list of providers that offer at least a bare-minimums integration with Terraform and that I tried and found to be working well in general:
- Vultr (or use this referral link if you’d like to support me and get $100 in credits)
- DigitalOcean (or use this referral link if you’d like to support me and get $100 in credits)
- Hetzner Cloud
A honorable mention is OpenBSD Amsterdam, even though it does not have a Terraform provider integration.
Additionally, there are a couple of special use-case providers that I’m either actively using or keep using from time to time. They offer raw VPS instances without bells and whistles and require much more administrative work. Also they’re not exactly cheap. However, in return, these services operate in ways that value privacy and free speech and make it hard for anyone to interfere with whatever operation is being run on their systems. Here are some interesting options:
- Njalla: Based in Nevis, hosted in Sweden, payment via Monero possible
- orangewebsite: Based and hosted in Iceland, payment via Bitcoin possible
- Icy Evolution: Based and hosted in Mauritius, no cryptocurrency payment options
- 1984 Hosting: Based and hosted in Iceland, payment via Bitcoin possible
- FlokiNET: Based and hosted in Iceland, payment via Monero possible
- NiceVPS: Based in Dominica, hosted in Switzerland or Netherlands, KVM VPS with full disk encryption support, Tor hosting supported, payment via Monero possible
- Cockbox: Based and hosted in Romania, Tor hosting supported, payment via Monero possible
- Impreza: Based in Romania, hosted in Romania, Ukraine, Iceland or Finland, Tor hosting supported, payment via Monero possible
- CryptoHO.ST: Based and hosted in Romania, payment via Monero possible
- Full list of hosters that offer crypto payments
The key to privacy here isn’t necessarily the jurisdiction, but more the fact that by using Monero as a payment option it’s going to be a bit harder for people to find out who’s running the service. Obviously concealing a full operation requires more than just an anonymous payment option and a jurisdiction that’s less likely to interfere, but you get the point.
A different approach can be taken with a service like Fleek. Fleek allows you to host static websites on a web CDN and additionally makes them available over IPFS. Fleek can be used completely anonymous since they have a free plan that only requires a (burner) GitHub account to set up. While Fleek is prone to censorship due to the jurisdiction it operates in, your actual website is able to live on even after it was taken down, when distributed over IPFS.
Last but not least, I sometimes partner with business contacts who happen to run actual hardware in data-centers and rent several Us of processing power. While this is an expensive approach, it’s the only option in cases in which the service/data is required to comply with regulations that prohibit cloud usage.
Domains are an important part of web privacy. The majority of registrars offer paid privacy guard subscriptions for individual domains, that replace personal contact details with generic provider info in the data that’s being transmitted to ICANN. However, a simple phone call or a cease and desist letter will suffice to find out who is behind a guarded domain.
A better approach to this is using a provider like Njalla, which lets you register domains in their name, making them the owners of that domain. Since registrations on Njalla are possible over VPN/Tor and payment via Monero is available, Njalla can be used as truly private domain registrar, so that even if they would ever pass on customer data to whoever might be requesting it, it would be of no use to them.
TODO: Document Git infrastructure.
The majority of these web projects are currently running on services like render. Even though for example Cloudflare allows to run static sites on their infrastructure, I refrain from it due to their already big enough influence on the internet.
APIs & Services
As mentioned before in the Infrastructure Provider part, I prefer to use serverless architectures over containerized services, because it’s cheaper for me. However, since the serverless cloud provider market is a de facto oligopoly there’s not a lot of a choice:
Either stick to one of the big cloud providers or migrate to a different technology stack. There are DIY serverless infrastructure projects around, for example Kubeless and OpenFaaS, but these unfortunately won’t help cutting costs.
Since I have no use for the features Google Analytics offers, I’m using privacy-respecting alternatives that happen to be open-source projects. That way I can either roll my own analytics service if needed or use their paid subscription. Currently I’m running Plausible on many websites. Previous to that I used Fathom, which I recommend as well.
For more sophisticated projects like eCommerce websites Matomo is a more powerful choice.
I use Pushover for retrieving push notifications about status changes of individual cloud services. For example, when CI runs for deploying this journal complete, I retrieve a push notification with the status. Pushover is a very minimalist service and offers integration for a wide variety of environments.
Dead Man’s Switch
TODO: Build dead man’s
switch for data and cloud
- PRISM BREAK
- Restore Privacy
- The Ultimate Personal Security Checklist
- EFF: Surveillance Self-Defense
published [ ] · updated [ ]