1
1
mirror of https://github.com/privacyguides/privacyguides.org.git synced 2026-05-19 01:41:21 +00:00

Compare commits

..

366 Commits

Author SHA1 Message Date
jonah 7dda698d6a style: Dark color logo on homepage 2026-05-18 15:56:59 -05:00
jonah fcd1354a82 style: Add right-aligned floating images back 2026-05-18 15:49:40 -05:00
jonah 709a5fefc6 style: Color themed homepage cards 2026-05-18 15:39:28 -05:00
jonah 8634885bb9 style!: Per-section color theming 2026-05-18 15:00:16 -05:00
jonah 65a0dd5699 style: Prominent donation button in desktop navbar 2026-05-18 14:23:37 -05:00
jonah b6ac07bdfe style: Rearrange homepage cards 2026-05-18 14:05:09 -05:00
jonah 68bccb567f style: Finish converting admonitions 2026-05-18 13:50:20 -05:00
jonah 61332c76c5 refactor: Start converting about section to Hugo 2026-05-18 13:32:52 -05:00
jonah d50adffb61 build: Use relative links in Hugo 2026-05-18 13:16:36 -05:00
jonah a1c5f68b9e ci: Remove zimfile builds temporarily 2026-05-18 12:32:54 -05:00
jonah cb94cbee95 refactor: Merge branch 'main' into move-to-hugo 2026-05-18 12:31:25 -05:00
jonah 48da80aa62 ci!: Update PR workflows for Hugo 2026-05-18 12:25:39 -05:00
any1here 899f32d17a update!: Remove Cromite (#3230) 2026-05-18 11:16:49 -05:00
aglovewithoutlove fd9dacb21d update: warn against X11 flavors for Tumbleweed (#3219)
Signed-off-by: aglovewithoutlove <194586458+aglovewithoutlove@users.noreply.github.com>
Co-authored-by: fria <138676274+friadev@users.noreply.github.com>
2026-05-16 20:12:58 -05:00
aglovewithoutlove 0757968562 update: quad9 supports DoH/3 and DoQ (#3218)
Signed-off-by: aglovewithoutlove <194586458+aglovewithoutlove@users.noreply.github.com>
Co-authored-by: fria <138676274+friadev@users.noreply.github.com>
2026-05-14 17:25:06 -05:00
Salman Chishti a4bc5c5be6 Update Firefox Suggest section for clarity (#3223)
Signed-off-by: Salman Chishti <13schishti@gmail.com>
Signed-off-by: Salman Chishti <salmanmkc@GitHub.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: fria <138676274+friadev@users.noreply.github.com>
2026-05-14 17:20:07 -05:00
jonah fc002416fd refactor: Initial about/activism conversion to Hugo 2026-05-13 12:59:53 -05:00
jonah 31448ad1de refactor: Move blog to content folder 2026-05-13 01:30:50 -05:00
jonah 88f1894219 refactor: Follow Hugo leaf vs branch conventions 2026-05-13 01:20:29 -05:00
jonah 757a274ac3 refactor: Ensure relative links are correct 2026-05-13 00:53:22 -05:00
jonah ac616498e3 refactor: Move wiki articles to individual folders 2026-05-13 00:42:56 -05:00
jonah db87170137 fix: Wiki in-article images moved to proper locations 2026-05-13 00:36:32 -05:00
jonah abf140ce8e style!: Convert wiki articles to Hugo formatting 2026-05-13 00:29:52 -05:00
jonah 5a6d219c29 feat!: Add prebuild to grab Ghost posts 2026-05-12 21:57:31 -05:00
jonah c2bc69e29f style: Nicer reason cards on tools page 2026-05-12 17:37:46 -05:00
jonah 5a05d0023d update: Organize Wiki section indexes 2026-05-12 17:30:55 -05:00
jonah 33455cf719 style!: Convert admonitions to GFM 2026-05-12 16:35:13 -05:00
jonah 96b28f0bc2 style: Fix look of common threat badges 2026-05-12 15:57:56 -05:00
jonah fef1ed372f update: Update index pages with cards 2026-05-12 15:54:57 -05:00
jonah 9f4ce43578 update: Create self-hosted password sync page 2026-05-12 15:44:53 -05:00
jonah 32cf8b95ea update: Include all tools in all/_index.md 2026-05-12 15:21:26 -05:00
jonah 3dd0363cca style!: Convert recommendations to Hugo formatting 2026-05-12 15:09:02 -05:00
jonah caed4eb4b6 style: Update frontmatter/intros to tool pages 2026-05-12 13:09:57 -05:00
jonah 2e0ad0fc9d style: Update formatting for cloud storage page 2026-05-12 12:37:31 -05:00
jonah f3549225a9 feat: Split homepage sections 2026-05-12 12:19:00 -05:00
jonah 778aac398a feat!: Create custom homepage 2026-05-09 02:54:59 -05:00
jonah acbd347563 feat: Create glossary and restore abbreviation items 2026-05-09 01:07:04 -05:00
jonah bc33f5190e style: Add brand fonts/colors to Hugo CSS 2026-05-09 00:11:35 -05:00
jonah e93466dc4d fix: Adjust DPA directory indentation 2026-05-08 23:15:54 -05:00
jonah adb124c488 style: Rename to Wiki section 2026-05-08 23:15:17 -05:00
jonah 2a2aabe9dc feat!: Separate full list of tools into new page 2026-05-08 22:44:19 -05:00
jonah 6057ce2121 style: Remove more unused mkdocs files 2026-05-08 21:34:21 -05:00
jonah 7667e22b89 style: Move all images to corresponding folders 2026-05-08 21:30:52 -05:00
jonah d2fb81e7a6 style: Move all recommendations to individual folders 2026-05-08 21:18:38 -05:00
jonah a6b0f9ef81 style: Move advanced recommendations to individual folders 2026-05-08 21:13:42 -05:00
jonah 614e50b47e style: Move tool pages to category folders 2026-05-08 21:09:03 -05:00
jonah ba11d11766 style: Fix self-hosting directory location 2026-05-08 21:01:30 -05:00
jonah 49767bc72a style: Move content to kb and tools folders 2026-05-08 20:46:02 -05:00
jonah f021c53765 style: Move knowledge base to kb folder 2026-05-08 20:40:35 -05:00
jonah 4d881bf3f8 style: Use content folder for articles 2026-05-08 20:39:16 -05:00
jonah 6d1b944627 fix: Update .gitignore for Hugo 2026-05-08 20:37:27 -05:00
jonah 343c0be453 feat: Add Hugo configuration 2026-05-08 20:34:55 -05:00
jonah 6a9b8796ab feat: Remove mkdocs files 2026-05-08 20:34:19 -05:00
Blurazzle cf73ac982e update: Fix broken links to Mailbox.org (#3226)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2026-05-07 13:09:52 -05:00
redoomed1 1981a36a83 style: Update Ente Auth logo (#3168)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
2026-05-07 13:07:55 -05:00
Shivan 01ca1449f0 update: Remove Brave Search account correlation note (#3225)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2026-05-07 13:02:40 -05:00
Em 441cac840b update(activism)!: DPA Directory (#3217)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2026-05-07 12:59:58 -05:00
NylaTheWolf 945cf8c254 update: Add Apple Health to Menstrual Trackers (#3212)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2026-03-30 17:29:57 +10:30
Brogio cfd7216d48 update: change links and domain from ente.io to ente.com (#3215)
Signed-off-by: Brogio <contact@brog.io>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Co-authored-by: fria <138676274+friadev@users.noreply.github.com>
2026-03-29 12:30:13 -05:00
allcontributors[bot] 0f4a89fe39 add regions99rockery as a contributor for research, maintenance, and question (#3208)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-03-27 13:32:20 -05:00
regions99rockery 45d7263305 update: Proton VPN (with Monero) no longer available from Proxystore (#3206)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2026-03-11 11:54:41 -05:00
jonah 2fb1f684a4 update: Warning about Proton kill switch on macOS (#3205)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: hook <7744057+hook321@users.noreply.github.com>
2026-03-11 11:53:12 -05:00
jonah 6a954c6c0d update!: Clarify VPN kill switch criteria (#3204)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Jordan Warne <jordan@privacyguides.org>
2026-03-10 18:30:46 -05:00
jonah 23b37858ab fix: Social cards and bios for activism section (#3201)
Signed-off-by: Em <em@privacyguides.org>
2026-03-04 13:56:08 -06:00
Tiagoquix f631efa5a8 update: Remove mention of Machine-ID in Linux Overview (#3186)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2026-03-03 17:36:25 -06:00
jonah 13bb6dba63 update: Remove "zero-access" et al. (#3193)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jordan Warne <jordan@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2026-03-03 00:01:46 -06:00
Em 48892749cc update!: Add Activism section (#3197)
Signed-off-by: Em <em@privacyguides.org>
Co-authored-by: Jonah Aragon <jonah@privacyguides.org>
2026-03-03 00:00:38 -06:00
jonah 4fc69e1dca ci: Update Docker client version for zim (#3199) 2026-02-16 22:45:47 -06:00
jonah b949185f00 ci: Fix donating members list generation (#3200) 2026-02-16 22:40:24 -06:00
ph00lt0 ce17fa6ff4 update!: Remove Yattee (#3198)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2026-02-16 21:30:40 -06:00
Daniel Nathan Gray f261bc7b9d update: Bitlocker cmdline workaround no longer works in Home (#3170)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2026-02-16 21:27:52 -06:00
Triple I - Triple T 7b7f7b0ef7 update: Better reflect uBlock Origin Lite capabilities (#3175)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2026-02-16 21:27:06 -06:00
redoomed1 e40cb300ad update: Remove Dataveria from list of people search sites (#3181)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2026-02-16 21:25:54 -06:00
LesCyclopes a54659075e fix: URL encoding issue with brackets (#3192)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2026-02-16 21:25:16 -06:00
Melissa Silva 5d16e24bbf update: Add Firefox's daily usage ping item (#3189)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2026-02-16 21:24:23 -06:00
jonah 8f7014158e fix: Update Ghost API endpoint 2026-01-17 12:06:09 -06:00
jonah d5910f17ca feat: Add news tab and update about page (#3173) 2026-01-17 17:38:55 +00:00
eylenburg 0f920c47e3 update: V2Ray support on all IVPN apps (#3174)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-12-07 13:07:08 +10:30
fria 40f3814402 update: Fix claim about Mullvad Browser being equivalent to Arkenfox (#3172)
Signed-off-by: Niek de Wilde <niek@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-11-26 16:07:02 -06:00
fria 4d4cb82345 update: iOS Overview for iOS 26 (#3130)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jordan Warne <jordan@privacyguides.org>
2025-11-26 16:04:28 -06:00
redoomed1 ef23d72ede style: Move iOS Passwords out of desktop section (#3169)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-11-26 16:02:45 -06:00
fria cb2ea5e18c update(blog)!: Email Security: Where We Are and What the Future Holds (#3091)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-11-15 16:36:51 -06:00
redoomed1 6fe04d10e7 update: Mention MTE in Google Pixel and GrapheneOS recommendations (#3137)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-11 05:15:30 +10:30
fria 5dc4a15c2f update: add Kensington locks to hardware (#3103)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-11 00:02:02 +10:30
redoomed1 da3a3b59f6 update: Mention official ProxyStore vouchers for Proton Mail & VPN (#3135)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-10 23:34:50 +10:30
Rahul Sandhu 49d627d740 update: screencopy documentation in Linux Overview (#3144)
Even on Gnome, a single dbus call allows applications outside of
sandboxes to overwrite their permissions in the portal permission
store. A sandbox that is supported by portals for identifying apps is
also required: otherwise, a malicious app could trivially spoof a name
on the bus. Currently, only Flatpak and Snap are subclasses of the
XdpAppInfo class, required for xdg-desktop-portal to be able to
identify a client.

Privileged Wayland protocols are also not an issue. KDE's kwin requires
that applications have an entry in a system-installed desktop file[1],
meaning that random crap can't simply capture the screen, and Flatpak
supports the security-context-v1 protocol, which is used to filter
access to these privileged protocols[2].

An example of the dbus call for Gnome:
dbus-send --session --print-reply=literal --dest=org.freedesktop.impl.portal.PermissionStore /org/freedesktop/impl/portal/PermissionStore org.freedesktop.impl.portal.PermissionStore.SetPermission string:'screenshot' boolean:true string:'screenshot' string:'' array:string:'yes'

[1] https://github.com/KDE/kwin/blob/master/src/wayland_server.cpp#L129-L134
[2] https://github.com/flatpak/flatpak/commit/f0e626a4b60439f211f06d35df74b675a9ef42f4

Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Nathan Gray <dngray@privacyguides.org>
2025-11-10 23:32:40 +10:30
jonah 0cc8ce0beb fix: Canonical URL for articles index (#3154)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-09 04:11:20 +10:30
n3thshan 100db6c823 style: Update links to GNOME Evolution's documentation and privacy policy (#3157)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-09 04:06:05 +10:30
redoomed1 f0cc351c6b update: Remove outdated status of Proton Calendar source code (#3163)
- Replace Proton Drive link to link with highlight to eliminate confusion
- Add direct link to Proton Calendar Android letter of attestation

Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-09 01:45:51 +10:30
fria 330ec3a4e1 update: Remove Mullvad Leta (#3165)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: Jordan Warne <contact@jordanwarne.net>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-09 01:29:38 +10:30
redoomed1 fff721a748 style: Replace Element Classic download links with Element X links (#3158)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-09 01:24:36 +10:30
Triple I - Triple T 441c4155ba update: vpn server counts, Mullvad openvpn depreciation (#3161)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-11-09 01:02:06 +10:30
redoomed1 23f873ac33 update: Mention Oct 2025 audit of Ente's server infrastructure (#3164)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-11-05 15:42:16 +01:00
jonah be042fe060 docs: Enable funding.json support 2025-10-27 23:32:47 -05:00
redoomed1 6c40408f36 update!: Remove DNS0.eu (#3153)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
2025-10-17 13:53:28 -05:00
redoomed1 0596b57099 style: Refine Peergos description added in #3127 (#3136)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-10-16 14:08:04 -05:00
Justin Ehrenhofer 60e2e901d3 style(blog): Lightweight Wallet -> Light-Wallet (#3145)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-10-16 14:07:20 -05:00
Overwatch eda031ee4a style: Add Flatpak link for SimpleX Chat (#3147)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-10-16 14:04:29 -05:00
aglovewithoutlove 5ad16d7aea style: Replace mat2 GitLab links with GitHub links (#3148)
Signed-off-by: fria <fria@privacyguides.org>
Co-authored-by: redoomed1 <redoomed1@privacyguides.org>
2025-10-16 14:03:51 -05:00
jonah d4f8d68610 build: Use Ghost articles landing page (#3151) 2025-10-16 11:46:17 -07:00
Em d2dccb6481 update(blog)!: Real-Name Policies The War Against Pseudonymity (#3149)
Co-authored-by: Jordan Warne <jordan@privacyguides.org>
Co-authored-by: Jonah Aragon <jonah@privacyguides.org>
2025-10-14 22:45:32 -05:00
fria 4198b8d3a5 update(blog)!: Privacy-Enhancing Technologies: Differential Privacy (#3068)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-09-30 11:27:09 -05:00
Em 5dedaa7a13 fix(blog): Shorten meta descriptions under 300 characters (#3138)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-09-24 23:09:21 -05:00
jonah ab2199e9ca docs: Update privacy policy 2025-09-24 23:07:18 -05:00
fria 78726b4c4a update: macOS Overview for macOS 26 (#3132)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Jordan Warne <jordan@privacyguides.org>
2025-09-20 17:26:16 -05:00
efb4f5ff-1298-471a-8973-3d47447115dc f45720b1be update: Brave v8-optimizer path to setting (#3131)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-20 09:11:10 -05:00
jonah a20561f516 feat: Generate member list (#3133)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Niek de Wilde <niek@privacyguides.org>
2025-09-20 09:09:44 -05:00
jonah 8dd1bade3d docs: Link to Facebook profile (#3134)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-19 23:00:47 -05:00
jonah 14aac5dbdd update(blog)!: The Fight for Privacy After Death (#3128)
https://discuss.privacyguides.net/t/article-pitch/29302/6
2025-09-16 12:58:44 -05:00
redoomed1 a7a05a8dd4 style: Fix formatting of Security Keys page and rewrite sections (#3126)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-17 02:03:11 +09:30
Dr Ian Preston 373bb1920d update: Mention Peergos desktop and android apps and sync (#3127)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-17 01:59:11 +09:30
jonah 7d3d849474 update(blog): Upload "Mental Poker Animation" 2025-09-15 12:33:36 -05:00
fria 16b3e5e16f update(blog)!: Multi-Party Computation (#3039)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-09-15 12:25:27 -05:00
Em 2dd653b12f update(blog): After 2025-09-12 Update for Chat Control article (#3114)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-09-15 11:29:12 -05:00
redoomed1 8089e6483e update!: Add Self-Hosting File Mgmt page and move appropriate tools there (#3118)
Signed-off-by: Niek de Wilde <niek@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-14 22:34:58 +09:30
jonah 2f95961b9e feat: Add sitewide announcements bar (#3121)
Signed-off-by: Niek de Wilde <niek@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-09-13 21:31:59 -05:00
redoomed1 008d01db23 style: New mailbox.org logo and product name (#3122)
Signed-off-by: Niek de Wilde <niek@privacyguides.org>
Co-authored-by: Jonah Aragon <jonah@privacyguides.org>
2025-09-14 02:26:51 +00:00
jonah ee51ff205b feat: Track page views in Ghost (#3123) 2025-09-13 21:02:05 -05:00
jonah f616c94bd6 feat: Add newsletter subscription buttons (#3124) 2025-09-13 20:25:03 -05:00
William W. c2a904f2c2 style: Fixed Typos And Clarified Wording in README (#3100)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-13 14:59:39 +09:30
jonah c718483844 feat!: Enable zh-TW language (#3119)
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-13 14:57:04 +09:30
jonah 9b47e749d5 ci: Disable Netlify releases (#3120)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-13 14:55:11 +09:30
fria 999c805c4d update: Remove outdated MAC randomization article. Provide instructions on page (#3085)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-09-13 12:57:18 +09:30
jonah 047ef27590 update!: Add LibreTranslate (#3032)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-12 18:16:22 +09:30
rollsicecream 47f4ca1979 update!: Add KeePassium (#3048)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-12 18:10:02 +09:30
fria dc6f326f96 update: Add download links for uBO Lite on Safari and Edge (#3087)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-12 16:41:16 +09:30
jonah b55f1cdb44 feat!: Include ZIM files in releases (#3102) 2025-09-12 01:03:53 -05:00
jonah 0f6ee45157 feat: Add a newsletter subscription button (#3116) 2025-09-11 23:59:13 -05:00
fria 0f10d3b35a update!: Remove Picocrypt (#3086)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-09-12 04:24:59 +00:00
jonah c738b4a446 refactor: Move videos to Ghost (#3115) 2025-09-11 22:12:15 -05:00
redoomed1 81632962a7 feat!: Add Self-Hosting DNS page and move Vaultwarden to Self-Hosting Index (#3049)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-12 00:23:04 +09:30
fria 9b9bb71005 update!: Replace Apple Health with Apple Fitness for Fitness Tracking (#3088)
Co-authored-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-11 23:52:16 +09:30
Ganwtrs f9bd8204f2 update: Nitrokey section (#3089)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-11 21:57:14 +09:30
fria 6503cfa9db style: remove duplicate forward secrecy from VPN requirements (#3106)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-11 20:36:14 +09:30
redoomed1 2a6330f774 style: Minor wording, grammar corrections on Private Payments page (#3097)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-09-11 15:28:26 +09:30
redoomed1 0eee5798b8 style: Revert #3003 (#3110)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-09-10 16:23:49 -05:00
jonah 30f05ff291 docs: Link to TikTok profile (#3095)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-09-09 22:04:49 -05:00
Em 7e5ec73759 update(blog): Clarify definition in Chat Control article (#3113)
Co-authored-by: Jonah Aragon <jonah@privacyguides.org>
2025-09-08 19:45:57 -05:00
Em 32d84e9a42 update(blog)!: Chat Control Must Be Stopped, Act Now! (#3111)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-09-08 12:45:29 -05:00
jonah 19947442a6 fix(blog): Escape quotes in article title 2025-09-03 15:41:37 -05:00
Em e55eb0986b update(blog)!: Spotting the Red (and Green) Flags (#3101)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-09-03 14:24:12 -05:00
jonah e5500a11da update(video): Update sources for latest 2
Co-Authored-By: Jordan Warne <contact@jordanwarne.net>
2025-08-29 17:38:27 -05:00
Daniel Gray 0c4f98e7fb fix(strings.en.env): Replace single quote env var with double quote
Changed the env var to use double quotes around the value and single
quotes in the HTML attributes to avoid issues caused by words containing
apostrophes within the text.
2025-08-29 16:14:10 +09:30
jonah ac96552200 update(video)!: Privacy is Power
Co-Authored-By: Jordan Warne <contact@jordanwarne.net>
2025-08-28 22:49:39 -05:00
jonah 1a7eb59fee update(video)!: Age Verification is a Privacy Nightmare
Co-Authored-By: Jordan Warne <contact@jordanwarne.net>
2025-08-28 21:21:32 -05:00
Em 575818a637 update(blog)!: Privacy Washing Is a Dirty Business (#3098)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-08-20 12:01:23 -05:00
eqilnou 071943afa5 fix: AdGuard Public DNS filter list link (#3054)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-08-03 00:18:10 +09:30
redoomed1 d14d9616bf update!: Add Mulled Leta to Search Engines page (#3060)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-08-02 23:06:05 +09:30
UsrnmeX f3fee22717 style: Swap "Chromium" with "Blink" (#3081)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-08-02 19:05:49 +09:30
redoomed1 f3fb0aaba8 update: Name of V8 setting on Android version of Brave (#3073)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-07-30 17:00:27 +09:30
redoomed1 45778ce564 update: PeekYou Opt Out links (#3078)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-07-30 16:48:40 +09:30
efb4f5ff-1298-471a-8973-3d47447115dc 77beced95f update: FreeTube locally stored sentence (#3084)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-07-30 16:03:10 +09:30
jonah ca89bd940a update(video)!: Secureblue review 2025-07-25 19:38:52 -05:00
jonah 76bfc61e93 fix: Small text color in dark mode (#3080)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-07-24 13:17:20 -05:00
Em f0146e01b6 update(blog)!: Privacy Is Like Broccoli (#3079)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-07-24 13:16:31 -05:00
Em 7dd1a46ea3 update(blog)!: How To Improve Your Privacy and Security on Mastodon (#3075)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-07-22 14:56:32 -05:00
jonah d510f523e3 update(video)!: How the NSA Tried to Backdoor Every Phone 2025-07-22 14:55:22 -05:00
I-I-IT fc724fbfeb update: Clarify uBO Lite update timeline (#3053)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Co-Authored-By: Jonah Aragon <jonah@privacyguides.org>
2025-07-22 14:36:21 -05:00
redoomed1 62ef6ec3e4 update: Download links for Tuta Calendar mobile apps (#3061)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
2025-07-22 14:32:53 -05:00
Ali Mashally 80336a2d99 style: Change wording in Email Services criteria (#3062)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-07-22 14:31:43 -05:00
redoomed1 3a19832e3c update: Allotted storage for Ente's free plan (#3064)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-07-22 14:29:17 -05:00
jonah d3931f91f4 docs: Update contributors list (#3056)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-07-22 14:28:09 -05:00
redoomed1 05b47c4e2d update: Add sections about OsmAnd's analytics (#3067)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-07-22 14:26:35 -05:00
Kevin Pham 6477578fc1 update: Mention new Brave F-Droid repository (#3069)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-07-22 14:24:00 -05:00
Daniel Gray dd93ad6738 update!: Remove Stingle (#3066)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
2025-07-22 14:22:00 -05:00
Em 3345c43b34 style(blog): Add cover previews to older articles (#3071)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-07-22 14:17:09 -05:00
Em 7664edbf9a update(blog)!: Privacy and Security on Mastodon (#3074)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-07-15 11:50:55 -05:00
Em e504efe7e4 update(blog)!: Queer Dating Apps (#3065)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-06-24 15:58:36 -05:00
Em 140a79c1f6 update(blog)!: You Can Say NO (#3040)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-06-17 12:55:30 -05:00
Justin Ehrenhofer 69e86e8b1e update(blog)!: Create a Tricked-Out Monero Server with TrueNAS (#3055)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-06-12 13:13:49 -05:00
LamTrinh.Dev 1d85530f6b update: number of Mullvad servers (#3051)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-06-10 16:39:11 -06:00
rollsicecream c8487e688e update: Name of Brave's background apps option (#3046)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-06-10 17:35:39 -05:00
jonah 95ecfc228e ci: Set production metadata for immediate releases 2025-06-10 11:24:44 -06:00
Em 85b36b5f00 update(blog)!: Stay Safe but Stay Connected (#3050)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-06-10 12:05:08 -05:00
jonah fd0d995cf8 ci: Complete dev container configuration (#3052) 2025-06-10 10:28:35 -06:00
Em 1c3f22015c update(blog)!: Selling Surveillance as Convenience (#3024)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-06-07 12:31:04 -05:00
jonah db11e5b0ae update(video)!: Compartmentalize Your Life
Closes https://github.com/privacyguides/video-ideas/issues/47
2025-06-05 20:53:01 -05:00
Em 15c65ef1f6 update(blog)!: The Importance of Privacy For The Queer Community (#3044)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-06-03 11:57:25 -05:00
rollsicecream 854e5ae048 style(blog): Fix typo in "Privacy Means Safety" article (#3045)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-25 00:54:49 +09:30
redoomed1 9ee0a1a822 style(blog): Restore sections removed in #3038 and modify Signal guide (#3047)
- Replace greater-than signs with arrows where appropriate
- Arrange platform-specific information about Orbot using content tabs
  https://squidfunk.github.io/mkdocs-material/reference/content-tabs
- Add subheadings in Molly section to enhance readability
- Make minor style changes

Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-25 00:41:01 +09:30
redoomed1 38e68295ac feat!: Add Self-Hosting Index and Email Servers page (#3037)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-24 17:03:51 +09:30
redoomed1 5489626a51 style: Foreground Signal hardening guide and adjust sections for readability (#3038)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-24 16:44:35 +09:30
jonah bb9e7b7e2f feat!: Add community wiki to navbar (#3029)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-24 15:25:54 +09:30
jonah a5b29e747a update(video)!: Recall is Back 2025-05-22 17:05:33 -05:00
redoomed1 75ba4fe003 update: Recommend minimum length for passphrases (#3043)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-05-20 16:44:24 +00:00
Em fb3b662136 style(blog): Fix typos (#3041)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Co-authored-by: redoomed1 <redoomed1@privacyguides.org>
2025-05-20 10:53:15 -05:00
fria c99e405b6f update(blog)!: Digital Provenance (#3009)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-05-19 15:12:00 -05:00
Em 8a4f6851f4 update(blog)!: Your Online Life Is IRL (#3021)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-05-16 10:51:50 -05:00
redoomed1 57119907f3 update!: Require PFS for instant messengers and remove Session (#3034)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-16 21:15:44 +09:30
redoomed1 06d2f0e3e1 style!: Make minor changes across recommendation pages for consistency (#2972)
- Grammar, Style, and Wording Changes
  - Remove commas where pauses or breaks in reading may not be needed
  - Reduce instances of comma splices by replacing commas with
    semicolons or em dashes where appropriate
  - Spell out abbreviations like E2EE for the first instance of the term
    on the page, then use the abbreviation for the subsequent instances
  - Add line breaks in card descriptions for a cleaner look,
    particularly for mentions of an accompanying blog review of a tool
  - Move more technical information from recommendation blurb to the
    description under the card
  - Format quotations from audits as block quotes
  - Standardize syntax for tooltips
  - Arrange download links according to the widely used order
    - Mobile app stores > alternative distribution methods (e.g.,
      GitHub) > developer-owned or -operated F-Droid repositories >>
      desktop platforms > Flathub >> browsers >> web
  - Shorten Chrome extension links
  - Standardize icon for web download links
  - For "Repository" buttons, embed direct links to project's Readme to
    differentiate them from "Source Code" links

- Other Changes
  - Add GitHub releases link for IVPN
  - Mention CryptPad's official public instance and add link to list of
    public instances
  - Replace current link to Miniflux docs with a direct link to the end
    user docs
  - Update version of Newsboat documentation link
  - Update and reword guidance on finding YouTube channel code for RSS feed
  - Remove F-Droid download link for Stingle since it is not owned by
    the developer or dev team

Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-15 21:10:42 +09:30
Em 353d1fed48 update(blog)!: KeePassium Review (#3012)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-05-13 11:26:47 -05:00
jonah bd5986f265 fix: Update OpenGraph tags (#3036) 2025-05-10 10:43:49 -05:00
Em 6dad012d9a update(blog)!: Sam Altman Wants Your Eyeball (#3033)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-05-10 09:25:37 -05:00
redoomed1 e95e3e2707 update: Move Element to Social Networks page (#3013)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-10 17:06:20 +09:30
jonah c6244fcad0 feat(blog): Disable read time estimates (#3016)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-05-10 17:03:47 +09:30
jonah 18639ab8a4 update(video)!: When Code Became a Weapon 2025-05-08 16:30:21 -05:00
Mad Scientist 0208c61b20 update: Fix Invidious/Piped public instance links (#3025)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-05-06 22:52:56 -05:00
redoomed1 b2251c7b67 update: YubiKey 5 with FIDO L2 and Nitrokey OpenPGP warning (#3005)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-05-06 23:52:47 +00:00
Em f7593c47ce update(blog)!: Age Verification Wants Your Face and Your Privacy (#3014)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-05-06 16:38:14 -05:00
Em 4cedf03332 update(blog): Add warning about browser restart
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-05-06 12:22:33 -05:00
jonah 2784cbfd5d update: Note Tor Browser security level flaw (#3026)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-05-04 09:52:07 -05:00
jonah c88f242150 update(blog): Include statement from the Tor Project 2025-05-03 15:03:05 -05:00
jonah 4e6d00a5e9 update(blog)!: Tor Security Slider Flaw (#3022) 2025-05-02 06:18:32 -05:00
Em 1118b23ad3 update(blog)!: In Praise of Tor (#3020)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-04-30 15:24:37 -05:00
jonah a5d03467d5 update(video): Add sources to latest video (#3015) 2025-04-21 17:23:27 -05:00
fria 0d0c210ff3 update(blog)!: Privacy Pass: The New Protocol for Private Authentication (#2960)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-04-21 12:25:55 -05:00
jonah 50190e749c update: Recommend both Fedora desktops equally (#3006)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-21 11:59:46 -05:00
jonah 41f9d8d8a5 update(video)!: Add missing videos from PeerTube reconfig 2025-04-21 11:21:56 -05:00
allcontributors[bot] 6372f472b1 docs: add jordbm as a contributor for doc, maintenance, and security (#2979) 2025-04-22 01:30:34 +09:30
allcontributors[bot] e47c4c4feb docs: add Spirizer as a contributor for translation (#2985) 2025-04-22 01:15:04 +09:30
redoomed1 6d448436ea style: Reorganize and tweak email-related pages (#2973)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-18 00:47:05 +09:30
redoomed1 55f65575de style: Reformat parts of DNS table and footnotes (#2975)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-17 23:24:50 +09:30
redoomed1 1292b0be18 update!: Move Orbot to Alternative Networks page (#2993)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-17 22:35:41 +09:30
jonah db8d212880 docs: Guideline for PR comments & reviews (#3001)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-17 21:46:48 +09:30
fria 621ab08b7d style: Make commands in macOS page more consistent (#3008)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-17 15:47:42 +09:30
Brogio f65e8cb4a6 style: Update Ente Photos logo (#2988)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-17 15:05:41 +09:30
jonah 1ada093092 update: Note location of Proton VPN Android telemetry (#3000)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-17 14:49:47 +09:30
MMR c201035a3a update(blog): Note Signal censorship circumvention settings (#3002)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-04-17 13:41:10 +09:30
WardPearce b9d6d5be84 style: Update Paaster logo (#2996)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-04-14 22:26:03 -05:00
redoomed1 7b3cafcb93 update: Replace links to Organic Maps source with Forgejo (#3003)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-04-15 03:22:45 +00:00
Nathan Youngman 74fcbd6469 style: Correct YouTube link to Adam Šamalik's Fedora Silverblue talk (#3004)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-04-15 03:16:32 +00:00
jonah 7276848802 update!: Remove Canary Mail (#2999) 2025-04-14 23:52:06 +02:00
jonah a99d1671d1 update!: Add Mastodon (#2978)
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-04-12 10:12:57 -05:00
redoomed1 ebf12a0672 refactor: Standardize size of cover images (#2991)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
2025-04-12 15:10:53 +00:00
redoomed1 683e12f948 update: Add download links to new Peergos Android app (#2992)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
2025-04-12 15:07:34 +00:00
jonah 0c64bbd008 update: Additional email security notes (#2937)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
2025-04-12 09:59:40 -05:00
redoomed1 8c1d2b2a35 style: Add dark mode version for MVT logo (#2995)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-04-12 14:58:49 +00:00
redoomed1 2f0f054c04 style: Move AI terms from glossary to recommendation page (#2974)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-04-12 03:06:45 +00:00
fria d4c9418a5a update!: Add Secureblue (#2961)
Co-authored-by: redoomed1 <redoomed1@privacyguides.org>
Co-authored-by: Jonah Aragon <jonah@privacyguides.org>
2025-04-12 02:29:57 +00:00
Kevin Pham 339b9dd83d update: Replace dead link with archived link in hide-nothing.md (#2997)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-04-11 21:26:12 -05:00
jonah 88f35cba28 update: Remove mention of specific MPRs (#2981)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
2025-04-11 21:09:53 -05:00
Sven 4010d97dec update: Ente Photos free plan to 10 GB (#2984)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-04-11 21:08:12 -05:00
Quentin McRee e210416b4a update: Remove "sanitize on close" note for Brave (#2968)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-04-12 02:07:17 +00:00
redoomed1 f3735db80f update: Move custom domain support to best-case criteria for email services (#2963)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-04-12 02:05:00 +00:00
redoomed1 4dc2fa274b style: Apply Wikipedia's style of capitalization (#2962)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-04-12 02:02:06 +00:00
fria 2997b49a8c style: Fix sentence in VPN overview (#2976)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-04-12 01:58:50 +00:00
Em d3a2839e36 update(blog)!: Encryption is Not a Crime (#2998)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-04-11 10:58:03 -05:00
jonah 7cd2a723e3 update(blog): Add disclaimer now that it is April 2nd 2025-04-01 19:17:36 -05:00
jonah 0192972782 update(blog)!: [April 1] The Dangers of E2EE (#2989) 2025-04-01 00:33:23 -05:00
Em 10dc1ed594 update(blog)!: Interview with Micah Lee (#2983)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-03-28 11:56:55 -05:00
Em de2b529f8f update(blog): Correction of a typo in a date (#2982)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-03-27 13:55:13 -05:00
Em a876fbd158 update(blog)!: Privacy Means Safety (#2971)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-03-25 15:38:17 -05:00
jonah 2703d46614 update(blog)!: Privacy-Respecting European Tech Alternatives (#2967) 2025-03-19 15:29:55 -05:00
jonah 2016d95125 docs: Now accepting Litecoin MWEB donations (#2966)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-03-19 15:28:48 -05:00
Em 0866b9375a update(blog)!: KeePassXC + YubiKey (#2953)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
2025-03-18 12:12:44 -05:00
jonah 9938788358 docs: List all Privacy Guides owned social media (#2958)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-16 23:29:23 +10:30
jonah accdff374c style(video): Video page metadata changes (#2956)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-16 23:26:07 +10:30
Em ae7109a6e0 style(blog): Fix typo in The Privacy of Others article (#2955)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-16 23:25:02 +10:30
jonah f955b52990 update!: Add Stalwart mail server (#2936)
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-16 23:20:32 +10:30
Freddy 1097207a8a update!: Remove Strongbox (#2904)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <ph00lt0@privacyguides.org>
Co-Authored-By: fria <fria@privacyguides.org>
2025-03-14 17:24:50 -07:00
jonah aaa17f0ebf feat: Fetch membership count from MAGIC (#2957)
Signed-off-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
2025-03-14 15:31:47 -07:00
jonah 426c5a2402 feat: Surface more videos across the website (#2918)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
2025-03-14 11:54:41 -07:00
jonah 450221bd5d update(video)!: Stop Confusing Privacy, Anonymity, and Security
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-03-13 18:59:46 -07:00
redoomed1 913d3276e2 update: Proton VPN IPv6 support and port forwarding on Linux (#2944)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-14 03:10:57 +10:30
Tai Lam 0c3c374084 style(blog): Fix typo in YubiKey blog post (#2949)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <fria@privacyguides.org
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-14 02:00:03 +10:30
allcontributors[bot] 8ac5170c78 add taivlam as a contributor for doc, and maintenance (#2950)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-14 00:35:24 +10:30
jonah cc54a3bc47 docs: Add team members to .mailmap (#2933)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-12 20:26:17 -07:00
LamTrinh.Dev 3c80495db0 update: Mullvad server country count (#2945)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-03-12 20:16:02 -07:00
fria e4506a3583 style: Update Molly logo (#2946)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-03-12 20:13:51 -07:00
Daniel Gray 1c1e0b8bb8 style: Update OPNsense logo (#2942)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-03-12 20:13:15 -07:00
jonah 1c8afe6a15 feat!: Add list of monthly/annual members to website (#2927)
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-03-12 19:57:29 -07:00
jonah c2cfb0fce6 style: Fix problems with #2887 and #2827 (#2941)
Signed-off-by: fria <fria@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
Co-authored-by: Daniel Gray <dngray@privacyguides.org>
2025-03-10 21:28:20 -05:00
Em 4d01c48293 update(blog)!: Privacy is Also Protecting the Data of Others (#2931)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-03-10 15:02:45 -05:00
jonah 9274ce188f fix: Correct latest blog post date 2025-03-08 10:21:29 -06:00
WardPearce 5fd34aaaa6 update!: Add Paaster as a Pastebin recommendation (#2219)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-08 22:23:27 +10:30
eylenburg 32b8785ed8 update!: Add map/navigation recommendations (#2827)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-08 21:36:47 +10:30
Kevin Pham 2cbf9c7062 update!: Add Health and Wellness Section (#2887)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-08 21:30:15 +10:30
fria 36c9fb3e7a update!(blog): Add Toward a Passwordless Future article (#2911)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-08 21:11:20 +10:30
jonah 762f0b647d docs: Privacy notice clarifications and updates (#2925)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-08 20:50:50 +10:30
jonah f6e2f00429 update: Note iOS limitations wrt Onion Browser (#2934)
Signed-off-by: Tad <8296104+SkewedZeppelin@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-08 20:42:22 +10:30
redoomed1 19f74dc230 update: Reword introduction to Language Tools page for consistency (#2935)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-08 20:39:43 +10:30
jonah 134ccf8f21 docs: Add Donation Acceptance Policy (#2917)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
2025-03-07 20:01:28 -06:00
Mad Scientist 5b9b7d9eab update: Add Flathub link for OnionShare (#2926)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
2025-03-06 16:35:15 -06:00
Em b6e2559306 update(blog)!: How to Reset Your YubiKey and Create a Backup (#2928)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-03-06 15:51:56 -06:00
jonah 567c184389 build: Add mkdocs-minify-html-plugin and upgrade dependencies (#2924) 2025-03-05 15:57:06 -06:00
jonah 45d2dae89a update: Mullvad Leta is available without restriction (#2922)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2025-03-04 20:07:04 -06:00
jonah e15cef973d docs!: Update privacy policy (#2914) 2025-03-04 20:03:56 -06:00
fria 6eed9f4ed3 update: Remove references to deprecated DNT (#2916)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-05 02:29:31 +10:30
jonah d000e6d116 ci: Update workflow actions (#2915) 2025-03-03 17:58:50 -06:00
jonah 57307498ca update(video)!: Anonymity for Everyone: Why You Need Tor (#2913) 2025-03-02 12:15:46 -06:00
redoomed1 1a088d105e update: New features in Brave Browser Android and iOS (#2903)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-02 16:20:45 +10:30
jonah 7b5044d407 update: Correct LanguageTool's data processing note (#2909)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-01 04:07:14 +10:30
fria e294b190b4 update: Replace "discreet merchant" feature with "private spend mode" for privacy.com (#2906)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-01 04:04:25 +10:30
Em 97a00353b7 update(blog)!: UK Government Forced Apple to Remove ADP (#2910)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-02-28 11:33:04 -06:00
redoomed1 6731674f81 update: Remove section about Linux rewrite in Rust (#2902)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-01 03:57:34 +10:30
Jeremy 0276629ebe update: Add macOS download link for Bitwarden (#2905)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-03-01 03:54:34 +10:30
jonah cb91421204 fix(blog): Make blog posts explicitly timezone-aware (#2912) 2025-02-28 09:00:44 -06:00
redoomed1 5f93339323 update: Tumbleweed logo and SELinux default (#2886)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-02-27 01:09:21 -06:00
fria f0308a3886 update: Mullvad's refund policy is now 14 days (#2896)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
2025-02-27 01:06:04 -06:00
fria dd9c32835f update: remove OpenVPN requirement (#2898)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-02-27 07:01:21 +00:00
jonah 666f7be6ce feat(blog): Add old article warning (#2897)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-02-27 00:56:17 -06:00
jonah adc9de513b style: Enable vscode spellcheck and fix typos/style (#2888)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-02-27 00:55:02 -06:00
Em c11661c0be update(blog)!: Privacy is Not Dead (#2889)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-02-17 14:27:34 -06:00
fria 2998a56f46 update: ProtonVPN WireGuard support on Linux (#2885)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
Co-Authored-By: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2025-02-14 17:46:07 -06:00
Em 272004c2a9 update(blog): Add link to Clearing Browsing Data article (#2892) 2025-02-14 17:42:53 -06:00
jonah 8baf09e913 update(video): Add video sources (#2894) 2025-02-14 17:35:50 -06:00
jonah 87eb01d344 fix: Proper homepage discussion updates 2025-02-14 12:57:27 -06:00
jonah d6d8332165 feat(video): Use video thumbnail for social preview 2025-02-14 12:25:10 -06:00
jonah f913f99747 update(video)!: 5 Easy Steps to Protect Yourself Online (#2893) 2025-02-14 11:21:06 -06:00
Kevin Pham 6e47043503 update(blog)!: Clearing Your Browsing Data (#2878)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-02-13 15:09:44 -06:00
fria e380bf672f update(blog)!: Biometrics article (#2826)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-02-13 14:04:22 -06:00
Em f6767eaab7 update(blog): Minor rewording to add clarity to CryptPad Review
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-02-12 11:45:38 -06:00
fria 1e132c3b72 update: Add links to Mullvad and IVPN audits (#2866)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-02-11 03:22:09 +10:30
fria 7e5f6ffd8c update: mention anonymous payment methods for SimpleLogin and addy.io (#2868)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-02-11 02:55:57 +10:30
allcontributors[bot] 14712bd8cb docs: Add hashcatHitman as a contributor for Documentation (#2882) 2025-02-11 00:56:27 +10:30
Freddy 3a6d18e861 update(blog): Minor updates to author bios (#2877)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-02-11 00:28:47 +10:30
blacklight447 b4c8aa592e update: Remove GladIKnow from data broker removal list (#2881)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2025-02-08 17:11:23 -06:00
jonah 111ac3be00 feat: Link to translated version of forum (#2883) 2025-02-08 17:03:55 -06:00
Em 8be1fa93c6 update(blog)!: CryptPad Review (#2880)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-02-07 14:32:38 -06:00
Justin Ehrenhofer 5ce317abcc refactor(blog): Convert images to WebP (#2871) 2025-02-07 00:47:51 -06:00
hashcatHitman 546283662f update: Link to monerod CLI (#2854)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2025-02-07 00:34:02 -06:00
fria bee2651c68 update: Add second audit for Peergos (#2862)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-02-07 00:27:37 -06:00
fria f44a55b03d update: Add info about paid Cryptomator apps
Signed-off-by: Freddy <freddy@privacyguides.org>
Co-Authored-By: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2025-02-07 00:16:16 -06:00
MMR 172f68e2f0 update: Add Proton Pass Plus to SimpleLogin list (#2873)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-02-07 00:14:14 -06:00
jonah 6f38136498 update: Add info to EasyOptOuts listing (#2875)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
2025-02-07 00:11:59 -06:00
blacklight447 28dc13eeb1 update: Fix broken rpm-ostree link (#2879)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2025-02-07 00:09:24 -06:00
Em 58580b39c9 update(blog)!: The future of privacy (#2874)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: blacklight447 <niek@privacyguides.org>
2025-02-03 12:56:50 -06:00
jonah ee9b344fb2 update(blog): Add Em's author bio (#2876)
Signed-off-by: Em <em@privacyguides.org>
Signed-off-by: blacklight447 <niek@privacyguides.org>
2025-02-03 12:37:01 -06:00
jonah b0c9e3b55f update(blog)!: EasyOptOuts review (#2739) 2025-02-03 10:17:53 -06:00
Em 9335fd264f update(blog)!: Tails article with installation tutorial (#2869)
Co-Authored-By: Jonah Aragon <jonah@privacyguides.org>
2025-01-29 15:46:06 -06:00
jonah 853bb5bb1b update(blog): Update protesters guide based on feedback (#2860) 2025-01-27 13:52:31 -06:00
jonah 3bbfa97f26 docs: Add contact information (#2856)
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2025-01-25 18:45:11 -06:00
jonah 22c77cc6b0 update(blog): Add image credits to cover photos (#2859)
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2025-01-25 18:40:35 -06:00
jonah c3e2dc65d8 feat!: Add videos section to website (#2861) 2025-01-24 18:58:42 -06:00
jonah d904114f81 update(blog)!: Activist guide to smartphone security (#2857) 2025-01-23 13:08:10 -06:00
jonah 4af33a239b ci: Release blogs immediately (#2858) 2025-01-23 12:29:03 -06:00
blacklight447 d5147160d6 update(blog)!: Announcement of new hires (#2852)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-01-17 13:54:00 -06:00
blacklight447 c2cdb83438 docs: Add staff to about page (#2853)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-01-17 13:52:44 -06:00
fria 6c3ea08ab1 update: Remove line about requiring a balance for buying in RetoSwap (#2847)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-01-17 23:12:57 +10:30
fria 2e24a6dff7 update: New clean up feature in iOS (#2833)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2025-01-17 23:06:23 +10:30
eylenburg 463d73f044 update: Remove Molly-UP mention and update Molly's UnifiedPush support (#2829)
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2025-01-17 23:04:14 +10:30
allcontributors[bot] a093b053c2 docs: add @qiyongzheng to contributors (#2846)
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2025-01-14 01:25:43 -06:00
allcontributors[bot] c8dfb160cb docs: Add bruch-alex as a contributor for translation (#2849)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2025-01-14 01:21:37 -06:00
Alex Bruch 17a0706a88 fix: Capitalize Russian in the language selector (#2850)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2025-01-14 01:21:29 -06:00
fria d9d35c5f87 update: terminology on Android distributions page (#2844)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Co-Authored-By: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Co-Authored-By: Jonah Aragon <jonah@triplebit.net>
2025-01-14 01:21:29 -06:00
fria 317a2ee7d3 update: Add HTTPS Only mode for Safari (#2843)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-12-29 01:25:15 +10:30
eylenburg 9851037608 update: Tidy up Cryptocurrency page and recommend places to buy Monero (#2823)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-12-25 00:45:29 +10:30
qiyongzheng 4273a1880b update: Add the link of the guide to get additional storage for Proton Drive (#2837)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-12-25 00:42:13 +10:30
jermanuts 1d437287b8 style: VPN criteria source code better term (#2838)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-12-25 00:39:28 +10:30
fria b0830edb4a update!: Remove Hypatia, DivestOS, and Mull in light of support ending (#2839)
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Signed-off-by: Freddy <freddy@privacyguides.org>
2024-12-25 00:38:16 +10:30
jonah 091a64fbe9 docs: Close filled job openings (#2834)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2024-12-14 14:06:54 -06:00
jonah 4d7c331984 style: Collapse blog sidebar navigation sections (#2832)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2024-12-13 12:32:25 -06:00
jonah 31b89aa9b0 docs: Link to our shiny, new donations page (#2828)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2024-12-13 12:29:50 -06:00
fria 72a2ef5fc9 update: Remove metadata cleaner (#2831)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
2024-12-12 21:04:15 -06:00
Tai Lam c1fd596841 docs: Fix typo & improve formatting: uploading-images (#2830)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-12-10 15:08:13 +10:30
redoomed1 3743a55e0d update!: Remove Metapho, add metadata removal iOS shortcut (#2825)
- Remove Metapho from the recommendations due to it requiring a
  subscription or one-time purchase (see its detailed description on the
  App Store), Relevant discussion:
  https://discuss.privacyguides.net/t/remove-metapho-ios-exif-editor-not-free-doesnt-meet-criteria/22821

- Replace the former with an entry on metadata removal using a
  pre-configured iOS shortcut With the addition of Shortcuts (available
  on iOS and macOS), remove the platform-specific headers

Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-12-09 13:24:21 +10:30
fria b04fe6a16d update(blog)!: State of the Web App (#2821)
Signed-off-by: blacklight447 <niek@privacyguides.org>
Co-Authored-By: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2024-11-30 12:47:46 -06:00
jonah 455f18be13 feat: Generate homepage topics on server side (#2766) 2024-11-30 12:39:50 -06:00
redoomed1 ca0b544251 update: IzzyOnDroid section obtaining apps (#2818)
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-11-30 15:19:58 +10:30
TechFanTheo 09cb746b93 update!: Add local AI chat recommendations (#2810)
Co-Authored-By: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Co-Authored-By: fria <138676274+friadev@users.noreply.github.com>
Co-Authored-By: xe3 <137224605+xe-3@users.noreply.github.com>
Co-Authored-By: rollsicecream <rollsicecream@proton.me>
2024-11-26 16:15:55 -06:00
Ted Gravlin 31446987ea update: EasyOptOuts newly supported sites (#2820)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2024-11-26 16:08:23 -06:00
Ted Gravlin 10ecb680cd update: New Signal logo (#2819)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2024-11-26 16:06:22 -06:00
jonah 055c6b6a2b docs: Link to our Bluesky profile (#2822)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
2024-11-26 15:59:27 -06:00
redoomed1 2d44ecf8a6 update: Privacy Notes section of iOS Overview (#2817)
Signed-off-by: blacklight447 <niek@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2024-11-17 12:07:39 -06:00
Ted Gravlin bba6ffe74f update: Add Signal Android GitHub releases (#2816)
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
2024-11-16 23:17:20 -06:00
Ted Gravlin 7025dfccc6 update: Remove outdated master password info from Proton Pass (#2815)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
2024-11-16 23:16:01 -06:00
fria 37a938be33 update(blog)!: Where are all the Multi-Party Relays? (#2813)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
2024-11-16 23:13:51 -06:00
jonah 7c3424f001 ci: Allow blog builds from unprivileged forks 2024-11-15 23:11:30 -06:00
jonah 155691f94b docs: Close internship listing (#2814)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Co-Authored-By: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2024-11-14 13:54:29 -06:00
jonah a5ec96a56f docs: Add missing contributors (#2807)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2024-11-14 13:52:11 -06:00
fria e6bedf136d docs: Update size requirements for company logos (#2808)
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Co-Authored-By: Jonah Aragon <jonah@triplebit.net>
2024-11-14 13:50:36 -06:00
Austin Huang fa64257fcd update!: Add Cromite to mobile browsers (#2381)
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
Co-Authored-By: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2024-11-14 13:37:13 -06:00
jonah 82fb92114b fix: Correct broken statistics link (#2809)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2024-11-14 13:34:17 -06:00
fria f76be45a40 style: Fix typo in VPN Overview (#2812) 2024-11-13 16:28:08 -06:00
jermanuts 7c66d26061 update: More detailed Session description (#2519)
Signed-off-by: fria <138676274+friadev@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Co-Authored-By: Jonah Aragon <jonah@privacyguides.org>
2024-11-11 19:36:04 -06:00
jonah 12c58d567c style: Homepage performance improvements (#2806) 2024-11-11 18:07:07 -06:00
1078 changed files with 27127 additions and 19171 deletions
-2876
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1 +0,0 @@
../../../theme/assets/brand/fonts
+14
View File
@@ -0,0 +1,14 @@
{
"features": {
"ghcr.io/devcontainers/features/hugo:1": {
"version": "1.1.3",
"resolved": "ghcr.io/devcontainers/features/hugo@sha256:15465c956810aa164c9644b6df5ca36f6cac3e7a86b7dcc474a1fb830b21c509",
"integrity": "sha256:15465c956810aa164c9644b6df5ca36f6cac3e7a86b7dcc474a1fb830b21c509"
},
"ghcr.io/devcontainers/features/node:1": {
"version": "1.7.1",
"resolved": "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6",
"integrity": "sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6"
}
}
}
+30 -6
View File
@@ -1,8 +1,32 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/python
{ {
"name": "Privacy Guides", "image": "mcr.microsoft.com/devcontainers/go",
"image": "ghcr.io/squidfunk/mkdocs-material:9.5.17", "features": {
"forwardPorts": [8000], "ghcr.io/devcontainers/features/hugo:1": {
"postCreateCommand": "git submodule init; git submodule update theme/assets/brand; apk add bash; /bin/bash run.sh --cmd=mkdocs --cmd_flags=--dev-addr=0.0.0.0:8000" "extended": true,
"version": "0.156.0"
},
"ghcr.io/devcontainers/features/node:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"mhutchie.git-graph",
"esbenp.prettier-vscode",
"tamasfe.even-better-toml",
"budparr.language-hugo-vscode",
"EditorConfig.EditorConfig",
"github.vscode-github-actions",
"bierner.github-markdown-preview",
"ms-vsliveshare.vsliveshare",
"ltex-plus.vscode-ltex-plus",
"yzhang.markdown-all-in-one",
"redhat.vscode-yaml",
"rvben.rumdl",
"kaellarkin.hugo-shortcode-syntax"
]
}
},
"forwardPorts": [
1313
]
} }
-8
View File
@@ -1,8 +0,0 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/python
{
"name": "Privacy Guides Team",
"image": "ghcr.io/privacyguides/privacyguides.org:main",
"forwardPorts": [8000],
"postCreateCommand": "git submodule init; git submodule update theme/assets/brand; ./run.sh --cmd=mkdocs --insiders --production --cmd_flags=--dev-addr=0.0.0.0:8000"
}
+37 -22
View File
@@ -1,4 +1,30 @@
# Org
/docs/about/ @jonaharagon
CODE_OF_CONDUCT.md @jonaharagon
CITATION.cff @jonaharagon
LICENSE @jonaharagon @dngray
LICENSE-CODE @jonaharagon
README.md @jonaharagon @dngray
# Config
/mkdocs.yml @jonaharagon
/mkdocs.blog.yml @jonaharagon
/crowdin.yml @jonaharagon
/includes/ @jonaharagon
# Ops
Dockerfile @jonaharagon
/Pipfile @jonaharagon
/Pipfile.lock @jonaharagon
/.github/ @jonaharagon
/run.sh @jonaharagon
/modules/ @jonaharagon
# High-traffic pages # High-traffic pages
/blog/index.md @jonaharagon @freddy-m /blog/index.md @jonaharagon @freddy-m
/docs/index.md @jonaharagon @dngray /docs/index.md @jonaharagon @dngray
/theme/home.html @jonaharagon @dngray /theme/home.html @jonaharagon @dngray
@@ -7,14 +33,25 @@
/theme/partials/ @jonaharagon /theme/partials/ @jonaharagon
/theme/layouts/ @jonaharagon /theme/layouts/ @jonaharagon
# Financial-Related
/docs/about/donate.md @jonaharagon @SamsungGalaxyPlayer
/docs/cryptocurrency.md @jonaharagon @SamsungGalaxyPlayer
/docs/financial-services.md @jonaharagon @SamsungGalaxyPlayer
/docs/advanced/payments.md @jonaharagon @SamsungGalaxyPlayer
# Blog authors # Blog authors
/blog/.authors.yml @jonaharagon @dngray @freddy-m /blog/.authors.yml @jonaharagon @dngray @freddy-m
/blog/author/ @jonaharagon @dngray @freddy-m
/blog/author/dngray.md @dngray /blog/author/dngray.md @dngray
/blog/author/freddy.md @freddy-m /blog/author/freddy.md @freddy-m
/blog/author/jonah.md @jonaharagon /blog/author/jonah.md @jonaharagon
/blog/author/niek-de-wilde.md @blacklight447 /blog/author/niek-de-wilde.md @blacklight447
# Blog posts # Blog posts
/blog/posts/ @jonaharagon
/blog/posts/firefox-privacy-2021-update.md @dngray /blog/posts/firefox-privacy-2021-update.md @dngray
/blog/posts/firefox-privacy.md @jonaharagon /blog/posts/firefox-privacy.md @jonaharagon
/blog/posts/hide-nothing.md @freddy-m /blog/posts/hide-nothing.md @freddy-m
@@ -27,25 +64,3 @@
/blog/posts/the-trouble-with-vpn-and-privacy-review-sites.md @jonaharagon /blog/posts/the-trouble-with-vpn-and-privacy-review-sites.md @jonaharagon
/blog/posts/virtual-insanity.md @freddy-m /blog/posts/virtual-insanity.md @freddy-m
/blog/posts/welcome-to-privacy-guides.md @jonaharagon /blog/posts/welcome-to-privacy-guides.md @jonaharagon
# Org
/docs/about/ @jonaharagon
CODE_OF_CONDUCT.md @jonaharagon
CITATION.cff @jonaharagon
LICENSE @jonaharagon @dngray
LICENSE-CODE @jonaharagon
README.md @jonaharagon @dngray
# Config
/mkdocs.yml @jonaharagon
/mkdocs.blog.yml @jonaharagon
/crowdin.yml @jonaharagon
/includes/ @jonaharagon
# Ops
Dockerfile @jonaharagon
/Pipfile @jonaharagon
/Pipfile.lock @jonaharagon
/.github/ @jonaharagon
/run.sh @jonaharagon
/modules/ @jonaharagon
-88
View File
@@ -1,88 +0,0 @@
name: 🛠️ Build Blog
on:
workflow_call:
inputs:
ref:
required: true
type: string
repo:
required: true
type: string
context:
type: string
default: deploy-preview
continue-on-error:
type: boolean
default: true
privileged:
type: boolean
default: true
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
continue-on-error: ${{ inputs.continue-on-error }}
permissions:
contents: read
steps:
- name: Add GitHub Token to Environment
run: |
echo "GH_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> "$GITHUB_ENV"
- name: Download Repository
uses: actions/checkout@v4
with:
repository: ${{ inputs.repo }}
ref: ${{ inputs.ref }}
persist-credentials: "false"
fetch-depth: 0
- name: Download Submodules
uses: actions/download-artifact@v4
with:
pattern: repo-*
path: modules
- name: Move mkdocs-material-insiders to mkdocs-material
if: inputs.privileged
run: |
rmdir modules/mkdocs-material
mv modules/repo-mkdocs-material-insiders modules/mkdocs-material
- name: Move brand submodule to theme/assets/brand
run: |
rmdir theme/assets/brand
mv modules/repo-brand theme/assets/brand
- name: Install Python (pipenv)
if: inputs.privileged
uses: actions/setup-python@v5
with:
cache: "pipenv"
- name: Install Python Dependencies
if: inputs.privileged
run: |
pip install pipenv
pipenv install
sudo apt install pngquant
- name: Build Website
run: |
pipenv run mkdocs build --config-file mkdocs.blog.yml
- name: Package Website
run: |
tar -czf site-build-blog.tar.gz site
- name: Upload Site
uses: actions/upload-artifact@v4
with:
name: site-build-blog.tar.gz
path: site-build-blog.tar.gz
retention-days: 1
-92
View File
@@ -1,92 +0,0 @@
name: ☁️ Build Container
# Configures this workflow to run every time a change is pushed to the branch called `release`.
on:
push:
branches: ["main"]
release:
types: [published]
workflow_dispatch:
concurrency:
group: container-build
cancel-in-progress: true
permissions:
contents: read
packages: write
# Defines two custom environment variables for the workflow. These are used for the Container registry domain, and a name for the Docker image that this workflow builds.
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
# There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu.
jobs:
submodule:
strategy:
matrix:
repo: [mkdocs-material-insiders, brand]
uses: privacyguides/.github/.github/workflows/download-repo.yml@main
with:
repo: ${{ matrix.repo }}
secrets:
ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
build-and-push-image:
needs: submodule
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/download-artifact@v4
with:
pattern: repo-*
path: modules
- run: |
rm -rf modules/mkdocs-material
mv modules/repo-mkdocs-material-insiders modules/mkdocs-material
rm -rf theme/assets/brand
mv modules/repo-brand theme/assets/brand
# Uses the `docker/login-action` action to log in to the Container registry registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here.
- name: Log in to the Container registry
uses: docker/login-action@v3.3.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# This step uses [docker/metadata-action](https://github.com/docker/metadata-action#about) to extract tags and labels that will be applied to the specified image. The `id` "meta" allows the output of this step to be referenced in a subsequent step. The `images` value provides the base name for the tags and labels.
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5.5.1
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
type=sha
flavor: |
latest=${{ github.event_name == 'release' }}
# This step uses the `docker/build-push-action` action to build the image, based on your repository's `Dockerfile`. If the build succeeds, it pushes the image to GitHub Packages.
# It uses the `context` parameter to define the build's context as the set of files located in the specified path. For more information, see "[Usage](https://github.com/docker/build-push-action#usage)" in the README of the `docker/build-push-action` repository.
# It uses the `tags` and `labels` parameters to tag and label the image with the output from the "meta" step.
- name: Build and push Docker image
uses: docker/build-push-action@v6.9.0
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cleanup:
if: ${{ always() }}
needs: build-and-push-image
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
+12 -62
View File
@@ -19,12 +19,19 @@ jobs:
env: env:
ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }} ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
steps: steps:
- name: Save PR metadata
run: |
mkdir -p ./metadata
echo ${{ github.event.number }} > ./metadata/NR
echo ${{ github.event.pull_request.head.sha }} > ./metadata/SHA
- name: Set submodules for fork - name: Set submodules for fork
if: env.ACTIONS_SSH_KEY == '' if: env.ACTIONS_SSH_KEY == ''
id: submodules-fork id: submodules-fork
run: | run: |
echo 'submodules={"repo":["brand","i18n"]}' >> "$GITHUB_OUTPUT" echo 'submodules={"repo":["brand","i18n"]}' >> "$GITHUB_OUTPUT"
echo "privileged=false" >> "$GITHUB_OUTPUT" echo "privileged=false" >> "$GITHUB_OUTPUT"
echo "false" > ./metadata/PRIVILEGED
- name: Set submodules for main repo - name: Set submodules for main repo
if: env.ACTIONS_SSH_KEY != '' if: env.ACTIONS_SSH_KEY != ''
@@ -32,12 +39,7 @@ jobs:
run: | run: |
echo 'submodules={"repo":["brand","i18n","mkdocs-material-insiders"]}' >> "$GITHUB_OUTPUT" echo 'submodules={"repo":["brand","i18n","mkdocs-material-insiders"]}' >> "$GITHUB_OUTPUT"
echo "privileged=true" >> "$GITHUB_OUTPUT" echo "privileged=true" >> "$GITHUB_OUTPUT"
echo "true" > ./metadata/PRIVILEGED
- name: Save PR metadata
run: |
mkdir -p ./metadata
echo ${{ github.event.number }} > ./metadata/NR
echo ${{ github.event.pull_request.head.sha }} > ./metadata/SHA
- name: Upload metadata as artifact - name: Upload metadata as artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
@@ -45,19 +47,7 @@ jobs:
name: metadata name: metadata
path: metadata path: metadata
submodule:
needs: metadata
strategy:
matrix: ${{ fromJson(needs.metadata.outputs.submodules) }}
uses: privacyguides/.github/.github/workflows/download-repo.yml@main
with:
repo: ${{ matrix.repo }}
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
secrets:
ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
build_english: build_english:
needs: [submodule, metadata]
strategy: strategy:
matrix: matrix:
lang: [en] lang: [en]
@@ -66,64 +56,24 @@ jobs:
with: with:
ref: ${{github.event.pull_request.head.ref}} ref: ${{github.event.pull_request.head.ref}}
repo: ${{github.event.pull_request.head.repo.full_name}} repo: ${{github.event.pull_request.head.repo.full_name}}
lang: en
continue-on-error: false continue-on-error: false
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
strict: true
build_i18n:
if: ${{ contains(github.event.pull_request.labels.*.name, 'ci:build i18n') }}
needs: [submodule, metadata]
strategy:
matrix:
lang: [es, fr, he, it, nl, ru, zh-Hant]
fail-fast: false
uses: ./.github/workflows/build.yml
with:
ref: ${{github.event.pull_request.head.ref}}
repo: ${{github.event.pull_request.head.repo.full_name}}
lang: ${{ matrix.lang }}
continue-on-error: true
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
strict: true
build_blog:
if: ${{ contains(github.event.pull_request.labels.*.name, 'ci:build blog') }}
needs: [submodule, metadata]
uses: ./.github/workflows/build-blog.yml
with:
ref: ${{github.event.pull_request.head.ref}}
repo: ${{github.event.pull_request.head.repo.full_name}}
continue-on-error: true
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
combine_build: combine_build:
needs: [build_english, build_i18n, build_blog] needs: build_english
if: |
(always() && !cancelled() && !failure()) &&
needs.build_english.result == 'success' &&
(needs.build_i18n.result == 'success' || needs.build_i18n.result == 'skipped') &&
(needs.build_blog.result == 'success' || needs.build_blog.result == 'skipped')
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
with: with:
pattern: site-build-* pattern: site-build.tar.gz
merge-multiple: true merge-multiple: true
- run: | - run: |
for file in *.tar.gz; do tar -zxf "$file"; done for file in *.tar.gz; do tar -zxf "$file"; done
ls -la site/ ls -la public/
- name: Upload Site - name: Upload Site
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: site-build-combined name: site-build-combined
path: site path: public
retention-days: 5 retention-days: 5
cleanup:
if: ${{ always() }}
needs: [build_english, build_i18n, build_blog]
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
+8 -240
View File
@@ -3,33 +3,15 @@ name: 🛠️ Build Website
on: on:
workflow_call: workflow_call:
inputs: inputs:
config:
type: string
default: build
ref: ref:
required: true required: true
type: string type: string
repo: repo:
required: true required: true
type: string type: string
lang:
type: string
default: en
context:
type: string
default: deploy-preview
continue-on-error: continue-on-error:
type: boolean type: boolean
default: true default: true
privileged:
type: boolean
default: true
strict:
type: boolean
default: false
cache:
type: boolean
default: true
permissions: permissions:
contents: read contents: read
@@ -42,42 +24,6 @@ jobs:
contents: read contents: read
steps: steps:
- name: Add GitHub Token to Environment
run: |
echo "GH_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> "$GITHUB_ENV"
- name: Set Metadata
if: inputs.config == 'build'
run: |
{
echo "BUILD_CONTEXT=${{ inputs.context }}"
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --production""
} >> "$GITHUB_ENV"
- name: Set Metadata for Privileged Builds
if: inputs.privileged
run: |
echo "BUILD_INSIDERS=true" >> "$GITHUB_ENV"
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --insiders"" >> "$GITHUB_ENV"
- name: Set Metadata for International Builds
if: inputs.lang != 'en'
run: |
echo "GITREVISIONDATE=false" >> "$GITHUB_ENV"
echo "GITAUTHORS=false" >> "$GITHUB_ENV"
- name: Set Metadata for Offline Mode
if: inputs.config == 'offline'
run: |
{
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --offline""
} >> "$GITHUB_ENV"
- name: Set Metadata for Strict Mode
if: inputs.strict
run: |
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --cmd_flags=--strict"" >> "$GITHUB_ENV"
- name: Download Repository - name: Download Repository
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
@@ -85,202 +31,24 @@ jobs:
ref: ${{ inputs.ref }} ref: ${{ inputs.ref }}
persist-credentials: "false" persist-credentials: "false"
fetch-depth: 0 fetch-depth: 0
submodules: recursive
- name: Download Submodules - name: Setup Hugo
uses: actions/download-artifact@v4 uses: peaceiris/actions-hugo@v3
with: with:
pattern: repo-* hugo-version: 'latest'
path: modules
- name: Move mkdocs-material-insiders to mkdocs-material
if: inputs.privileged
run: |
rmdir modules/mkdocs-material
mv modules/repo-mkdocs-material-insiders modules/mkdocs-material
- name: Move brand submodule to theme/assets/brand
run: |
rmdir theme/assets/brand
mv modules/repo-brand theme/assets/brand
- name: Copy Translation Files
if: inputs.lang != 'en'
run: |
cp -rl modules/repo-i18n/i18n .
cp -rl modules/repo-i18n/includes .
- name: Install Python (pipenv)
if: inputs.privileged
uses: actions/setup-python@v5
with:
cache: "pipenv"
- name: Install Python (no pipenv)
if: ${{ !inputs.privileged }}
uses: actions/setup-python@v5
- name: Restore Privacy Plugin Cache
uses: actions/cache/restore@v4.0.2
id: privacy_cache_restore
if: inputs.cache
with:
key: privacy-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/privacy/**') }}
path: |
.cache/plugin/privacy
restore-keys: |
privacy-cache-${{ inputs.repo }}-
privacy-cache-privacyguides/privacyguides.org-
privacy-cache-
- name: Restore Social Plugin Cache
uses: actions/cache/restore@v4.0.2
id: social_cache_restore
if: inputs.cache
with:
key: social-cache-${{ inputs.repo }}-${{ inputs.lang }}-${{ hashfiles('.cache/plugin/social/manifest.json') }}
path: |
.cache/plugin/social/manifest.json
.cache/plugin/social/assets
restore-keys: |
social-cache-${{ inputs.repo }}-${{ inputs.lang }}-
social-cache-privacyguides/privacyguides.org-${{ inputs.lang }}-
- name: Restore Optimize Plugin Cache
uses: actions/cache/restore@v4.0.2
id: optimize_cache_restore
if: inputs.cache
with:
key: optimize-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/optimize/manifest.json') }}
path: |
.cache/plugin/optimize
restore-keys: |
optimize-cache-${{ inputs.repo }}-
optimize-cache-privacyguides/privacyguides.org-
optimize-cache-
- name: Install Python Dependencies
if: inputs.privileged
run: |
pip install pipenv
pipenv install
sudo apt install pngquant
- name: Install Python Dependencies (Unprivileged)
if: ${{ !inputs.privileged }}
run: |
pip install mkdocs-material
sudo apt install pngquant
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --cmd=mkdocs"" >> "$GITHUB_ENV"
- name: Build Website - name: Build Website
run: | run: |
eval ./run.sh --build --lang=${{ inputs.lang }} "$EXTRA_FLAGS" hugo
- name: Package Website - name: Package Website
run: | run: |
tar -czf site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz site tar -czf site-build.tar.gz public
- name: Find Privacy Plugin Cache
uses: actions/cache/restore@v4.0.2
if: steps.privacy_cache_restore.outputs.cache-hit != 'true' && inputs.cache
id: privacy_cache_test
with:
key: privacy-cache-privacyguides/privacyguides.org-${{ hashfiles('.cache/plugin/privacy/**') }}
lookup-only: true
path: |
.cache/plugin/privacy
- name: Find Social Plugin Cache
uses: actions/cache/restore@v4.0.2
if: steps.social_cache_restore.outputs.cache-hit != 'true' && inputs.cache
id: social_cache_test
with:
key: social-cache-privacyguides/privacyguides.org-${{ inputs.lang }}-${{ hashfiles('.cache/plugin/social/manifest.json') }}
lookup-only: true
path: |
.cache/plugin/social/manifest.json
.cache/plugin/social/assets
- name: Find Optimize Plugin Cache
uses: actions/cache/restore@v4.0.2
if: steps.optimize_cache_restore.outputs.cache-hit != 'true' && inputs.cache
id: optimize_cache_test
with:
key: optimize-cache-privacyguides/privacyguides.org-${{ hashfiles('.cache/plugin/optimize/manifest.json') }}
lookup-only: true
path: |
.cache/plugin/optimize
- name: Save Privacy Plugin Cache
uses: actions/cache/save@v4.0.2
if: steps.privacy_cache_test.outputs.cache-hit != 'true' && inputs.cache
with:
key: privacy-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/privacy/**') }}
path: .cache/plugin/privacy
- name: Save Social Plugin Cache
uses: actions/cache/save@v4.0.2
if: steps.social_cache_test.outputs.cache-hit != 'true' && inputs.cache
with:
key: social-cache-${{ inputs.repo }}-${{ inputs.lang }}-${{ hashfiles('.cache/plugin/social/manifest.json') }}
path: |
.cache/plugin/social/manifest.json
.cache/plugin/social/assets
- name: Save Optimize Plugin Cache
uses: actions/cache/save@v4.0.2
if: steps.optimize_cache_test.outputs.cache-hit != 'true' && inputs.cache
with:
key: optimize-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/optimize/manifest.json') }}
path: .cache/plugin/optimize
- name: Upload Site - name: Upload Site
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz name: site-build.tar.gz
path: site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz path: site-build.tar.gz
retention-days: 1 retention-days: 1
offline_package:
if: inputs.config == 'offline' && inputs.lang == 'en'
needs: build
runs-on: ubuntu-latest
continue-on-error: ${{ inputs.continue-on-error }}
permissions:
contents: read
steps:
- uses: actions/download-artifact@v4
with:
name: site-offline-en.tar.gz
- run: |
tar -xzf site-offline-en.tar.gz
tar -czf offline.tar.gz site/en
zip -r -q offline.zip site/en
- name: Upload tar.gz file
uses: actions/upload-artifact@v4
with:
name: offline.tar.gz
path: offline.tar.gz
- name: Upload zip file
uses: actions/upload-artifact@v4
with:
name: offline.zip
path: offline.zip
- name: Create ZIM File
uses: addnab/docker-run-action@v3
with:
image: ghcr.io/openzim/zim-tools:3.1.3
options: -v ${{ github.workspace }}:/data
run: |
zimwriterfs -w index.html -I assets/brand/logos/png/square/pg-yellow.png -l eng -t "Privacy Guides" -d "Your central privacy and security resource to protect yourself online." -c "Privacy Guides" -p "Jonah Aragon" -n "Privacy Guides" -e "https://github.com/privacyguides/privacyguides.org" /data/site/en /data/offline-privacy_guides.zim
- name: Upload ZIM file
uses: actions/upload-artifact@v4
with:
name: offline-privacy_guides.zim
path: offline-privacy_guides.zim
-53
View File
@@ -1,53 +0,0 @@
# Copyright (c) 2022 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 🪞 Push to Mirrors
permissions:
contents: read
on: [push, delete, create]
# Ensures that only one mirror task will run at a time.
concurrency:
group: git-mirror
jobs:
gitlab:
runs-on: ubuntu-latest
steps:
- name: Mirror to GitLab
uses: wearerequired/git-mirror-action@v1
env:
SSH_PRIVATE_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
with:
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
destination-repo: "git@gitlab.com:privacyguides/privacyguides.org.git"
codeberg:
runs-on: ubuntu-latest
steps:
- name: Mirror to Codeberg
uses: wearerequired/git-mirror-action@v1
env:
SSH_PRIVATE_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
with:
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
destination-repo: "git@codeberg.org:privacyguides/privacyguides.org.git"
+31 -22
View File
@@ -22,6 +22,7 @@ jobs:
outputs: outputs:
pr_number: ${{ steps.metadata.outputs.pr_number }} pr_number: ${{ steps.metadata.outputs.pr_number }}
sha: ${{ steps.metadata.outputs.sha }} sha: ${{ steps.metadata.outputs.sha }}
privileged: ${{ steps.metadata.outputs.privileged }}
steps: steps:
- name: Download Website Build Artifact - name: Download Website Build Artifact
@@ -86,40 +87,48 @@ jobs:
unzip metadata.zip -d metadata unzip metadata.zip -d metadata
echo "pr_number=$(cat metadata/NR)" >> "$GITHUB_OUTPUT" echo "pr_number=$(cat metadata/NR)" >> "$GITHUB_OUTPUT"
echo "sha=$(cat metadata/SHA)" >> "$GITHUB_OUTPUT" echo "sha=$(cat metadata/SHA)" >> "$GITHUB_OUTPUT"
echo "privileged=$(cat metadata/PRIVILEGED)" >> "$GITHUB_OUTPUT"
deploy_netlify:
needs: metadata
permissions:
contents: read
uses: privacyguides/webserver/.github/workflows/deploy-netlify-preview.yml@main
with:
netlify_alias: ${{ needs.metadata.outputs.pr_number }}
netlify_site_id: ${{ vars.NETLIFY_SITE }}
secrets:
NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
deploy_garage: deploy_garage:
needs: metadata needs: metadata
permissions: permissions:
contents: read contents: read
runs-on: ubuntu-latest
outputs:
address: ${{ steps.deployment.outputs.address }}
steps:
- uses: actions/download-artifact@v4
with:
pattern: site-build-combined.tar.gz
merge-multiple: true
uses: privacyguides/webserver/.github/workflows/deploy-garage-preview.yml@main - run: |
with: for file in *.tar.gz; do tar -zxf "$file"; done
alias: ${{ needs.metadata.outputs.pr_number }} ls -la public/
bucket: ${{ vars.PREVIEW_GARAGE_BUCKET }}
hostname: ${{ vars.PREVIEW_GARAGE_HOSTNAME }} - name: Limit length of site alias to 12
secrets: run: echo "SHORT_ALIAS=$(echo "${{ needs.metadata.outputs.pr_number }}" | cut -c1-12)" >> "$GITHUB_ENV"
PREVIEW_GARAGE_KEY_ID: ${{ secrets.PREVIEW_GARAGE_KEY_ID }}
PREVIEW_GARAGE_SECRET_KEY: ${{ secrets.PREVIEW_GARAGE_SECRET_KEY }} - uses: hkdobrev/minio-deploy-action@v1
with:
endpoint: https://${{ vars.PREVIEW_GARAGE_HOSTNAME }}
bucket: ${{ vars.PREVIEW_GARAGE_BUCKET }}
access_key: ${{ secrets.PREVIEW_GARAGE_KEY_ID }}
secret_key: ${{ secrets.PREVIEW_GARAGE_SECRET_KEY }}
source_dir: "public/"
target_dir: "/${{ env.SHORT_ALIAS }}/"
- id: deployment
run: |
echo "address=https://pr${{ env.SHORT_ALIAS }}.unreviewed.privacyguides.dev/en/" >> "$GITHUB_OUTPUT"
comment: comment:
permissions: permissions:
pull-requests: write pull-requests: write
needs: [deploy_netlify, metadata] needs: deploy_garage
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
address: ${{ needs.deploy_netlify.outputs.address }} address: ${{ needs.deploy_garage.outputs.address }}
steps: steps:
- uses: thollander/actions-comment-pull-request@v2.5.0 - uses: thollander/actions-comment-pull-request@v2.5.0
with: with:
-116
View File
@@ -1,116 +0,0 @@
# Copyright (c) 2021-2024 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 📦 Release
on:
push:
tags:
- "*"
concurrency:
group: release-deployment
cancel-in-progress: true
permissions:
contents: write
pages: write
id-token: write
deployments: write
jobs:
submodule:
strategy:
matrix:
repo: [mkdocs-material-insiders, brand, i18n]
uses: privacyguides/.github/.github/workflows/download-repo.yml@main
with:
repo: ${{ matrix.repo }}
secrets:
ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
build:
needs: submodule
strategy:
matrix:
lang: [en, es, fr, he, it, nl, ru, zh-Hant]
build: [build, offline]
permissions:
contents: read
uses: ./.github/workflows/build.yml
with:
config: ${{ matrix.build }}
ref: ${{ github.ref }}
repo: ${{ github.repository }}
lang: ${{ matrix.lang }}
context: production
continue-on-error: false
cache: false
build_blog:
needs: submodule
permissions:
contents: read
uses: ./.github/workflows/build-blog.yml
with:
repo: ${{ github.repository }}
ref: ${{ github.ref }}
continue-on-error: false
release:
name: Create release notes
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/download-artifact@v4
with:
pattern: offline*
merge-multiple: true
- name: Create release notes
uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
artifacts: "offline.zip,offline.tar.gz,offline-privacy_guides.zim"
makeLatest: true
deploy:
needs: [build, build_blog]
uses: privacyguides/webserver/.github/workflows/deploy-all.yml@main
secrets:
NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
PROD_MINIO_KEY_ID: ${{ secrets.PROD_MINIO_KEY_ID }}
PROD_MINIO_SECRET_KEY: ${{ secrets.PROD_MINIO_SECRET_KEY }}
PROD_GARAGE_KEY_ID: ${{ secrets.PROD_GARAGE_KEY_ID }}
PROD_GARAGE_SECRET_KEY: ${{ secrets.PROD_GARAGE_SECRET_KEY }}
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
CLUSTER_USERNAME: ${{ secrets.CLUSTER_USERNAME }}
CLUSTER_PASSWORD: ${{ secrets.CLUSTER_PASSWORD }}
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
cleanup:
if: ${{ always() }}
needs: [build, build_blog]
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
-60
View File
@@ -1,60 +0,0 @@
# Copyright (c) 2024 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 📦 Manual Test Build
on:
workflow_dispatch:
permissions:
contents: read
jobs:
submodule:
strategy:
matrix:
repo: [mkdocs-material-insiders, brand, i18n]
uses: privacyguides/.github/.github/workflows/download-repo.yml@main
with:
repo: ${{ matrix.repo }}
secrets:
ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
build:
needs: submodule
strategy:
matrix:
lang: [en, fr, he]
build: [build, offline]
fail-fast: false
permissions:
contents: read
uses: ./.github/workflows/build.yml
with:
config: ${{ matrix.build }}
ref: ${{ github.ref }}
repo: ${{ github.repository }}
lang: ${{ matrix.lang }}
continue-on-error: true
cleanup:
if: ${{ always() }}
needs: build
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
-131
View File
@@ -1,131 +0,0 @@
# Copyright (c) 2024 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 🤖 Linting
permissions:
contents: read
on:
workflow_dispatch:
pull_request:
branches:
- main
push:
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
env:
MAIN_BRANCH: ${{ github.event_name == 'push' }}
jobs:
megalinter:
name: MegaLinter
runs-on: ubuntu-latest
steps:
- if: ${{ env.MAIN_BRANCH }}
uses: actions/checkout@v4
- if: ${{ env.MAIN_BRANCH == 0 }}
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure markdown-link-check
run: |
cat <<EOT >> .markdown-link-check.json
{
"ignorePatterns": [
{
"pattern": "^https://twitter.com"
},
{
"pattern": "^https://reddit.com"
},
{
"pattern": "^#_"
},
{
"pattern": ".onion"
},
{
"pattern": "^https://en.opensuse.org"
},
{
"pattern": "^https://quad9.net"
},
{
"pattern": "^https://dnscrypt.info"
},
{
"pattern": "^https://pipewire.org"
}
],
"replacementPatterns": [
{
"pattern": "^assets/",
"replacement": "https://www.privacyguides.org/en/assets/"
},
{
"pattern": "^(../)*assets/",
"replacement": "https://www.privacyguides.org/en/assets/"
},
{
"pattern": "^/",
"replacement": "https://www.privacyguides.org/"
}
],
"retryOn429": true,
"retryCount": 5,
"aliveStatusCodes": [200, 206, 403]
}
EOT
- id: ml
# You can override MegaLinter flavor used to have faster performances
# More info at https://megalinter.io/flavors/
uses: oxsecurity/megalinter/flavors/documentation@v8.0.0
env:
# All available variables are described in documentation
# https://megalinter.io/configuration/
# Validates all source when push on main, else just the git diff with main.
VALIDATE_ALL_CODEBASE: ${{ env.MAIN_BRANCH }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# ADD YOUR CUSTOM ENV VARIABLES HERE OR DEFINE THEM IN A FILE .mega-linter.yml AT THE ROOT OF YOUR REPOSITORY
DISABLE: COPYPASTE,SPELL,HTML
DISABLE_LINTERS: JSON_JSONLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER
DISABLE_ERRORS_LINTERS: CSS_STYLELINT,MARKDOWN_MARKDOWN_LINK_CHECK,YAML_YAMLLINT,DOCKERFILE_HADOLINT,REPOSITORY_TRIVY,REPOSITORY_CHECKOV,REPOSITORY_GITLEAKS
EDITORCONFIG_EDITORCONFIG_CHECKER_ARGUMENTS: -disable-indentation
ENV_DOTENV_LINTER_ARGUMENTS: "--skip QuoteCharacter"
MARKDOWN_MARKDOWN_LINK_CHECK_FILTER_REGEX_INCLUDE: (docs)
MARKDOWN_MARKDOWNLINT_CONFIG_FILE: .markdownlint.yml
MARKDOWN_MARKDOWNLINT_FILTER_REGEX_EXCLUDE: (PULL_REQUEST_TEMPLATE\.md)
# Upload MegaLinter artifacts
- name: Archive production artifacts
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: MegaLinter reports
path: |
megalinter-reports
mega-linter.log
-53
View File
@@ -1,53 +0,0 @@
# Copyright (c) 2022-2024 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 💬 Crowdin Upload
permissions:
contents: read
on:
workflow_dispatch:
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
synchronize-with-crowdin:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: crowdin action
uses: crowdin/github-action@v2.2.0
with:
upload_sources: true
upload_sources_args: "--auto-update --delete-obsolete"
download_translations: false
config: crowdin.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
+5 -25
View File
@@ -1,25 +1,5 @@
site # Hugo output
/i18n/ public/
/includes/*.*.* resources/
!/includes/*.en.* .hugo_build.lock
/static/i18n/ /scripts
/theme/overrides/*.*.*
# commit social card fonts to repo
# see: https://github.com/squidfunk/mkdocs-material/issues/6983
# ridiculous hide-and-seek https://stackoverflow.com/a/72380673
.cache/*
!.cache/plugin
/.cache/plugin/*
!.cache/plugin/social
/.cache/plugin/social/*
!.cache/plugin/social/fonts
# Local Netlify folder
.netlify
node_modules
# Python
.venv
.env
.mkdocs-insiders-*
+3 -6
View File
@@ -1,6 +1,3 @@
[submodule "theme/assets/brand"] [submodule "static/brand"]
path = theme/assets/brand path = static/brand
url = https://github.com/privacyguides/brand.git url = https://github.com/privacyguides/brand
[submodule "modules/mkdocs-material"]
path = modules/mkdocs-material
url = git@github.com:privacyguides/mkdocs-material-insiders.git
+14 -7
View File
@@ -1,16 +1,23 @@
# Please use this file to correct information in our git log.
# Format: Proper Name <Proper Email> <Incorrect Email>
#
# Privacy Guides Team Members
# ===========================
Daniel Gray <dngray@privacyguides.org> <dng@disroot.org> Daniel Gray <dngray@privacyguides.org> <dng@disroot.org>
Daniel Gray <dngray@privacyguides.org> <48640805+dngray@users.noreply.github.com> Daniel Gray <dngray@privacyguides.org> <48640805+dngray@users.noreply.github.com>
Daniel Gray <dngray@privacyguides.org> <dngray@privacytools.io> Daniel Gray <dngray@privacyguides.org> <dngray@privacytools.io>
Daniel Gray <dngray@privacyguides.org> Daniel Gray <dngray@privacyguides.org>
Em <em@privacyguides.org> <194856901+EmAtPrivacyGuides@users.noreply.github.com>
Freddy <freddy@privacyguides.org> <freddy@decypher.pw>
Freddy <freddy@privacyguides.org> <freddy@privacytools.io>
fria <fria@privacyguides.org> <138676274+friadev@users.noreply.github.com>
Jonah Aragon <jonah@privacyguides.org> <jonah@triplebit.net> Jonah Aragon <jonah@privacyguides.org> <jonah@triplebit.net>
Jonah Aragon <jonah@privacyguides.org> <jonah@privacytools.io> Jonah Aragon <jonah@privacyguides.org> <jonah@privacytools.io>
Jonah Aragon <jonah@privacyguides.org> <github@aragon.science> Jonah Aragon <jonah@privacyguides.org> <github@aragon.science>
mfwmyfacewhen <mfw@privacyguides.org> <94880365+mfwmyfacewhen@users.noreply.github.com> Jordan Warne <jordan@privacyguides.org> <jw@omg.lol>
mbananasynergy <mbananasynergy@privacyguides.org> <> Jordan Warne <jordan@privacyguides.org> <contact@jordanwarne.net>
mbananasynergy <mbananasynergy@privacyguides.org> <107055883+matchboxbananasynergy@users.noreply.github.com> Justin Ehrenhofer <justin.ehrenhofer@gmail.com> <12520755+SamsungGalaxyPlayer@users.noreply.github.com>
rollsicecream <rollsicecream@proton.me> <153316540+rollsicecream@users.noreply.github.com> Mare Polaris <ph00lt0@privacyguides.org> <15004290+ph00lt0@users.noreply.github.com>
rollsicecream <rollsicecream@proton.me> <waterfallnet@proton.me>
Freddy <freddy@privacyguides.org> <freddy@decypher.pw>
Freddy <freddy@privacyguides.org> <freddy@privacytools.io>
Niek de Wilde <niek@privacyguides.org> <github.ef27z@simplelogin.com> Niek de Wilde <niek@privacyguides.org> <github.ef27z@simplelogin.com>
Niek de Wilde <niek@privacyguides.org> <blacklight447@privacytools.io> Niek de Wilde <niek@privacyguides.org> <blacklight447@privacytools.io>
redoomed1 <redoomed1@privacyguides.org> <161974310+redoomed1@users.noreply.github.com>
+3 -1
View File
@@ -27,4 +27,6 @@ code-block-style: false
no-hard-tabs: true no-hard-tabs: true
emphasis-style: emphasis-style:
style: "asterisk" style: "asterisk"
no-duplicate-header: false no-trailing-punctuation: false
no-duplicate-heading:
siblings_only: true
-1
View File
@@ -1 +0,0 @@
3.12
-1
View File
@@ -1 +0,0 @@
{}
+17 -27
View File
@@ -1,31 +1,21 @@
// Copyright (c) 2024 Jonah Aragon <jonah@triplebit.net>
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
{ {
"recommendations": [ // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"mhutchie.git-graph",
"esbenp.prettier-vscode",
"tamasfe.even-better-toml",
"budparr.language-hugo-vscode",
"EditorConfig.EditorConfig", "EditorConfig.EditorConfig",
"DavidAnson.vscode-markdownlint", "github.vscode-github-actions",
"wholroyd.jinja", "bierner.github-markdown-preview",
"mikestead.dotenv", "ms-vsliveshare.vsliveshare",
"ltex-plus.vscode-ltex-plus",
"yzhang.markdown-all-in-one",
"redhat.vscode-yaml", "redhat.vscode-yaml",
"ecmel.vscode-html-css", "rvben.rumdl",
"yzhang.markdown-all-in-one" "kaellarkin.hugo-shortcode-syntax"
] ]
} }
-51
View File
@@ -1,51 +0,0 @@
// Copyright (c) 2024 Jonah Aragon <jonah@triplebit.net>
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
{
"git.ignoreLimitWarning": true,
"ltex.diagnosticSeverity": "hint",
"editor.unicodeHighlight.ambiguousCharacters": true,
"editor.unicodeHighlight.invisibleCharacters": true,
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
"[yaml]": {
"editor.defaultFormatter": "redhat.vscode-yaml",
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": true
}
},
"yaml.schemas": {
"https://raw.githubusercontent.com/DavidAnson/markdownlint/main/schema/markdownlint-config-schema.json": ".markdownlint.yml",
"https://json.schemastore.org/github-issue-config.json": ".github/ISSUE_TEMPLATE/config.yml",
".vscode/.empty-schema.json": "config/*.yml"
},
"yaml.customTags": [
"!ENV sequence",
"!ENV",
"tag:yaml.org,2002:python/name:pymdownx.superfences.fence_code_format",
"tag:yaml.org,2002:python/name:material.extensions.emoji.twemoji",
"tag:yaml.org,2002:python/name:material.extensions.emoji.to_svg"
],
"editor.formatOnSave": true,
"[github-actions-workflow]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
-98
View File
@@ -1,98 +0,0 @@
# Copyright (c) 2022-2024 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
cff-version: 1.2.0
title: Privacy Guides
message: "If you reference this website, please cite it in your work."
type: software
authors:
- family-names: Aragon
given-names: Jonah
website: "https://www.jonaharagon.com"
orcid: "https://orcid.org/0000-0001-6996-4965"
- name: The Privacy Guides Team
website: "https://github.com/orgs/privacyguides/people"
repository-code: "https://github.com/privacyguides/privacyguides.org"
license:
- MIT
- CC-BY-SA-4.0
references:
- authors:
- family-names: Donath
given-names: Martin
title: "mkdocs-material"
type: software
repository-code: "https://github.com/squidfunk/mkdocs-material"
license: MIT
preferred-citation:
type: website
title: Privacy Guides
authors:
- family-names: Aragon
given-names: Jonah
website: "https://www.jonaharagon.com"
orcid: "https://orcid.org/0000-0001-6996-4965"
- family-names: Gray
given-names: Daniel
alias: dngray
website: "https://polarbear.army"
- family-names: Wilde
given-names: Niek
name-particle: de
alias: blacklight447
- given-names: Freddy
website: "https://freddy.lol"
- alias: mfwmyfacewhen
website: "https://github.com/mfwmyfacewhen"
- given-names: Olivia
alias: hook
- alias: nitrohorse
website: "https://nitrohorse.com"
- family-names: Suomalainen
given-names: Aminda
alias: Mikaela
website: "https://aminda.eu"
- family-names: Potocki
given-names: Dawid
website: "https://dawidpotocki.com"
- alias: matchboxbananasynergy
website: "https://banana.omg.lol"
- family-names: Tran
given-names: Thien
alias: Tommy
website: "https://tommytran.io"
- alias: samsepi0l
website: "https://github.com/d4rklynk"
- name: Privacy Guides Contributors
website: "https://www.privacyguides.org/en/about/contributors/"
url: "https://www.privacyguides.org"
abstract: >-
Privacy Guides is a socially motivated website that
provides information for protecting your data
security and privacy. We are a non-profit
collective operated entirely by volunteer team
members and contributors.
keywords:
- privacy
- surveillance
- encryption
- website
- markdown
license: CC-BY-SA-4.0
-72
View File
@@ -1,72 +0,0 @@
FROM python:3.13-alpine as base
LABEL org.opencontainers.image.source="https://github.com/privacyguides/privacyguides.org"
# Setup env
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONFAULTHANDLER 1
FROM base AS python-deps
# Install pipenv and compilation dependencies
RUN pip install pipenv
RUN \
apk upgrade --update-cache -a \
&& \
apk add --no-cache \
gcc \
libffi-dev \
musl-dev
# Install python dependencies in /.venv
COPY modules/mkdocs-material ./modules/mkdocs-material
COPY Pipfile .
COPY Pipfile.lock .
RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
FROM base AS runtime
# Install runtime dependencies
RUN \
apk upgrade --update-cache -a \
&& \
apk add --no-cache \
cairo \
freetype-dev \
git \
git-fast-import \
jpeg-dev \
openssh \
pngquant \
tini \
zlib-dev \
libffi-dev \
musl-dev \
bash
# Copy virtual env from python-deps stage
COPY --from=python-deps /.venv /.venv
COPY --from=python-deps /modules/mkdocs-material /modules/mkdocs-material
ENV PATH="/.venv/bin:$PATH"
# Create and switch to a new user
RUN mkdir /site
WORKDIR /site
COPY docs docs
COPY theme theme
COPY includes includes
COPY *.yml .
COPY .cache/plugin/social/fonts .cache/plugin/social/fonts
COPY run.sh .
EXPOSE 8000
ENV MKDOCS_INHERIT mkdocs-production.yml
HEALTHCHECK NONE
ENTRYPOINT ["./run.sh"]
CMD ["--cmd=mkdocs", "--insiders", "--cmd_flags=--dev-addr=0.0.0.0:8000"]
-39
View File
@@ -1,39 +0,0 @@
# Copyright (c) 2022-2024 Jonah Aragon <jonah@triplebit.net>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
mkdocs-material = {extras = ["imaging"], path = "./modules/mkdocs-material"}
mkdocs-git-revision-date-localized-plugin = "~=1.2"
mkdocs-git-authors-plugin = "~=0.8"
mkdocs-macros-plugin = "~=1.0"
jieba = "~=0.42"
mkdocs-rss-plugin = "*"
mkdocs-glightbox = "*"
[dev-packages]
scour = "~=0.38"
[requires]
python_version = "3.12"
Generated
-1005
View File
File diff suppressed because it is too large Load Diff
+15 -536
View File
@@ -14,7 +14,7 @@
<a href="https://github.com/privacyguides/privacyguides.org/stargazers"> <a href="https://github.com/privacyguides/privacyguides.org/stargazers">
<img src="https://img.shields.io/github/stars/privacyguides?style=social"></a> <img src="https://img.shields.io/github/stars/privacyguides?style=social"></a>
<a href="https://mastodon.neat.computer/@privacyguides"> <a href="https://mastodon.neat.computer/@privacyguides">
<img src="https://img.shields.io/mastodon/follow/109298532634697668?domain=https%3A%2F%2Fmastodon.neat.computer&label=Follow%20%40privacyguides%40neat.computer&style=social"></a></p> <img src="https://img.shields.io/mastodon/follow/109298532634697668?domain=https%3A%2F%2Fmastodon.neat.computer&label=Follow&style=social"></a></p>
<p><a href="https://github.com/privacyguides/privacyguides.org/pulls"> <p><a href="https://github.com/privacyguides/privacyguides.org/pulls">
<img src="https://img.shields.io/github/issues-pr-raw/privacyguides/privacyguides.org"></a> <img src="https://img.shields.io/github/issues-pr-raw/privacyguides/privacyguides.org"></a>
@@ -32,8 +32,6 @@
<img src="https://badges.crowdin.net/privacyguides/localized.svg"></a> <img src="https://badges.crowdin.net/privacyguides/localized.svg"></a>
<a href="https://github.com/sponsors/privacyguides#sponsors"> <a href="https://github.com/sponsors/privacyguides#sponsors">
<img src="https://img.shields.io/github/sponsors/privacyguides"></a> <img src="https://img.shields.io/github/sponsors/privacyguides"></a>
<a href="https://squidfunk.github.io/mkdocs-material/">
<img src="https://img.shields.io/badge/Material_for_MkDocs-526CFE?logo=MaterialForMkDocs&logoColor=white"></a>
<a href="https://github.com/privacyguides/privacyguides.org/actions/workflows/publish-release.yml"> <a href="https://github.com/privacyguides/privacyguides.org/actions/workflows/publish-release.yml">
<img src="https://img.shields.io/github/actions/workflow/status/privacyguides/privacyguides.org/publish-release.yml?label=release"></a></p> <img src="https://img.shields.io/github/actions/workflow/status/privacyguides/privacyguides.org/publish-release.yml?label=release"></a></p>
</div> </div>
@@ -42,12 +40,14 @@
**Privacy Guides** is a socially motivated website that provides information for protecting your data security and privacy. Our mission is to inform the public about the value of digital privacy, and global government initiatives which aim to monitor your online activity. We are a non-profit collective operated entirely by volunteer team members and contributors. Our website is free of advertisements and not affiliated with any of the listed providers. **Privacy Guides** is a socially motivated website that provides information for protecting your data security and privacy. Our mission is to inform the public about the value of digital privacy, and global government initiatives which aim to monitor your online activity. We are a non-profit collective operated entirely by volunteer team members and contributors. Our website is free of advertisements and not affiliated with any of the listed providers.
The current list of team members can be found [here](https://www.privacyguides.org/en/about/#executive-committee). Additionally, [many people](#contributors) have made contributions to the project, and you can too! The current list of team members can be found on [the executive committee page](https://www.privacyguides.org/en/about/#executive-committee). Additionally, many people have made contributions to the project, and you can too!
*Featured on: [Tweakers](https://tweakers.net/reviews/10568/op-zoek-naar-privacyvriendelijke-tools-niek-de-wilde-van-privacy-guides.html), [The New York Times](https://nytimes.com/wirecutter/guides/online-security-social-media-privacy), [Wired](https://wired.com/story/firefox-mozilla-2022), and [Fast Company](https://www.fastcompany.com/91167564/mozilla-wants-you-to-love-firefox-again).* *Featured on: [Tweakers](https://tweakers.net/reviews/10568/op-zoek-naar-privacyvriendelijke-tools-niek-de-wilde-van-privacy-guides.html), [The New York Times](https://nytimes.com/wirecutter/guides/online-security-social-media-privacy), [Wired](https://wired.com/story/firefox-mozilla-2022), and [Fast Company](https://www.fastcompany.com/91167564/mozilla-wants-you-to-love-firefox-again).*
## Contributing ## Contributing
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/privacyguides/privacyguides.org?devcontainer_path=.devcontainer%2Fdevcontainer.json)
- 💬 [Start a discussion or suggest an idea](https://discuss.privacyguides.net) - 💬 [Start a discussion or suggest an idea](https://discuss.privacyguides.net)
- 💖 [Sponsor the project](https://github.com/sponsors/privacyguides) - 💖 [Sponsor the project](https://github.com/sponsors/privacyguides)
- 🈴 [Help translate the site](https://crowdin.com/project/privacyguides) [[Matrix chat](https://matrix.to/#/#pg-i18n:aragon.sh)] - 🈴 [Help translate the site](https://crowdin.com/project/privacyguides) [[Matrix chat](https://matrix.to/#/#pg-i18n:aragon.sh)]
@@ -56,15 +56,6 @@ The current list of team members can be found [here](https://www.privacyguides.o
- View the list of [approved topics waiting for a PR](https://discuss.privacyguides.net/tag/approved) - View the list of [approved topics waiting for a PR](https://discuss.privacyguides.net/tag/approved)
- Read some writing tips in our [style guide](https://www.privacyguides.org/en/meta/writing-style) - Read some writing tips in our [style guide](https://www.privacyguides.org/en/meta/writing-style)
All contributors to the site are listed [here](#contributors). If you have contributed to the website or project, please [add yourself](https://github.com/privacyguides/privacyguides.org/issues/2524) to the list or ask @jonaharagon to make the change.
## Mirrors
- **GitHub Pages:** [privacyguides.github.io/privacyguides.org](https://privacyguides.github.io/privacyguides.org/en/)
- **Netlify (AWS):** [illustrious-bavarois-56cf30.netlify.app](https://illustrious-bavarois-56cf30.netlify.app/en/)
- **BunnyCDN:** [privacyguides-org-production.b-cdn.net](https://privacyguides-org-production.b-cdn.net/en/)
- **Hetzner:** [direct.privacyguides.org](https://direct.privacyguides.org/en/) (discouraged!)
### Alternative Networks ### Alternative Networks
> [!NOTE] > [!NOTE]
@@ -72,18 +63,6 @@ All contributors to the site are listed [here](#contributors). If you have contr
- **Tor/onion:** [xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion](http://www.xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion) - **Tor/onion:** [xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion](http://www.xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion)
- **IPFS:** `/ipns/ipfs.privacyguides.org` (**not** anonymous)
- Please help us out by pinning a copy: [Learn more](https://github.com/privacyguides/webserver/blob/main/ipfs/README.md)
- via Cloudflare: [cloudflare-ipfs.com/ipns/ipfs.privacyguides.org](https://cloudflare-ipfs.com/ipns/ipfs.privacyguides.org/en/)
- via 4everland: [ipfs-privacyguides-org.ipns.4everland.io](https://ipfs-privacyguides-org.ipns.4everland.io/)
- via [@jonaharagon](https://github.com/jonaharagon): [ipfs.jonaharagon.net/ipns/ipfs.privacyguides.org](https://ipfs.jonaharagon.net/ipns/ipfs.privacyguides.org/en/)
- via [peer](https://docs.ipfs.tech/how-to/peering-with-content-providers/): `/dnsaddr/node-1.ipfs.jonaharagon.net/p2p/12D3KooWMwqzuApCKxYfo66zq5BrTjCoz9naJ1rrMEBCnwuGGqWB`
- **I2P:** [privacyguides.i2p](http://privacyguides.i2p/?i2paddresshelper=fvbkmooriuqgssrjvbxu7nrwms5zyhf34r3uuppoakwwsm7ysv6q.b32.i2p)
- **Yggdrasil:** [http://[200:f3a6:4922:e067:770d:ac57:fcb1:8dbf]](http://[200:f3a6:4922:e067:770d:ac57:fcb1:8dbf]/en/) (**not** anonymous)
- via public peer: `tcp://5.161.245.8:45454`
### Git Mirrors ### Git Mirrors
[![GitHub](https://img.shields.io/static/v1?logo=github&label=&message=GitHub&color=000&style=for-the-badge)](https://github.com/privacyguides/privacyguides.org) [![GitHub](https://img.shields.io/static/v1?logo=github&label=&message=GitHub&color=000&style=for-the-badge)](https://github.com/privacyguides/privacyguides.org)
@@ -94,7 +73,7 @@ All contributors to the site are listed [here](#contributors). If you have contr
## License ## License
Copyright &copy; 2019 - 2024 [Privacy Guides contributors](#contributors). Copyright &copy; 20192026 Privacy Guides contributors.
Privacy Guides content is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International Public License](/LICENSE), and the underlying source code used to format and display that content on [www.privacyguides.org](https://www.privacyguides.org) is licensed under the [MIT License](/LICENSE-CODE). Privacy Guides content is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International Public License](/LICENSE), and the underlying source code used to format and display that content on [www.privacyguides.org](https://www.privacyguides.org) is licensed under the [MIT License](/LICENSE-CODE).
@@ -110,525 +89,25 @@ When you contribute to this repository you are doing so under the above licenses
## Developing ## Developing
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/privacyguides/privacyguides.org?devcontainer_path=.devcontainer%2Fdevcontainer.json) The only supported method of building and previewing this website locally is by running the automatic dev container. The easiest way to do this in your web browser without installing any software is to use [GitHub Codespaces](https://codespaces.new/privacyguides/privacyguides.org). To build the website locally, you will need the following software:
- macOS/Windows: [Docker Desktop](https://www.docker.com/products/docker-desktop/)
- Linux: [Docker CE](https://docs.docker.com/get-started/get-docker/#supported-platforms)
- [VS Code](https://code.visualstudio.com/)
- [Dev Containers for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension
- [GitHub Desktop](https://github.com/apps/desktop) (optional)
You can technically use any IDE which supports [development containers](https://containers.dev/), but YMMV. Docker Desktop has an experimental Dev Environments option which allows you to use any text editor under Settings > Features in development. We are only testing with the combination of software above.
Committing to this repository requires [signing your commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) (`git config commit.gpgsign true`) unless you are making edits via the GitHub.com text editor interface. As of August 2022 the preferred signing method is [SSH commit signatures](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification#ssh-commit-signature-verification), but GPG signing is also acceptable. You should add your signing key to your GitHub profile. Committing to this repository requires [signing your commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) (`git config commit.gpgsign true`) unless you are making edits via the GitHub.com text editor interface. As of August 2022 the preferred signing method is [SSH commit signatures](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification#ssh-commit-signature-verification), but GPG signing is also acceptable. You should add your signing key to your GitHub profile.
### With `mkdocs-material`
1. Install required packages: `pip install mkdocs-material`
2. Run a local preview of the English site: `./run.sh --cmd=mkdocs`
### With `mkdocs-material-insiders`
This website uses [`mkdocs-material-insiders`](https://squidfunk.github.io/mkdocs-material/insiders) which offers additional functionality over the open-source `mkdocs-material` project. For obvious reasons we cannot distribute access to the insiders repository.
**Team members** should clone the repository with `mkdocs-material-insiders` directly. This method is identical to production:
1. Clone this repository and submodules: `git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org.git`
2. Enable SSH commit verification with our local [`.allowed_signers`](/.allowed_signers) file: `git config gpg.ssh.allowedSignersFile .allowed_signers`
3. Install Python **3.12**.
4. Install **pipenv**: `pip install pipenv`
5. Install dependencies: `pipenv install --dev` (install [Pillow and CairoSVG](https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#dependencies) as well to generate social cards)
6. Serve the site locally: `./run.sh --insiders` (set `CARDS=true` to generate social cards)
- The site will be available at `http://localhost:8000`
- You can build the site locally with `./run.sh --insiders --build`
- This version of the site should be identical to the live, production version
If you commit to `main` with commits signed with your SSH key, you should add your SSH key to [`.allowed_signers`](/.allowed_signers) in this repo.
### Local Translated Site Builds
1. Install the [Crowdin CLI Tool](https://developer.crowdin.com/cli-tool) (`brew install crowdin`)
2. Set the `CROWDIN_PERSONAL_TOKEN` environment variable to your Crowdin personal access token
3. Run `crowdin download` in the root of this repo
4. Serve the site locally: `./run.sh --insiders --lang=fr` (replacing fr with the appropriate language in [/config](/config))
Translations downloaded from Crowdin are [.gitignore](/.gitignore)'d, so any local changes to the translated site cannot be committed to this repo. Actual modifications need to be made on Crowdin. As an alternative to steps 1-3, you can copy the folders from [privacyguides/i18n](https://github.com/privacyguides/i18n) to the root of this repo to obtain the translated files.
## Releasing ## Releasing
It is required to create a GitHub release to publish the current site to privacyguides.org. The current `main` branch can be previewed at [https://main.staging.privacyguides.dev](https://main.staging.privacyguides.dev) prior to release. It is required to create a GitHub release to publish the current site to privacyguides.org. The current `main` branch can be previewed at [https://main.staging.privacyguides.dev](https://main.staging.privacyguides.dev) prior to release.
1. Create a new tag: `git tag -s YYYY.MM.DD -m 'Some message'` 1. Create a new tag: `git tag -s YYYY.MM.DD -m 'Some message'`
- Tag numbering: `YYYY.MM.DD` - if two+ releases are published on the same day, append short commit sha to next release, e.g. `YYYY.MM.DD-6aa14e8` - Tag numbering: `YYYY.MM.DD` - if two+ releases are published on the same day, append short commit to the next release, e.g. `YYYY.MM.DD-6aa14e8`
- Enable GPG tag signing by default (`git config tag.gpgSign true`) to avoid missing signatures - Enable GPG tag signing by default (`git config tag.gpgSign true`) to avoid missing signatures
2. Push the tag to GitHub: `git push --tags` 2. Push the tag to GitHub: `git push --tags`
3. A GitHub Release will be automatically created and deployed to the live site. 3. A GitHub Release will be automatically created and deployed to the live site.
- You may wish to manually check or edit the release changelog/title after it is published for accuracy. - You may wish to manually check or edit the release changelog/title after it is published for accuracy.
## Contributors
Privacy Guides wouldn't be possible without these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.jonaharagon.com/"><img src="https://avatars.githubusercontent.com/u/3637842?v=4" width="100px;" loading=lazy /><br /><sub><b>Jonah Aragon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jonaharagon" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Ajonaharagon" title="Reviewed Pull Requests">👀</a> <a href="#projectManagement-jonaharagon" title="Project Management">📆</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=jonaharagon" title="Code">💻</a> <a href="#infra-jonaharagon" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#security-jonaharagon" title="Security">🛡️</a> <a href="#blog-jonaharagon" title="Blogposts">📝</a> <a href="#design-jonaharagon" title="Design">🎨</a> <a href="#platform-jonaharagon" title="Packaging/porting to new platform">📦</a> <a href="#promotion-jonaharagon" title="Promotion">📣</a> <a href="#question-jonaharagon" title="Answering Questions">💬</a> <a href="#research-jonaharagon" title="Research">🔬</a> <a href="#maintenance-jonaharagon" title="Maintenance">🚧</a> <a href="#mentoring-jonaharagon" title="Mentoring">🧑‍🏫</a> <a href="#a11y-jonaharagon" title="Accessibility">️♿️</a> <a href="#ideas-jonaharagon" title="Ideas, Planning, & Feedback">🤔</a> <a href="#video-jonaharagon" title="Videos">📹</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Ajonaharagon" title="Bug reports">🐛</a> <a href="#business-jonaharagon" title="Business development">💼</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://polarbear.army/"><img src="https://avatars.githubusercontent.com/u/48640805?v=4" width="100px;" loading=lazy /><br /><sub><b>Daniel Nathan Gray</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dngray" title="Documentation">📖</a> <a href="#mentoring-dngray" title="Mentoring">🧑‍🏫</a> <a href="#projectManagement-dngray" title="Project Management">📆</a> <a href="#question-dngray" title="Answering Questions">💬</a> <a href="#research-dngray" title="Research">🔬</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Adngray" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Adngray" title="Bug reports">🐛</a> <a href="#maintenance-dngray" title="Maintenance">🚧</a> <a href="#ideas-dngray" title="Ideas, Planning, & Feedback">🤔</a> <a href="#security-dngray" title="Security">🛡️</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://freddy.lol/"><img src="https://avatars.githubusercontent.com/u/25013506?v=4" width="100px;" loading=lazy /><br /><sub><b>Freddy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=freddy-m" title="Documentation">📖</a> <a href="#blog-freddy-m" title="Blogposts">📝</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Afreddy-m" title="Reviewed Pull Requests">👀</a> <a href="#research-freddy-m" title="Research">🔬</a> <a href="#maintenance-freddy-m" title="Maintenance">🚧</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Afreddy-m" title="Bug reports">🐛</a> <a href="#ideas-freddy-m" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-freddy-m" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/blacklight447"><img src="https://avatars.githubusercontent.com/u/50110294?v=4" width="100px;" loading=lazy /><br /><sub><b>Niek de Wilde</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=blacklight447" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Ablacklight447" title="Bug reports">🐛</a> <a href="#research-blacklight447" title="Research">🔬</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Ablacklight447" title="Reviewed Pull Requests">👀</a> <a href="#infra-blacklight447" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#question-blacklight447" title="Answering Questions">💬</a> <a href="#ideas-blacklight447" title="Ideas, Planning, & Feedback">🤔</a> <a href="#blog-blacklight447" title="Blogposts">📝</a> <a href="#audio-blacklight447" title="Audio">🔊</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/hook9"><img src="https://avatars.githubusercontent.com/u/47239784?v=4" width="100px;" loading=lazy /><br /><sub><b>hook9</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=hook9" title="Documentation">📖</a> <a href="#research-hook9" title="Research">🔬</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Ahook9" title="Reviewed Pull Requests">👀</a> <a href="#ideas-hook9" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://aminda.eu/"><img src="https://avatars.githubusercontent.com/u/831184?v=4" width="100px;" loading=lazy /><br /><sub><b>Aminda Suomalainen ⚧</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Mikaela" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3AMikaela" title="Reviewed Pull Requests">👀</a> <a href="#ideas-Mikaela" title="Ideas, Planning, & Feedback">🤔</a> <a href="#research-Mikaela" title="Research">🔬</a> <a href="#a11y-Mikaela" title="Accessibility">️♿️</a> <a href="#question-Mikaela" title="Answering Questions">💬</a> <a href="#projectManagement-Mikaela" title="Project Management">📆</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nitrohorse.com/"><img src="https://avatars.githubusercontent.com/u/1514352?v=4" width="100px;" loading=lazy /><br /><sub><b>nitrohorse</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nitrohorse" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Anitrohorse" title="Reviewed Pull Requests">👀</a> <a href="#ideas-nitrohorse" title="Ideas, Planning, & Feedback">🤔</a> <a href="#blog-nitrohorse" title="Blogposts">📝</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://dawidpotocki.com/"><img src="https://avatars.githubusercontent.com/u/38681822?v=4" width="100px;" loading=lazy /><br /><sub><b>Dawid Potocki</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dawidpotocki" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Adawidpotocki" title="Reviewed Pull Requests">👀</a> <a href="#ideas-dawidpotocki" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-dawidpotocki" title="Design">🎨</a> <a href="#research-dawidpotocki" title="Research">🔬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://realguyman.xyz/"><img src="https://avatars.githubusercontent.com/u/93285774?v=4" width="100px;" loading=lazy /><br /><sub><b>Dale E. Wingard, Jr.</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=realguyman" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Arealguyman" title="Reviewed Pull Requests">👀</a> <a href="#ideas-realguyman" title="Ideas, Planning, & Feedback">🤔</a> <a href="#research-realguyman" title="Research">🔬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kewde"><img src="https://avatars.githubusercontent.com/u/13770485?v=4" width="100px;" loading=lazy /><br /><sub><b>Kewde</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kewde" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=kewde" title="Code">💻</a> <a href="#research-kewde" title="Research">🔬</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://vince.sh/"><img src="https://avatars.githubusercontent.com/u/13933712?v=4" width="100px;" loading=lazy /><br /><sub><b>Vince</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Vincevrp" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=Vincevrp" title="Code">💻</a> <a href="#research-Vincevrp" title="Research">🔬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/shifterovich2"><img src="https://avatars.githubusercontent.com/u/31760859?v=4" width="100px;" loading=lazy /><br /><sub><b>shifterovich2</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=shifterovich2" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=shifterovich2" title="Code">💻</a> <a href="#research-shifterovich2" title="Research">🔬</a></td>
<td align="center" valign="top" width="20%"><img src="https://avatars.githubusercontent.com/u/10137?v=4" width="100px;" loading=lazy /><br /><sub><b>mfwmyfacewhen</b></sub><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mfwmyfacewhen" title="Documentation">📖</a> <a href="#ideas-mfwmyfacewhen" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Amfwmyfacewhen" title="Reviewed Pull Requests">👀</a> <a href="#research-mfwmyfacewhen" title="Research">🔬</a> <a href="#question-mfwmyfacewhen" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://tommytran.io/"><img src="https://avatars.githubusercontent.com/u/57488583?v=4" width="100px;" loading=lazy /><br /><sub><b>Tommy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TommyTran732" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3ATommyTran732" title="Reviewed Pull Requests">👀</a> <a href="#research-TommyTran732" title="Research">🔬</a> <a href="#question-TommyTran732" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://kaitebay.org/"><img src="https://avatars.githubusercontent.com/u/95620167?v=4" width="100px;" loading=lazy /><br /><sub><b>Kai Tebay</b></sub></a><br /><a href="#ideas-KaiTebay" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=KaiTebay" title="Documentation">📖</a> <a href="#research-KaiTebay" title="Research">🔬</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=KaiTebay" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/matchboxbananasynergy"><img src="https://avatars.githubusercontent.com/u/107055883?v=4" width="100px;" loading=lazy /><br /><sub><b>matchboxbananasynergy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=matchboxbananasynergy" title="Documentation">📖</a> <a href="#research-matchboxbananasynergy" title="Research">🔬</a> <a href="#ideas-matchboxbananasynergy" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Amatchboxbananasynergy" title="Reviewed Pull Requests">👀</a> <a href="#blog-matchboxbananasynergy" title="Blogposts">📝</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/features/actions"><img src="https://avatars.githubusercontent.com/u/44036562?v=4" width="100px;" loading=lazy /><br /><sub><b>GitHub Actions</b></sub></a><br /><a href="#infra-actions" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.netlify.com/"><img src="https://avatars.githubusercontent.com/u/7892489?v=4" width="100px;" loading=lazy /><br /><sub><b>Netlify</b></sub></a><br /><a href="#infra-netlify" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/features/security"><img src="https://avatars.githubusercontent.com/u/27347476?v=4" width="100px;" loading=lazy /><br /><sub><b>Dependabot</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dependabot" title="Code">💻</a> <a href="#infra-dependabot" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://console.hetzner.cloud/"><img src="https://avatars.githubusercontent.com/u/22154697?v=4" width="100px;" loading=lazy /><br /><sub><b>Hetzner Cloud</b></sub></a><br /><a href="#infra-hetznercloud" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.cloudflare.com/"><img src="https://avatars.githubusercontent.com/u/314135?v=4" width="100px;" loading=lazy /><br /><sub><b>Cloudflare</b></sub></a><br /><a href="#infra-cloudflare" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://opencollective.com/"><img src="https://avatars.githubusercontent.com/u/13403593?v=4" width="100px;" loading=lazy /><br /><sub><b>Open Collective</b></sub></a><br /><a href="#business-opencollective" title="Business development">💼</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://safing.io/"><img src="https://avatars.githubusercontent.com/u/20678162?v=4" width="100px;" loading=lazy /><br /><sub><b>Safing</b></sub></a><br /><a href="#financial-safing" title="Financial">💵</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.danarel.com/"><img src="https://avatars.githubusercontent.com/u/46383059?v=4" width="100px;" loading=lazy /><br /><sub><b>Dan Arel</b></sub></a><br /><a href="#blog-danarel" title="Blogposts">📝</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=danarel" title="Documentation">📖</a> <a href="#research-danarel" title="Research">🔬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://techlore.tech/"><img src="https://avatars.githubusercontent.com/u/68134985?v=4" width="100px;" loading=lazy /><br /><sub><b>Techlore</b></sub></a><br /><a href="#financial-techlore" title="Financial">💵</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/elitejake"><img src="https://avatars.githubusercontent.com/u/74049394?v=4" width="100px;" loading=lazy /><br /><sub><b>elitejake</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=elitejake" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://simpleprivacy.fr/"><img src="https://avatars.githubusercontent.com/u/74207682?v=4" width="100px;" loading=lazy /><br /><sub><b>samsepi0l</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=d4rklynk" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/rollsicecream"><img src="https://avatars.githubusercontent.com/u/153316540?v=4" width="100px;" loading=lazy /><br /><sub><b>rollsicecream</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=rollsicecream" title="Documentation">📖</a> <a href="#question-rollsicecream" title="Answering Questions">💬</a> <a href="#translation-rollsicecream" title="Translation">🌍</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Arollsicecream" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://henryfisher.tech/"><img src="https://avatars.githubusercontent.com/u/64515030?v=4" width="100px;" loading=lazy /><br /><sub><b>Henry Fisher</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=henry-fisher" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://thenewoil.org/"><img src="https://avatars.githubusercontent.com/u/133825060?v=4" width="100px;" loading=lazy /><br /><sub><b>Nate Bartram</b></sub></a><br /><a href="#blog-tnonate" title="Blogposts">📝</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.samhowell.uk/"><img src="https://avatars.githubusercontent.com/u/10137?v=4" width="100px;" loading=lazy /><br /><sub><b>Sam Howell</b></sub></a><br /><a href="#blog-5amm" title="Blogposts">📝</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/asddsaz"><img src="https://avatars.githubusercontent.com/u/42685606?v=4" width="100px;" loading=lazy /><br /><sub><b>asddsaz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=asddsaz" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/hugoncosta"><img src="https://avatars.githubusercontent.com/u/29380568?v=4" width="100px;" loading=lazy /><br /><sub><b>Hugo Costa</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=hugoncosta" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N"><img src="https://avatars.githubusercontent.com/u/30232065?v=4" width="100px;" loading=lazy /><br /><sub><b>C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Strappazzon"><img src="https://avatars.githubusercontent.com/u/19752093?v=4" width="100px;" loading=lazy /><br /><sub><b>Alberto Strappazzon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Strappazzon" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://victorhckinthefreeworld.com/"><img src="https://avatars.githubusercontent.com/u/1514206?v=4" width="100px;" loading=lazy /><br /><sub><b>Victorhck</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=victorhck" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/taivlam"><img src="https://avatars.githubusercontent.com/u/47955724?v=4" width="100px;" loading=lazy /><br /><sub><b>Tai Lam</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=taivlam" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NinebitX"><img src="https://avatars.githubusercontent.com/u/26626722?v=4" width="100px;" loading=lazy /><br /><sub><b>NinebitX</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NinebitX" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://antukh.com/"><img src="https://avatars.githubusercontent.com/u/10441512?v=4" width="100px;" loading=lazy /><br /><sub><b>Alexander Antukh</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=c0rdis" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gusted.xyz/"><img src="https://avatars.githubusercontent.com/u/25481501?v=4" width="100px;" loading=lazy /><br /><sub><b>Gusted</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Gusted" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/redoomed1"><img src="https://avatars.githubusercontent.com/u/161974310?v=4" width="100px;" loading=lazy /><br /><sub><b>redoomed1</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Aredoomed1" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=redoomed1" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Offpics"><img src="https://avatars.githubusercontent.com/u/20701635?v=4" width="100px;" loading=lazy /><br /><sub><b>Offpics</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Offpics" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kimg45"><img src="https://avatars.githubusercontent.com/u/138676274?v=4" width="100px;" loading=lazy /><br /><sub><b>kimg45</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kimg45" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/djoate"><img src="https://avatars.githubusercontent.com/u/56777051?v=4" width="100px;" loading=lazy /><br /><sub><b>djoate</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=djoate" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/afighttilldeath"><img src="https://avatars.githubusercontent.com/u/29437578?v=4" width="100px;" loading=lazy /><br /><sub><b>afighttilldeath</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=afighttilldeath" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/paulverbeke"><img src="https://avatars.githubusercontent.com/u/6412153?v=4" width="100px;" loading=lazy /><br /><sub><b>Paul Verbeke</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=paulverbeke" title="Documentation">📖</a> <a href="#translation-paulverbeke" title="Translation">🌍</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Apaulverbeke" title="Bug reports">🐛</a> <a href="#mentoring-paulverbeke" title="Mentoring">🧑‍🏫</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://mitchellcash.com/"><img src="https://avatars.githubusercontent.com/u/8009243?v=4" width="100px;" loading=lazy /><br /><sub><b>Mitchell Cash</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=MitchellCash" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NeverDucky"><img src="https://avatars.githubusercontent.com/u/32468662?v=4" width="100px;" loading=lazy /><br /><sub><b>NeverDucky</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NeverDucky" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/efb4f5ff-1298-471a-8973-3d47447115dc"><img src="https://avatars.githubusercontent.com/u/73130443?v=4" width="100px;" loading=lazy /><br /><sub><b>efb4f5ff-1298-471a-8973-3d47447115dc</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=efb4f5ff-1298-471a-8973-3d47447115dc" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.giga.uliege.be/cms/c_4113283/en/giga-directory?uid=u225986"><img src="https://avatars.githubusercontent.com/u/1118942?v=4" width="100px;" loading=lazy /><br /><sub><b>Stephen Karl Larroque</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lrq3000" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/0rdinant"><img src="https://avatars.githubusercontent.com/u/76827384?v=4" width="100px;" loading=lazy /><br /><sub><b>0rdinant</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=0rdinant" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Zenithium"><img src="https://avatars.githubusercontent.com/u/48525551?v=4" width="100px;" loading=lazy /><br /><sub><b>Zenithium</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Zenithium" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.ravellaw.com/"><img src="https://avatars.githubusercontent.com/u/860471?v=4" width="100px;" loading=lazy /><br /><sub><b>Jordan Gwyn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=emanresusername" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gururaja.in/"><img src="https://avatars.githubusercontent.com/u/70903440?v=4" width="100px;" loading=lazy /><br /><sub><b>Guru</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Guru-25" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/datoshkr"><img src="https://avatars.githubusercontent.com/u/79659024?v=4" width="100px;" loading=lazy /><br /><sub><b>datoshkr</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=datoshkr" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Kcchouette"><img src="https://avatars.githubusercontent.com/u/3000936?v=4" width="100px;" loading=lazy /><br /><sub><b>Kcchouette</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Kcchouette" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jacobneplokh.com/"><img src="https://avatars.githubusercontent.com/u/46184597?v=4" width="100px;" loading=lazy /><br /><sub><b>Jacob Neplokh</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jneplokh" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/razac-elda"><img src="https://avatars.githubusercontent.com/u/30749146?v=4" width="100px;" loading=lazy /><br /><sub><b>Leonardo Mazzon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=razac-elda" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Arazac-elda" title="Bug reports">🐛</a> <a href="#financial-razac-elda" title="Financial">💵</a> <a href="#promotion-razac-elda" title="Promotion">📣</a> <a href="#question-razac-elda" title="Answering Questions">💬</a> <a href="#translation-razac-elda" title="Translation">🌍</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/opheron"><img src="https://avatars.githubusercontent.com/u/7110152?v=4" width="100px;" loading=lazy /><br /><sub><b>Andrew Chong</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=opheron" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/woctezuma"><img src="https://avatars.githubusercontent.com/u/570669?v=4" width="100px;" loading=lazy /><br /><sub><b>Wok</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=woctezuma" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://itsnothing.net/"><img src="https://avatars.githubusercontent.com/u/105246487?v=4" width="100px;" loading=lazy /><br /><sub><b>nopeitsnothing</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nopeitsnothing" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://lynn.one/"><img src="https://avatars.githubusercontent.com/u/63118982?v=4" width="100px;" loading=lazy /><br /><sub><b>Lynn Stephenson</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lynn-stephenson" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://cory.solovewi.cz/"><img src="https://avatars.githubusercontent.com/u/19578733?v=4" width="100px;" loading=lazy /><br /><sub><b>Cory Solovewicz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=corysolovewicz" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://zerolimits.dev/"><img src="https://avatars.githubusercontent.com/u/103803129?v=4" width="100px;" loading=lazy /><br /><sub><b>noClaps</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=noClaps" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Perelandra0x309"><img src="https://avatars.githubusercontent.com/u/22124003?v=4" width="100px;" loading=lazy /><br /><sub><b>Brian</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Perelandra0x309" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/SkewedZeppelin"><img src="https://avatars.githubusercontent.com/u/8296104?v=4" width="100px;" loading=lazy /><br /><sub><b>SkewedZeppelin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=SkewedZeppelin" title="Documentation">📖</a> <a href="#question-SkewedZeppelin" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Arcadius3D"><img src="https://avatars.githubusercontent.com/u/165268515?v=4" width="100px;" loading=lazy /><br /><sub><b>Arcadius3D</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Arcadius3D" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/vpnarea"><img src="https://avatars.githubusercontent.com/u/17130812?v=4" width="100px;" loading=lazy /><br /><sub><b>vpnarea</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=vpnarea" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://namazso.eu/"><img src="https://avatars.githubusercontent.com/u/8676443?v=4" width="100px;" loading=lazy /><br /><sub><b>namazso</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=namazso" title="Documentation">📖</a> <a href="#question-namazso" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/cYDN48"><img src="https://avatars.githubusercontent.com/u/96789053?v=4" width="100px;" loading=lazy /><br /><sub><b>cYDN48</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=cYDN48" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/gjhklfdsa"><img src="https://avatars.githubusercontent.com/u/45323745?v=4" width="100px;" loading=lazy /><br /><sub><b>gjhklfdsa</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gjhklfdsa" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://fxgn.dev/"><img src="https://avatars.githubusercontent.com/u/66178592?v=4" width="100px;" loading=lazy /><br /><sub><b>Pavel Zolotarevskiy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=flexagoon" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.mediawiki.org/wiki/User:Quiddity"><img src="https://avatars.githubusercontent.com/u/6633202?v=4" width="100px;" loading=lazy /><br /><sub><b>quiddity-wp</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=quiddity-wp" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nikhiljha.com/"><img src="https://avatars.githubusercontent.com/u/2773700?v=4" width="100px;" loading=lazy /><br /><sub><b>Nikhil Jha</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nikhiljha" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/subatomic-honda-civic"><img src="https://avatars.githubusercontent.com/u/105336176?v=4" width="100px;" loading=lazy /><br /><sub><b>Subatomic Honda Civic</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=subatomic-honda-civic" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ticklemyIP"><img src="https://avatars.githubusercontent.com/u/126688461?v=4" width="100px;" loading=lazy /><br /><sub><b>ticklemyIP</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ticklemyIP" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jermanuts"><img src="https://avatars.githubusercontent.com/u/109705802?v=4" width="100px;" loading=lazy /><br /><sub><b>jermanuts</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jermanuts" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/conorohiggins"><img src="https://avatars.githubusercontent.com/u/16993660?v=4" width="100px;" loading=lazy /><br /><sub><b>conorohiggins</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=conorohiggins" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/TechFanTheo"><img src="https://avatars.githubusercontent.com/u/78900789?v=4" width="100px;" loading=lazy /><br /><sub><b>TechFanTheo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TechFanTheo" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/r-j-taylor"><img src="https://avatars.githubusercontent.com/u/35360143?v=4" width="100px;" loading=lazy /><br /><sub><b>Ryan Taylor</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=r-j-taylor" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Positron832"><img src="https://avatars.githubusercontent.com/u/72881516?v=4" width="100px;" loading=lazy /><br /><sub><b>Positron832</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Positron832" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/JustLuckNoSkill"><img src="https://avatars.githubusercontent.com/u/114787000?v=4" width="100px;" loading=lazy /><br /><sub><b>JustLuckNoSkill</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=JustLuckNoSkill" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Akyshnik"><img src="https://avatars.githubusercontent.com/u/23380632?v=4" width="100px;" loading=lazy /><br /><sub><b>Arkadiy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Akyshnik" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jackmchou"><img src="https://avatars.githubusercontent.com/u/56708167?v=4" width="100px;" loading=lazy /><br /><sub><b>Jack Chou</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jackmchou" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://ave.zone/"><img src="https://avatars.githubusercontent.com/u/6755762?v=4" width="100px;" loading=lazy /><br /><sub><b>ave</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=aveao" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Booteille"><img src="https://avatars.githubusercontent.com/u/2203721?v=4" width="100px;" loading=lazy /><br /><sub><b>Boo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Booteille" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/IDKwhattoputhere"><img src="https://avatars.githubusercontent.com/u/39969358?v=4" width="100px;" loading=lazy /><br /><sub><b>IDKwhattoputhere</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=IDKwhattoputhere" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/idk-r-n"><img src="https://avatars.githubusercontent.com/u/111711873?v=4" width="100px;" loading=lazy /><br /><sub><b>idkrn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=idk-r-n" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ggg27"><img src="https://avatars.githubusercontent.com/u/52841257?v=4" width="100px;" loading=lazy /><br /><sub><b>ggg27</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ggg27" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/WalterKlosse"><img src="https://avatars.githubusercontent.com/u/27290800?v=4" width="100px;" loading=lazy /><br /><sub><b>WalterKlosse</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=WalterKlosse" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://stosb.com/"><img src="https://avatars.githubusercontent.com/u/108670?v=4" width="100px;" loading=lazy /><br /><sub><b>Tom Hacohen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tasn" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.linkedin.com/in/paulfeuvraux/"><img src="https://avatars.githubusercontent.com/u/13090164?v=4" width="100px;" loading=lazy /><br /><sub><b>Paul Feuvraux</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Super-Baleine" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://sbennett1990.github.io/Resume/"><img src="https://avatars.githubusercontent.com/u/6392550?v=4" width="100px;" loading=lazy /><br /><sub><b>Scott Bennett</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sbennett1990" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://blog.191.161.xyz/"><img src="https://avatars.githubusercontent.com/u/1544371?v=4" width="100px;" loading=lazy /><br /><sub><b>Federico Ariel Castagnini</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=facastagnini" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jslawler-gh"><img src="https://avatars.githubusercontent.com/u/149243371?v=4" width="100px;" loading=lazy /><br /><sub><b>jslawler-gh</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jslawler-gh" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/spaceoden"><img src="https://avatars.githubusercontent.com/u/26421479?v=4" width="100px;" loading=lazy /><br /><sub><b>spaceoden</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=spaceoden" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/xe-3"><img src="https://avatars.githubusercontent.com/u/137224605?v=4" width="100px;" loading=lazy /><br /><sub><b>xe3</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xe-3" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/anoadragon453"><img src="https://avatars.githubusercontent.com/u/1342360?v=4" width="100px;" loading=lazy /><br /><sub><b>Andrew Morgan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=anoadragon453" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://rossviewef.org/"><img src="https://avatars.githubusercontent.com/u/35670796?v=4" width="100px;" loading=lazy /><br /><sub><b>Caleb King</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=EvasivePangolin" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Eduardo06sp"><img src="https://avatars.githubusercontent.com/u/34868791?v=4" width="100px;" loading=lazy /><br /><sub><b>Eduardo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Eduardo06sp" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NafeezJS"><img src="https://avatars.githubusercontent.com/u/17627305?v=4" width="100px;" loading=lazy /><br /><sub><b>NafeezJS</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NafeezJS" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Sloofy"><img src="https://avatars.githubusercontent.com/u/18003771?v=4" width="100px;" loading=lazy /><br /><sub><b>Sloofy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Sloofy" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://sts10.github.io/"><img src="https://avatars.githubusercontent.com/u/4871664?v=4" width="100px;" loading=lazy /><br /><sub><b>Sam Schlinkert</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sts10" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/gaborluk"><img src="https://avatars.githubusercontent.com/u/6388299?v=4" width="100px;" loading=lazy /><br /><sub><b>Gabor Luk</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gaborluk" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://deiaspie.github.io/"><img src="https://avatars.githubusercontent.com/u/93835541?v=4" width="100px;" loading=lazy /><br /><sub><b>DeiAsPie</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=DeiAsPie" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://davidetaviani.com/"><img src="https://avatars.githubusercontent.com/u/283733?v=4" width="100px;" loading=lazy /><br /><sub><b>Davide Taviani</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Heliosmaster" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/spanishharlem"><img src="https://avatars.githubusercontent.com/u/9704046?v=4" width="100px;" loading=lazy /><br /><sub><b>spanishharlem</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=spanishharlem" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gonzoknows.com/"><img src="https://avatars.githubusercontent.com/u/122128828?v=4" width="100px;" loading=lazy /><br /><sub><b>Jacob Gonzales</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jacobgonzales20" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://kaede.ch/"><img src="https://avatars.githubusercontent.com/u/74188936?v=4" width="100px;" loading=lazy /><br /><sub><b>Kaede</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kaedech" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/abbluiz"><img src="https://avatars.githubusercontent.com/u/19765082?v=4" width="100px;" loading=lazy /><br /><sub><b>LABB</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=abbluiz" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Raviu8"><img src="https://avatars.githubusercontent.com/u/36168047?v=4" width="100px;" loading=lazy /><br /><sub><b>Raviu8</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Raviu8" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.peterdavehello.org/"><img src="https://avatars.githubusercontent.com/u/3691490?v=4" width="100px;" loading=lazy /><br /><sub><b>Peter Dave Hello</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=PeterDaveHello" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/RoseTheFlower"><img src="https://avatars.githubusercontent.com/u/4759227?v=4" width="100px;" loading=lazy /><br /><sub><b>Rose</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=RoseTheFlower" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://xie.oskarsh.ru/"><img src="https://avatars.githubusercontent.com/u/28492051?v=4" width="100px;" loading=lazy /><br /><sub><b>Oskar Sharipov</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=igoose1" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://samuellucas.com/"><img src="https://avatars.githubusercontent.com/u/63159663?v=4" width="100px;" loading=lazy /><br /><sub><b>Samuel Lucas</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=samuel-lucas6" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NylaTheWolf"><img src="https://avatars.githubusercontent.com/u/41797151?v=4" width="100px;" loading=lazy /><br /><sub><b>NylaTheWolf</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NylaTheWolf" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://matthewdavis.me/"><img src="https://avatars.githubusercontent.com/u/298426?v=4" width="100px;" loading=lazy /><br /><sub><b>Matthew Davis</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=matthewdavis" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://mpc.sh/"><img src="https://avatars.githubusercontent.com/u/2894019?v=4" width="100px;" loading=lazy /><br /><sub><b>Mark Cohen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mpcsh" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/madscientist16"><img src="https://avatars.githubusercontent.com/u/67949699?v=4" width="100px;" loading=lazy /><br /><sub><b>Mad Scientist</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=madscientist16" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mmvanheusden"><img src="https://avatars.githubusercontent.com/u/50550545?v=4" width="100px;" loading=lazy /><br /><sub><b>Maarten</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mmvanheusden" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://awesomesheep48.ca/"><img src="https://avatars.githubusercontent.com/u/58151048?v=4" width="100px;" loading=lazy /><br /><sub><b>William Davis</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=unbeatable-101" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/WayTooWill"><img src="https://avatars.githubusercontent.com/u/119883899?v=4" width="100px;" loading=lazy /><br /><sub><b>William Thomas Wilkins</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=WayTooWill" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/oXyiGYJ"><img src="https://avatars.githubusercontent.com/u/617189?v=4" width="100px;" loading=lazy /><br /><sub><b>wylel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=oXyiGYJ" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://willbrowning.me/"><img src="https://avatars.githubusercontent.com/u/20662079?v=4" width="100px;" loading=lazy /><br /><sub><b>Will Browning</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=willbrowningme" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://ycao.top/"><img src="https://avatars.githubusercontent.com/u/32544798?v=4" width="100px;" loading=lazy /><br /><sub><b>Yi Cao</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xiaoyu2006" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/yusufdaglioglu"><img src="https://avatars.githubusercontent.com/u/90555550?v=4" width="100px;" loading=lazy /><br /><sub><b>Yusuf Daglioglu</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=yusufdaglioglu" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Zackaryia"><img src="https://avatars.githubusercontent.com/u/30780411?v=4" width="100px;" loading=lazy /><br /><sub><b>Zack</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Zackaryia" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://zhw.pages.dev/"><img src="https://avatars.githubusercontent.com/u/14029004?v=4" width="100px;" loading=lazy /><br /><sub><b>ZH王</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=wi24rd" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://cryptography.dog/"><img src="https://avatars.githubusercontent.com/u/1264398?v=4" width="100px;" loading=lazy /><br /><sub><b>ansuz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ansuz" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://codeberg.org/archeite"><img src="https://avatars.githubusercontent.com/u/121004047?v=4" width="100px;" loading=lazy /><br /><sub><b>archeite</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=archeite" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/asdfghjz"><img src="https://avatars.githubusercontent.com/u/42332644?v=4" width="100px;" loading=lazy /><br /><sub><b>asdfghjz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=asdfghjz" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ayaen"><img src="https://avatars.githubusercontent.com/u/96900168?v=4" width="100px;" loading=lazy /><br /><sub><b>ayaen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ayaen" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/b-harper"><img src="https://avatars.githubusercontent.com/u/3729684?v=4" width="100px;" loading=lazy /><br /><sub><b>b-harper</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=b-harper" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://verybadfrags.com/"><img src="https://avatars.githubusercontent.com/u/1664052?v=4" width="100px;" loading=lazy /><br /><sub><b>Loic Vourch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=VeryBadFrags" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/crasm"><img src="https://avatars.githubusercontent.com/u/16730716?v=4" width="100px;" loading=lazy /><br /><sub><b>crasm</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=crasm" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/eagerto-learn"><img src="https://avatars.githubusercontent.com/u/51919789?v=4" width="100px;" loading=lazy /><br /><sub><b>eagerto-learn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=eagerto-learn" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/egecelikci"><img src="https://avatars.githubusercontent.com/u/30394812?v=4" width="100px;" loading=lazy /><br /><sub><b>egecelikci</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=egecelikci" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/elleybean"><img src="https://avatars.githubusercontent.com/u/37009392?v=4" width="100px;" loading=lazy /><br /><sub><b>elleybean</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=elleybean" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ferothefox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4" width="100px;" loading=lazy /><br /><sub><b>Evan Song</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ferothefox" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pynixis"><img src="https://avatars.githubusercontent.com/u/5612336?v=4" width="100px;" loading=lazy /><br /><sub><b>pynixis</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pynixis" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://seirdy.one/"><img src="https://avatars.githubusercontent.com/u/44756978?v=4" width="100px;" loading=lazy /><br /><sub><b>Seirdy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Seirdy" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NPN"><img src="https://avatars.githubusercontent.com/u/1497826?v=4" width="100px;" loading=lazy /><br /><sub><b>Ryan Huang</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NPN" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/chickahoona"><img src="https://avatars.githubusercontent.com/u/8075146?v=4" width="100px;" loading=lazy /><br /><sub><b>Sascha P.</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=chickahoona" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Securified"><img src="https://avatars.githubusercontent.com/u/79296234?v=4" width="100px;" loading=lazy /><br /><sub><b>Securified</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Securified" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://sy.mk/"><img src="https://avatars.githubusercontent.com/u/18217335?v=4" width="100px;" loading=lazy /><br /><sub><b>Sergey Musiyenko</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=musiyenko" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Spydar007"><img src="https://avatars.githubusercontent.com/u/7336943?v=4" width="100px;" loading=lazy /><br /><sub><b>Spydar007</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Spydar007" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/shbach"><img src="https://avatars.githubusercontent.com/u/5298745?v=4" width="100px;" loading=lazy /><br /><sub><b>Steven Bach</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=shbach" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sjlehn"><img src="https://avatars.githubusercontent.com/u/6686486?v=4" width="100px;" loading=lazy /><br /><sub><b>Steven Lehn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sjlehn" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://steven.vandegraaf.xyz/"><img src="https://avatars.githubusercontent.com/u/8904453?v=4" width="100px;" loading=lazy /><br /><sub><b>Steven van de Graaf</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sgraaf" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://skortekaas.nl/"><img src="https://avatars.githubusercontent.com/u/6728108?v=4" width="100px;" loading=lazy /><br /><sub><b>Sven Kortekaas</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=SvenKortekaas" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://tejasgupta.com/"><img src="https://avatars.githubusercontent.com/u/18518375?v=4" width="100px;" loading=lazy /><br /><sub><b>Tejas Gupta</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TGNYC" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tebowy"><img src="https://avatars.githubusercontent.com/u/3144357?v=4" width="100px;" loading=lazy /><br /><sub><b>Tebowy Seba</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tebowy" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://tedgravlin.tech/"><img src="https://avatars.githubusercontent.com/u/123981212?v=4" width="100px;" loading=lazy /><br /><sub><b>Ted Gravlin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tedgravlin" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://thefrenchghosty.me/"><img src="https://avatars.githubusercontent.com/u/47571719?v=4" width="100px;" loading=lazy /><br /><sub><b>TheFrenchGhosty</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TheFrenchGhosty" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/TheNoobWar"><img src="https://avatars.githubusercontent.com/u/1857590?v=4" width="100px;" loading=lazy /><br /><sub><b>TheNoobWar</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TheNoobWar" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://git.synz.io/users/Synzvato/projects#most-recent-activity"><img src="https://avatars.githubusercontent.com/u/2366020?v=4" width="100px;" loading=lazy /><br /><sub><b>Thomas Rientjes</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Synzvato" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/vergenzt"><img src="https://avatars.githubusercontent.com/u/1725615?v=4" width="100px;" loading=lazy /><br /><sub><b>Tim Vergenz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=vergenzt" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tommyent"><img src="https://avatars.githubusercontent.com/u/509970?v=4" width="100px;" loading=lazy /><br /><sub><b>Tom Sullivan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tommyent" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tonyztan"><img src="https://avatars.githubusercontent.com/u/2025495?v=4" width="100px;" loading=lazy /><br /><sub><b>Tony Tan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tonyztan" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/TroubleDog54"><img src="https://avatars.githubusercontent.com/u/115918107?v=4" width="100px;" loading=lazy /><br /><sub><b>TroubleDog54</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TroubleDog54" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/User486375"><img src="https://avatars.githubusercontent.com/u/30012923?v=4" width="100px;" loading=lazy /><br /><sub><b>User486375</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=User486375" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/nchristensen"><img src="https://avatars.githubusercontent.com/u/11543181?v=4" width="100px;" loading=lazy /><br /><sub><b>Nicholas Christensen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nchristensen" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/oppressor1761"><img src="https://avatars.githubusercontent.com/u/163018825?v=4" width="100px;" loading=lazy /><br /><sub><b>oppressor1761</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=oppressor1761" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pbbob"><img src="https://avatars.githubusercontent.com/u/34972102?v=4" width="100px;" loading=lazy /><br /><sub><b>pbbob</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pbbob" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pdjpdjpdj"><img src="https://avatars.githubusercontent.com/u/47047080?v=4" width="100px;" loading=lazy /><br /><sub><b>pdjpdjpdj</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pdjpdjpdj" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ph00lt0"><img src="https://avatars.githubusercontent.com/u/15004290?v=4" width="100px;" loading=lazy /><br /><sub><b>Stella Polaris</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ph00lt0" title="Documentation">📖</a> <a href="#research-ph00lt0" title="Research">🔬</a> <a href="#promotion-ph00lt0" title="Promotion">📣</a> <a href="#question-ph00lt0" title="Answering Questions">💬</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Aph00lt0" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/regaldude"><img src="https://avatars.githubusercontent.com/u/63294824?v=4" width="100px;" loading=lazy /><br /><sub><b>regaldude</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=regaldude" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/rusty-snake"><img src="https://avatars.githubusercontent.com/u/41237666?v=4" width="100px;" loading=lazy /><br /><sub><b>rusty-snake</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=rusty-snake" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sachk"><img src="https://avatars.githubusercontent.com/u/10218019?v=4" width="100px;" loading=lazy /><br /><sub><b>sacha</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sachk" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/schwukas"><img src="https://avatars.githubusercontent.com/u/33559975?v=4" width="100px;" loading=lazy /><br /><sub><b>schwukas</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=schwukas" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sh-dv"><img src="https://avatars.githubusercontent.com/u/44544201?v=4" width="100px;" loading=lazy /><br /><sub><b>sh-dv</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sh-dv" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/szTheory"><img src="https://avatars.githubusercontent.com/u/28652?v=4" width="100px;" loading=lazy /><br /><sub><b>szTheory</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=szTheory" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tbds"><img src="https://avatars.githubusercontent.com/u/32208649?v=4" width="100px;" loading=lazy /><br /><sub><b>Thunderbolt Digital</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tbds" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/theRhinoLogician"><img src="https://avatars.githubusercontent.com/u/8325899?v=4" width="100px;" loading=lazy /><br /><sub><b>E. S. Leonesco</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=theRhinoLogician" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/titanism"><img src="https://avatars.githubusercontent.com/u/101466223?v=4" width="100px;" loading=lazy /><br /><sub><b>titanism</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=titanism" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tomac4t"><img src="https://avatars.githubusercontent.com/u/47532693?v=4" width="100px;" loading=lazy /><br /><sub><b>tomac4t</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tomac4t" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://virustotalop.github.io/"><img src="https://avatars.githubusercontent.com/u/11567285?v=4" width="100px;" loading=lazy /><br /><sub><b>virustotalop</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=virustotalop" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://unit2.ca/"><img src="https://avatars.githubusercontent.com/u/4949200?v=4" width="100px;" loading=lazy /><br /><sub><b>wintr</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=wintr-" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/xelarate86"><img src="https://avatars.githubusercontent.com/u/14865038?v=4" width="100px;" loading=lazy /><br /><sub><b>xelarate86</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xelarate86" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/yeoneer"><img src="https://avatars.githubusercontent.com/u/84702275?v=4" width="100px;" loading=lazy /><br /><sub><b>yeoneer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=yeoneer" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://foxt.dev/"><img src="https://avatars.githubusercontent.com/u/12257112?v=4" width="100px;" loading=lazy /><br /><sub><b>foxt</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=foxt" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/fredster33"><img src="https://avatars.githubusercontent.com/u/64927044?v=4" width="100px;" loading=lazy /><br /><sub><b>Freddie</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fredster33" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ghbjklhv"><img src="https://avatars.githubusercontent.com/u/50426427?v=4" width="100px;" loading=lazy /><br /><sub><b>ghbjklhv</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ghbjklhv" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/gorhill"><img src="https://avatars.githubusercontent.com/u/585534?v=4" width="100px;" loading=lazy /><br /><sub><b>Raymond Hill</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gorhill" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://groovecoder.com/"><img src="https://avatars.githubusercontent.com/u/71928?v=4" width="100px;" loading=lazy /><br /><sub><b>luke crouch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=groovecoder" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/fd1f"><img src="https://avatars.githubusercontent.com/u/30058021?v=4" width="100px;" loading=lazy /><br /><sub><b>fd1f744993de14178e6c</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fd1f" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/habitualname"><img src="https://avatars.githubusercontent.com/u/101975345?v=4" width="100px;" loading=lazy /><br /><sub><b>habitualname</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=habitualname" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/hook321"><img src="https://avatars.githubusercontent.com/u/7744057?v=4" width="100px;" loading=lazy /><br /><sub><b>hook</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=hook321" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jfa.sh/"><img src="https://avatars.githubusercontent.com/u/6962524?v=4" width="100px;" loading=lazy /><br /><sub><b>nein</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jfabraxas" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jkhgvfgvsth"><img src="https://avatars.githubusercontent.com/u/52437244?v=4" width="100px;" loading=lazy /><br /><sub><b>jkhgvfgvsth</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jkhgvfgvsth" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/joaonsg"><img src="https://avatars.githubusercontent.com/u/8725806?v=4" width="100px;" loading=lazy /><br /><sub><b>joaonsg</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=joaonsg" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.ivpn.net/"><img src="https://avatars.githubusercontent.com/u/60918126?v=4" width="100px;" loading=lazy /><br /><sub><b>johnnyburnaway</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=johnnyburnaway" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jus9"><img src="https://avatars.githubusercontent.com/u/72120996?v=4" width="100px;" loading=lazy /><br /><sub><b>jus9</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jus9" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kc1212"><img src="https://avatars.githubusercontent.com/u/1093806?v=4" width="100px;" loading=lazy /><br /><sub><b>kc1212</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kc1212" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kryptish"><img src="https://avatars.githubusercontent.com/u/39660724?v=4" width="100px;" loading=lazy /><br /><sub><b>kryptish</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kryptish" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/m3t/id"><img src="https://avatars.githubusercontent.com/u/12968867?v=4" width="100px;" loading=lazy /><br /><sub><b>m3t</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=m3t" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/macau23"><img src="https://avatars.githubusercontent.com/u/31501455?v=4" width="100px;" loading=lazy /><br /><sub><b>macau23</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=macau23" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mat1th"><img src="https://avatars.githubusercontent.com/u/6486389?v=4" width="100px;" loading=lazy /><br /><sub><b>mat1th</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mat1th" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mwmcode"><img src="https://avatars.githubusercontent.com/u/13101565?v=4" width="100px;" loading=lazy /><br /><sub><b>MWM</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mwmcode" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/michaelplews"><img src="https://avatars.githubusercontent.com/u/14098929?v=4" width="100px;" loading=lazy /><br /><sub><b>Michael Plews</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=michaelplews" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/moritztk"><img src="https://avatars.githubusercontent.com/u/36471066?v=4" width="100px;" loading=lazy /><br /><sub><b>moritztk</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=moritztk" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://aaronhorler.com/"><img src="https://avatars.githubusercontent.com/u/13065365?v=4" width="100px;" loading=lazy /><br /><sub><b>Aaron Horler</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=aghorler" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Commenter25"><img src="https://avatars.githubusercontent.com/u/35016761?v=4" width="100px;" loading=lazy /><br /><sub><b>Commenter</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Commenter25" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://blog.laubacher.io/"><img src="https://avatars.githubusercontent.com/u/12443257?v=4" width="100px;" loading=lazy /><br /><sub><b>Cédric Laubacher</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Starbix" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gitlab.com/dpeukert"><img src="https://avatars.githubusercontent.com/u/3451904?v=4" width="100px;" loading=lazy /><br /><sub><b>Daniel Peukert</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dpeukert" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/dabreese00"><img src="https://avatars.githubusercontent.com/u/5170955?v=4" width="100px;" loading=lazy /><br /><sub><b>David Breese</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dabreese00" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.dimitrisapostolou.com/"><img src="https://avatars.githubusercontent.com/u/227442?v=4" width="100px;" loading=lazy /><br /><sub><b>Dimitris Apostolou</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=rex4539" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Dyrimon"><img src="https://avatars.githubusercontent.com/u/77260451?v=4" width="100px;" loading=lazy /><br /><sub><b>Dyrimon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Dyrimon" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/IkelAtomig"><img src="https://avatars.githubusercontent.com/u/101938856?v=4" width="100px;" loading=lazy /><br /><sub><b>Ikel Atomig</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=IkelAtomig" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.eliasojala.me/contact/"><img src="https://avatars.githubusercontent.com/u/5832930?v=4" width="100px;" loading=lazy /><br /><sub><b>Elias Ojala</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=theel0ja" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/feni-brian"><img src="https://avatars.githubusercontent.com/u/56452538?v=4" width="100px;" loading=lazy /><br /><sub><b>Feni Brian</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=feni-brian" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.filips.si/"><img src="https://avatars.githubusercontent.com/u/16626308?v=4" width="100px;" loading=lazy /><br /><sub><b>Filip Š</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=filips123" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/FlxAlbroscheit"><img src="https://avatars.githubusercontent.com/u/2439195?v=4" width="100px;" loading=lazy /><br /><sub><b>Felix Albroscheit</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=FlxAlbroscheit" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/GReagle"><img src="https://avatars.githubusercontent.com/u/11979774?v=4" width="100px;" loading=lazy /><br /><sub><b>GReagle</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=GReagle" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/xPMo"><img src="https://avatars.githubusercontent.com/u/16061366?v=4" width="100px;" loading=lazy /><br /><sub><b>Gamma</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xPMo" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/GetBoz"><img src="https://avatars.githubusercontent.com/u/8277114?v=4" width="100px;" loading=lazy /><br /><sub><b>GetBoz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=GetBoz" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/GrimPixel"><img src="https://avatars.githubusercontent.com/u/39795763?v=4" width="100px;" loading=lazy /><br /><sub><b>GrimPixel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=GrimPixel" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Alonely0"><img src="https://avatars.githubusercontent.com/u/59423215?v=4" width="100px;" loading=lazy /><br /><sub><b>Guillem L. Jara</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Alonely0" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/HxxxxxS"><img src="https://avatars.githubusercontent.com/u/4034517?v=4" width="100px;" loading=lazy /><br /><sub><b>HxxxxxS</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=HxxxxxS" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/himanshuchandola-zz"><img src="https://avatars.githubusercontent.com/u/34373537?v=4" width="100px;" loading=lazy /><br /><sub><b>Himanshu Chandola</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=himanshuchandola-zz" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/concatime"><img src="https://avatars.githubusercontent.com/u/26262387?v=4" width="100px;" loading=lazy /><br /><sub><b>Issam Maghni</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=concatime" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ItsDonny"><img src="https://avatars.githubusercontent.com/u/96709134?v=4" width="100px;" loading=lazy /><br /><sub><b>ItsDonny</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ItsDonny" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/thecodrr"><img src="https://avatars.githubusercontent.com/u/7473959?v=4" width="100px;" loading=lazy /><br /><sub><b>Abdullah Atta</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=thecodrr" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/adam-sroka"><img src="https://avatars.githubusercontent.com/u/45038919?v=4" width="100px;" loading=lazy /><br /><sub><b>Adam Sroka</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=adam-sroka" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/criadoperez"><img src="https://avatars.githubusercontent.com/u/8580472?v=4" width="100px;" loading=lazy /><br /><sub><b>criadoperez</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=criadoperez" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://stingle.org/"><img src="https://avatars.githubusercontent.com/u/149764?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Amiryan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=alexamiryan" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/alexshoup"><img src="https://avatars.githubusercontent.com/u/24282323?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Shoup</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=alexshoup" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://alex.lol/"><img src="https://avatars.githubusercontent.com/u/1346090?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Thomassen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Decicus" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://secluded.site/"><img src="https://avatars.githubusercontent.com/u/29460675?v=4" width="100px;" loading=lazy /><br /><sub><b>Amolith</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Amolith" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://scarpino.dev/"><img src="https://avatars.githubusercontent.com/u/529436?v=4" width="100px;" loading=lazy /><br /><sub><b>Andrea Scarpino</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ilpianista" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://noplanman.ch/"><img src="https://avatars.githubusercontent.com/u/9423417?v=4" width="100px;" loading=lazy /><br /><sub><b>Armando Lüscher</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=noplanman" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/AshTex"><img src="https://avatars.githubusercontent.com/u/11602677?v=4" width="100px;" loading=lazy /><br /><sub><b>Ash T</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=AshTex" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/4-FLOSS-Free-Libre-Open-Source-Software"><img src="https://avatars.githubusercontent.com/u/46166740?v=4" width="100px;" loading=lazy /><br /><sub><b>Bernd Eichelberger</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=4-FLOSS-Free-Libre-Open-Source-Software" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/BionicBison05"><img src="https://avatars.githubusercontent.com/u/93722725?v=4" width="100px;" loading=lazy /><br /><sub><b>BionicBison05</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=BionicBison05" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://brentgervais.com/"><img src="https://avatars.githubusercontent.com/u/7018928?v=4" width="100px;" loading=lazy /><br /><sub><b>Brent Gervais</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gerbrent" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://brian-cooper.com/"><img src="https://avatars.githubusercontent.com/u/20056195?v=4" width="100px;" loading=lazy /><br /><sub><b>Brian Cooper</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=coopbri" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Caboose700"><img src="https://avatars.githubusercontent.com/u/10017396?v=4" width="100px;" loading=lazy /><br /><sub><b>Caboose700</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Caboose700" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.cadelwatson.com/"><img src="https://avatars.githubusercontent.com/u/1031518?v=4" width="100px;" loading=lazy /><br /><sub><b>Cadel Watson</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kdelwat" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/trosel"><img src="https://avatars.githubusercontent.com/u/1299322?v=4" width="100px;" loading=lazy /><br /><sub><b>trosel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=trosel" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.bromite.org/"><img src="https://avatars.githubusercontent.com/u/32685696?v=4" width="100px;" loading=lazy /><br /><sub><b>Carl</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=csagan5" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Deimos"><img src="https://avatars.githubusercontent.com/u/9033?v=4" width="100px;" loading=lazy /><br /><sub><b>Chad Birch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Deimos" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://barry.im/"><img src="https://avatars.githubusercontent.com/u/1405770?v=4" width="100px;" loading=lazy /><br /><sub><b>Chris Barry</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=chris-barry" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/claudiojulioferraz"><img src="https://avatars.githubusercontent.com/u/7096023?v=4" width="100px;" loading=lazy /><br /><sub><b>Júlio Ferraz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=claudiojulioferraz" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/JackH3103"><img src="https://avatars.githubusercontent.com/u/23507259?v=4" width="100px;" loading=lazy /><br /><sub><b>Jack Hill</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=JackH3103" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mathiazom"><img src="https://avatars.githubusercontent.com/u/24361490?v=4" width="100px;" loading=lazy /><br /><sub><b>Mathias Oterhals Myklebust</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mathiazom" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.mxe.no/"><img src="https://avatars.githubusercontent.com/u/10927304?v=4" width="100px;" loading=lazy /><br /><sub><b>Mats Estensen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=matsest" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://write.as/matt/"><img src="https://avatars.githubusercontent.com/u/1138779?v=4" width="100px;" loading=lazy /><br /><sub><b>Matt Baer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=thebaer" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mehdichaouch"><img src="https://avatars.githubusercontent.com/u/861701?v=4" width="100px;" loading=lazy /><br /><sub><b>Mehdi Chaouch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mehdichaouch" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mjperrone"><img src="https://avatars.githubusercontent.com/u/3848371?v=4" width="100px;" loading=lazy /><br /><sub><b>Mike Perrone</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mjperrone" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/MitchWilkins"><img src="https://avatars.githubusercontent.com/u/17414866?v=4" width="100px;" loading=lazy /><br /><sub><b>Mitch Wilkins</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=MitchWilkins" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/moughxyz"><img src="https://avatars.githubusercontent.com/u/3277844?v=4" width="100px;" loading=lazy /><br /><sub><b>Mo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=moughxyz" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://linderud.dev/"><img src="https://avatars.githubusercontent.com/u/1042946?v=4" width="100px;" loading=lazy /><br /><sub><b>Morten Linderud</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Foxboron" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/natzim"><img src="https://avatars.githubusercontent.com/u/103460227?v=4" width="100px;" loading=lazy /><br /><sub><b>natzim</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=natzim" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Nautman"><img src="https://avatars.githubusercontent.com/u/28629647?v=4" width="100px;" loading=lazy /><br /><sub><b>Douglas</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Nautman" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nearwood.dev/"><img src="https://avatars.githubusercontent.com/u/1929778?v=4" width="100px;" loading=lazy /><br /><sub><b>Nick</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nearwood" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NielDB"><img src="https://avatars.githubusercontent.com/u/25815880?v=4" width="100px;" loading=lazy /><br /><sub><b>NielDB</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NielDB" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nihal-raj.github.io/"><img src="https://avatars.githubusercontent.com/u/83210067?v=4" width="100px;" loading=lazy /><br /><sub><b>Nihal Raj</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Nihal-Raj" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gitlab.com/NoahGray"><img src="https://avatars.githubusercontent.com/u/3739277?v=4" width="100px;" loading=lazy /><br /><sub><b>Noah</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=OKNoah" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/n0toose"><img src="https://avatars.githubusercontent.com/u/30193966?v=4" width="100px;" loading=lazy /><br /><sub><b>Panagiotis "Ivory" Vasilopoulos</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=n0toose" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://pacr.dev/"><img src="https://avatars.githubusercontent.com/u/32212089?v=4" width="100px;" loading=lazy /><br /><sub><b>Patrick R</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xDazld" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://fart.attorney/"><img src="https://avatars.githubusercontent.com/u/12037849?v=4" width="100px;" loading=lazy /><br /><sub><b>Fart Attorney</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fartattorney" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pilou-"><img src="https://avatars.githubusercontent.com/u/1356830?v=4" width="100px;" loading=lazy /><br /><sub><b>Pilou</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pilou-" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/PoorPocketsMcNewHold"><img src="https://avatars.githubusercontent.com/u/13170204?v=4" width="100px;" loading=lazy /><br /><sub><b>PoorPockets McNewHold</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=PoorPocketsMcNewHold" title="Documentation">📖</a> <a href="#translation-PoorPocketsMcNewHold" title="Translation">🌍</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/PrinceKael"><img src="https://avatars.githubusercontent.com/u/44752304?v=4" width="100px;" loading=lazy /><br /><sub><b>PrinceKael</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=PrinceKael" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://mail.protonmail.com/"><img src="https://avatars.githubusercontent.com/u/1345786?v=4" width="100px;" loading=lazy /><br /><sub><b>Richard</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=EpokK" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/walletdude"><img src="https://avatars.githubusercontent.com/u/19595856?v=4" width="100px;" loading=lazy /><br /><sub><b>Jaden Site</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=walletdude" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.jakezeal.com/"><img src="https://avatars.githubusercontent.com/u/13857938?v=4" width="100px;" loading=lazy /><br /><sub><b>Jake Zeal</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jakezeal" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/thatrobotdev"><img src="https://avatars.githubusercontent.com/u/18013689?v=4" width="100px;" loading=lazy /><br /><sub><b>James Kerrane</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=thatrobotdev" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sell"><img src="https://avatars.githubusercontent.com/u/34258275?v=4" width="100px;" loading=lazy /><br /><sub><b>Sell</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sell" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://fmbase.tw/blog/"><img src="https://avatars.githubusercontent.com/u/2720857?v=4" width="100px;" loading=lazy /><br /><sub><b>YMHuang</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ymhuang0808" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jonathanvansina"><img src="https://avatars.githubusercontent.com/u/25825247?v=4" width="100px;" loading=lazy /><br /><sub><b>Jonathan Vansina</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jonathanvansina" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jorgeluiscarrillo"><img src="https://avatars.githubusercontent.com/u/33134232?v=4" width="100px;" loading=lazy /><br /><sub><b>jorgeluiscarrillo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jorgeluiscarrillo" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://julianfairfax.gitlab.io/"><img src="https://avatars.githubusercontent.com/u/43753131?v=4" width="100px;" loading=lazy /><br /><sub><b>Julian</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=julianfairfax" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Kefaku"><img src="https://avatars.githubusercontent.com/u/114934849?v=4" width="100px;" loading=lazy /><br /><sub><b>Kefaku</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Kefaku" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kmgb"><img src="https://avatars.githubusercontent.com/u/25809479?v=4" width="100px;" loading=lazy /><br /><sub><b>Kevin Brennan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kmgb" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.kylespearrin.com/"><img src="https://avatars.githubusercontent.com/u/1190944?v=4" width="100px;" loading=lazy /><br /><sub><b>Kyle Spearrin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kspearrin" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://leonallen22.github.io/"><img src="https://avatars.githubusercontent.com/u/5651701?v=4" width="100px;" loading=lazy /><br /><sub><b>Leon Allen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=leonallen22" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/LisaWilbourn"><img src="https://avatars.githubusercontent.com/u/67932294?v=4" width="100px;" loading=lazy /><br /><sub><b>LisaWilbourn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=LisaWilbourn" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/LordShedy"><img src="https://avatars.githubusercontent.com/u/1622827?v=4" width="100px;" loading=lazy /><br /><sub><b>Lord Shedy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=LordShedy" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/louiswolfers"><img src="https://avatars.githubusercontent.com/u/7440721?v=4" width="100px;" loading=lazy /><br /><sub><b>Louis Wolfers</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=louiswolfers" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/lunush"><img src="https://avatars.githubusercontent.com/u/76045303?v=4" width="100px;" loading=lazy /><br /><sub><b>Lunush</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lunush" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mmrabbani"><img src="https://avatars.githubusercontent.com/u/56675802?v=4" width="100px;" loading=lazy /><br /><sub><b>MMR</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mmrabbani" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/StoppingBuck"><img src="https://avatars.githubusercontent.com/u/8426548?v=4" width="100px;" loading=lazy /><br /><sub><b>Mads Peter Rommedahl</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=StoppingBuck" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mq1"><img src="https://avatars.githubusercontent.com/u/29694921?v=4" width="100px;" loading=lazy /><br /><sub><b>Manuel Quarneti</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mq1" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://twitter.com/ocramleznem"><img src="https://avatars.githubusercontent.com/u/1401770?v=4" width="100px;" loading=lazy /><br /><sub><b>Marco Menzel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ocramleznem" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/FishCoding"><img src="https://avatars.githubusercontent.com/u/16527725?v=4" width="100px;" loading=lazy /><br /><sub><b>Mario</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=FishCoding" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://skye.sh/"><img src="https://avatars.githubusercontent.com/u/48442092?v=4" width="100px;" loading=lazy /><br /><sub><b>skye</b></sub></a><br /><a href="#question-dioxias" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/r2fo"><img src="https://avatars.githubusercontent.com/u/50496756?v=4" width="100px;" loading=lazy /><br /><sub><b>r2fo</b></sub></a><br /><a href="#translation-r2fo" title="Translation">🌍</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://lamtrinh.dev/"><img src="https://avatars.githubusercontent.com/u/49742151?v=4" width="100px;" loading=lazy /><br /><sub><b>LamTrinh.Dev</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lamtrinhdev" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Alamtrinhdev" title="Bug reports">🐛</a> <a href="#question-lamtrinhdev" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://discuss.privacyguides.net/u/frostlike"><img src="https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/frostlike/288/3600_2.png" width="100px;" loading=lazy /><br /><sub><b>frostlike</b></sub></a><br /><a href="#question" title="Answering Questions">💬</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://scholz.ruhr/"><img src="https://avatars.githubusercontent.com/u/21988035?v=4" width="100px;" loading=lazy /><br /><sub><b>Merlin Scholz</b></sub></a><br /><a href="#translation-merlinscholz" title="Translation">🌍</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jordanwarne.net/"><img src="https://avatars.githubusercontent.com/u/154663344?v=4" width="100px;" loading=lazy /><br /><sub><b>jordan warne</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jordan-warne" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Dzenan"><img src="https://avatars.githubusercontent.com/u/69632324?v=4" width="100px;" loading=lazy /><br /><sub><b>Dženan</b></sub></a><br /><a href="#translation-dzenan" title="Translation">🌍</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jxtsai.info"><img src="https://avatars.githubusercontent.com/u/8361268?v=4" width="100px;" loading=lazy /><br /><sub><b>jx tsai</b></sub></a><br /><a href="#translation-jxtsai" title="Translation">🌍</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/backstab5983"><img src="https://avatars.githubusercontent.com/u/21013752?v=4" width="100px;" loading=lazy /><br /><sub><b>backstab5983</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=backstab5983" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/antgig"><img src="https://avatars.githubusercontent.com/u/144840521?v=4" width="100px;" loading=lazy /><br /><sub><b>antgig</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=antgig" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://yzahk.in/"><img src="https://avatars.githubusercontent.com/u/604311?v=4" width="100px;" loading=lazy /><br /><sub><b>Ákos Nikházy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=akosnikhazy" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://fmarier.org/"><img src="https://avatars.githubusercontent.com/u/167821?v=4" width="100px;" loading=lazy /><br /><sub><b>Francois Marier</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fmarier" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://filmsbytom.com/"><img src="https://avatars.githubusercontent.com/u/132141431?v=4" width="100px;" loading=lazy /><br /><sub><b>5-tom</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=5-tom" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Ralphie0511"><img src="https://avatars.githubusercontent.com/u/99518791?v=4" width="100px;" loading=lazy /><br /><sub><b>Ralphie0511</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Ralphie0511" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://kovalovs.lv/"><img src="https://avatars.githubusercontent.com/u/5563309?v=4" width="100px;" loading=lazy /><br /><sub><b>aleksejs1</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=aleksejs1" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/snwfdhmp"><img src="https://avatars.githubusercontent.com/u/23099246?v=4" width="100px;" loading=lazy /><br /><sub><b>Martin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=snwfdhmp" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/overwatcheddude"><img src="https://avatars.githubusercontent.com/u/37483931?v=4" width="100px;" loading=lazy /><br /><sub><b>Overwatch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=overwatcheddude" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/m00t316"><img src="https://avatars.githubusercontent.com/u/54213179?v=4" width="100px;" loading=lazy /><br /><sub><b>Kieran Colfer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=m00t316" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/I-I-IT"><img src="https://avatars.githubusercontent.com/u/78900789?v=4" width="100px;" loading=lazy /><br /><sub><b>Triple T</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=I-I-IT" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/IDON-TEXIST"><img src="https://avatars.githubusercontent.com/u/73442356?v=4" width="100px;" loading=lazy /><br /><sub><b>IDON-TEXIST</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=IDON-TEXIST" title="Documentation">📖</a></td>
</tr>
</tbody>
<tfoot>
<tr>
<td align="center" size="13px" colspan="5">
<img src="https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg">
<a href="https://all-contributors.js.org/docs/en/bot/usage">Add your contributions</a>
</img>
</td>
</tr>
</tfoot>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of **any** kind welcome, including contributions to Privacy Guides outside of this repo, and contributions that aren't content related (like sharing ideas for Privacy Guides, promoting the project, answering questions on the forum, etc.).
CLI to generate this table:
```bash
npx --package all-contributors-cli -- npx all-contributors generate
```
CLI to add a contributor:
```bash
npx --package all-contributors-cli -- npx all-contributors add <username> <contribution>
```
See [this table](https://allcontributors.org/docs/en/emoji-key) for valid contribution reasons, comma-separated. Do **not** use the `content` code for contributors to the website, use `docs` instead (this way it will automatically link to their commits). Example:
```bash
npx --package all-contributors-cli -- npx all-contributors add jonaharagon docs,research,question
```
+278
View File
@@ -0,0 +1,278 @@
@font-face {
font-family: 'Bagnard';
src: url("../../brand/fonts/Bagnard/Bold.woff") format("woff");
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Thin.ttf") format("truetype");
font-weight: 100;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Thin%20Italic.ttf") format("truetype");
font-weight: 100;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/ExtraLight.ttf") format("truetype");
font-weight: 200;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/ExtraLight%20Italic.ttf") format("truetype");
font-weight: 200;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Light.ttf") format("truetype");
font-weight: 300;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Light%20Italic.ttf") format("truetype");
font-weight: 300;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Italic.ttf") format("truetype");
font-weight: 400;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Regular.ttf") format("truetype");
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Medium.ttf") format("truetype");
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Medium%20Italic.ttf") format("truetype");
font-weight: 500;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/SemiBold.ttf") format("truetype");
font-weight: 600;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/SemiBold%20Italic.ttf") format("truetype");
font-weight: 600;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Bold.ttf") format("truetype");
font-weight: 700;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Bold%20Italic.ttf") format("truetype");
font-weight: 700;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/ExtraBold.ttf") format("truetype");
font-weight: 800;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/ExtraBold%20Italic.ttf") format("truetype");
font-weight: 800;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Black.ttf") format("truetype");
font-weight: 900;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Public Sans';
src: url("../../brand/fonts/Public%20Sans/Black%20Italic.ttf") format("truetype");
font-weight: 900;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: 'DM Mono';
src: url("../../brand/fonts/DM%20Mono/Regular.woff2") format("woff2");
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'DM Mono';
src: url("../../brand/fonts/DM%20Mono/Medium.woff2") format("woff2");
font-weight: 500;
font-style: normal;
font-display: swap;
}
.content {
font-family: "Public Sans", Helvetica, ui-sans-serif, system-ui, sans-serif;
}
h1, .content h1, .content h2, .content h3 {
font-family: "Bagnard", "Georgia", ui-serif, serif;
font-weight: bold;
padding-top: 0.5em;
border: none;
}
.pg-home h3 {
font-weight: 900;
}
:root {
--primary-hue: 40.42deg;
--primary-saturation: 100%;
--primary-lightness: 71.76%;
--hx-font-sans: "Public Sans", Helvetica, ui-sans-serif, system-ui, sans-serif;
}
:root:has(body.recommended-privacy-tools), body.privacy-guides .hextra-feature-grid a[href*="tools"] {
--primary-hue: 200deg;
--primary-saturation: 37.75%;
--primary-lightness: 70.39%;
}
:root:has(body.privacy-wiki), body.privacy-guides .hextra-feature-grid a[href*="wiki"] {
--primary-hue: 167.57deg;
--primary-saturation: 97.13%;
--primary-lightness: 40.98%;
}
:root:has(body.privacy-activism), body.privacy-guides .hextra-feature-grid a[href*="activism"] {
--primary-hue: 5deg;
--primary-saturation: 96.43%;
--primary-lightness: 56.08%;
}
body.privacy-guides .hextra-feature-grid a[href*="youtube.com"] {
--primary-hue: 259.83deg;
--primary-saturation: 95.04%;
--primary-lightness: 76.27%;
}
body.privacy-guides .hextra-feature-grid a[href*="discuss.privacyguides.net"] {
--primary-hue: 33deg;
--primary-saturation: 100%;
--primary-lightness: 92.16%;
}
body.privacy-guides .hextra-feature-grid a[href*="news"] {
--primary-hue: 217.97deg;
--primary-saturation: 100%;
--primary-lightness: 69.02%;
}
body.privacy-guides .hextra-feature-grid a.pg\:colored-card:has(img) {
background: radial-gradient(ellipse at 50% 80%,hsl(var(--primary-hue)var(--primary-saturation)calc(var(--primary-lightness) + calc(calc(100% - var(--primary-lightness))/50)*16)),hsla(0,0%,100%,0));
}
.hextra-feature-grid img {
filter: opacity(85%)
}
.hextra-nav-container {
background: radial-gradient(ellipse at 50% 80%,var(--hx-color-primary-500),hsla(0,0%,100%,0));
border-bottom: 1px solid var(--hx-color-primary-500);
}
.hextra-max-navbar-width a[href*="/about/donate/"] {
color: white;
background-color: var(--hx-color-primary-800);
font-weight: 900;
text-transform: uppercase;
margin-left: 16px;
border-radius: var(--hx-radius-md);
}
p.pg\:image\:right img {
float: right;
width: 150px;
margin-left: 1em;
}
.content :where(a):not(:where([class~=not-prose],
[class~=not-prose] *)) {
color:var(--hx-color-primary-800);
text-decoration: none;
}
.content :where(a):not(:where([class~=not-prose],
[class~=not-prose] *)):hover {
text-decoration: underline;
}
a.footnote-ref {
font-weight: 900;
}
.pg-card-logos img {
width: 100px;
padding: 16px;
}
.pg-unstyled-cards .hextra-card {
border: none;
box-shadow: none;
}
.pg-unstyled-cards .hextra-card:hover {
background-color: inherit;
}
@@ -19,7 +19,7 @@ feedback.addEventListener("submit", function(ev) {
referrer: document.referrer, referrer: document.referrer,
screen: `${window.screen.width}x${window.screen.height}`, screen: `${window.screen.width}x${window.screen.height}`,
url: window.location.pathname, url: window.location.pathname,
website: '30b92047-7cbb-4800-9815-2e075a293e0a', website: '246e357e-0764-4674-9314-7676724b3a88',
name: umamiEventName, name: umamiEventName,
}, },
type: 'event', type: 'event',
@@ -32,7 +32,7 @@ feedback.addEventListener("submit", function(ev) {
console.log(umamiEvent) console.log(umamiEvent)
fetch("https://stats.jonaharagon.net/api/send", { fetch("https://stats.triplebit.net/api/send", {
method: "POST", method: "POST",
body: JSON.stringify(umamiEvent), body: JSON.stringify(umamiEvent),
headers: { headers: {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1011 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 607 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 955 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 555 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 785 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 557 KiB

-1
View File
@@ -1 +0,0 @@
# Daniel Gray
-7
View File
@@ -1,7 +0,0 @@
# Freddy
![Profile picture](https://github.com/freddy-m.png){ align=right }
[**Freddy**](https://freddy.lol) is a founding member of Privacy Guides and the editor of its blog. He writes in American English reluctantly.
[:simple-mastodon: @freddy@social.lol](https://social.lol/@freddy "@freddy@social.lol"){ .md-button rel=me }
+138
View File
@@ -0,0 +1,138 @@
---
title: Privacy Guides
layout: pg-home
---
<div class=" hextra-feature-grid hx:grid hx:sm:max-lg:grid-cols-2 hx:max-sm:grid-cols-1 hx:gap-4 hx:w-full not-prose" style="--hextra-feature-grid-cols: 2; ">
<div class="hx:w-full">
<div class="hx:mt-6 hx:mb-6">
{{< hextra/hero-headline >}}
Consumer Data Privacy&nbsp;<br class="hx:sm:block hx:hidden" />Advocacy &amp; Resources
{{< /hextra/hero-headline >}}
</div>
<div class="hx:mb-12">
{{< hextra/hero-subtitle >}}
<strong>Privacy Guides</strong> is the only impartial, non-profit project<br class="hx:sm:block hx:hidden" />
focused on building a <strong>strong privacy advocacy</strong> community <br class="hx:sm:block hx:hidden" />
and delivering the best <strong>digital privacy education</strong> on the internet.
{{< /hextra/hero-subtitle >}}
</div>
<div class="hx:mb-6">
{{< hextra/hero-button text="Why Privacy Matters" link="wiki/basics/why-privacy-matters" style="margin-top: 8px; margin-right: 8px; color: var(--hx-color-gray-800); background-color: var(--hx-color-primary-500);" >}}
{{< hextra/hero-button text="Recommended Tools" link="tools" style="margin-top: 8px; color: white; background-color: var(--hx-color-gray-600);" >}}
</div>
</div>
<div class="hx:mx-auto hx:sm:block hx:hidden">
<a class="hx:dark:hidden">
<img src="brand/logos/svg/square/pg-yellow-nobg.svg" width="350" height="350" alt="Privacy Guides shield logo">
</a>
<a class="hx:hidden hx:dark:block">
<img src="brand/logos/svg/square/pg-blue-dark-nobg.svg" width="350" height="350" alt="Privacy Guides shield logo">
</a>
</div>
</div>
<div class="hx:mt-12"></div>
{{< hextra/hero-section style="text-align: center; width: 100%; margin-bottom: 1em;" >}}
What <strong>Privacy Champions</strong> Like You Have Built:
{{< /hextra/hero-section >}}
{{< hextra/feature-grid >}}
{{< hextra/feature-card
title="Privacy Wiki"
subtitle="A comprehensive resource for understanding digital privacy concepts and best practices."
class="hx:aspect-auto hx:md:aspect-[1.1/1] hx:max-md:min-h-[340px] pg:colored-card"
image="pg-home-privacy-wiki.png"
imageClass="hx:top-[40%] hx:left-[24px] hx:w-[180%] hx:sm:w-[110%] hx:dark:opacity-80"
link="wiki"
>}}
{{< hextra/feature-card
title="Educational Videos"
subtitle="Watch our educational videos to learn more about digital privacy and how to protect yourself online."
class="hx:aspect-auto hx:md:aspect-[1.1/1] hx:max-md:min-h-[340px] pg:colored-card"
image="pg-home-youtube.png"
imageClass="hx:top-[40%] hx:left-[24px] hx:w-[180%] hx:sm:w-[110%] hx:dark:opacity-80"
link="https://youtube.com/@PrivacyGuides"
>}}
{{< hextra/feature-card
title="Activism Toolbox"
subtitle="Get involved in privacy activism and help us build a more private internet."
class="hx:aspect-auto hx:md:aspect-[1.1/1] hx:max-md:min-h-[340px] pg:colored-card"
image="pg-home-privacy-activism.png"
imageClass="hx:top-[40%] hx:left-[24px] hx:w-[180%] hx:sm:w-[110%] hx:dark:opacity-80"
link="activism"
>}}
{{< hextra/feature-card
title="Privacy Tools"
subtitle="The essential tools you need to safeguard your digital privacy, chosen by community consensus."
class="hx:aspect-auto hx:md:aspect-[1.1/1] hx:max-md:min-h-[340px] pg:colored-card"
image="pg-home-privacy-tools.png"
imageClass="hx:top-[40%] hx:left-[24px] hx:w-[180%] hx:sm:w-[110%] hx:dark:opacity-80"
link="tools"
>}}
{{< hextra/feature-card
title="Community Forum"
subtitle="Join the conversation, get answers, and connect with others who share your commitment to digital privacy."
class="hx:aspect-auto hx:md:aspect-[1.1/1] hx:max-md:min-h-[340px] pg:colored-card"
image="pg-home-privacy-forum.png"
imageClass="hx:top-[40%] hx:left-[24px] hx:w-[180%] hx:sm:w-[110%] hx:dark:opacity-80"
link="https://discuss.privacyguides.net"
>}}
{{< hextra/feature-card
title="News Briefs"
subtitle="Stay updated with the latest news and developments in the world of cybersecurity, privacy, and digital rights."
class="hx:aspect-auto hx:md:aspect-[1.1/1] hx:max-md:min-h-[340px] pg:colored-card"
image="pg-home-privacy-news.png"
imageClass="hx:top-[40%] hx:left-[24px] hx:w-[180%] hx:sm:w-[110%] hx:dark:opacity-80"
link="news"
>}}
{{< /hextra/feature-grid >}}
<div class="hx:mt-12"></div>
{{< hextra/hero-section style="text-align: center; width: 100%; margin-bottom: 1em;" >}}
More Resources:
{{< /hextra/hero-section >}}
{{< hextra/feature-grid >}}
{{< hextra/feature-card
title="Newsletter"
subtitle="Subscribe to our newsletter and never miss an update on the latest in the consumer digital privacy world."
link="#/portal"
icon="mail-open"
>}}
{{< hextra/feature-card
title="Articles"
subtitle="Read the latest articles from our team of privacy experts and guest contributors."
link="articles"
icon="book-open"
>}}
{{< hextra/feature-card
title="This Week in Privacy"
subtitle="Our livestream and podcast discussing the latest news and answering your questions, every single week."
link="https://thisweekinprivacy.net"
icon="chat-alt-2"
>}}
{{< hextra/feature-card
title="Courses and Tutorials"
subtitle="Follow our courses and tutorials to learn more about digital privacy and how to protect yourself online."
link="https://www.youtube.com/@PrivacyGuides/courses"
icon="academic-cap"
>}}
{{< hextra/feature-card
title="Trustworthy Reviews"
subtitle="We're committed to providing unbiased and comprehensive reviews of privacy tools and services."
icon="badge-check"
>}}
{{< hextra/feature-card
title="Learn More"
subtitle="Find out more about Privacy Guides and how you can support our mission."
link="about"
icon="heart"
>}}
{{< /hextra/feature-grid >}}
+176
View File
@@ -0,0 +1,176 @@
---
title: "About Privacy Guides"
description: Privacy Guides is a socially motivated website that provides information for protecting your data security and privacy.
breadcrumbs: false
cascade:
type: docs
---
![Privacy Guides logo](./pg-yellow.svg)
{ .pg:image:right }
**Privacy Guides** is a socially motivated website that provides information for protecting your data security and privacy. We are a non-profit project with a mission to inform the public about the value of digital privacy, and about global government initiatives which aim to monitor your online activity. Our website is free of advertisements and not affiliated with any of the listed providers.
[Become a Member](https://donate.magicgrants.org/privacyguides){ .md-button .md-button--primary data-portal="signup" }
[Homepage](https://www.privacyguides.org){ .card-link title=Homepage }
[Source Code](https://github.com/privacyguides/privacyguides.org){ .card-link title="Source Code" }
Privacy Guides is built by volunteers and staff members around the world. All changes to our recommendations and resources are reviewed by at least two [trusted](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all) individuals, and we work diligently to ensure our content is updated as quickly as possible to adapt to the ever-changing cybersecurity threat landscape.
In addition to our core team, many other people have made contributions to the project. You can too! We're open source on GitHub, and accepting translation suggestions on [Crowdin](https://crowdin.com/project/privacyguides).
[Job Openings](jobs/)
## Contact Us
[Join the Privacy Guides forum](https://discuss.privacyguides.net){ .md-button .md-button--primary }
The best way to get individual help is from our community on Discourse. If you notice an issue with our website, please open a discussion in the [Site Development](https://discuss.privacyguides.net/c/site-development/7) category on our forum. If you have a question about anything we cover, please ask it in the [Questions](https://discuss.privacyguides.net/c/privacy/questions/8) category on our forum.
![Signal contact QR code](./signal-contact-qr.png)
{ .pg:image:right }
Have a tip for us, or need to share some sensitive information? The best way to get in touch with us securely is via `@privacyguides.01` on Signal. This group account is monitored by [Jonah](https://discuss.privacyguides.net/u/jonah), [Niek](https://discuss.privacyguides.net/u/niek-de-wilde), [Em](https://discuss.privacyguides.net/u/em), and [Jordan](https://discuss.privacyguides.net/u/jordan).
[Chat on Signal](https://signal.me/#eu/zg9xcrIv5w-EtXt2FmTJgfWv01LmyTed8rpr7RDv35Mizq8ISZ9NJLmYtzsxI0Z4){ .md-button }
You may also email the entire team at <team@privacyguides.org>. This is a shared inbox that could be read by any [team member](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all), so please consider what sensitive information you share via email accordingly.
We will do our best to respond to all queries within 3 business days, but please understand we are unable to provide individualized advice to everyone who asks. If you have a question about privacy, you will receive a much more detailed and timely response from the Privacy Guides community by [asking on our forum](https://discuss.privacyguides.net/c/privacy/questions/8).
You can also use OpenPGP to contact us via email, if you feel comfortable with your client's security settings. You can discover the PGP keys of our team members using WKD if your client supports it. If it doesn't, or you don't know what that means, you can also find the public key for any Privacy Guides email account by searching on [keys.openpgp.org](https://keys.openpgp.org). We do not have PGP for the shared team inbox, only individual mailboxes which can be found in our team directory below.
If you need an alternative secure channel, please request one via any contact method including social media, and we will work with you to establish one. Please do not share any sensitive information with us before we have established an appropriately secure discussion channel.
## Executive Committee
The project executive committee consists of five volunteers charged with management of the [MAGIC Privacy Guides Fund](https://magicgrants.org/funds/privacy_guides), making most critical project-related decisions.
### Daniel Gray
Founder
- [Forum profile](https://discuss.privacyguides.net/u/dngray)
- [GitHub](https://github.com/dngray)
- [Mastodon](https://mastodon.social/@dngray "@dngray@mastodon.social"){rel=me}
- [Email](mailto:dngray@privacyguides.org)
### Freddy
Founder
- [Forum profile](https://discuss.privacyguides.net/u/freddy)
- [GitHub](https://github.com/freddy-m)
- [Mastodon](https://social.lol/@freddy "@freddy@social.lol"){rel=me}
- [Email](mailto:freddy@privacyguides.org)
### Jonah Aragon
Founder, Program Director
- [Forum profile](https://discuss.privacyguides.net/u/jonah)
- [Homepage](https://www.jonaharagon.com)
- [GitHub](https://github.com/jonaharagon)
- [Mastodon](https://mastodon.neat.computer/@jonah "@jonah@neat.computer"){rel=me}
- [Email](mailto:jonah@privacyguides.org)
### Niek de Wilde
Founder
- [Forum profile](https://discuss.privacyguides.net/u/Niek-de-Wilde)
- [GitHub](https://github.com/blacklight447)
- [Mastodon](https://mastodon.social/@blacklight447 "@blacklight447@mastodon.social"){rel=me}
- [Email](mailto:niekdewilde@privacyguides.org)
### Olivia
Founder
- [Forum profile](https://discuss.privacyguides.net/u/olivia)
- [GitHub](https://github.com/hook9)
- [Mastodon](https://mastodon.neat.computer/@oliviablob "@oliviablob@neat.computer"){rel=me}
## Staff
Our staff are paid to contribute to supplemental content at Privacy Guides, like [video production](https://www.youtube.com/@privacyguides), [news articles and tutorials](https://www.privacyguides.org/articles), and our discussion communities and social media. Most are available and paid on a full-time basis to assist the organization.
### Jordan Warne
Digital Content Producer
- [Forum profile](https://discuss.privacyguides.net/u/Jordan)
- [GitHub](https://github.com/jordan-warne)
- [Mastodon](https://social.lol/@jw "@jw@social.lol"){rel=me}
- [Email](mailto:jordan@privacyguides.org)
### Nate Bartram
Digital Content Producer
- [Forum profile](https://discuss.privacyguides.net/u/nateb)
- [GitHub](https://github.com/tnonate)
- [Mastodon](https://mastodon.thenewoil.org/@nateb "@nateb@mastodon.thenewoil.org"){rel=me}
- [Email](mailto:nate@privacyguides.org)
## Social Media
We have a general policy of avoiding links to centralized social media profiles and other websites outside our control. This means that in places like our website footer and other areas, we only link to platforms we fully control, such as our Mastodon and PeerTube accounts or Matrix channels.
However, Privacy Guides *does* have social media accounts on a wide variety of platforms, in the hope of reaching new users who aren't yet familiar with our content. We try to make this a "one-way street" where those accounts link to privacyguides.org, and not the other way around. However, this creates some confusion about which accounts are actually run by the Privacy Guides team. For reference, we will list all of our accounts here:
- [Forum](https://discuss.privacyguides.net)
- [Matrix Space](https://matrix.to/#/#privacyguides:matrix.org)
- [Mastodon](https://mastodon.neat.computer/@privacyguides)
- [PeerTube](https://neat.tube/c/privacyguides)
- [Bluesky](https://bsky.app/profile/privacyguides.org)
- [Codeberg](https://codeberg.org/privacyguides)
- [GitHub](https://github.com/privacyguides)
- [GitLab](https://gitlab.com/privacyguides)
- [LinkedIn](https://linkedin.com/company/privacyguides)
- [Reddit](https://reddit.com/r/PrivacyGuides)
- [X (Twitter)](https://x.com/privacy_guides)
- [YouTube](https://youtube.com/@privacyguides)
- [TikTok](https://www.tiktok.com/@privacyguides)
- [Facebook](https://www.facebook.com/PrivacyGuides.org)
- [Instagram](https://www.instagram.com/privacy.guides/)
- [Threads](https://www.threads.net/@privacy.guides)
To reiterate, this is not an endorsement of any platform, and we generally discourage following us on most social media platforms.
## In The Media
> To find [privacy-focused alternative] apps, check out sites like Good Reports and **Privacy Guides**, which list privacy-focused apps in a variety of categories, notably including email providers (usually on paid plans) that arent run by the big tech companies.
— [New York Times](https://nytimes.com/wirecutter/guides/online-security-social-media-privacy)
> If you're looking for a new VPN, you can go to the discount code of just about any podcast. If you are looking for a **good** VPN, you need professional help. The same goes for email clients, browsers, operating systems and password managers. How do you know which of these is the best, most privacy-friendly option? For that there is **Privacy Guides**, a platform on which a number of volunteers search day in, day out for the best privacy-friendly tools to use on the internet.
— [Tweakers.net](https://tweakers.net/reviews/10568/op-zoek-naar-privacyvriendelijke-tools-niek-de-wilde-van-privacy-guides.html) [Translated from Dutch]
Also featured on: [Ars Technica](https://arstechnica.com/gadgets/2022/02/is-firefox-ok), [Wirecutter](https://nytimes.com/wirecutter/guides/practical-guide-to-securing-windows-pc) [[2](https://nytimes.com/wirecutter/guides/practical-guide-to-securing-your-mac)], [NPO Radio 1](https://nporadio1.nl/nieuws/binnenland/8eaff3a2-8b29-4f63-9b74-36d2b28b1fe1/ooit-online-eens-wat-doms-geplaatst-ga-jezelf-eens-googlen-en-kijk-dan-wat-je-tegenkomt), [Wired](https://wired.com/story/firefox-mozilla-2022), [Fast Company](https://fastcompany.com/91167564/mozilla-wants-you-to-love-firefox-again) and [404 Media](https://404media.co/privacy-service-optery-faces-backlash-after-plan-to-send-openai-user-data).
## History
Privacy Guides was launched in September 2021 as a continuation of the [defunct](./privacytools/) "PrivacyTools" open-source educational project. We recognized the importance of independent, criteria-focused product recommendations and general knowledge in the privacy space, which is why we needed to preserve the work that had been created by so many contributors since 2015 and make sure that information had a stable home on the web indefinitely.
In 2022, we completed the transition of our main website framework from Jekyll to MkDocs, using the `mkdocs-material` documentation software. This change made open-source contributions to our site significantly easier for outsiders, because instead of needing to know complicated syntax to write posts effectively, contributing is now as easy as writing a standard Markdown document.
We additionally launched our new discussion forum at [discuss.privacyguides.net](https://discuss.privacyguides.net) as a community platform to share ideas and ask questions about our mission. This augments our existing community on Matrix, and replaced our previous GitHub Discussions platform, decreasing our reliance on proprietary discussion platforms.
In 2023, we launched international translations of our website in [French](https://www.privacyguides.org/fr), [Hebrew](https://www.privacyguides.org/he), [Dutch](https://www.privacyguides.org/nl), and more languages, made possible by our excellent translation team on [Crowdin](https://crowdin.com/project/privacyguides).
In 2024, we successfully fundraised to hire several full-time staff members, Em, Jordan, and Kevin; to help with content creation, community management, and video production. This has allowed us to expand our reach and provide more frequent updates to our audience.
In 2025, we launched our [newsroom](https://www.privacyguides.org/news), providing timely articles on the latest developments in privacy and security. We also hired Nate as a Digital Content Producer to bring more consistency to our educational video content.
We plan to continue carrying forward our mission of outreach and education, and finding ways to more clearly highlight the dangers of a lack of privacy awareness in the modern digital age, and the prevalence and harms of security breaches across the technology industry.
## Site License
> [!IMPORTANT]
>
> The following is a human-readable summary of (and not a substitute for) the [license](https://github.com/privacyguides/privacyguides.org/blob/main/README.md#license).
Unless otherwise noted, the original content on this website is made available under the [Creative Commons Attribution-ShareAlike 4.0 International Public License](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE). This means that you are free to copy and redistribute the material in any medium or format for any purpose, even commercially; as long as you give appropriate credit to `Privacy Guides (www.privacyguides.org)` and share your work under the same license.
You may comply with these terms in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use.
@@ -24,7 +24,7 @@ We have these requirements in regard to developers which wish to submit their pr
- Must disclose affiliation, i.e. your position within the project being submitted. - Must disclose affiliation, i.e. your position within the project being submitted.
- Must have a security whitepaper if it is a project that involves the handling of sensitive information like a messenger, password manager, encrypted cloud storage, etc. - Must have a security white paper if it is a project that involves the handling of sensitive information like a messenger, password manager, encrypted cloud storage, etc.
- Regarding third party audit status, we want to know if you have undergone one, or have requested one. If possible please mention who will be conducting the audit. - Regarding third party audit status, we want to know if you have undergone one, or have requested one. If possible please mention who will be conducting the audit.
- Must explain what the project brings to the table in regard to privacy. - Must explain what the project brings to the table in regard to privacy.
@@ -32,4 +32,4 @@ We have these requirements in regard to developers which wish to submit their pr
- Why should anyone use it over the alternatives? - Why should anyone use it over the alternatives?
- Must state what the exact threat model is with their project. - Must state what the exact threat model is with their project.
- It should be clear to potential users what the project can provide, and what it cannot. Ideally, a developer should be able to identify what [common threat(s)](../basics/common-threats.md) their project protects against. - It should be clear to potential users what the project can provide, and what it cannot. Ideally, a developer should be able to identify what [common threat(s)](../../wiki/basics/common-threats/index.md) their project protects against.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

+106
View File
@@ -0,0 +1,106 @@
---
title: Donate
description: The charitable mission of Privacy Guides relies on contributions from visitors like yourself. Anything you can do to support the project is hugely appreciated.
---
<!-- markdownlint-disable MD036 -->
Support our mission to defend digital rights and spread the word about mass surveillance programs and other daily privacy invasions. You can help Privacy Guides researchers, activists, and maintainers create informative content, host private digital services, and protect privacy rights at a time when the world needs it most.
<!-- markdownlint-disable-next-line -->
[Become a Member](https://donate.magicgrants.org/privacyguides/membership){ .md-button .md-button--primary data-portal="signup" }
[Become a Member (Cryptocurrency)](https://donate.magicgrants.org/privacyguides/membership){ .md-button }
[One-Time Donation](https://donate.magicgrants.org/privacyguides/donate/privacyguides){ .md-button }
*MAGIC Grants is our fiscal host, and their custom, open-source donation platform allows you to donate to our project with **Monero**, **Litecoin (MWEB)**, **Bitcoin**, or **debit/credit card**. You can also donate using [GitHub Sponsors](https://github.com/sponsors/privacyguides).*
## Foundations & Organizations
{{< tabs >}}
{{< tab name="Current Supporters" >}}
Thank you to these organizations who significantly support Privacy Guides.[^org-members]
[^org-members]: Please contact <info@magicgrants.org> to inquire about giving. Privacy Guides reserves the right to rescind the membership of those who are unaligned with our mission or organization at any time. Organizational members have no ability to influence what content is recommended on the Privacy Guides website. Learn more about our [donation acceptance policy](../donation-acceptance-policy/).
[![Power Up Privacy](./power-up-privacy.webp)](https://powerupprivacy.com){rel="nofollow" target="_blank" title="Power Up Privacy"}
[![DeleteMe](./deleteme.webp)](https://joindeleteme.com){rel="nofollow" target="_blank" title="DeleteMe"}
{{< /tab >}}
{{< tab name="Past Supporters" >}}
Thank you to these organizations who have substantially supported our project in the past.
- [Safing](https://safing.io){rel="nofollow" target="_blank"}: 2019 2021
{{< /tab >}}
{{< /tabs >}}
## Active Members
Privacy Guides would not be possible without these individuals who generously donate on a monthly or yearly basis.[^active-members]
[^active-members]: If you [become a member](https://donate.magicgrants.org/privacyguides/membership) and [link your donation](https://discuss.privacyguides.net/t/getting-your-member-flair-on-the-forum/25453) to your forum account, you're automatically added here with a link to your profile and avatar to show your support for Privacy Guides. If you don't make your membership public on the forum, you'll be a silent +1. You can change your visibility any time. This chart is updated upon each website release.
The list of active members is updated when the site is built from our donation platform. After you [become a member](https://donate.magicgrants.org/privacyguides/membership) and [link your donation](https://discuss.privacyguides.net/t/getting-your-member-flair-on-the-forum/25453) to your forum account, you can choose whether your name appears on the published donate page.
*This is a list of our **active** [members](https://donate.magicgrants.org/privacyguides/membership), plus donors on GitHub, who have chosen to make their donation public. Hundreds more have donated in the past or privately, and their support is hugely appreciated as well.*
## Merchandise
You can support us and share your passion for privacy by buying our merchandise from HelloTux.
[Buy on HelloTux.com](https://hellotux.com/privacyguides){ .md-button }
## Non-Financial Support
It takes a lot of people and [work](https://github.com/privacyguides/privacyguides.org/pulse/monthly) to keep Privacy Guides up to date and spread the word about privacy and mass surveillance. If you're looking for other ways to help out, consider getting involved by [editing the site](https://github.com/privacyguides/privacyguides.org), [joining our forum](https://discuss.privacyguides.net), or [contributing translations](https://crowdin.com/project/privacyguides).
## FAQ
### What is an organizational membership?
Organizational membership to Privacy Guides is open to any company, private foundation, or organization that donates at least $5,000 per year. While Privacy Guides does not endorse private companies or their products, we're grateful for their contributions. Your donation may be tax-deductible, and we will provide you with a receipt.
You can become an organizational member by reaching out to <info@magicgrants.org> for more information.
### How are organizational members recognized?
Organizational members that choose to be recognized publicly are included in our organizational members section (above), and occasionally at other opportunities where appropriate. Organizational member links include the `rel="nofollow"` attribute: We adopted this policy to screen out potential abuse of our program and site to raise the rank of third parties in search algorithms. Unfortunately, this is a growing problem for nonprofits. This was a complex decision since we know many of the sincere supporters behind these companies, but we decided that it was the best choice for us.
Organizational members have no ability to influence what content is recommended on the Privacy Guides website. Learn more about our [donation acceptance policy](../donation-acceptance-policy/).
### What is an active membership?
Your monthly or yearly membership sustains Privacy Guides's services and public activism for privacy and cybersecurity year round. If you become a member, we will recognize your support here on our website, our community forum, and occasionally in other areas like our videos if you choose to make your membership publicly known.
Our membership program is brand new, and we are still exploring other ways that we can share a token of our appreciation with you, while maintaining sustainable and ethical boundaries. Stay tuned!
### How does Privacy Guides use donations?
Privacy Guides has been a nonstop effort for over 5 years to stay up to date with the world of cybersecurity and privacy, and to promote the benefits of privacy overall. This is a **non-profit, community-driven** project that would not be possible without the generous support of all our contributors, in addition to our regularly donating members above.
Your donation go to a [dedicated fund](https://magicgrants.org/funds/privacy_guides) within [MAGIC Grants](https://magicgrants.org), a 501(c)(3) organization and our fiscal host. The funds will **only** be used for this project specifically.
You may qualify for a tax deduction. When you donate to us [here](https://donate.magicgrants.org/privacyguides) with cryptocurrency or card you have the option to receive a receipt from MAGIC Grants for this purpose. If you have questions about other transactions please email <info@magicgrants.org>.
We use donations for a variety of purposes, including:
**Payroll**
: We have journalists, writers, and video creators on payroll to review products and create more educational content on a regular basis. This is a significant expense, and we are only able to create our quantity of content with your support.
**Web Hosting and Infrastructure**
: Traffic to this website uses hundreds of gigabytes of data per month; we use a variety of service providers to keep up with this traffic.
**Online Services**
: We host [internet services](../services/) for testing and showcasing different privacy-products we like and [recommend](../../tools/). Some of them are made publicly available for our community's use (SearXNG, Tor, etc.), and some are provided for our team members (email, etc.).
**Product Purchases**
: We occasionally purchase products and services for the purposes of testing our [recommended tools](../../tools/).
Thank you to all those who support our mission!
We strictly **do not** use donations to support political campaigns/candidates or attempt to influence legislation. Earnings will **not** inure to the benefit of any private shareholder or individual.
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,58 @@
---
title: Donation Acceptance Policy
description: Privacy Guides aspires to obtain funding from a wide variety of sources to reduce our dependency on any single donor. Please consider donating!
---
Privacy Guides takes the ethical responsibility of making unbiased recommendations on its website very seriously.
Privacy Guides aspires to obtain funding from a wide variety of sources to reduce our dependency on any single donor. Please consider [donating](../donate/)!
## What we **can** accept
In the course of our regular fundraising activities...
- Donations and other forms of support will generally be accepted from individuals, corporations, foundations, or other entities, without limitations.
- This includes cash, cash equivalents (checks, money orders, credit/debit card payments), and cryptocurrency.
- Gifts of Real Property, Personal Property, or Securities may only be accepted upon approval of the MAGIC Grants board of directors.
Privacy Guides will only accept such gifts that are legal and consistent with our policies. Gifts must not interfere with Privacy Guides' mission, purpose, and procedures.
## Things we do **not** do
- Accept sponsorships.
- Offer to recommend a product or service in exchange for a donation or other incentive.
- Threaten to remove a recommendation for a product or service unless we receive a donation or other incentive.
- Offer to expedite a review of a product or service in exchange for a donation or other incentive.
- Write sponsored content or feature sponsored components in our content.
## Things we **may** do
- Accept donations from privacy-related companies and non-profits.
- Apply for grant programs.
- Accept free versions of software or hardware to test and review, while being mindful of possible differences in versions that could differ from a regular customer experience. ([More details](../executive-policy/#ep1-freely-provided-product-samples))
- Accept discounted versions of software or hardware that assist our operations (for example, discounted software costs made available to non-profits).
## Restrictions on gifts
Privacy Guides accepts unrestricted gifts, and we appreciate the flexibility to apply your gift to our programs where they are most needed.
We also accept and appreciate gifts for specified programs or purposes, provided that such gifts are consistent with our program's stated mission, purpose, and priority. Privacy Guides will not accept gifts which are too restrictive in purpose.
Examples of gifts which are too restrictive include:
- Those which fund the research and review of a specific product category or specific product.
- Those which violate our existing policies.
- Those which are too difficult for us to administer.
- Those that are for purposes outside our general mission.
An example of an acceptable restriction could be a gift towards funding our [video](https://www.privacyguides.org/videos) production, or hosting our website and forum.
Final decisions on the restrictive nature of a gift and its acceptance or refusal will be made by our executive committee.
## Additional terms
Privacy Guides generally does not pay "finder's fees" or commissions to third parties in connection with any gift to Privacy Guides. We may, however, pay commissions and fees to properly negotiate and receive assets when appropriate.
No officer, committee member, employee, or other agent of Privacy Guides will be compensated in a manner which is dependent on the size or nature of gifts made to Privacy Guides by any person. If we engage with legal, accounting, or other professionals, their fees and expenses will be determined by the time they spend engaged with our work, and not by reference to any particular gift in connection to their retainer.
Privacy Guides always follows the MAGIC Grants Gift Acceptance Policy, available on their website: <https://magicgrants.org/about/documentation/>
+30
View File
@@ -0,0 +1,30 @@
---
title: Executive Policy
description: These are policies formally adopted by our executive committee, and take precedence over all other statements expressed on this website.
---
These are policies formally adopted by Privacy Guides' executive committee, and take precedence over all other statements expressed on this website.
The keywords **must**, **must not**, **required**, **shall**, **shall not**, **should**, **should not**, **recommended**, **may**, and **optional** are to be interpreted as described in [RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119).
## EP1: Freely-Provided Product Samples
*Our policy on accepting product samples for review was adopted September 7, 2024.*
{{< tabs >}}
{{< tab name="Current Version (1)" >}}
- Privacy Guides **shall not** proactively reach out to vendors asking for product samples or review accounts.
- Privacy Guides **shall not** accept test/review accounts for subscription cloud services.
- Privacy Guides **may** accept freely-provided product samples for one-time purchase software applications which run locally, given they don't require a subscription for continued operation.
- Privacy Guides **may** accept freely-provided samples of hardware products.
- Privacy Guides **may** accept a freely-provided subscription service associated with a hardware product, if such a subscription/license is necessary to use the product.
- Privacy Guides **must not** enter into an agreement pertaining to our editorial opinion with the vendor in order to receive a sample or publish a review. All freely-provided items must be strictly "no strings attached."
- We **may** agree to return the product to the vendor following the review if requested.
- We **may** agree to a reasonable NDA, provided it has a clear embargo date that is lifted no more than 6 months in the future where the NDA completely no longer applies.
- We **should not** enter into any other agreement with the vendor not described here. Potential agreements not described here **must** be approved by the executive committee beforehand.
In all cases, whether we paid for the product independently or received a free sample from a vendor, how we obtained the product **must** be clearly documented in the background section of every article associated with the product.
{{< /tab >}}
{{< /tabs >}}
@@ -3,7 +3,7 @@ title: Job Openings
description: Privacy Guides has a small, remote team of privacy researchers and advocates. Any open positions we may have in the future will be posted here. description: Privacy Guides has a small, remote team of privacy researchers and advocates. Any open positions we may have in the future will be posted here.
--- ---
Privacy Guides has a small, remote team of privacy researchers and advocates working to further our mission of protecting free expression and promoting privacy-respecting technology. As a non-profit, we are expanding very slowly to ensure the project is sustainable in the long term. All of our team members are listed [here](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all). Please consider [donating](donate.md) to support our cause. Privacy Guides has a small, remote team of privacy researchers and advocates working to further our mission of protecting free expression and promoting privacy-respecting technology. As a non-profit, we are expanding very slowly to ensure the project is sustainable in the long term. All of our team members are listed [here](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all). Please consider [donating](https://donate.magicgrants.org/privacyguides) to support our cause.
We are occasionally looking for strong journalistic writers, product reviewers, and privacy experts to help us out, and any open positions will be posted below. We are occasionally looking for strong journalistic writers, product reviewers, and privacy experts to help us out, and any open positions will be posted below.
@@ -11,30 +11,4 @@ We are occasionally looking for strong journalistic writers, product reviewers,
## Open Positions ## Open Positions
<div class="grid cards" markdown> There are no open positions at this time.
- :material-video-box:{ .lg .middle } **Content Creator**
---
Full-Time | Remote | \$20-$25/hour
[View posting :material-arrow-right-drop-circle:](jobs/content-creator.md)
- :material-file-document-edit:{ .lg .middle } **Journalist**
---
Full-Time | Remote | \$20-$25/hour
[View posting :material-arrow-right-drop-circle:](jobs/journalist.md)
- :material-comment-account-outline:{ .lg .middle } **Intern - Community/News**
---
Internship | Remote | \$15/hour
[View posting :material-arrow-right-drop-circle:](jobs/intern-news.md)
</div>
@@ -15,11 +15,9 @@ Privacy Guides additionally does not warrant that this website will be constantl
## Licensing Overview ## Licensing Overview
<div class="admonition danger" markdown> > [!IMPORTANT]
>
The following is a human-readable summary of (and not a substitute for) the [license](https://github.com/privacyguides/privacyguides.org/blob/main/README.md#license). > The following is a human-readable summary of (and not a substitute for) the [license](https://github.com/privacyguides/privacyguides.org/blob/main/README.md#license).
</div>
Unless otherwise noted, all **content** on this website is released under the [Creative Commons Attribution-ShareAlike 4.0 International Public License](https://github.com/privacyguides/privacyguides.org/tree/main/LICENSE). This means that you can use the human-readable content on this website for your own project, as long as you give appropriate credit to [Privacy Guides](https://www.privacyguides.org) including a link where technically possible, and you release your project under the same license. You may not do so in any way that suggests Privacy Guides endorses you or your use. You **may not** use the Privacy Guides brand trademarks in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo. Unless otherwise noted, all **content** on this website is released under the [Creative Commons Attribution-ShareAlike 4.0 International Public License](https://github.com/privacyguides/privacyguides.org/tree/main/LICENSE). This means that you can use the human-readable content on this website for your own project, as long as you give appropriate credit to [Privacy Guides](https://www.privacyguides.org) including a link where technically possible, and you release your project under the same license. You may not do so in any way that suggests Privacy Guides endorses you or your use. You **may not** use the Privacy Guides brand trademarks in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
@@ -31,7 +29,7 @@ This does not include third-party code embedded in the Privacy Guides code repos
* The [Public Sans](https://github.com/privacyguides/brand/tree/67166ed8b641d8ac1837d0b75329e02ed4056704/fonts/Public%20Sans) font used for most text on the site is licensed under the terms detailed [here](https://github.com/privacyguides/brand/blob/67166ed8b641d8ac1837d0b75329e02ed4056704/fonts/Public%20Sans/LICENSE.txt). * The [Public Sans](https://github.com/privacyguides/brand/tree/67166ed8b641d8ac1837d0b75329e02ed4056704/fonts/Public%20Sans) font used for most text on the site is licensed under the terms detailed [here](https://github.com/privacyguides/brand/blob/67166ed8b641d8ac1837d0b75329e02ed4056704/fonts/Public%20Sans/LICENSE.txt).
* The [DM Mono](https://github.com/privacyguides/brand/tree/67166ed8b641d8ac1837d0b75329e02ed4056704/fonts/DM%20Mono) font used for monospaced text on the site is licensed under the [SIL Open Font License 1.1](https://github.com/privacyguides/brand/blob/67166ed8b641d8ac1837d0b75329e02ed4056704/fonts/DM%20Mono/LICENSE.txt). * The [DM Mono](https://github.com/privacyguides/brand/tree/67166ed8b641d8ac1837d0b75329e02ed4056704/fonts/DM%20Mono) font used for monospaced text on the site is licensed under the [SIL Open Font License 1.1](https://github.com/privacyguides/brand/blob/67166ed8b641d8ac1837d0b75329e02ed4056704/fonts/DM%20Mono/LICENSE.txt).
We believe that the logos and other images in `assets` obtained from third-party providers are either in the public domain or **fair use**. In a nutshell, legal [fair use doctrine](https://copyright.gov/fair-use/more-info.html) allows the use of copyrighted images in order to identify the subject matter for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. *When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.* We believe that the logos and other images in `assets` obtained from third-party providers are either in the public domain or **fair use**. In a nutshell, legal [fair use doctrine](https://copyright.gov/fair-use/more-info.html) allows the use of copyrighted images in order to identify the subject for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. *When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.*
When you contribute to our website you are doing so under the above licenses, and you are granting Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project. When you contribute to our website you are doing so under the above licenses, and you are granting Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project.
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(7.11111,0,0,7.11111,0,0)">
<rect x="0" y="0" width="72" height="72" style="fill:rgb(255,208,111);"/>
</g>
<g transform="matrix(5.69816,0,0,5.69816,41.2613,46.2665)">
<path d="M18.466,16.31C18.279,16.938 18.384,17.673 18.594,19.141L21.253,37.755C21.713,40.971 21.942,42.578 22.551,44.015C23.09,45.289 23.845,46.46 24.783,47.476C25.842,48.623 27.212,49.494 29.952,51.238L33.848,53.717C35.716,54.906 36.65,55.5 37.654,55.732C38.426,55.91 39.224,55.933 40.003,55.801C39.359,54.33 39.002,52.706 39.002,50.997C39.002,44.37 44.375,38.997 51.002,38.997C52.936,38.997 54.763,39.455 56.381,40.267C56.494,39.55 56.612,38.726 56.751,37.755L56.751,37.755L59.41,19.141C59.62,17.673 59.725,16.938 59.538,16.31C59.374,15.756 59.053,15.261 58.615,14.885C58.117,14.458 57.403,14.255 55.977,13.847L40.321,9.374C39.83,9.234 39.585,9.164 39.335,9.136C39.114,9.111 38.891,9.111 38.669,9.136C38.42,9.164 38.174,9.234 37.684,9.374L22.027,13.847C20.601,14.255 19.887,14.458 19.39,14.885C18.951,15.261 18.63,15.756 18.466,16.31Z" style="fill:rgb(255,246,235);"/>
</g>
<g transform="matrix(5.69816,0,0,5.69816,41.2613,46.2665)">
<path d="M32.836,13.626C32.946,13.614 33.058,13.614 33.169,13.626C33.265,13.637 33.371,13.663 33.909,13.816L49.565,18.289C50.3,18.5 50.771,18.635 51.123,18.765C51.458,18.89 51.578,18.972 51.638,19.024C51.858,19.212 52.018,19.459 52.1,19.736C52.123,19.813 52.149,19.956 52.126,20.313C52.102,20.688 52.034,21.172 51.925,21.929L49.692,37.56C42.851,38.219 37.502,43.983 37.502,50.997C37.502,52.382 37.711,53.718 38.098,54.976L37.351,55.452C35.388,56.701 34.706,57.11 34.014,57.27C33.348,57.424 32.657,57.424 31.991,57.27C31.298,57.11 30.616,56.701 28.654,55.452L24.758,52.973C21.95,51.186 20.781,50.428 19.886,49.458C19.065,48.569 18.404,47.545 17.932,46.43C17.418,45.215 17.209,43.837 16.738,40.543L14.079,21.929C13.971,21.172 13.903,20.688 13.878,20.313C13.855,19.956 13.881,19.813 13.904,19.736C13.986,19.459 14.147,19.212 14.366,19.024C14.427,18.972 14.547,18.89 14.881,18.765C15.234,18.635 15.704,18.5 16.439,18.289L32.096,13.816C32.633,13.663 32.74,13.637 32.836,13.626ZM54.903,22.301L52.716,37.605C59.363,38.447 64.502,44.122 64.502,50.997C64.502,58.453 58.458,64.497 51.002,64.497C46.01,64.497 41.651,61.787 39.315,57.758L38.962,57.983L38.739,58.124C37.088,59.177 35.947,59.903 34.688,60.194C33.579,60.449 32.426,60.449 31.317,60.194C30.058,59.903 28.917,59.177 27.265,58.124L27.043,57.983L22.954,55.381L22.954,55.381C20.398,53.754 18.873,52.784 17.681,51.493C16.626,50.35 15.776,49.033 15.17,47.6C14.484,45.982 14.229,44.193 13.801,41.194L11.102,22.301C11.003,21.611 10.918,21.012 10.885,20.508C10.85,19.973 10.864,19.435 11.028,18.883C11.274,18.052 11.756,17.31 12.414,16.746C12.851,16.372 13.336,16.139 13.839,15.952C14.312,15.777 14.895,15.611 15.564,15.419L15.615,15.405L31.271,10.932L31.354,10.908C31.764,10.791 32.125,10.687 32.502,10.645C32.835,10.608 33.17,10.608 33.502,10.645C33.88,10.687 34.241,10.791 34.65,10.908L34.733,10.932L50.44,15.419C51.11,15.611 51.692,15.777 52.166,15.952C52.668,16.139 53.154,16.372 53.591,16.746C54.249,17.31 54.73,18.052 54.977,18.883C55.14,19.435 55.155,19.973 55.12,20.508C55.087,21.012 55.001,21.611 54.903,22.3L54.903,22.301ZM51.002,40.497C45.203,40.497 40.502,45.198 40.502,50.997C40.502,56.796 45.203,61.497 51.002,61.497C56.801,61.497 61.502,56.796 61.502,50.997C61.502,45.198 56.801,40.497 51.002,40.497ZM58.154,47.458C58.685,46.821 58.599,45.875 57.962,45.345C57.326,44.815 56.38,44.9 55.85,45.537L49.401,53.275L46.063,49.936C45.477,49.351 44.527,49.351 43.942,49.936C43.356,50.522 43.356,51.472 43.942,52.058L48.442,56.558C48.74,56.856 49.149,57.015 49.57,56.996C49.991,56.977 50.385,56.781 50.654,56.458L58.154,47.458ZM25.502,29.997C25.502,25.855 28.86,22.497 33.002,22.497C37.144,22.497 40.502,25.855 40.502,29.997C40.502,32.451 39.324,34.629 37.502,35.998L37.502,41.997C37.502,44.483 35.488,46.497 33.002,46.497C30.517,46.497 28.502,44.483 28.502,41.997L28.502,35.998C26.681,34.629 25.502,32.451 25.502,29.997ZM34.502,37.497L31.502,37.497L31.502,41.997C31.502,42.826 32.174,43.497 33.002,43.497C33.831,43.497 34.502,42.826 34.502,41.997L34.502,37.497ZM33.002,34.497C35.488,34.497 37.502,32.483 37.502,29.997C37.502,27.512 35.488,25.497 33.002,25.497C30.517,25.497 28.502,27.512 28.502,29.997C28.502,32.483 30.517,34.497 33.002,34.497Z" style="fill:rgb(40,50,63);"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

@@ -36,9 +36,9 @@ At the end of July 2021, we [informed](https://web.archive.org/web/2021072918442
## Control of r/privacytoolsIO ## Control of r/privacytoolsIO
Simultaneously with the ongoing website issues at privacytools.io, the r/privacytoolsIO moderation team was facing challenges with managing the subreddit. The subreddit had always been operated mostly independently of the website's development, but BurungHantu was the primary moderator of the subreddit as well, and he was the only moderator granted "Full Control" privileges. u/trai_dep was the only active moderator at the time, and [posted](https://reddit.com/comments/o9tllh) a request to Reddit's administrators on June 28, 2021, asking to be granted the primary moderator position and full control privileges, in order to make necessary changes to the Subreddit. Simultaneously with the ongoing website issues at privacytools.io, the r/privacytoolsIO moderation team was facing challenges with managing the Subreddit. The Subreddit had always been operated mostly independently of the website's development, but BurungHantu was the primary moderator of the Subreddit as well, and he was the only moderator granted "Full Control" privileges. u/trai_dep was the only active moderator at the time, and [posted](https://reddit.com/comments/o9tllh) a request to Reddit's administrators on June 28, 2021, asking to be granted the primary moderator position and full control privileges, in order to make necessary changes to the Subreddit.
Reddit requires that subreddits have active moderators. If the primary moderator is inactive for a lengthy period of time (such as a year) the primary moderation position can be re-appointed to the next moderator in line. For this request to have been granted, BurungHantu had to have been completely absent from all Reddit activity for a long period of time, which was consistent with his behaviors on other platforms. Reddit requires that Subreddits have active moderators. If the primary moderator is inactive for a lengthy period of time (such as a year) the primary moderation position can be re-appointed to the next moderator in line. For this request to have been granted, BurungHantu had to have been completely absent from all Reddit activity for a long period of time, which was consistent with his behaviors on other platforms.
> If you were removed as moderator from a subreddit through Reddit request it is because your lack of response and lack of activity qualified the subreddit for an r/redditrequest transfer. > If you were removed as moderator from a subreddit through Reddit request it is because your lack of response and lack of activity qualified the subreddit for an r/redditrequest transfer.
> >
@@ -54,7 +54,7 @@ This change [entailed:](https://reddit.com/comments/pnhn4a)
- Redirecting `www.privacytools.io` to [www.privacyguides.org](https://www.privacyguides.org). - Redirecting `www.privacytools.io` to [www.privacyguides.org](https://www.privacyguides.org).
- Archiving the source code on GitHub to preserve our past work and issue tracker, which we continued to use for months of future development of this site. - Archiving the source code on GitHub to preserve our past work and issue tracker, which we continued to use for months of future development of this site.
- Posting announcements to our subreddit and various other communities informing people of the official change. - Posting announcements to our Subreddit and various other communities informing people of the official change.
- Formally closing privacytools.io services, like Matrix and Mastodon, and encouraging existing users to migrate as soon as possible. - Formally closing privacytools.io services, like Matrix and Mastodon, and encouraging existing users to migrate as soon as possible.
Things appeared to be going smoothly, and most of our active community made the switch to our new project exactly as we hoped. Things appeared to be going smoothly, and most of our active community made the switch to our new project exactly as we hoped.
@@ -65,21 +65,21 @@ Roughly a week following the transition, BurungHantu returned online for the fir
At this point, BurungHantu claimed he wanted to continue working on privacytools.io on his own and requested that we remove the redirect from `www.privacytools.io` to [www.privacyguides.org](https://www.privacyguides.org). We obliged and requested that he keep the subdomains for Matrix, Mastodon, and PeerTube active for us to run as a public service to our community for at least a few months, in order to allow users on those platforms to easily migrate to other accounts. Due to the federated nature of the services we provided, they were tied to specific domain names making it very difficult to migrate (and in some cases impossible). At this point, BurungHantu claimed he wanted to continue working on privacytools.io on his own and requested that we remove the redirect from `www.privacytools.io` to [www.privacyguides.org](https://www.privacyguides.org). We obliged and requested that he keep the subdomains for Matrix, Mastodon, and PeerTube active for us to run as a public service to our community for at least a few months, in order to allow users on those platforms to easily migrate to other accounts. Due to the federated nature of the services we provided, they were tied to specific domain names making it very difficult to migrate (and in some cases impossible).
Unfortunately, because control of the r/privacytoolsIO subreddit was not returned to BurungHantu at his demand (further information below), those subdomains were [cut off](https://reddit.com/comments/pymthv/comment/hexwrps) at the beginning of October, ending any migration possibilities to any users still using those services. Unfortunately, because control of the r/privacytoolsIO Subreddit was not returned to BurungHantu at his demand (further information below), those subdomains were [cut off](https://reddit.com/comments/pymthv/comment/hexwrps) at the beginning of October, ending any migration possibilities to any users still using those services.
Following this, BurungHantu made false accusations about Jonah stealing donations from the project. BurungHantu had over a year since the alleged incident occurred, and yet he never made anyone aware of it until after the Privacy Guides migration. BurungHantu has been repeatedly asked for proof and to comment on the reason for his silence by the team [and the community](https://twitter.com/TommyTran732/status/1526153536962281474), and has not done so. Following this, BurungHantu made false accusations about Jonah stealing donations from the project. BurungHantu had over a year since the alleged incident occurred, and yet he never made anyone aware of it until after the Privacy Guides migration. BurungHantu has been repeatedly asked for proof and to comment on the reason for his silence by the team [and the community](https://twitter.com/TommyTran732/status/1526153536962281474), and has not done so.
BurungHantu also made a [twitter post](https://twitter.com/privacytoolsIO/status/1510560676967710728) alleging that an "attorney" had reached out to him on Twitter and was providing advice, in another attempt to bully us into giving him control of our subreddit, and as part of his smear campaign to muddy the waters surrounding the launch of Privacy Guides while pretending to be a victim. BurungHantu also made a [twitter post](https://twitter.com/privacytoolsIO/status/1510560676967710728) alleging that an "attorney" had reached out to him on Twitter and was providing advice, in another attempt to bully us into giving him control of our Subreddit, and as part of his smear campaign to muddy the waters surrounding the launch of Privacy Guides while pretending to be a victim.
## PrivacyTools.io Now ## PrivacyTools.io Now
As of September 25th 2022 we are seeing BurungHantu's overall plans come to fruition on privacytools.io, and this is the very reason we decided to create this explainer page today. The website he is operating appears to be a heavily SEO-optimized version of the site which recommends tools in exchange for financial compensation. Very recently, IVPN and Mullvad, two VPN providers near-universally [recommended](../vpn.md) by the privacy community and notable for their stance against affiliate programs were removed from PrivacyTools. In their place? NordVPN, Surfshark, ExpressVPN, and hide.me; Giant VPN corporations with untrustworthy platforms and business practices, notorious for their aggressive marketing and affiliate programs. As of September 25th 2022 we are seeing BurungHantu's overall plans come to fruition on privacytools.io, and this is the very reason we decided to create this explainer page today. The website he is operating appears to be a heavily SEO-optimized version of the site which recommends tools in exchange for financial compensation. Very recently, IVPN and Mullvad, two VPN providers near-universally [recommended](../../tools/services/vpn/index.md) by the privacy community and notable for their stance against affiliate programs were removed from PrivacyTools. In their place? NordVPN, Surfshark, ExpressVPN, and hide.me; Giant VPN corporations with untrustworthy platforms and business practices, notorious for their aggressive marketing and affiliate programs.
==**PrivacyTools has become exactly the type of site we [warned against](https://web.archive.org/web/20210729205249/https://blog.privacytools.io/the-trouble-with-vpn-and-privacy-reviews) on the PrivacyTools blog in 2019.**== We've tried to keep our distance from PrivacyTools since the transition, but their continued harassment towards our project and now their absurd abuse of the credibility their brand gained over 6 years of open-source contributions is extremely troubling to us. Those of us actually fighting for privacy are not fighting against each other, and are not getting our advice from the highest bidder. ==**PrivacyTools has become exactly the type of site we [warned against](https://web.archive.org/web/20210729205249/https://blog.privacytools.io/the-trouble-with-vpn-and-privacy-reviews) on the PrivacyTools blog in 2019.**== We've tried to keep our distance from PrivacyTools since the transition, but their continued harassment towards our project and now their absurd abuse of the credibility their brand gained over 6 years of open-source contributions is extremely troubling to us. Those of us actually fighting for privacy are not fighting against each other, and are not getting our advice from the highest bidder.
## r/privacytoolsIO Now ## r/privacytoolsIO Now
After the launch of [r/PrivacyGuides](https://reddit.com/r/privacyguides), it was impractical for u/trai_dep to continue moderating both subreddits, and with the community on-board with the transition, r/privacytoolsIO was [made](https://reddit.com/comments/qk7qrj) a restricted sub in a post on November 1st, 2021: After the launch of [r/PrivacyGuides](https://reddit.com/r/privacyguides), it was impractical for u/trai_dep to continue moderating both Subreddits, and with the community on-board with the transition, r/privacytoolsIO was [made](https://reddit.com/comments/qk7qrj) a restricted sub in a post on November 1st, 2021:
> [...] The growth of this Sub was the result of great effort, across several years, by the PrivacyGuides.org team. And by every one of you. > [...] The growth of this Sub was the result of great effort, across several years, by the PrivacyGuides.org team. And by every one of you.
> >
@@ -87,11 +87,11 @@ After the launch of [r/PrivacyGuides](https://reddit.com/r/privacyguides), it wa
Subreddits do not belong to anybody, and they especially do not belong to brand-holders. They belong to their communities, and the community and its moderators made the decision to support the move to r/PrivacyGuides. Subreddits do not belong to anybody, and they especially do not belong to brand-holders. They belong to their communities, and the community and its moderators made the decision to support the move to r/PrivacyGuides.
In the months since, BurungHantu has threatened and begged for returning subreddit control to his account in [violation](https://reddit.com/r/redditrequest/wiki/top_mod_removal) of Reddit rules: In the months since, BurungHantu has threatened and begged for returning Subreddit control to his account in [violation](https://reddit.com/r/redditrequest/wiki/top_mod_removal) of Reddit rules:
> Retaliation from any moderator with regards to removal requests is disallowed. > Retaliation from any moderator with regards to removal requests is disallowed.
For a community with many thousands of remaining subscribers, we feel that it would be incredibly disrespectful to return control of that massive platform to the person who abandoned it for over a year, and who now operates a website that we feel provides very low-quality information. Preserving the years of past discussions in that community is more important to us, and thus u/trai_dep and the rest of the subreddit moderation team has made the decision to keep r/privacytoolsIO as-is. For a community with many thousands of remaining subscribers, we feel that it would be incredibly disrespectful to return control of that massive platform to the person who abandoned it for over a year, and who now operates a website that we feel provides very low-quality information. Preserving the years of past discussions in that community is more important to us, and thus u/trai_dep and the rest of the Subreddit moderation team has made the decision to keep r/privacytoolsIO as-is.
## OpenCollective Now ## OpenCollective Now
@@ -1,12 +1,11 @@
--- ---
title: Privacy Guides Services
description: We run a number of web services to test out features and promote cool decentralized, federated, and/or open-source projects. description: We run a number of web services to test out features and promote cool decentralized, federated, and/or open-source projects.
--- ---
# Privacy Guides Services
We run a number of web services to test out features and promote cool decentralized, federated, and/or open-source projects. Many of these services are available to the public and are detailed below. We run a number of web services to test out features and promote cool decentralized, federated, and/or open-source projects. Many of these services are available to the public and are detailed below.
[:material-comment-alert: Report an issue](https://discuss.privacyguides.net/c/services/2){ class="md-button md-button--primary" } [Report an issue](https://discuss.privacyguides.net/c/services/2){ .md-button .md-button--primary }
## Discourse ## Discourse
Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

@@ -5,11 +5,11 @@ description: We self-host Umami to create a nice visualization of our traffic st
<!-- markdownlint-disable MD051 --> <!-- markdownlint-disable MD051 -->
We self-host [Umami](https://umami.is) to create a nice visualization of our traffic statistics, which are public at the link below. We self-host [Umami](https://umami.is) to create a nice visualization of our traffic statistics, which are public at the link below.
[View Statistics](https://stats.privacyguides.net/share/nVWjyd2QfgOPBhMF/www.privacyguides.org){ .md-button .md-button--primary } [View Statistics](https://stats.triplebit.net/share/S80jBc50hxr5TquS/www.privacyguides.org){ .md-button .md-button--primary }
With this process: With this process:
- Your information is never shared with a third-party, it stays on servers we control - Your information is never shared with a third party, it stays on servers we control
- Your personal data is never saved, we only collect data in aggregate - Your personal data is never saved, we only collect data in aggregate
- No client-side JavaScript is used - No client-side JavaScript is used
+33
View File
@@ -0,0 +1,33 @@
---
title: "Privacy Activism"
meta_title: "Guides and Tools for Privacy Activists"
description: Privacy Guides' Activism section contains tools to support the community in its privacy advocacy and activism effort, both for individuals and organizations.
hide:
- toc
- footer
cover: banner-activism.webp
breadcrumbs: false
cascade:
type: docs
---
The **Guides and Tools for Privacy Activists** project from [*Privacy Guides*](../about/) offers a new way to empower the digital rights community.
This section contains information to help you become a better defender of privacy rights, both for individuals and organizations.
## We must fight for privacy rights collectively
Fighting to improve our privacy cannot *only* be a matter of individual protections.
When [regulations keep attacking](https://www.privacyguides.org/articles/2025/09/08/chat-control-must-be-stopped/) the tools and services we rely on to protect our personal information, when corporations [exploit our data](../wiki/basics/common-threats/index.md#surveillance-as-a-business-model) more aggressively every day, and when platforms exponentially [erode online pseudonymity](https://www.privacyguides.org/articles/2025/10/15/real-name-policies/), we must broaden our reach to fight for our rights.
==For privacy to become a valued and respected human right, we must work together== to defend privacy rights as a community.
This section will progressively grow with more tools to support the community in its privacy advocacy and activism effort. The Privacy Activist Toolbox and the DPA Directory are the first parts of this new development.
<div class="toolbox-button-grid" markdown>
[:fontawesome-solid-toolbox:{ .toolbox-button-icon } Privacy Activist Toolbox](toolbox/_index.md){ .toolbox-button .toolbox-bg }
[:fontawesome-solid-address-card:{ .toolbox-button-icon } DPA Directory](legal/dpa-directory/){ .toolbox-button .dpadirectory-bg }
</div>
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

File diff suppressed because it is too large Load Diff
+4
View File
@@ -0,0 +1,4 @@
hide:
- toc
social:
cards_layout: toolbox
+459
View File
@@ -0,0 +1,459 @@
---
title: "Privacy Activist Toolbox"
description: The Privacy Activist Toolbox is a unique resource with tips for anyone interested in becoming a better privacy rights activist, or anyone who wants to start.
hide:
- feedback
cover: banner-activism-toolbox.webp
---
The **Privacy Activist Toolbox** is a resource for anyone interested in becoming a better privacy rights activist, or anyone who wants to start advocating for privacy rights.
This page is also a resource to help digital rights organizations that would like to expand their work focusing on privacy.
:material-cursor-default-click: By clicking on any of the tips listed on this page, you can access more information on each topic, as well as additional resources to support your advocacy.
---
## Toolbox Compartments
<div class="toolbox-button-grid" markdown>
[:fontawesome-solid-scale-balanced:{ .toolbox-button-icon } Check<br>Your Laws](#check-your-laws){ .toolbox-button .toolbox-bg-legal }
[:fontawesome-solid-toolbox:{ .toolbox-button-icon } Choose<br>Your Tools](#choose-your-tools){ .toolbox-button .toolbox-bg-tools }
[:fontawesome-solid-users-rays:{ .toolbox-button-icon } Expand Your<br>Perspective](#expand-your-perspective){ .toolbox-button .toolbox-bg-perspective }
[:fontawesome-solid-hands-holding-circle:{ .toolbox-button-icon } Support The<br>Community](#support-the-community){ .toolbox-button .toolbox-bg-community }
[:fontawesome-solid-handshake-angle:{ .toolbox-button-icon } Build<br>Alliances](#build-alliances){ .toolbox-button .toolbox-bg-alliances }
[:fontawesome-solid-heart-circle-check:{ .toolbox-button-icon } Make It<br>Accessible](#make-it-accessible){ .toolbox-button .toolbox-bg-accessibility }
[:fontawesome-solid-star:{ .toolbox-button-icon } Uphold<br>Integrity](#uphold-integrity){ .toolbox-button .toolbox-bg-integrity }
[:fontawesome-solid-heart:{ .toolbox-button-icon } Stay<br>Persistent](#stay-persistent){ .toolbox-button .toolbox-bg-persistence }
[:fontawesome-solid-hand-fist:{ .toolbox-button-icon } Take<br>Action!](#take-action){ .toolbox-button .toolbox-bg-action }
</div>
---
## Check Your Laws
<a href="tip-know-your-privacy-laws/">
<div class="toolbox-tip-card toolbox-border-legal" markdown>
### 1. Know your privacy laws
![Scale icon](./icons/icon-tips/icon-tips-laws.webp){class="toolbox-tip-icon"}
Being well-informed about the data protection regulations in your own jurisdiction can be a significant asset for your personal and collective battles to improve privacy, for yourself and for others. Learn more about what to look for when researching your local privacy laws.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-report-privacy-violations">
<div class="toolbox-tip-card toolbox-border-legal" markdown>
### 2. Report privacy violations
![Gavel icon](./icons/icon-tips/icon-tips-report.webp){class="toolbox-tip-icon"}
Once you become informed on your local privacy laws, get familiar with the process to report violations. Submitting an official complaint is often simple, and can have a significant impact for yourself and your community. Learn more about why and how you should report violations of your local privacy laws.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
## Choose Your Tools
<a href="tip-beware-of-privacy-snake-oil">
<div class="toolbox-tip-card toolbox-border-tools" markdown>
### 1. Beware of privacy snake oil
![Poison symbol icon](./icons/icon-tips/icon-tips-snakeoil.webp){class="toolbox-tip-icon"}
In your privacy advocacy, it's essential to use and recommend tools that reliably protect privacy. For this, you need to investigate and remain highly skeptical of any dangerous or unproven marketing claims. Learn more about how to evaluate privacy claims and recommend tools that are trustworthy.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-migrate-outside-the-surveillance-ecosystem">
<div class="toolbox-tip-card toolbox-border-tools" markdown>
### 2. Migrate outside the surveillance ecosystem
![Arrow pointing out of a square icon](./icons/icon-tips/icon-tips-migrate.webp){class="toolbox-tip-icon"}
As privacy activists, it's important to not only support the tools and organizations with good privacy practices, but to also lead by example when it comes to moving away from the surveillance ecosystem. Learn more about why and how to move away from "Big Tech" and embrace alternatives.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-improve-your-social-media-and-build-resilient-communities">
<div class="toolbox-tip-card toolbox-border-tools" markdown>
### 3. Improve your social media and build resilient communities
![Octagon icon](./icons/icon-tips/icon-tips-plant.webp){class="toolbox-tip-icon"}
Commercial social media platforms represent one of the biggest sources of data exploitation. By staying active on these platforms we continue to feed the beast, and indirectly support their invasion of our privacy rights. Learn more about how to minimize your presence there, and slowly build better social networks.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
## Expand Your Perspective
<a href="tip-dont-stop-at-individual-solutions">
<div class="toolbox-tip-card toolbox-border-perspective" markdown>
### 1. Don't stop at individual solutions, consider the collective impact
![People with radiating lines icon](./icons/icon-tips/icon-tips-expand.webp){class="toolbox-tip-icon"}
When we think about our privacy, we often focus on the technical tools we can use. While this is indeed an important component, it's crucial not to lose sight of how regulations and invasive practices impact us collectively. Learn more about how to expand your perspective on data privacy.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-keep-in-mind-the-whole-landscape">
<div class="toolbox-tip-card toolbox-border-perspective" markdown>
### 2. Keep in mind the whole landscape
![Globe icon](./icons/icon-tips/icon-tips-landscape.webp){class="toolbox-tip-icon"}
Privacy isn't just about the tools, the laws, or the practices of any individual or organization. To move our society in a place where everyone benefits from privacy by default, we must consider technologies, laws, and culture holistically. Learn more about remembering to consider the whole landscape.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-consider-everyones-unique-situation">
<div class="toolbox-tip-card toolbox-border-perspective" markdown>
### 3. Consider everyone's unique situation
![People with line over and under icon](./icons/icon-tips/icon-tips-everyone.webp){class="toolbox-tip-icon"}
Everyone has different needs and faces different dangers when their personal data is exposed. To give actionable privacy advice and recommendations, it's essential to keep in mind everyone's unique situation. Learn more about better evaluating each person's threat model.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
## Support The Community
<a href="tip-lift-your-allies-up">
<div class="toolbox-tip-card toolbox-border-community" markdown>
### 1. Lift your allies up
![Two hands icon](./icons/icon-tips/icon-tips-lift.webp){class="toolbox-tip-icon"}
At times, it might feel like the privacy community is niche and isolated. The battle for privacy rights is difficult, and its defenders are often scattered. This is why it's essential that we support and uplift each other at every opportunity. Learn more about how to lift your allies up and grow the movement.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-support-your-privacy-comrades">
<div class="toolbox-tip-card toolbox-border-community" markdown>
### 2. Support your privacy comrades
![Hand holding a heart icon](./icons/icon-tips/icon-tips-support.webp){class="toolbox-tip-icon"}
Fighting for privacy rights is a collective endeavor. You cannot do it alone. Anyone around you contributing is fighting the same battle by your side. This battle can be difficult and isolating at time. This is why it's critical to care for each other. Learn more about how you can support your privacy comrades.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div></a>
<a href="tip-be-kind-to-people-but-be-relentless-with-institutions">
<div class="toolbox-tip-card toolbox-border-community" markdown>
### 3. Be kind to people, but be relentless with institutions
![Two hands holding a sphere icon](./icons/icon-tips/icon-tips-kind.webp){class="toolbox-tip-icon"}
Kindness is essential for privacy advocates. To grow our movement, we must meet people from a place of camaraderie. People don't change their mind by being berated. However, this isn't true for institutions. Learn more about how to integrate kindness in your work, while being relentless with institutions.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
## Build Alliances
<a href="tip-start-alliances-not-wars">
<div class="toolbox-tip-card toolbox-border-alliances" markdown>
### 1. Start alliances, not wars
![handshake icon](./icons/icon-tips/icon-tips-alliances.webp){class="toolbox-tip-icon"}
The privacy community consists of a patchwork of individuals and organizations that sometimes hold quite different views. When these divergences lead to infighting, we need to ask how these internal wars are impacting our community negatively. Learn more about how to start alliances instead of wars.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-value-allies-with-complementary-expertise">
<div class="toolbox-tip-card toolbox-border-alliances" markdown>
### 2. Value allies with expertise complementary to yours
![Sphere with half dark half light icon](./icons/icon-tips/icon-tips-complement.webp){class="toolbox-tip-icon"}
In privacy, like everywhere else, diversity is a strength. If you want your community to have a broad understanding of threat models, and be able to fight on multiple levels, you need to value a diversity of expertises. Learn more about recognizing, respecting, and retaining experts with skills different to yours.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-give-credit-where-credit-is-due">
<div class="toolbox-tip-card toolbox-border-alliances" markdown>
### 3. Give credit where credit is due
![Thumbs up icon](./icons/icon-tips/icon-tips-credit.webp){class="toolbox-tip-icon"}
To succeed, we must support each other. A good way to do this is to never forget to give credit where credit is due. When another advocate or organization says something you agree with, boost them up, spread their reach, and thank them publicly. Learn more about making your allies feel seen and valued.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
## Make It Accessible
<a href="tip-welcome-beginners">
<div class="toolbox-tip-card toolbox-border-accessibility" markdown>
### 1. Welcome beginners
![Person with plus sign icon](./icons/icon-tips/icon-tips-beginner.webp){class="toolbox-tip-icon"}
For our privacy rights movement to grow, we must bring more people in. To accomplish this, it's fundamental to discuss privacy in ways that are accessible to newcomers who aren't familiar with basic concepts yet. Learn more about improving your advocacy work to make it more approachable to beginners.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-keep-your-posts-and-community-inclusive">
<div class="toolbox-tip-card toolbox-border-accessibility" markdown>
### 2. Keep your posts and community inclusive
![Heart with plus sign icon](./icons/icon-tips/icon-tips-inclusivity.webp){class="toolbox-tip-icon"}
Inclusivity is not only the right thing to do, it's also essential to grow our movement. If we want privacy rights to succeed, it's imperative that we build communities where *everyone* feels safe and welcomed, regardless of who they are. Learn more about keeping your communications and communities inclusive.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-be-mindful-of-accessibility">
<div class="toolbox-tip-card toolbox-border-accessibility" markdown>
### 3. Be mindful of accessibility
![Heart with checkmark icon](./icons/icon-tips/icon-tips-accessibility.webp){class="toolbox-tip-icon"}
Accessibility is indispensable to inclusivity, and should always be a priority in our work. To make our privacy communities welcoming to all, accessibility cannot be an afterthought. We must integrate it in our practice from the start. Learn more about improving the accessibility of your privacy work.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-make-it-cute">
<div class="toolbox-tip-card toolbox-border-accessibility" markdown>
### 4. Make it cute
![Cat icon](./icons/icon-tips/icon-tips-cute.webp){class="toolbox-tip-icon"}
If you are developing a privacy-focused application or website, do not neglect the design aspect of it. This is a common mistake that can have a significant negative impact on adoption by a general audience. Learn more about making your design appealing and accessible to all. Make it cute!
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
## Uphold Integrity
<a href="tip-refuse-to-participate">
<div class="toolbox-tip-card toolbox-border-integrity" markdown>
### 1. Refuse to participate
![Circle with x icon](./icons/icon-tips/icon-tips-refuse.webp){class="toolbox-tip-icon"}
As privacy advocates and activists, it's important to be a voice for resistance and take a stand against abusive practices. One substantial way to do this is to refuse to participate in privacy-intrusive requests, or use invasive software. Learn more about refusing to comply with privacy-abusive practices.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-stay-true-to-your-principles">
<div class="toolbox-tip-card toolbox-border-integrity" markdown>
### 2. Stay true to your principles
![Star icon](./icons/icon-tips/icon-tips-principles.webp){class="toolbox-tip-icon"}
If you manage a digital rights group or organization, make sure you aren't subjecting your contributors to the very privacy-invasive tech you're fighting against. Sadly, it's not rare to see communities that aren't following their own advice for internal practices. Learn more about the importance of maintaining integrity *internally* as well as externally.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-protect-your-allies">
<div class="toolbox-tip-card toolbox-border-integrity" markdown>
### 3. Protect your allies
![Shield with heart icon](./icons/icon-tips/icon-tips-protect.webp){class="toolbox-tip-icon"}
Through your privacy work, be careful to never collect or share the data of others without their explicit consent. It's crucial to protect your allies' data in all that you do, whether that's individual action or organizational leadership. Learn more about safeguarding the data of your privacy comrades.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
## Stay Persistent
<a href="tip-small-actions-matter">
<div class="toolbox-tip-card toolbox-border-persistence" markdown>
### 1. Small actions matter
![Puzzle piece icon](./icons/icon-tips/icon-tips-small.webp){class="toolbox-tip-icon"}
There is so much to do in the movement for better privacy rights. So much, that it's sometimes easy to feel discouraged when facing the scale of what's left to accomplish. But everything helps, and even the smallest action counts. Learn more about why every action and every victory matters, no matter how small.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-take-time-to-rest">
<div class="toolbox-tip-card toolbox-border-persistence" markdown>
### 2. Take time to rest, but come back to fight with us
![Low battery icon](./icons/icon-tips/icon-tips-rest.webp){class="toolbox-tip-icon"}
The battle for privacy rights will be a long one. This isn't a sprint, it's a marathon. If you want to be a good advocate, you *must* take the time to rest when needed. Burning out isn't an option, we cannot afford to lose your precious contribution! Learn more about why it's fundamental to learn to rest when you need it.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
## Take Action!
<a href="tip-engage-boosts-and-contribute">
<div class="toolbox-tip-card toolbox-border-action" markdown>
### 1. Engage, boost, and contribute
![Megaphone icon](./icons/icon-tips/icon-tips-engage.webp){class="toolbox-tip-icon"}
Once you have the knowledge, motivation, and energy, it's time to act! Perhaps you've read all of these tips, or read through our Knowledge Base already! But you don't need to know that much about privacy to start contributing. Learn more about how to start being a privacy activist.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<a href="tip-level-up-assemble-and-organize">
<div class="toolbox-tip-card toolbox-border-action" markdown>
### 2. Level up! Assemble and organize
![Raised fist icon](./icons/icon-tips/icon-tips-organize.webp){class="toolbox-tip-icon"}
If you've been a privacy advocate for a while, maybe it's time to level up and grow as a leader in your community. Becoming a leader can mean starting a local group, or initiating bigger projects online. Learn more about how to become a *good* leader in the privacy rights movement.
Learn More :material-arrow-right-drop-circle:
{align=right}
</div>
</a>
<button class="toolbox-button-top">[Back to top :material-toolbox:](#toolbox-compartments)</button>
<br>
Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Some files were not shown because too many files have changed in this diff Show More