Logo

dev-resources.site

for different kinds of informations.

Digital resilience: redundancy for websites and communications

Published at
12/21/2021
Categories
security
showdev
devtips
Author
victoria
Categories
3 categories in total
security
open
showdev
open
devtips
open
Author
8 person written this
victoria
open
Digital resilience: redundancy for websites and communications

When what seems like half the planet noped out of WhatsApp after its terms of service update, applications like Signal (which I highly recommend) saw an unprecedented increase in user traffic. Signal had so many new users sign up that it overwhelmed their existing infrastructure and lead to a 24-hour-ish outage. The small team responded impressively quickly, especially given that a 4,200% spike in new users was utterly implausible before it ocurred.

The downside of so many people moving onto this fantastic application is that it caused a brief outage. If you rely solely on a certain application for your communications, brief outages can be debilitating. Even when it seems implausible that your favorite chat, email, or website service could just โ€“ poof โ€“ vanish overnight, recent events have proved it isnโ€™t impossible.

Have a backup plan. Have several. Hereโ€™s how you can improve your digital resiliency for things like websites, messaging, and email.

Messaging

I recommend Signal because it is open source, end-to-end encrypted, cross-platform, and offers text, voice, video, and group chat. Itโ€™s usually very reliable; however, strange things can happen.

Itโ€™s important to set up a backup plan ahead of any service outages with the people you communicate with the most. Have an agreement for a secondary method of messaging โ€“ ideally another end-to-end encrypted service. Avoid falling back on insecure communications like SMS and social media messaging. Hereโ€™s a short list for you to explore:

If youโ€™re particularly technically inclined, you can set up your own self-hosted chat service with Matrix.

Having a go-to plan B can help bring peace of mind and ensure youโ€™re still able to communicate when strange things happen.

Cloud contacts

Do you know the phone numbers of your closest contacts? While memorizing them might not be practical, storing them solely online is an unnecessary risk. Most services allow you to export your contacts to vCard or CSV format.

I recommend keeping your contacts locally on your device whenever you can. This ensures you still know how to contact people if your cloud provider is unavailable, or if you donโ€™t have Internet access.

Full analog redundancy is also possible here. Remember that paper stuff? Write down the phone numbers of your most important contacts so you can access them if your devices run out of battery or otherwise canโ€™t turn on (drop your phone much?).

Local email synchronization

If your email service exists solely online, thereโ€™s a big email-shaped hole in your life. If you canโ€™t log in to your email for any reason โ€“ an outage on their end, a billing error, or your Internet is down โ€“ youโ€™ll have no way to access your messages for however long your exile lasts. If you think about all the things you do via email in a day, I think the appropriate reaction to not having local copies is ๐Ÿคฆ.

Download an open source email client like Thunderbird. Follow instructions to install Thunderbird and set it up with your existing online email service. Your online service provider may have a help document that shows you how to set up Thunderbird.

You can maximize your privacy by turning off Thunderbirdโ€™s telemetry.

To ensure that Thunderbird downloads your email messages and stores them locally on your machine:

  1. Click the โ€œhamburgerโ€ overflow menu and go to Account Settings
  2. Choose Synchronization & Storage in the sidebar
  3. Ensure that under Message Synchronizing, the checkbox for Keep messages in all folders for this account on this computer is checked.

You may need to visit each of your folders in order to trigger the initial download.

Some other settings you may want to update:

  1. Choose Composition & Addressing and uncheck the box next to Compose messages in HTML format to send plaintext emails instead.
  2. Under Return Receipts choose Global Preferences. Select the radio button for Never send a return receipt.

You donโ€™t need to start using Thunderbird for all your email tasks. Just make sure you open it up regularly so that your messages sync and download to your machine.

Websites

I strongly believe you should have your own independent website for reasons that go beyond redundancy. To truly make your site resilient, itโ€™s important to have your own domain.

If you know that my website is at the address victoria.dev, for example, it doesnโ€™t matter whether Iโ€™m hosting it on GitHub Pages, AWS, Wordpress, or from a server in my basement. If my hosting provider becomes unavailable, my website wonโ€™t go down with it. Getting back up and running would be as simple as updating my DNS configuration to point to a new host.

Price is hardly an excuse, either. You can buy a domain for less than a cup of coffeewith my Namecheap affiliate link (thanks!). Namecheap also handles your DNS settings, so itโ€™s a one-stop shop.

With your own domain, you can build resiliency for your email address as well. Learn how to set up your custom domain with your email provider. If you need to switch providers in the future, your email address ports to the new service with you. Here are a few quick links for providers Iโ€™d recommend:

Build your digital resiliency

I hope youโ€™ve found this article useful on your path to building digital resiliency. If youโ€™re interested in more privacy topics, you might like to learn about the VPN I use or great apps for outsourcing security.

If your threat model includes anonymity or censorship, building digital resiliency is just a first step. The rest is outside the scope of my blog, but here are a few great resources Iโ€™ve come across:

devtips Article's
30 articles in total
Favicon
๐“๐ก๐ž ๐Œ๐ข๐ฌ๐ญ๐š๐ค๐ž๐ฌ ๐ˆ ๐Œ๐š๐๐ž ๐€๐ฌ ๐š ๐๐ž๐ ๐ข๐ง๐ง๐ž๐ซ ๐๐ซ๐จ๐ ๐ซ๐š๐ฆ๐ฆ๐ž๐ซ
Favicon
Debugging Techniques Every Developer Should Know
Favicon
13 Hidden Windows Productivity Tricks You Should Know
Favicon
Tkinter: Python's Secret Weapon for Stunning GUIs
Favicon
Tips and Tricks for Docker Compose: Leveraging the override Feature
Favicon
Essential Security Practices for Web Developers: Keep Your Code Safe and Sound
Favicon
13 Hidden Windows Productivity Tricks You Should Know
Favicon
Automating Laravel Tasks with JSON-Based Task Runner
Favicon
8 Plugins You Should Add To Your IDE And Why
Favicon
How to Safely Edit a Git Commit Message After Pushing *Demystifying one of the tricky aspects of Git*
Favicon
A Guide to Efficient Problem Solving: Techniques for Tackling Coding Challenges
Favicon
How to improve the PageSpeed score of your Nuxt.js website in 6 steps
Favicon
Top 10 Vue.js Resources For Your Project ๐Ÿš€
Favicon
How is testing different in monolith and microservices architectures?
Favicon
Top 15 Flutter Tools that you should know
Favicon
Top 10 tools for (not only) multilingual Android development
Favicon
Why allow users to switch languages
Favicon
Top 10 Android Libraries to boost your development in 2022
Favicon
Seven reasons why you should use Microservices architecture
Favicon
TypeScript library for Localazy API
Favicon
Cheatsheet: Getting started with Software Localization
Favicon
My paper to-do strategy
Favicon
Measuring productivity with GitHub issues
Favicon
How to set up `git bro` command with git alias
Favicon
Digital resilience: redundancy for websites and communications
Favicon
CodeSandbox init shortcuts
Favicon
How to become a software developer
Favicon
How to write good documentation
Favicon
So you're the family tech support
Favicon
Transforming an object to array in JavaScript

Featured ones: