How I learned to "start worrying" and love the illusion of feeling safe.
Digital security and privacy have become more important than ever. With cyber threats constantly evolving, it is crucial to stay up-to-date with best practices and take proactive measures to protect your online presence. This comprehensive guide covers a wide range of security and privacy recommendations for various platforms and scenarios, aiming to help you fortify your digital life.
General
- Use a password manager: 1Password or Bitwarden.
- Never reuse passwords.
- Use strong passwords, at least 18 characters long.
- Don't store real passwords of critical accounts in password managers.
- Instead, store the password altered by a secret rule only you know.
- Apply to accounts related to your real-world identity or money.
- Cloud-based password manager could be hacked too, e.g. LastPass.
- Use different emails and different passwords when registering services.
- Use iCloud+ Hide My Email to generate random email address.
- Use a secure email provider if possible: Proton Mail.
- Avoid using your password manager to generate one-time password.
- Instead, use a separate authenticator app: Yubico Authenticator.
- Otherwise, the password manager would become a single point of failure if compromised.
- Always enable 2FA (or MFA), but avoid SMS-based 2FA if possible.
- Be aware of SIM swap attack.
- Even you don't use SMS-based 2FA, your phone number might be used as a "Recovery Method".
- Turn off "Cloud Syncing" feature if you're using Google Authenticator.
- Write down backup codes on paper and store them in a safe.
- Always use HTTPS.
- Use Passkey or security keys.
- You could use your Mac/iOS/Android devices or YubiKey.
- Don't provide real personal information to any cloud service if possible.
- Install any security updates as soon as possible.
- Don't blindly click any link you see in your emails or search results; they could be scams!
- Instead, add your frequently visited websites to your browser bookmarks.
- Carefully review requested permissions when you connect third-party apps to your Google, Twitter, Discord, or other critical accounts.
- Regularly review authenticated devices or sessions of your critical accounts.
- Revoked them if you're not sure what they are.
- Explicitly logout after finishing your operations or use Incognito mode.
- Do things that can calm your anxiety.
- Read Personal Security Checklist.
- Read An ultimate list of rules any on-chain survivor should follow to stay safe.
Privacy
- Use privacy-friendly VPN: Mullvad.
- Use ad blocker: uBlock Origin Lite.
- Read Awesome Privacy.
- Read Privacy Guides.
- Read The Hitchhiker's Guide to Online Anonymity.
macOS
- Use an application firewall and network monitor: Little Snitch.
- Turn on Firewall
System Settings > Network > Firewall > Options > Block all incoming connections
- Turn on FileVault which provides full disk encryption.
System Settings > Privacy & Security > FileVault
- Power off your computer when not in use, in order for the disk to be encrypted.
- Automatically lock your screen when idle.
System Settings > Lock Screen > Require password after screen saver begins or display is turned off
- Set one of Hot Corners to "Lock Screen" and always trigger it when you're away from keyboard.
System Settings > Desktop & Dock > Hot Corners
- Disable AirDrop and Handoff.
System Settings > General > Airdrop & Handoff
- Exclude sensitive folders from Spotlight.
System Settings > Siri & Spotlight > Spotlight Privacy
- Don't use any apps that can read your clipboard or what you type.
- Don't use third-party input tools if possible.
- Create separate browser profiles for different usages.
- One for daily activities.
- One for financial activities, don't install any extensions other than the password manager for this profile.
- Use Incognito mode.
- Even better: use isolated computers.
- The fewer browser extensions installed, the better.
- Carefully review requested permissions when installing/upgrading browser extensions.
- Be aware of developers might sell their extension to someone else.
- Disable Chrome's Preload pages.
Chrome > Settings > Performance > Preload pages
- Use Dangerzone if you're working with PDFs.
- Read macOS Security and Privacy Guide.
iOS
- Enable Data Protection (Erase all data after 10 failed passcode attempts).
Settings > Touch ID & Passcode > Erase Data
- Change the default PIN of your SIM card.
Settings > Cellular > SIM PIN > Change PIN
- Disable Predictive Text.
Settings > General > Keyboards > Predictive
Settings > General > Transfer or Reset iPhone > Reset > Reset Keyboard Dictionary
- Turn off AirDrop.
- Don't use third-party keyboard apps.
- These apps will be able to access everything you type: passwords, messages, search terms, etc.
- Restart your device regularly, ex: once a week.
- Rapidly press the side button 5 times to enter Emergency SOS mode when needed.
- Under Emergency SOS mode, your passcode is required to re-enable Touch ID or Face ID.
- Use it when your device is about to be taken away.
- Read Telegram & Discord Security Best Practices.
- Read Privacy Guides - iOS Overview.
Crypto
- For large amounts of assets, always store them in hardware wallets or multisig wallets.
- Use multiple hardware wallets from different vendors; don't put all your eggs in one basket.
- Some should only hold assets and never interact with DeFi apps.
- Some are used for trading or DeFi stuff.
- Or use an old phone to create wallets, and NEVER connect it to Internet.
- Use hardware wallet's hidden wallet with passphrase.
- Write your seed phrases on paper or metal, and store them in a physical safe.
- Modify the seed phrase with a secret rule only you know.
- Keep at least 2 copies in different locations.
- Never store a hardware wallet's seed phrase digitally, NEVER.
- Verify backups of your seed phrases every 3 months.
- Use multisig wallets: Gnosis Safe.
- Only store a small amount of assets in hot wallets.
- If you follow this rule, it might be acceptable to store the seed phrase in a password manager.
- Furthermore, encrypt the seed phrase before storing it.
- Rotate your hot wallets regularly.
- When transferring tokens to a new address, always send a small amount first, and make sure you can transfer out.
- It may waste gas, but it's better than losing funds.
- Add addresses to contacts or whitelists.
- Always approve tokens with the exact amount, never use infinite (
type(uint256).max
) approval.- It may waste gas, but it's better than losing funds.
- Always check the slippage setting before swapping.
- Review your token approvals regularly: Revoke.cash.
- Before revoking an approval, you should check the original
approve()
tx is initiated by you. - Attackers can create a fake ERC-20 token and set allowance for you.
- Before revoking an approval, you should check the original
- Signing could be dangerous.
- If it's a clear, human-readable message, it's probably safe to sign.
- If it contains a large amount of data, read carefully before signing.
- If the message starts with
0x
, just don't sign. - Especially, there are "permit" signatures.
- Use browser extensions or wallets that can simulate/preview transactions.
- Learn how to decode a transaction.
- Search the first 10 characters on Ethereum Signature Database
- Simulate the transaction raw data on Tenderly.
- Use Etherscan's Watch List to monitor your account activities.
- Though the notification might be a bit delayed, it's not real-time.
- Website (domain or frontend code) can be hacked, even if smart contracts are secure.
- Read Blockchain Dark Forest Selfguard Handbook.
- Read officercia.eth's articles.
Developer
- Always create API keys with minimum permissions and set a short expiration time if possible.
- Create distinct API keys for different purposes, services, or machines.
- Deactivate the API key if you're not using it.
- If you're unsure, run the program inside a non-root Docker container.
- The fewer IDE/editor plugins installed, the better.
- Enable GitHub Copilot only for specific languages or files.
- Especially, disable it for
.env
files or any files that may contain sensitive data.
- Especially, disable it for
- Sign your Git commits.
Wi-Fi
- Always change the default username/password of your router or IoT devices.
- Keep your router firmware up-to-date.
- Only use WPA3-Personal or higher.
- Disable remote access on your router.
- If you really want to visit your router's management console through Internet, set IP whitelist at least.
- Disable WPS (Wi-Fi Protected Setup) which is vulnerable to brute-force attack.
- Avoid using public Wi-Fi.
Physical
- Cover your laptop's camera with a sticky note.
- Be cautious when plugging USB devices into your computer.
- Don't charge devices from your computer if possible.
- Be vigilant for key loggers.
- Bring your own keyboard and USB hub when necessary.
- Shred or redact sensitive documents.
- Instead of simply disposing of them in the trash.
- Don't reveal information during "inbound" calls.
- Only share sensitive data during outbound calls or communications that you initiate.
- Use a certified and well-protected extension cord.
- Get fire and earthquake insurance for your house.