Instantly share code, notes, and snippets.

What would you like to do?

Simple Security Guidelines

Using an iDevice? (Best option)

  • Use an iPod or an iPad without a SIM card
  • Use an iPhone
  • Do not jailbreak
  • Always upgrade to new iOS versions
  • Use Brave browser

Need Secure chat?

  • Use Signal (iOS + Android)
  • Use Wire (iOS + Android)
  • Avoid desktop versions
    • Optional: use an iPad [Pro] with a smart keyboard
      • register Signal w/ a phone (burner, anonymous SIM, etc)
      • register Wire w/ an email address (ProtonMail is free)
  • Use Conversations w/ OMEMO (Android, unfortunately the only implementation of OMEMO for general use right now)
  • Use on desktops
  • Do not use: Telegram, LINE, Kaokao, WeChat, Viber, Hangouts, etc.
  • WhatsApp, Facebook Messenger (Private chat), are acceptible (high security, high surveillance)

Using Android?

  • Do not root your device
  • Do not enable Developer Mode
  • Use a Nexus or Pixel (gets latest patches w/o carrier/vendor barrier)
    • Run the latest version, always
    • Optional: run CopperheadOS
  • Optional: use a flagship Samsung (or Nokia) purchased direct, not through a telco
    • These devices tend to get timely security updates
  • Don't have a Nexus or Pixel? Install LineageOS (official builds only)
    • Run the latest version, always
  • Use Brave browser

Using a ChromeBook?

  • Do not enable developer mode
  • Use Termux for a console environment

Using Windows?

  • Use 10 or 8.1, nothing earlier.
  • Use EMET

Using Office?

  • Do not enable macros. Ever.
  • Find and disable Flash

Using macOS?

  • Install patches and updates immediately
  • Enable the firewall
    • Disable "signed apps"
    • Enable "block inbound"
    • Optional: enable "stealth"
  • Install Objective-see tools
    • Do Not Disturb
    • BlockBlock
    • KnockKnock
    • RandsomWhere
    • Oversight


  • Enable full disk encryption (FDE)
    • Use a special encrypted vault for sensitive files
      • VeraCrypt cross platform
      • CryFS (Linux, sorta macOS)
      • Encrypted disk image (macOS)
  • Require a password to unlock
  • Apply patches
  • Use backups. Secure your backups, they contain your secrets.

Use a password manager!

  • Use KeePass, free, cross platform, but clunky UI/UX
  • Use 1Password, not free, iOS/macOS, good UI/UX
  • Never use a cloud based password manager
  • Never enable integration between your browser and password manager


  • Enable two factor authentication whenever possible
    • OTPauth iOS/macOS only
    • Authy
    • FIDO (YubiKeys)
    • Duo
    • SMS (last resort, but better than nothing)

Web Browser

  • Use Chrome
  • Use Edge
  • Do not use Safari
  • Do not use IE
  • Do not use Firefox, yet (until they enable sandbox by default)

Use an ad blocker

  • Install uBlock Origin

  • Install HTTPS Everywhere

  • Install uBlock Origin Extra

  • Optional: Install Privacy Badger

  • Disable Flash (on Chrome you can still right click to play)

Use a VPN

  • (Self hosted option: algo) - Best
  • ProtonVPN offers free VPN service - Ok
  • CryptoStorm has a privacy preserving business model - OK
  • Use WireGuard, self hosted, still new but very promising - Good
  • Use Freedome (iOS, Android, macOS), not free, trivial to use - OK

This comment has been minimized.

CerebralMischief commented Aug 22, 2015

One could argue that if knowledgeable enough, rooting the Nexus 6 could result in a more secure device.


This comment has been minimized.


grugq commented Aug 22, 2015

If you are knowledgeable enough you are not taking security advice from a gist on the internet.


This comment has been minimized.

sneak commented Aug 22, 2015

Shouldn't this be "use chromium" instead of Chrome (with all its Google RCE auto-update and flash and such)?

Also: Windows?! Seriously? I expect better from you. :P


This comment has been minimized.

sneak commented Aug 22, 2015

Would change "use an ad blocker" to "use uBlock origin in default-3p-deny mode" (but the docs on the ublock site about how to use this, as well as the UI, are respectively buried and confusing)


This comment has been minimized.

sneak commented Aug 22, 2015

Q: Which password manager works best on a Chromebook and an iOS device and OSX?


This comment has been minimized.

wbic16 commented Aug 22, 2015

It'd be nice to have some more organization, like so:


This comment has been minimized.

ghost commented Aug 22, 2015

Assuming this is aimed at people who're not exactly info sec nerds, you might want to use "Full Disk Encryption" instead of FDE to avoid confusions.

Also, people should note that this is a "Security Guidelines" gist, not a "Privacy Guidelines" one.


This comment has been minimized.

londonontech commented Aug 22, 2015 this strictly Windows or OS X as well?


This comment has been minimized.

ttilley commented Aug 22, 2015

@grugq - if you have an iOS device, use the configurator to pair-lock it to communicate only with your desktop, thus thwarting the bulk of existing forensics tools:

If you are using a development version of iOS, you may also need to use a development version of the apple configurator:


This comment has been minimized.

jvasile commented Aug 22, 2015

It might be useful to specify the audience for this, especially if it helps those people clue in that they should really pay attention to this list.

"Apply patches" is tough in practice for most users. "Favor automatic updates" might be the corollary.

Passphrase might be a better term than password. And you might want to specifically mention enabling the lock screen (so many people don't) and using numeric passes rather than swipe patterns.


This comment has been minimized.

jvasile commented Aug 22, 2015

@sneak, where is the setting for default-3p-deny mode in ublock?


This comment has been minimized.

cekage commented Aug 23, 2015

Android : do not enable developer mode


This comment has been minimized.

divVerent commented Jan 3, 2016

What is so wrong with developer mode? That flag alone does nothing.

The real danger is in "enable apps from unknown sources" but that's reachable without developer mode.

Other things in developer mode that might be problematic:

  • Bootloader unlocking
  • USB debugging

However the latter is no worse than iTunes sync, given it equally requires an explicit authorization for the computer you connect with.

Or where I am wrong?

Note that the attack surface argument stands: don't enable USB debugging if you're not using adb for e.g. file transfer or actual debugging.


This comment has been minimized.

Romanzo commented Jan 8, 2016

Un mio piccolo test per provare
Non è scritto in inglese.


This comment has been minimized.

jhaddix commented Jan 8, 2016

Can we add, install EMET under Windows?


This comment has been minimized.

ecnepsnai commented Feb 20, 2016

@sneak LastPass works well on all of those platforms.


This comment has been minimized.

ecnepsnai commented Feb 20, 2016

@londonontech Safari on Windows was discontinued a long time ago and has not been receiving security updates, but the advice is for both OS X and Windows as in general it's not a very secure browser.


This comment has been minimized.

wmark commented Aug 17, 2016

After installing and enabling EMET 5.5 go to Trust and Pinning Rules and enable PublicKey Match for MicrosoftAccountCA.

(Allowed Country won't do any good if the use Symantec CA to spoof certificates for the updater.)


This comment has been minimized.

juancarlospaco commented Aug 18, 2016

  • Do NOT use Chrome. Use Inox or ungoogled-chromium Its Chromium with everything-google removed, no Spyware.
  • Qupzilla is good browser too 100% Open Source.
  • Do NOT use Google Search. Do NOT use DuckDuckGo. Use SearX its 100% Open Source.
  • LibreOffice is very good replacement for Office.
  • Try NOT using PDF, use ePub is the same, but internally its HTML5/CSS3, cant run JS. PDF executes arbitrary code, ePub dont, by design.
  • Use an Unicode Emoji on Passwords.
  • Put sticker on WebCam if you dont use it.
  • Put sticker on IR Remote Receiver if your notebook has that and you dont use it.

This comment has been minimized.

ghost commented Aug 18, 2016

Mac OS X:

Just some general tips for Mac OS X, feedback welcome.


  • Enable FileVault 2 with a STRONG password
  • Set a STRONG firmware password on your device
  • Be aware of the iCloud password-reset backdoor - see the second link under Read below
  • Disable all of Apple's iCloud Spyware, Backup, Drive, FindMyDevice, Calendar, Weather, etc.
  • Use a strong password on your Apple ID and enable 2FA, DO NOT REUSE THIS PASSWORD!
  • Install BlockBlock and RansomWhere - (has other nice tools aswell btw.)
  • Get a license for Little Snitch and Micro Snitch -
  • Ensure you are on the latest version + patchlevel, disable 'silent upgrades', check periodically by hand
  • Disable all unneeded interfaces and ports such as Firewire, Bluetooth, Ethernet, Wifi, etc.
  • Disable all Cloud-related shit such as iCloud, other sync shit like geod, ical, etc.
  • Some tape for Mic + Cam or better dissasemble and remove the hw parts if possible
  • Limit the app execution mode to signed App's from the App Store only
  • Set a short sleep timeout and enable FV2 key destruction on standby
  • Enable OSX's firewall and block all inbound traffic (advanced block mode)
  • Use custom DNS servers you trust and feel comfortable with such as OpenDNS
  • Personally I belive there is no need for anti-virus on a Mac, otherwise use ClamAV or MalwareBytes
  • Use a secure password manager such as Keepass - (Lastpass is ok too, but probably less secure)
  • Use VeraCrypt for usb drives or very sensitive data
  • Always use VPNs+Proxy if in public wifi
  • Disable IPv6 when not needed


  • Firefox or Chromium (not Google Chrome) (always keep it up to date)
  • NoScript, uBlock and HTTPSEverywhere addons (optionally UserAgentSwitcher - nice to mitigate exploits by faking IE6 lol)
  • No flash, silverlight, java, etc. disable all plugins, use click2play or even better UNINSTALL them completely!
  • Disable WebRTC completely, too many holes in that cheese
  • Purge all creepy CAs from your browser (there are a plenty of them...)
  • For more Firefox hardening stuff see


  • Set-up your OWN, SECURE mail servers (if possible)
  • NEVER use imap/pop3/smtp without TLS, big fail!
  • Get the GPGTools suite for Apple Mail -
  • Sign and encrypt your mails and attachments whenever possible


  • Regularly audit your system with the LockDown utility from
  • Regularly run TaskExplorer, KnockKnock and DHS from
  • Regularly check ALL system logs for anomalies including LittleSnitch's log
  • Regularly check kextstat + launchagents and launchdaemons and tmpdirs
  • Wipe stuff with diskutil secureErase if required (not recommended with SSDs)



This comment has been minimized.

taoeffect commented Aug 18, 2016

That's a great list @schallertd! Regarding this:

Regularly audit your system with the LockDown utility from
Regularly run TaskExplorer, KnockKnock and DHS from

See cautions.


This comment has been minimized.

dguido commented Aug 27, 2016

@taoeffect, you're welcome to disassemble the binaries for Objective-See just like everyone else. There are no backdoors. Avoid useful tools at your peril. BlockBlock and TaskExplorer are the best things out there to keep yourself safe, and they come from someone who would know what it takes to do that! Last point to remember: everyone needs security. Patrick is an avid OS X user and wrote the tools as much for himself as for everyone else. There's no good reason to sabotage them.


This comment has been minimized.

adminlinzi commented Apr 15, 2017

Thanks for sharing


This comment has been minimized.

cedriczirtacic commented Oct 26, 2017

Isn't Brave a better option than Chrome/Chromium?


This comment has been minimized.

kmichl commented Jun 27, 2018

EMET - Support for Windows ends on July 31. Any suggestions on a alternative?


This comment has been minimized.

minimamurralia commented Jul 20, 2018

Fantastic resource. Some things I might add, though I may be mistaken:

  • A "using linux?" section. Granted this is probably not ideal for most end users, but there are some in e.g. science and industrial R&D who really need desktop Linux, and best practices would be useful here.
  • Use KeePassXC on Linux - KeePassX (original) is abandoned - or regular KeePass as recommended above (now available due to Mono).
  • Chromium is an easy option on most Linux distros, in addition to regular Chrome and Edge (for desktop).
  • Algo is amazing, but doesn't have the "hide in the crowd" effect of public/multi-user VPNs there. May want to discuss what one is trying to do.
  • Last I checked Freedome has a Windows desktop client, though this may have changed.
  • Glasswire on Win10.
  • (maybe) disable Powershell v2 and SMBv1 on Windows (in Turn Windows Features On and Off) depending on use case.

Thanks for the incredible resource!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment