1
0
mirror of https://github.com/privacyguides/privacyguides.org.git synced 2025-10-29 10:36:33 +00:00

Compare commits

..

148 Commits

Author SHA1 Message Date
11c7a199fc Add license info for some blog images 2025-08-12 03:13:42 -05:00
7f3839630f refactor: Add license information to files (#3093) 2025-08-12 02:09:37 -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
ca89bd940a update(video)!: Secureblue review 2025-07-25 19:38:52 -05:00
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
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
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
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
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
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
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
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
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
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
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
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
c88f242150 update(blog): Include statement from the Tor Project 2025-05-03 15:03:05 -05:00
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
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
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
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
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
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
7276848802 update!: Remove Canary Mail (#2999) 2025-04-14 23:52:06 +02:00
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
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
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
7cd2a723e3 update(blog): Add disclaimer now that it is April 2nd 2025-04-01 19:17:36 -05:00
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
2703d46614 update(blog)!: Privacy-Respecting European Tech Alternatives (#2967) 2025-03-19 15:29:55 -05:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
567c184389 build: Add mkdocs-minify-html-plugin and upgrade dependencies (#2924) 2025-03-05 15:57:06 -06:00
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
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
d000e6d116 ci: Update workflow actions (#2915) 2025-03-03 17:58:50 -06:00
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
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
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
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
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
536 changed files with 14647 additions and 4017 deletions

View File

@@ -250,6 +250,45 @@
"ideas"
]
},
{
"login": "jordan-warne",
"name": "jordan warne",
"avatar_url": "https://avatars.githubusercontent.com/u/154663344?v=4",
"profile": "https://jordanwarne.net/",
"contributions": [
"doc",
"video",
"research",
"ideas",
"question",
"promotion"
]
},
{
"login": "EmAtPrivacyGuides",
"name": "Em",
"avatar_url": "https://avatars.githubusercontent.com/u/194856901?v=4",
"profile": "https://github.com/EmAtPrivacyGuides",
"contributions": [
"blog",
"promotion",
"ideas"
]
},
{
"login": "kpham42",
"name": "Kevin Pham",
"avatar_url": "https://avatars.githubusercontent.com/u/123699355?v=4",
"profile": "https://github.com/kpham42",
"contributions": [
"blog",
"promotion",
"question",
"research",
"ideas",
"doc"
]
},
{
"login": "actions",
"name": "GitHub Actions",
@@ -460,7 +499,8 @@
"avatar_url": "https://avatars.githubusercontent.com/u/47955724?v=4",
"profile": "https://github.com/taivlam",
"contributions": [
"doc"
"doc",
"maintenance"
]
},
{
@@ -1954,15 +1994,6 @@
"doc"
]
},
{
"login": "aghorler",
"name": "Aaron Horler",
"avatar_url": "https://avatars.githubusercontent.com/u/13065365?v=4",
"profile": "https://aaronhorler.com/",
"contributions": [
"doc"
]
},
{
"login": "Commenter25",
"name": "Commenter",
@@ -2766,15 +2797,6 @@
"translation"
]
},
{
"login": "jordan-warne",
"name": "jordan warne",
"avatar_url": "https://avatars.githubusercontent.com/u/154663344?v=4",
"profile": "https://jordanwarne.net/",
"contributions": [
"doc"
]
},
{
"login": "dzenan",
"name": "Dženan",
@@ -2985,6 +3007,117 @@
"promotion",
"question"
]
},
{
"login": "Spirizer",
"name": "Spirizer",
"avatar_url": "https://avatars.githubusercontent.com/u/51120100?v=4",
"profile": "https://github.com/Spirizer",
"contributions": [
"translation"
]
},
{
"login": "jordbm",
"name": "jordbm",
"avatar_url": "https://avatars.githubusercontent.com/u/160433264?v=4",
"profile": "https://github.com/jordbm",
"contributions": [
"doc",
"maintenance",
"security"
]
},
{
"login": "austinhuang0131",
"name": "Austin Huang",
"avatar_url": "https://avatars.githubusercontent.com/u/16656689?v=4",
"profile": "https://austinhuang.me/",
"contributions": [
"doc",
"question"
]
},
{
"login": "WardPearce",
"name": "Ward",
"avatar_url": "https://avatars.githubusercontent.com/u/27844174?v=4",
"profile": "https://github.com/WardPearce",
"contributions": [
"doc"
]
},
{
"login": "oilmaint",
"name": "oilmaint",
"avatar_url": "https://avatars.githubusercontent.com/u/79659024?v=4",
"profile": "https://github.com/oilmaint",
"contributions": [
"doc"
]
},
{
"login": "headdirt",
"name": "headdirt",
"avatar_url": "https://avatars.githubusercontent.com/u/37009392?v=4",
"profile": "https://github.com/headdirt",
"contributions": [
"doc"
]
},
{
"login": "qmcree",
"name": "Quentin McRee",
"avatar_url": "https://avatars.githubusercontent.com/u/7796024?v=4",
"profile": "https://github.com/qmcree",
"contributions": [
"doc"
]
},
{
"login": "sv3nnie",
"name": "Sven",
"avatar_url": "https://avatars.githubusercontent.com/u/67653224?v=4",
"profile": "https://github.com/sv3nnie",
"contributions": [
"doc"
]
},
{
"login": "tomhonour",
"name": "Tom Honour",
"avatar_url": "https://avatars.githubusercontent.com/u/132141431?v=4",
"profile": "https://git.sr.ht/~tomhonour/",
"contributions": [
"doc"
]
},
{
"login": "brog-io",
"name": "Brogio",
"avatar_url": "https://avatars.githubusercontent.com/u/141176104?v=4",
"profile": "https://brog.io/",
"contributions": [
"doc"
]
},
{
"login": "nathany",
"name": "Nathan Youngman",
"avatar_url": "https://avatars.githubusercontent.com/u/4566?v=4",
"profile": "https://nathany.com/",
"contributions": [
"doc"
]
},
{
"login": "blanchardjeremy",
"name": "Jeremy",
"avatar_url": "https://avatars.githubusercontent.com/u/32290?v=4",
"profile": "https://github.com/blanchardjeremy",
"contributions": [
"doc"
]
}
],
"contributorsPerLine": 5,

10
.devcontainer/Caddyfile Normal file
View File

@@ -0,0 +1,10 @@
# SPDX-FileCopyrightText: 2025 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
:1337 {
reverse_proxy /articles/* http://127.0.0.1:8001
reverse_proxy /videos/* http://127.0.0.1:8002
reverse_proxy /en/* http://127.0.0.1:8000
redir / /en/
}

View File

@@ -1,8 +1,139 @@
// 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
// SPDX-FileCopyrightText: 2025 Jonah Aragon <jonah@privacyguides.org>
//
// SPDX-License-Identifier: MIT
// For format details, see https://aka.ms/devcontainer.json.
{
"name": "Privacy Guides",
"image": "ghcr.io/squidfunk/mkdocs-material:9.5.17",
"forwardPorts": [8000],
"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"
"name": "Privacy Guides",
"image": "ghcr.io/privacyguides/privacyguides.org:sha-55c050b",
// "build": {
// "dockerfile": "../Dockerfile",
// "context": ".."
// },
"overrideCommand": true,
"portsAttributes": {
"1337": {
"label": "Website Live Preview",
"onAutoForward": "notify"
},
"8000": {
"label": "Main",
"onAutoForward": "silent"
},
"8001": {
"label": "Articles",
"onAutoForward": "silent"
},
"8002": {
"label": "Videos",
"onAutoForward": "silent"
}
},
"otherPortsAttributes": {
"onAutoForward": "ignore"
},
"mounts": [
"source=${env:HOME}${env:USERPROFILE}/.config,target=/root/.config,type=bind"
],
"updateContentCommand": "git submodule update --init theme/assets/brand",
"customizations": {
"vscode": {
"settings": {
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "Articles",
"type": "shell",
"command": "mkdocs serve --config-file=mkdocs.blog.yml --dev-addr=localhost:8001",
"group": "test",
"runOptions": {
"runOn": "folderOpen"
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group": "Live server"
}
},
{
"label": "Videos",
"type": "shell",
"command": "mkdocs serve --config-file=mkdocs.videos.yml --dev-addr=localhost:8002",
"group": "test",
"runOptions": {
"runOn": "folderOpen"
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group": "Live server"
}
},
{
"label": "Main",
"type": "shell",
"command": "./run.sh --cmd=mkdocs --insiders --production",
"group": "test",
"runOptions": {
"runOn": "folderOpen"
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group": "Live server",
"focus": true
}
},
{
"label": "Caddy",
"type": "shell",
"command": "caddy run --config .devcontainer/Caddyfile",
"group": "test",
"runOptions": {
"runOn": "folderOpen"
},
"presentation": {
"reveal": "never",
"panel": "dedicated"
}
}
]
}
},
"extensions": [
"EditorConfig.EditorConfig",
"DavidAnson.vscode-markdownlint",
"wholroyd.jinja",
"mikestead.dotenv",
"redhat.vscode-yaml",
"ecmel.vscode-html-css",
"yzhang.markdown-all-in-one",
"bierner.markdown-checkbox",
"bierner.markdown-emoji",
"bierner.markdown-footnotes",
"bierner.markdown-preview-github-styles",
"esbenp.prettier-vscode",
"ltex-plus.vscode-ltex-plus",
"ms-python.python",
"github.vscode-github-actions",
"matthewpi.caddyfile-support",
"ms-vsliveshare.vsliveshare"
]
},
"codespaces": {
"repositories": {
"privacyguides/mkdocs-material-insiders": {
"permissions": {
"content": "read"
}
},
"privacyguides/brand": {
"permissions": {
"content": "read"
}
}
}
}
}
}

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"
}

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC-BY-SA-4.0
# EditorConfig is awesome: https://EditorConfig.org

22
.gitattributes vendored
View File

@@ -1,22 +1,6 @@
# Copyright (c) 2020-2023 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.
# SPDX-FileCopyrightText: 2020 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC-BY-SA-4.0
# Auto detect text files and perform LF normalization
* text=auto

4
.github/CODEOWNERS vendored
View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2019 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
# Org
/docs/about/ @jonaharagon

View File

@@ -1,22 +1,6 @@
# Copyright (c) 2023 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.
# SPDX-FileCopyrightText: 2023 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC0-1.0
name: "Content Correction"
description: Report any inaccurate, incorrect, or outdated information on the website.

View File

@@ -1,22 +1,6 @@
# Copyright (c) 2023 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.
# SPDX-FileCopyrightText: 2023 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC0-1.0
name: "Website Issue"
description: Report a bug with the website.

View File

@@ -1,22 +1,6 @@
# Copyright (c) 2020-2023 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.
# SPDX-FileCopyrightText: 2020 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC0-1.0
blank_issues_enabled: false
contact_links:

View File

@@ -0,0 +1,4 @@
SPDX-FileCopyrightText: 2017 Contributors to Privacy Guides <https://www.privacyguides.org>
SPDX-FileCopyrightText: 2020 Jonah Aragon <jonah@privacyguides.org>
SPDX-License-Identifier: MIT OR CC0-1.0

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 🛠️ Build Blog
on:
@@ -82,6 +86,18 @@ jobs:
pip install mkdocs-material mkdocs-rss-plugin mkdocs-glightbox mkdocs-macros-plugin
sudo apt install pngquant
- name: Set base navigation URLs for production build
if: inputs.context == 'production'
run: |
{
echo "MAIN_SITE_BASE_URL=https://www.privacyguides.org/en/"
echo "MAIN_SITE_ABOUT_URL=https://www.privacyguides.org/en/about/"
echo "MAIN_SITE_RECOMMENDATIONS_URL=https://www.privacyguides.org/en/tools/"
echo "MAIN_SITE_KNOWLEDGE_BASE_URL=https://www.privacyguides.org/en/basics/why-privacy-matters/"
echo "ARTICLES_SITE_BASE_URL=https://www.privacyguides.org/articles/"
echo "VIDEOS_SITE_BASE_URL=https://www.privacyguides.org/videos/"
} >> "$GITHUB_ENV"
- name: Build Website (Privileged)
if: inputs.privileged
run: |

View File

@@ -1,9 +1,11 @@
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: ☁️ Build Container
# Configures this workflow to run every time a change is pushed to the branch called `release`.
# Configures this workflow to run every release.
on:
push:
branches: ["main"]
release:
types: [published]
workflow_dispatch:
@@ -75,6 +77,12 @@ jobs:
flavor: |
latest=${{ github.event_name == 'release' }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# 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.
@@ -85,6 +93,9 @@ jobs:
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max
cleanup:
if: ${{ always() }}

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 🛠️ Build PR Preview
on:
@@ -72,6 +76,8 @@ jobs:
continue-on-error: false
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
strict: true
secrets:
RO_DISCOURSE_API_KEY: ${{ secrets.RO_DISCOURSE_API_KEY }}
build_i18n:
if: ${{ contains(github.event.pull_request.labels.*.name, 'ci:build i18n') }}

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2025 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 🛠️ Build Videos
on:
@@ -82,6 +86,18 @@ jobs:
pip install mkdocs-material mkdocs-rss-plugin mkdocs-glightbox mkdocs-macros-plugin
sudo apt install pngquant
- name: Set base navigation URLs for production build
if: inputs.context == 'production'
run: |
{
echo "MAIN_SITE_BASE_URL=https://www.privacyguides.org/en/"
echo "MAIN_SITE_ABOUT_URL=https://www.privacyguides.org/en/about/"
echo "MAIN_SITE_RECOMMENDATIONS_URL=https://www.privacyguides.org/en/tools/"
echo "MAIN_SITE_KNOWLEDGE_BASE_URL=https://www.privacyguides.org/en/basics/why-privacy-matters/"
echo "ARTICLES_SITE_BASE_URL=https://www.privacyguides.org/articles/"
echo "VIDEOS_SITE_BASE_URL=https://www.privacyguides.org/videos/"
} >> "$GITHUB_ENV"
- name: Build Website (Privileged)
if: inputs.privileged
run: |

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2021 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 🛠️ Build Website
on:
@@ -30,6 +34,9 @@ on:
cache:
type: boolean
default: true
secrets:
RO_DISCOURSE_API_KEY:
required: false
permissions:
contents: read
@@ -54,6 +61,18 @@ jobs:
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --production""
} >> "$GITHUB_ENV"
- name: Set base navigation URLs for production build
if: inputs.context == 'production'
run: |
{
echo "MAIN_SITE_BASE_URL=https://www.privacyguides.org/en/"
echo "MAIN_SITE_ABOUT_URL=https://www.privacyguides.org/en/about/"
echo "MAIN_SITE_RECOMMENDATIONS_URL=https://www.privacyguides.org/en/tools/"
echo "MAIN_SITE_KNOWLEDGE_BASE_URL=https://www.privacyguides.org/en/basics/why-privacy-matters/"
echo "ARTICLES_SITE_BASE_URL=https://www.privacyguides.org/articles/"
echo "VIDEOS_SITE_BASE_URL=https://www.privacyguides.org/videos/"
} >> "$GITHUB_ENV"
- name: Set Metadata for Privileged Builds
if: inputs.privileged
run: |
@@ -120,7 +139,7 @@ jobs:
uses: actions/setup-python@v5
- name: Restore Privacy Plugin Cache
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4
id: privacy_cache_restore
if: inputs.cache
with:
@@ -133,7 +152,7 @@ jobs:
privacy-cache-
- name: Restore Social Plugin Cache
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4
id: social_cache_restore
if: inputs.cache
with:
@@ -146,7 +165,7 @@ jobs:
social-cache-privacyguides/privacyguides.org-${{ inputs.lang }}-
- name: Restore Optimize Plugin Cache
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4
id: optimize_cache_restore
if: inputs.cache
with:
@@ -172,23 +191,31 @@ jobs:
sudo apt install pngquant
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --cmd=mkdocs"" >> "$GITHUB_ENV"
- name: Generate Donating Members List
continue-on-error: true
env:
DISCOURSE_API_KEY: ${{ secrets.RO_DISCOURSE_API_KEY }}
run: |
pip install requests
python generate-members.py > includes/members.md
- name: Build Website
run: |
eval ./run.sh --build --lang=${{ inputs.lang }} "$EXTRA_FLAGS"
- name: Run index-generation.sh for top posts
- name: Run generate-topics.sh for top posts
if: inputs.lang == 'en'
run: |
bash index-generation.sh \
bash generate-topics.sh \
--source='https://discuss.privacyguides.net/top.json?period=weekly' \
--tag="top posts" \
--destination="./site/en/index.html" \
--count=3
- name: Run index-generation.sh for latest posts
- name: Run generate-topics.sh for latest posts
if: inputs.lang == 'en'
run: |
bash index-generation.sh \
bash generate-topics.sh \
--source='https://discuss.privacyguides.net/latest.json' \
--tag="latest posts" \
--destination="./site/en/index.html" \
@@ -199,7 +226,7 @@ jobs:
tar -czf site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz site
- name: Find Privacy Plugin Cache
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4
if: steps.privacy_cache_restore.outputs.cache-hit != 'true' && inputs.cache
id: privacy_cache_test
with:
@@ -209,7 +236,7 @@ jobs:
.cache/plugin/privacy
- name: Find Social Plugin Cache
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4
if: steps.social_cache_restore.outputs.cache-hit != 'true' && inputs.cache
id: social_cache_test
with:
@@ -220,7 +247,7 @@ jobs:
.cache/plugin/social/assets
- name: Find Optimize Plugin Cache
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4
if: steps.optimize_cache_restore.outputs.cache-hit != 'true' && inputs.cache
id: optimize_cache_test
with:
@@ -230,14 +257,14 @@ jobs:
.cache/plugin/optimize
- name: Save Privacy Plugin Cache
uses: actions/cache/save@v4.0.2
uses: actions/cache/save@v4
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
uses: actions/cache/save@v4
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') }}
@@ -246,7 +273,7 @@ jobs:
.cache/plugin/social/assets
- name: Save Optimize Plugin Cache
uses: actions/cache/save@v4.0.2
uses: actions/cache/save@v4
if: steps.optimize_cache_test.outputs.cache-hit != 'true' && inputs.cache
with:
key: optimize-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/optimize/manifest.json') }}
@@ -259,6 +286,14 @@ jobs:
path: site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz
retention-days: 1
- name: Upload members list
uses: actions/upload-artifact@v4
if: inputs.config == 'build' && inputs.lang == 'en'
with:
name: members.md
path: includes/members.md
retention-days: 1
offline_package:
if: inputs.config == 'offline' && inputs.lang == 'en'
needs: build

View File

@@ -1,22 +1,6 @@
# Copyright (c) 2021-2025 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.
# SPDX-FileCopyrightText: 2021 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 📦 Immediate Releases
@@ -59,6 +43,7 @@ jobs:
repo: ${{ github.repository }}
ref: ${{ github.ref }}
continue-on-error: false
context: production
build_videos:
needs: submodule
@@ -69,6 +54,7 @@ jobs:
repo: ${{ github.repository }}
ref: ${{ github.ref }}
continue-on-error: false
context: production
deploy:
needs: [build_blog, build_videos]

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2022 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 🪞 Push to Mirrors

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 📦 PR Preview
on:

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2021 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 📦 Release
@@ -63,6 +47,8 @@ jobs:
context: production
continue-on-error: false
cache: false
secrets:
RO_DISCOURSE_API_KEY: ${{ secrets.RO_DISCOURSE_API_KEY }}
build_blog:
needs: submodule
@@ -73,6 +59,7 @@ jobs:
repo: ${{ github.repository }}
ref: ${{ github.ref }}
continue-on-error: false
context: production
build_videos:
needs: submodule
@@ -83,6 +70,7 @@ jobs:
repo: ${{ github.repository }}
ref: ${{ github.ref }}
continue-on-error: false
context: production
release:
name: Create release notes

16
.github/workflows/reuse.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
name: 📋 REUSE Compliance Check
permissions:
contents: read
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v4

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 📦 Manual Test Build

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 🤖 Linting

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 🔄 Update Discussions
@@ -55,17 +39,17 @@ jobs:
source: /en/index.html
target: ./site/en/
- name: Run index-generation.sh for top posts
- name: Run generate-topics.sh for top posts
run: |
bash index-generation.sh \
bash generate-topics.sh \
--source='https://discuss.privacyguides.net/top.json?period=weekly' \
--tag="top posts" \
--destination="./site/en/index.html" \
--count=3
- name: Run index-generation.sh for latest posts
- name: Run generate-topics.sh for latest posts
run: |
bash index-generation.sh \
bash generate-topics.sh \
--source='https://discuss.privacyguides.net/latest.json' \
--tag="latest posts" \
--destination="./site/en/index.html" \

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2022 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
name: 💬 Crowdin Upload

7
.gitignore vendored
View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2019 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC-BY-SA-4.0
site
/i18n/
/includes/*.*.*
@@ -23,3 +27,6 @@ node_modules
.venv
.env
.mkdocs-insiders-*
# Automatically generated
includes/members.md

2
.gitmodules vendored
View File

@@ -3,4 +3,4 @@
url = https://github.com/privacyguides/brand.git
[submodule "modules/mkdocs-material"]
path = modules/mkdocs-material
url = git@github.com:privacyguides/mkdocs-material-insiders.git
url = https://github.com/privacyguides/mkdocs-material-insiders.git

View File

@@ -1,16 +1,22 @@
# 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> <48640805+dngray@users.noreply.github.com>
Daniel Gray <dngray@privacyguides.org> <dngray@privacytools.io>
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@privacytools.io>
Jonah Aragon <jonah@privacyguides.org> <github@aragon.science>
mfwmyfacewhen <mfw@privacyguides.org> <94880365+mfwmyfacewhen@users.noreply.github.com>
mbananasynergy <mbananasynergy@privacyguides.org> <>
mbananasynergy <mbananasynergy@privacyguides.org> <107055883+matchboxbananasynergy@users.noreply.github.com>
rollsicecream <rollsicecream@proton.me> <153316540+rollsicecream@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>
Jordan Warne <jordan@privacyguides.org> <jw@omg.lol>
Justin Ehrenhofer <justin.ehrenhofer@gmail.com> <12520755+SamsungGalaxyPlayer@users.noreply.github.com>
Mare Polaris <ph00lt0@privacyguides.org> <15004290+ph00lt0@users.noreply.github.com>
Niek de Wilde <niek@privacyguides.org> <github.ef27z@simplelogin.com>
Niek de Wilde <niek@privacyguides.org> <blacklight447@privacytools.io>
redoomed1 <redoomed1@privacyguides.org> <161974310+redoomed1@users.noreply.github.com>

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2022 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC-BY-SA-4.0
default: true
line-length: false
@@ -27,5 +11,6 @@ code-block-style: false
no-hard-tabs: true
emphasis-style:
style: "asterisk"
no-duplicate-header: false
no-trailing-punctuation: false
no-duplicate-heading:
siblings_only: true

View File

@@ -1,22 +1,6 @@
// 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.
// SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
//
// SPDX-License-Identifier: MIT
{
"recommendations": [
@@ -26,6 +10,16 @@
"mikestead.dotenv",
"redhat.vscode-yaml",
"ecmel.vscode-html-css",
"yzhang.markdown-all-in-one"
"yzhang.markdown-all-in-one",
"bierner.markdown-checkbox",
"bierner.markdown-emoji",
"bierner.markdown-footnotes",
"bierner.markdown-preview-github-styles",
"esbenp.prettier-vscode",
"ltex-plus.vscode-ltex-plus",
"ms-python.python",
"github.vscode-github-actions",
"ms-vscode-remote.remote-containers",
"github.codespaces"
]
}

View File

@@ -5,3 +5,567 @@ TODO
MotionScore
GaitMetrics
Bayometric
eSIM
microSD
Cellebrite
GrapheneOS
Gboard
IMEs
Briar
Meshtastic
Gizmodo
Wickr
Gizmodo
Arel
CryptPad
itemprop
md-button
XWiki
CryptDrive
scrypt
Anytype
PeerTube
Startpage
PrivacyTools
FedResults
Brøgger
EasyOptOuts
Optery
DeleteMe
PeopleConnect
dFPI
Arkenfox
LocalCDN
fingerprintable
NeatURLs
ClearURLs
Bromite
GeckoView
Thorin-Oakenpants
customizability
DoH
DNSCrypt
eSNI
Mullvad
CalyxOS
microG
DejaVu
DroidGuard
NewPipe
WebView
linux-hardened
malloc
Malloc
ASLR
Grindr
USCCB
USCCB-owned
de-anonymize
MkDocs
privacyguides
balenaEtcher
img
thumbsup
KeePassXC
OnionShare
Exif
ExifTool
zsh
ImageOptim
SendTo
Handoff
Jailbreaking
Flatpaks
ChromeOS
Flatseal
dbus
XWayland
filesystem
Firejail
Whonix
seccomp
AppArmor
MicroOS
setuid
Bubblewrap
Krathalan
noatsecure
Seirdy
Podman
Kata
Wonderfall
Vaultwarden
LinuxServer
io
daemonless
gVisor
syscalls
Portmaster
OpenSnitch
firewalld
Netfilter
bypassable
sysctl
KickSecure
fepitre
QubesOS
COPR
GRSecurity
Kicksecure
umask
SUID
Umask
Qubes-Whonix
USBGuard
initramfs
dracut
BadUSB
chronyd
swdate
sysfs
cgroups
MathML
WebAuthn
BlockBlock
HELLOTUX
Véliz
Poitras
Anonym
ISRG
Orbot
Qubes
publicinterest
Warne
Pham
material-youtube
OpenCollective
Monero
CoinJoin
Banxa
@proton
CashApp
Samouri
Coinjoin
USDC
Stablecoins
stablecoins
IWAs
IWA
Beens
Techlore
whitehouse
ShredOS
del
OMEMO
reglock
nofollow
SecureDrop
Cwtch
OTF
SimpleX
noyb
darknet
Surfshark
ExpressVPN
PerfectPrivacy
IPVanish
CyberGhost
ibVPN
SurfShark
VPNArea
ThatOnePrivacySite
fluffily
Huxleyan
MPRs
INVISV
QUIC
Fastly
OHTTP
Appelbaum
md-button--primary
Niek
openpgp
material-github
Tweakers
fontawesome-brands-creative-commons
fontawesome-brands-creative-commons-by
fontawesome-brands-creative-commons-sa
Attribution-ShareAlike
ChatGPT
LLMs
OLMoE
MMLU-Pro
OpenLLM
GGUF
Llamafile
Ollama
cpp
fontawesome-brands-windows
simple-linux
LLaVA
fontawesome-solid-desktop
llamafiles
simple-torbrowser
simple-googleplay
eepsites
simple-firefoxbrowser
simple-googlechrome
fontawesome-brands-edge
scriptlet
Adguard
simple-appstore
Tuta
simple-flathub
Flathub
Cryptomator
Securitum
Tresorit
Computest
Peergos
InterPlanetary
IPFS
DocumentsProvider
Modmail
CipherTrace
Monero-only
Monerujo
CEX
RetoSwap
Haveno-Reto
Haveno
Guardarian
BeenVerified
CheckPeople
ClustrMaps
Dataveria
InfoTracer
PeekYou
PublicDataUSA
Radaris
USPhonebook
Whitepages
Grauer
simple-github
ExifEraser
permissionless
Accrescent
ExtendedXMP
IPTC
NoScript
cryptominers
non-proxied
Solana
PipeWire
Btrfs
openQA
NixOS
Toolbx
Nixpkgs
ProxyVM
deanonymized
qubes
Xen
pg-viridian
qube
KingsPawn
sysdiagnose
iMazing
keystore
Cleartext
DoT
DoQ
eu
NextDNS
RethinkDNS
dnscrypt-proxy
anycast
geo-steering
QNAME
PII
SimpleLogin
twemoji
addy
material-apple-ios
@addy
ProxyStore
@username
backported
FairEmail
Kontact
Mailvelope
NeoMutt
WKD
BitPay
paydirekt
Sofortüberweisung
YubiCloud
@mailbox
@secure
ActiveSync
non-Tuta
SOGo
Mailcow
OpenSMTPD
Rspamd
Mbox
JMAP
Hardenize
Subresource
cryptolib
cryptofs
siv-mode
cryptolib-swift
cryptomator-objc-cryptor
Picocrypt
VeraCrypt
TrueCrypt
cryptoprocessor
non-Bitlocker
FileVault
FDE
udiskie
Polkit
Kryptor
Minisign
Intevation
OpenKeychain
ffsend
FreedomBox
Syncthing
simple-freebsd
MySudo
Coincards
Redlib
ProxiTok
Yattee
eepsite
proxying
LibreTube
FramaTube
IVPN
Cromite
Adblock
EasyList
fontawesome-solid-ellipsis
adblock
LineageOS
NitroPhone
Nitrokey
Ente
Akregator
NewsFlash
Inoreader
Miniflux
NetNewsWire
Newsboat
Newsbeuter
Notesnook
Cryptee
Psono
KeePassX
KeePassDX
gopass
Pastebins
PrivateBin
ZeroBin
pastebin
pastebins
Stingle
PhotoPrism
UnifiedPush
simple-fdroid
Mollysocket
Olm
util-linux
uClibc
BusyBox
OPNsense
Netgate
pfSense
SearXNG
SearX
Yubico
PIV-compatibile
CCID
PIV
HOTP
YubiKeys
Nitrokeys
Obtainium
deanonymization
VpnService
torrenting
AntiTracker
VMess
DAITA
deanonymize
OTPs
SafetyNet
IDEMIA
backport
Silverblue
Šamalík
PKGBUILDs
PPAs
Linux-libre
Libre
ConfinedUsers
ZRAM
Linux-libre-based
Spectre
SWAPGS
DEs
NetworkManager
systemd-networkd
rpm-ostree-countme
countme
Hackintoshes
OCSP
XProtect
appVM
inter-qube
AppVM
vchan
qrexec
Qube
sys-net
sys-firewall
sys-proxyvm
sys-whonix
anon-whonix
ProxyVMs
NetVM
Rutkowska
AutoRun
PINs
OnTheHub
DevContainers
fullwidth
Fullwidth
OptiPNG
cwebp
Keyring
JustDeleteMe
NotPetya
EternalBlue
Technopolice
Datalogix
Cryptoprocessor
TPMs
Pluton
Buskill
BusKill
diceware
Diceware
geo-restrictions
ECH
dVPNs
dVPN
Pseudonymity
@Thorin-Oakenpants
DocumentsUI
CameraX
AFWall
AdAway
TrackerControl
loopback
Aptoide
APKPure
simple-gitlab
IzzyOnDroid
Gadgetbridge
tshark
systemd
systemd-resolved
EDNS
Chainalysis
BadExit
HSDir
deanonymizing
WebTunnel
Computerphile
namazso
HelloTux
wordmark
Bagnard
sublicensees
BurungHantu
privacytoolsIO
privacytools
trai
PrivacyGuides
@dngray
simple-youtube
simple-peertube
simple-bluesky
dngray
bsky
@freddy
Memoji
QuickType
Freeform
subprocessors
Schrems
Subprocessor
Subprocessors
Triplebit
Fediverse
Safing
YubiHSM
ykman
material-linux
yubico
material-microsoft-windows
HSMauth
PUK
TDES
ModHex
OATH-TOTPs
OATH-HOTP
OATH-HOTPs
MODHEX
HMAC-based
subkeys
subkey
keysize
Keygrip
tessera
Corbató
NordPass
Syncable
fontawesome-solid-glasses
CommonHealth
Euki
sympto-thermal
OsmAnd
Paaster
material-check-decagram
Bluesky
Codeberg
simple-codeberg
simple-reddit
fontawesome-brands-linkedin
simple-keepassxc
OnlyKey
fontawesome-solid-unlock-keyhole
KeeShare
KeePassium
MWEB
Cyd
Semiphemeral
Dangerzone
simple-activitypub
ActivityPub
pseudorandom
Chaum
unlinkability
Kagi
Secureblue
pseudonymity
TrueNAS
Arti
Tailscale
allowlisted
MyMonero
Monero-LWS
OkCupid

View File

@@ -1 +0,0 @@
COMMA_PARENTHESIS_WHITESPACE

View File

@@ -6,3 +6,75 @@
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QImage Credit: clockit.io\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QExample of finger minutiae including forks (where one line splits into multiple lines), ends (where a line ends), islands (isolated dots), and inclosures (lines that split into two and then reconnect)\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIllustration: Jonah Aragon / Privacy Guides | Photo: Jair Lázaro / Unsplash\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIllustration: Jonah Aragon / Privacy Guides | Photo: Koshu Kunii / Unsplash\\E$"}
{"rule":"COMMA_COMPOUND_SENTENCE","sentence":"^\\QYou should also make sure your mobile plan is topped up and you have enough mobile data prior to the event.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QA good rule of thumb is that unless a post from GrapheneOS is specifically talking about GrapheneOS-specific, privacy-related functionality and not about other projects/software/etc., it is probably off-topic here.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIn an interview with Gizmodo, Christopher Soghoian, Principal Technologist and Senior Policy Analyst at the American Civil Liberties Union said that, \"There are many Telegram users who think they are communicating in an end-to-end encrypted way, when they're not because they don't realize that they have to turn on an additional setting,\" he continued to say that while he's happy they offer the encryption, it's not useful if it's turned off.\\E$"}
{"rule":"ALL_MOST_SOME_OF_NOUN","sentence":"^\\QOpen source may be the most used phrase in all of privacy and security, and for good reason.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIllustration: Jordan Warne / Privacy Guides | Photo: Christin Hume / Unsplash\\E$"}
{"rule":"EN_UNPAIRED_BRACKETS","sentence":"^\\QIf you need to erase this history for safety but keep the document, you can go to \"File\" > \"Make a copy\", then go back to the original document with the history you need to erase, click on \"Access\", then \"Destroy\", then click again on \"Are you sure?\".\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QWe reached out to System1 CEO Ian Weingarten for an explanation.\\E$"}
{"rule":"IF_THERE","sentence":"^\\QIn an interview with TechCrunch, Wire CEO Morten Brøgger said of privacy laws: “We are in Switzerland, which has the best privacy laws in the world” — it's subject to Europe's General Data Protection Regulation framework (GDPR) on top of its own local laws — “and Wire now belongs to a new group holding, but there no change in control.” sic\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\Qadvancedbackgroundchecks.com :white_check_mark: Removed :white_check_mark: Removed\nbeenverified.com :white_check_mark: Removed :warning: Found\ncheckpeople.com :white_check_mark: Removed :white_check_mark: Removed\nclustrmaps.com :white_check_mark: Removed :white_check_mark: Removed\ndataveria.com :white_check_mark: Removed :white_check_mark: Removed\ngladiknow.com :white_check_mark: Removed :white_check_mark: Removed\ninfotracer.com :white_check_mark: Removed :warning: Found\nintelius.com* :warning: Found :warning: Found\npeekyou.com* :warning: Found :warning: Found\npublicdatausa.com^1 :white_check_mark: Removed :white_check_mark: Removed\nradaris.com :white_check_mark: Removed :white_check_mark: Removed\nspokeo.com :white_check_mark: Removed ::white_check_mark: Removed\nthatsthem.com :white_check_mark: Removed :white_check_mark: Removed\nusphonebook.com :white_check_mark: Removed :white_check_mark: Removed\nspyfly.com :white_check_mark: Removed :white_check_mark: Removed\nRemaining Results 13% 23%\\E$"}
{"rule":"WHITESPACE_RULE","sentence":"^\\QPerson A Person B\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QCalyxOS uses the default AOSP Scudo Malloc, which is generally less effective.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIllustration: Jonah Aragon / Privacy Guides | Photo: Aleksander Dumała / Pexels\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QDisable the option \"Anonymously report errors and usage statistics to balena.io\", then click \"OK\".\\E$"}
{"rule":"EN_UNPAIRED_BRACKETS","sentence":"^\\QThe button on the right is blue and labeled \"Flash!\".\\E$"}
{"rule":"PREPOSITION_VERB","sentence":"^\\QAdd a Receive action and set it to receive Images from Share Sheet\\E$"}
{"rule":"A_INFINITIVE","sentence":"^\\QWindows allows you to place files in a SendTo folder which then appear in the Send to context menu.\\E$"}
{"rule":"A_INFINITIVE","sentence":"^\\QRight-click a supported file and choose ExifTool.bat within the Send to context menu.\\E$"}
{"rule":"COMMA_COMPOUND_SENTENCE","sentence":"^\\QYour location data is not E2EE when your device is online and you use Find My iPhone remotely to locate your device.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QOther technologies that were disabled include WebGL, MathML, Gamepad API, Web Audio API, RTCDataChannel, and SVG Fonts.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QOnion Browser is an open-source app created by Mike Tigas, who has worked closely with Tor Project in the past and was previously an investigative journalist at ProPublica (he is currently an advisor at the FTC).\\E$"}
{"rule":"MISSING_COMMA_AFTER_INTRODUCTORY_PHRASE","sentence":"^\\QBesides leaving it blank for the default, it comes with three built-in user agent strings you can choose from, or you can enter your own.\\E$"}
{"rule":"COMMA_COMPOUND_SENTENCE_2","sentence":"^\\QStartpage CEO Robert Beens discusses the investment from Privacy One / System1\nWhat is Startpage's relationship with Privacy One/System1 and what does this mean for my privacy protections?\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QSelect :material-dots-vertical: > Settings > Privacy\n Turn off Show Calls in Recents\\E$"}
{"rule":"COMMA_COMPOUND_SENTENCE","sentence":"^\\QWhile this change makes sense from the perspective of making it so you cannot \"hold a number hostage\" as long as you keep checking in, it is particularly important for people who've used disposable phone numbers to know this.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QPhoto: ev / Unsplash\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QEnter the-company formerly-known-as-Facebook's rival to the birdsite: Threads.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QThreads' naffness won't stop its success.\\E$"}
{"rule":"EXTREME_ADJECTIVES","sentence":"^\\QIt feels really good.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QSam is an elearning designer and privacy advocate interested in free (libre) software and how it can protect civil liberties.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QThis article was originally published on my personal blog at samhowell.uk, on February 15th, 2019.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\Q:japanese_goblin:{ .lg .middle } Kevin Pham\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\Q2022: ISO/IEC 27001:2013^1 Compliance Certification by TÜV Rheinland InterCert Kft\n2021: Penetration Testing by Computest\nThis review assessed the security of the Tresorit web client, Android app, Windows app, and associated infrastructure.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\Q2022: ISO/IEC 27001:2013^1 Compliance Certification by TÜV Rheinland InterCert Kft\n2021: Penetration Testing by Computest\nThis review assessed the security of the Tresorit web client, Android app, Windows app, and associated infrastructure.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QFirefox sends data about your Firefox version and language; device operating system and hardware configuration; memory, basic information about crashes and errors; outcome of automated processes like updates, safebrowsing, and activation to us.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QNewPipe is a free and open-source Android application for YouTube, SoundCloud, media.ccc.de, Bandcamp, and PeerTube (1).\\E$"}
{"rule":"ADD_AN_ADDITIONAL","sentence":"^\\QThis setting adds an additional Adblock Plus list that may increase the effectiveness of Cromite's content blocking.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QUncheck the autoupdate setting\\E$"}
{"rule":"CLEAN_UP","sentence":"^\\QIf your device supports it, you can use the Clean Up feature to pixelate faces or remove objects from images.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QTurn off AutoPlay: Enabled\nDisallow Autoplay for nonvolume devices: Enabled\nSet the default behavior for AutoRun: Enabled\nDefault AutoRun Behavior: Do not execute any AutoRun commands\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QLorem ipsum dolor sit amet, consectetur adipiscing elit.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QNulla et euismod nulla.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QCurabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QThe name of the Subreddit is r/PrivacyGuides or the Privacy Guides Subreddit.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QTurn off Remove the XML declaration\nx Turn on Remove metadata\nx Turn on Remove comments\nx Turn on Embedded raster images\nx Turn on Enable viewboxing\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QSource: plainlanguage.gov\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QKathy McGinty offers tongue-in-cheek instructions for bulking up your simple, direct sentences:\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIn France, you can take a look at the Technopolice website maintained by the non-profit association La Quadrature du Net.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QFIDO (Fast IDentity Online)\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QThe entropy per word in a diceware passphrase is calculated as log 2 ( WordsInList )\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QTo calculate the amount of possible passphrases, all we have to do is WordsInList WordsInPhrase\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QThey ultimately paid two companies (Chainalysis and Integra Fec) a combined $1.25 million to further develop tools to do so.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QWe also especially thank our dedicated community moderation team on Matrix and our forum: Austin Huang, namazso, hik, riley, and Valynor.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QPortions of this notice itself were adopted from opensource.guide on GitHub.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\Qr/redditrequest is Reddit's way of making sure communities have active moderators and is part of the Moderator Code of Conduct.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIf 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.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIf 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.\\E$"}
{"rule":"IN_OR_WITH_REGARDS_TO_OF","sentence":"^\\QRetaliation from any moderator with regards to removal requests is disallowed.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QPhoto: Dimmis Vart / Unsplash\\E$"}
{"rule":"SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA","sentence":"^\\QFurther develop an individual story or line of coverage.\\E$"}
{"rule":"DOUBLE_PUNCTUATION","sentence":"^\\QOur readership is entitled to as much information as possible in order to judge the reliability of our sources themselves..\\E$"}
{"rule":"DOUBLE_PUNCTUATION","sentence":"^\\QOur contributors should always question the motives behind a source requesting anonymity..\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIllustration: Em / Privacy Guides | Photo: Edward Eyer / Pexels\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QOn February 7th this year, Joseph Menn reported from the Washington Post that officials in the United Kingdom had contacted Apple to demand the company allows them to access data from any iCloud user worldwide.\\E$"}
{"rule":"DO_VBZ","sentence":"^\\QDoes Privacy Guides sell my personal information?\\E$"}
{"rule":"DO_VBZ","sentence":"^\\QDoes Privacy Guides use personal information for marketing purposes?\\E$"}
{"rule":"DO_VBZ","sentence":"^\\QWhere does Privacy Guides store data about me?\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QPrivacy Guides relies on the European Commission's standard contractual clauses for international transfers(SCCs) to legally transfer personal data out of the European Economic Area.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QIllustration: Jordan / Privacy Guides | Photo: Gowtham AGM / Unsplash\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QThunder was used specifically because it was difficult for Germans to pronounce, since the English \"th\" sound doesn't exist in German.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QAllan Scherr, a Ph.D. researcher at MIT, wanted more time for his detailed simulations.\\E$"}
{"rule":"MORFOLOGIK_RULE_EN_US","sentence":"^\\QYou can test out passkeys at webauthn.io.\\E$"}

85
.vscode/settings.json vendored
View File

@@ -1,28 +1,13 @@
// 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.
// SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
//
// SPDX-License-Identifier: MIT
{
"git.ignoreLimitWarning": true,
"ltex.diagnosticSeverity": {
"COMMA_COMPOUND_SENTENCE": "error",
"MORFOLOGIK_RULE_EN_US": "information",
"COMMA_COMPOUND_SENTENCE": "information",
"COMMA_COMPOUND_SENTENCE_2": "information",
"MORFOLOGIK_RULE_EN_US": "warning",
"HE_VERB_AGR": "hint",
"WHETHER": "hint",
"MAKE_SINCE": "information",
@@ -30,7 +15,63 @@
"EN_COMPOUNDS": "warning",
"ADMIT_ENJOY_VB": "hint",
"ABOUT_WHO_TO": "warning",
"default": "hint"
"MISSING_GENITIVE": "hint",
"ENGLISH_WORD_REPEAT_BEGINNING_RULE": "hint",
"EN_UNPAIRED_BRACKETS": "warning",
"MISSING_ARTICLE": "warning",
"SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA": "warning",
"CONDITIONAL_CLAUSE": "hint",
"DAMAGE_OF_TO": "hint",
"ETC_PERIOD": "warning",
"WHITESPACE_RULE": "hint",
"UPPERCASE_SENTENCE_START": "hint",
"LARGE_NUMBER_OF": "information",
"ENGLISH_WORD_REPEAT_RULE": "hint",
"SOME_OF_THE": "hint",
"IF_OF": "warning",
"THE_JJR_THE_MORE_COMMA": "warning",
"POSSESSIVE_APOSTROPHE": "hint",
"BY_DEFAULT_COMMA": "warning",
"ADVERB_WORD_ORDER": "hint",
"E_G": "warning",
"YOUR_RE": "warning",
"TOR_FOR": "hint",
"COMMA_PARENTHESIS_WHITESPACE": "hint",
"AGREEMENT_SENT_START": "hint",
"SETUP_VERB": "warning",
"MD_NO_VB": "warning",
"CLICK_HYPHEN": "information",
"NON3PRS_VERB": "hint",
"SENTENCE_WHITESPACE": "hint",
"BE_TO_VBG": "warning",
"I_NOT_JJ": "warning",
"PROFANITY": "hint",
"AD_ADD": "hint",
"THE_SUPERLATIVE": "hint",
"PLURAL_VERB_AFTER_THIS": "hint",
"LC_AFTER_PERIOD": "hint",
"PREPOSITION_VERB": "hint",
"OTHER_OTHERS": "hint",
"ON_THE_NOVEL": "hint",
"OUTSIDE_OF": "warning",
"UNLIKELY_OPENING_PUNCTUATION": "hint",
"SMALL_NUMBER_OF": "hint",
"A_UNCOUNTABLE": "information",
"AFFORD_VB": "hint",
"AN_INVITE": "hint",
"HAVE_PART_AGREEMENT": "hint",
"PHRASE_REPETITION": "hint",
"THIS_NNS_VB": "hint",
"NNS_IN_NNP_VBZ": "hint",
"APPLE_PRODUCTS": "warning",
"OVER_TIME": "hint",
"IN_THE_MOMENT": "hint",
"ARROWS": "hint",
"AUXILIARY_DO_WITH_INCORRECT_VERB_FORM": "hint",
"MISSING_COMMA_AFTER_YEAR": "hint",
"DO_VBZ": "hint",
"NOUN_AROUND_IT": "hint",
"default": "error"
},
"editor.unicodeHighlight.ambiguousCharacters": true,
"editor.unicodeHighlight.invisibleCharacters": true,

View File

@@ -1,22 +1,6 @@
# 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.
# SPDX-FileCopyrightText: 2022 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC-BY-SA-4.0
cff-version: 1.2.0
title: Privacy Guides

View File

@@ -1,72 +1,88 @@
FROM python:3.13-alpine as base
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT
FROM python:3.12-slim-bookworm 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
# Setup environment
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONFAULTHANDLER=1
####################################################
# Stage: python-deps
# Install pipenv and compilation dependencies
####################################################
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 pipenv
RUN pip install --no-cache-dir pipenv
# Install python dependencies in /.venv
# Install build tools and libraries needed to compile any Python packages
RUN apt-get update && \
apt-get install -y --no-install-recommends \
gcc \
libffi-dev \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# Copy Pipfile, Pipfile.lock, and any local modules needed for dependency resolution
COPY modules/mkdocs-material ./modules/mkdocs-material
COPY Pipfile .
COPY Pipfile.lock .
RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
# Install all Python dependencies into a projectlocal virtual environment at /.venv
RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy --dev
####################################################
# Stage: nodejs-deps
# Install nodejs/npm and compilation dependencies
####################################################
FROM node:24-bookworm-slim AS nodejs-deps
RUN npm i -g all-contributors-cli
RUN npm install -g pkg
RUN cd /usr/local/lib/node_modules/all-contributors-cli && \
pkg dist/cli.js -t node18-linux -o /usr/local/bin/all-contributors-cli
####################################################
# Stage: runtime
# Install runtime dependencies and copy runtime artifacts
####################################################
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
# Install runtime packages (GTK/Cairo, image processing libraries, Git, etc.)
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libcairo2-dev \
libfreetype6-dev \
git \
libjpeg-dev \
libpng-dev \
openssh-client \
pngquant \
tini \
zlib1g-dev \
libffi-dev \
bash \
caddy \
&& rm -rf /var/lib/apt/lists/*
# Copy virtual env from python-deps stage
# Copy virtual environment and local mkdocs-material module from python-deps stage
COPY --from=python-deps /.venv /.venv
COPY --from=python-deps /modules/mkdocs-material /modules/mkdocs-material
# Copy all-contributors-cli from nodejs-deps stage
COPY --from=nodejs-deps /usr/local/bin/all-contributors-cli /usr/local/bin/all-contributors-cli
# Ensure the virtual environments bin directory is first in PATH
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"]
# Entry point script and default cmd for running mkdocs
ENTRYPOINT ["/bin/bash"]

427
LICENSE
View File

@@ -1,427 +0,0 @@
Attribution-ShareAlike 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution-ShareAlike 4.0 International Public
License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-ShareAlike 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
e. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
i. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
k. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. Additional offer from the Licensor -- Adapted Material.
Every recipient of Adapted Material from You
automatically receives an offer from the Licensor to
exercise the Licensed Rights in the Adapted Material
under the conditions of the Adapter's License You apply.
c. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share
Adapted Material You produce, the following conditions also apply.
1. The Adapter's License You apply must be a Creative Commons
license with the same License Elements, this version or
later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms
or conditions on, or apply any Effective Technological
Measures to, Adapted Material that restrict exercise of the
rights granted under the Adapter's License You apply.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material,
including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public licenses.
Notwithstanding, Creative Commons may elect to apply one of its public
licenses to material it publishes and in those instances will be
considered the “Licensor.” The text of the Creative Commons public
licenses is dedicated to the public domain under the CC0 Public Domain
Dedication. Except for the limited purpose of indicating that material
is shared under a Creative Commons public license or as otherwise
permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the public
licenses.
Creative Commons may be contacted at creativecommons.org.

View File

@@ -1,22 +0,0 @@
MIT License
Copyright (c) 2019 - 2024 Jonah Aragon <jonah@triplebit.net>
Copyright (c) 2020 - 2024 Privacy Guides contributors
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 NONINFRINGEMENT. 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.

170
LICENSES/CC-BY-SA-4.0.txt Normal file
View File

@@ -0,0 +1,170 @@
Creative Commons Attribution-ShareAlike 4.0 International
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensors permission is not necessary for any reasonfor example, because of any applicable exception or limitation to copyrightthen that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
Creative Commons Attribution-ShareAlike 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Section 1 Definitions.
a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
Section 2 Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
A. reproduce and Share the Licensed Material, in whole or in part; and
B. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
3. Term. The term of this Public License is specified in Section 6(a).
4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
5. Downstream recipients.
A. Offer from the Licensor Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
B. Additional offer from the Licensor Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapters License You apply.
C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this Public License.
3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
Section 3 License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed Material:
i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of warranties;
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
1. The Adapters License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
Section 4 Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
Section 5 Disclaimer of Warranties and Limitation of Liability.
a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
Section 6 Term and Termination.
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
2. upon express reinstatement by the Licensor.
c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
Section 8 Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.

121
LICENSES/CC0-1.0.txt Normal file
View File

@@ -0,0 +1,121 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

View File

@@ -0,0 +1,11 @@
# Fair Use or No Assertion!
We believe that the logos and other images we've obtained from third-party providers are either in the public domain or fair use.
In a nutshell, legal fair use doctrine 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 this content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.**

View File

@@ -0,0 +1,19 @@
Copyright (c) 2016-2025 Martin Donath <martin.donath@squidfunk.com>
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.

18
LICENSES/MIT.txt Normal file
View File

@@ -0,0 +1,18 @@
MIT License
Copyright (c) <year> <copyright holders>
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 NONINFRINGEMENT. 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.

21
Pipfile
View File

@@ -1,22 +1,6 @@
# Copyright (c) 2022-2024 Jonah Aragon <jonah@triplebit.net>
# SPDX-FileCopyrightText: 2022 Jonah Aragon <jonah@privacyguides.org>
#
# 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.
# SPDX-License-Identifier: MIT OR CC-BY-SA-4.0
[[source]]
url = "https://pypi.org/simple"
@@ -34,6 +18,7 @@ mkdocs-glightbox = "*"
[dev-packages]
scour = "~=0.38"
reuse = "*"
[requires]
python_version = "3.12"

772
Pipfile.lock generated
View File

@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "4707be3ca5e170a9f90dc4dc36c99880bdc9d78df9387779096f23246a63ee0a"
"sha256": "57110d51ec1806b11961bf3e99a82ae5d84c99c7b092ff4a37273a68a09f3fd6"
},
"pipfile-spec": 6,
"requires": {
@@ -18,22 +18,34 @@
"default": {
"babel": {
"hashes": [
"sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b",
"sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"
"sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d",
"sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"
],
"markers": "python_version >= '3.8'",
"version": "==2.16.0"
"version": "==2.17.0"
},
"backrefs": {
"hashes": [
"sha256:2cab642a205ce966af3dd4b38ee36009b31fa9502a35fd61d59ccc116e40a6bd",
"sha256:2e1c15e4af0e12e45c8701bd5da0902d326b2e200cafcd25e49d9f06d44bb61b",
"sha256:a66851e4533fb5b371aa0628e1fee1af05135616b86140c9d787a2ffdf4b8fdc",
"sha256:bbef7169a33811080d67cdf1538c8289f76f0942ff971222a16034da88a73486",
"sha256:c67f6638a34a5b8730812f5101376f9d41dc38c43f1fdc35cb54700f6ed4465d",
"sha256:e3a63b073867dbefd0536425f43db618578528e3896fb77be7141328642a1585"
],
"markers": "python_version >= '3.9'",
"version": "==5.8"
},
"cachecontrol": {
"extras": [
"filecache"
],
"hashes": [
"sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938",
"sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0"
"sha256:73e7efec4b06b20d9267b441c1f733664f989fb8688391b670ca812d70795d11",
"sha256:b35e44a3113f17d2a31c1e6b27b9de6d4405f84ae51baa8c1d3cc5b633010cae"
],
"markers": "python_version >= '3.7'",
"version": "==0.14.0"
"markers": "python_version >= '3.9'",
"version": "==0.14.3"
},
"cairocffi": {
"hashes": [
@@ -52,11 +64,11 @@
},
"certifi": {
"hashes": [
"sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8",
"sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"
"sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6",
"sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3"
],
"markers": "python_version >= '3.6'",
"version": "==2024.8.30"
"version": "==2025.4.26"
},
"cffi": {
"hashes": [
@@ -133,122 +145,109 @@
},
"charset-normalizer": {
"hashes": [
"sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621",
"sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6",
"sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8",
"sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912",
"sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c",
"sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b",
"sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d",
"sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d",
"sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95",
"sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e",
"sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565",
"sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64",
"sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab",
"sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be",
"sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e",
"sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907",
"sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0",
"sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2",
"sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62",
"sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62",
"sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23",
"sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc",
"sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284",
"sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca",
"sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455",
"sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858",
"sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b",
"sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594",
"sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc",
"sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db",
"sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b",
"sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea",
"sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6",
"sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920",
"sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749",
"sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7",
"sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd",
"sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99",
"sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242",
"sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee",
"sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129",
"sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2",
"sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51",
"sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee",
"sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8",
"sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b",
"sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613",
"sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742",
"sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe",
"sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3",
"sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5",
"sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631",
"sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7",
"sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15",
"sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c",
"sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea",
"sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417",
"sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250",
"sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88",
"sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca",
"sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa",
"sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99",
"sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149",
"sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41",
"sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574",
"sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0",
"sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f",
"sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d",
"sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654",
"sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3",
"sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19",
"sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90",
"sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578",
"sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9",
"sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1",
"sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51",
"sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719",
"sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236",
"sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a",
"sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c",
"sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade",
"sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944",
"sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc",
"sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6",
"sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6",
"sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27",
"sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6",
"sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2",
"sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12",
"sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf",
"sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114",
"sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7",
"sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf",
"sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d",
"sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b",
"sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed",
"sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03",
"sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4",
"sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67",
"sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365",
"sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a",
"sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748",
"sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b",
"sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079",
"sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"
"sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4",
"sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45",
"sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7",
"sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0",
"sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7",
"sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d",
"sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d",
"sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0",
"sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184",
"sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db",
"sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b",
"sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64",
"sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b",
"sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8",
"sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff",
"sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344",
"sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58",
"sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e",
"sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471",
"sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148",
"sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a",
"sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836",
"sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e",
"sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63",
"sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c",
"sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1",
"sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01",
"sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366",
"sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58",
"sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5",
"sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c",
"sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2",
"sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a",
"sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597",
"sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b",
"sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5",
"sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb",
"sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f",
"sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0",
"sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941",
"sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0",
"sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86",
"sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7",
"sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7",
"sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455",
"sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6",
"sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4",
"sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0",
"sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3",
"sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1",
"sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6",
"sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981",
"sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c",
"sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980",
"sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645",
"sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7",
"sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12",
"sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa",
"sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd",
"sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef",
"sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f",
"sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2",
"sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d",
"sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5",
"sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02",
"sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3",
"sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd",
"sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e",
"sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214",
"sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd",
"sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a",
"sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c",
"sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681",
"sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba",
"sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f",
"sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a",
"sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28",
"sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691",
"sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82",
"sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a",
"sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027",
"sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7",
"sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518",
"sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf",
"sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b",
"sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9",
"sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544",
"sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da",
"sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509",
"sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f",
"sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a",
"sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f"
],
"markers": "python_full_version >= '3.7.0'",
"version": "==3.4.0"
"markers": "python_version >= '3.7'",
"version": "==3.4.2"
},
"click": {
"hashes": [
"sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
"sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
"sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202",
"sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"
],
"markers": "python_version >= '3.7'",
"version": "==8.1.7"
"markers": "python_version >= '3.10'",
"version": "==8.2.1"
},
"colorama": {
"hashes": [
@@ -260,11 +259,11 @@
},
"cssselect2": {
"hashes": [
"sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a",
"sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969"
"sha256:46fc70ebc41ced7a32cd42d58b1884d72ade23d21e5a4eaaf022401c13f0e76e",
"sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a"
],
"markers": "python_version >= '3.7'",
"version": "==0.7.0"
"markers": "python_version >= '3.9'",
"version": "==0.8.0"
},
"defusedxml": {
"hashes": [
@@ -276,10 +275,11 @@
},
"filelock": {
"hashes": [
"sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0",
"sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"
"sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2",
"sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de"
],
"version": "==3.16.1"
"markers": "python_version >= '3.9'",
"version": "==3.18.0"
},
"ghp-import": {
"hashes": [
@@ -290,19 +290,19 @@
},
"gitdb": {
"hashes": [
"sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4",
"sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"
"sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571",
"sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"
],
"markers": "python_version >= '3.7'",
"version": "==4.0.11"
"version": "==4.0.12"
},
"gitpython": {
"hashes": [
"sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c",
"sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"
"sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110",
"sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"
],
"markers": "python_version >= '3.7'",
"version": "==3.1.43"
"version": "==3.1.44"
},
"hjson": {
"hashes": [
@@ -328,19 +328,19 @@
},
"jinja2": {
"hashes": [
"sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369",
"sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"
"sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d",
"sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"
],
"markers": "python_version >= '3.7'",
"version": "==3.1.4"
"version": "==3.1.6"
},
"markdown": {
"hashes": [
"sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2",
"sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"
"sha256:794a929b79c5af141ef5ab0f2f642d0f7b1872981250230e72682346f7cc90dc",
"sha256:7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f"
],
"markers": "python_version >= '3.8'",
"version": "==3.7"
"markers": "python_version >= '3.9'",
"version": "==3.8"
},
"markupsafe": {
"hashes": [
@@ -435,21 +435,21 @@
},
"mkdocs-git-authors-plugin": {
"hashes": [
"sha256:60b291603479c765c3ca49fc4bda88a58989d9703c5e396fa1e81ae7de8a2836",
"sha256:b719fdab2199dc1633c4f69296ac66ec4adb6365ddd998409aefc87b1d2790ac"
"sha256:acdacc8452db90a94d9c395a230b16965a9f2f51e0a6eef182ac7d3e02e394fb",
"sha256:e19f0252ead3d626fd73e15bb56d6675704c3b62aa569ebc363f791291b8f60e"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==0.9.1"
"version": "==0.9.5"
},
"mkdocs-git-revision-date-localized-plugin": {
"hashes": [
"sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb",
"sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1"
"sha256:056c0a90242409148f1dc94d5c9d2c25b5b8ddd8de45489fa38f7fa7ccad2bc4",
"sha256:10a49eff1e1c3cb766e054b9d8360c904ce4fe8c33ac3f6cc083ac6459c91953"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==1.3.0"
"version": "==1.4.7"
},
"mkdocs-glightbox": {
"hashes": [
@@ -485,12 +485,12 @@
},
"mkdocs-rss-plugin": {
"hashes": [
"sha256:be66b11300f1e951d3393ce8da60ca6d730108f731434cc256670b3b8e0cffb3",
"sha256:f0e275c933be69a77ee7af92256d88e2969e10c36c5ee1ecdb663a4ea4aa08ea"
"sha256:0a5b3e03dd68cc6b94feb50fc2e47fd427d39c452affe0fc3135289da9810a6d",
"sha256:15b99c6b3370f50503fe189e814600b375e5a0d8f99d19f6d8d9b80c1aa56f5c"
],
"index": "pypi",
"markers": "python_version >= '3.9' and python_version < '4'",
"version": "==1.16.0"
"version": "==1.17.3"
},
"msgpack": {
"hashes": [
@@ -564,11 +564,11 @@
},
"packaging": {
"hashes": [
"sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002",
"sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"
"sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484",
"sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"
],
"markers": "python_version >= '3.8'",
"version": "==24.1"
"version": "==25.0"
},
"paginate": {
"hashes": [
@@ -672,11 +672,11 @@
},
"platformdirs": {
"hashes": [
"sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907",
"sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"
"sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc",
"sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"
],
"markers": "python_version >= '3.8'",
"version": "==4.3.6"
"markers": "python_version >= '3.9'",
"version": "==4.3.8"
},
"pycparser": {
"hashes": [
@@ -688,35 +688,34 @@
},
"pygments": {
"hashes": [
"sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199",
"sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"
"sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f",
"sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"
],
"markers": "python_version >= '3.8'",
"version": "==2.18.0"
"version": "==2.19.1"
},
"pymdown-extensions": {
"hashes": [
"sha256:41cdde0a77290e480cf53892f5c5e50921a7ee3e5cd60ba91bf19837b33badcf",
"sha256:bc8847ecc9e784a098efd35e20cba772bc5a1b529dfcef9dc1972db9021a1049"
"sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9",
"sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b"
],
"markers": "python_version >= '3.8'",
"version": "==10.11.2"
"version": "==10.14.3"
},
"python-dateutil": {
"hashes": [
"sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3",
"sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==2.9.0.post0"
},
"pytz": {
"hashes": [
"sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a",
"sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"
"sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3",
"sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"
],
"markers": "python_version < '3.9'",
"version": "==2024.2"
"version": "==2025.2"
},
"pyyaml": {
"hashes": [
@@ -779,111 +778,11 @@
},
"pyyaml-env-tag": {
"hashes": [
"sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb",
"sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"
"sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04",
"sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff"
],
"markers": "python_version >= '3.6'",
"version": "==0.1"
},
"regex": {
"hashes": [
"sha256:01c2acb51f8a7d6494c8c5eafe3d8e06d76563d8a8a4643b37e9b2dd8a2ff623",
"sha256:02087ea0a03b4af1ed6ebab2c54d7118127fee8d71b26398e8e4b05b78963199",
"sha256:040562757795eeea356394a7fb13076ad4f99d3c62ab0f8bdfb21f99a1f85664",
"sha256:042c55879cfeb21a8adacc84ea347721d3d83a159da6acdf1116859e2427c43f",
"sha256:079400a8269544b955ffa9e31f186f01d96829110a3bf79dc338e9910f794fca",
"sha256:07f45f287469039ffc2c53caf6803cd506eb5f5f637f1d4acb37a738f71dd066",
"sha256:09d77559e80dcc9d24570da3745ab859a9cf91953062e4ab126ba9d5993688ca",
"sha256:0cbff728659ce4bbf4c30b2a1be040faafaa9eca6ecde40aaff86f7889f4ab39",
"sha256:0e12c481ad92d129c78f13a2a3662317e46ee7ef96c94fd332e1c29131875b7d",
"sha256:0ea51dcc0835eea2ea31d66456210a4e01a076d820e9039b04ae8d17ac11dee6",
"sha256:0ffbcf9221e04502fc35e54d1ce9567541979c3fdfb93d2c554f0ca583a19b35",
"sha256:1494fa8725c285a81d01dc8c06b55287a1ee5e0e382d8413adc0a9197aac6408",
"sha256:16e13a7929791ac1216afde26f712802e3df7bf0360b32e4914dca3ab8baeea5",
"sha256:18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a",
"sha256:18e707ce6c92d7282dfce370cd205098384b8ee21544e7cb29b8aab955b66fa9",
"sha256:220e92a30b426daf23bb67a7962900ed4613589bab80382be09b48896d211e92",
"sha256:23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766",
"sha256:23f9985c8784e544d53fc2930fc1ac1a7319f5d5332d228437acc9f418f2f168",
"sha256:297f54910247508e6e5cae669f2bc308985c60540a4edd1c77203ef19bfa63ca",
"sha256:2b08fce89fbd45664d3df6ad93e554b6c16933ffa9d55cb7e01182baaf971508",
"sha256:2cce2449e5927a0bf084d346da6cd5eb016b2beca10d0013ab50e3c226ffc0df",
"sha256:313ea15e5ff2a8cbbad96ccef6be638393041b0a7863183c2d31e0c6116688cf",
"sha256:323c1f04be6b2968944d730e5c2091c8c89767903ecaa135203eec4565ed2b2b",
"sha256:35f4a6f96aa6cb3f2f7247027b07b15a374f0d5b912c0001418d1d55024d5cb4",
"sha256:3b37fa423beefa44919e009745ccbf353d8c981516e807995b2bd11c2c77d268",
"sha256:3ce4f1185db3fbde8ed8aa223fc9620f276c58de8b0d4f8cc86fd1360829edb6",
"sha256:46989629904bad940bbec2106528140a218b4a36bb3042d8406980be1941429c",
"sha256:4838e24ee015101d9f901988001038f7f0d90dc0c3b115541a1365fb439add62",
"sha256:49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231",
"sha256:4db21ece84dfeefc5d8a3863f101995de646c6cb0536952c321a2650aa202c36",
"sha256:54c4a097b8bc5bb0dfc83ae498061d53ad7b5762e00f4adaa23bee22b012e6ba",
"sha256:54d9ff35d4515debf14bc27f1e3b38bfc453eff3220f5bce159642fa762fe5d4",
"sha256:55b96e7ce3a69a8449a66984c268062fbaa0d8ae437b285428e12797baefce7e",
"sha256:57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822",
"sha256:587d4af3979376652010e400accc30404e6c16b7df574048ab1f581af82065e4",
"sha256:5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d",
"sha256:5ddcd9a179c0a6fa8add279a4444015acddcd7f232a49071ae57fa6e278f1f71",
"sha256:6113c008a7780792efc80f9dfe10ba0cd043cbf8dc9a76ef757850f51b4edc50",
"sha256:635a1d96665f84b292e401c3d62775851aedc31d4f8784117b3c68c4fcd4118d",
"sha256:64ce2799bd75039b480cc0360907c4fb2f50022f030bf9e7a8705b636e408fad",
"sha256:69dee6a020693d12a3cf892aba4808fe168d2a4cef368eb9bf74f5398bfd4ee8",
"sha256:6a2644a93da36c784e546de579ec1806bfd2763ef47babc1b03d765fe560c9f8",
"sha256:6b41e1adc61fa347662b09398e31ad446afadff932a24807d3ceb955ed865cc8",
"sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd",
"sha256:6edd623bae6a737f10ce853ea076f56f507fd7726bee96a41ee3d68d347e4d16",
"sha256:73d6d2f64f4d894c96626a75578b0bf7d9e56dcda8c3d037a2118fdfe9b1c664",
"sha256:7a22ccefd4db3f12b526eccb129390942fe874a3a9fdbdd24cf55773a1faab1a",
"sha256:7fb89ee5d106e4a7a51bce305ac4efb981536301895f7bdcf93ec92ae0d91c7f",
"sha256:846bc79ee753acf93aef4184c040d709940c9d001029ceb7b7a52747b80ed2dd",
"sha256:85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a",
"sha256:8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9",
"sha256:8e5fb5f77c8745a60105403a774fe2c1759b71d3e7b4ca237a5e67ad066c7199",
"sha256:98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d",
"sha256:9d4a76b96f398697fe01117093613166e6aa8195d63f1b4ec3f21ab637632963",
"sha256:9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009",
"sha256:a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a",
"sha256:a4cc92bb6db56ab0c1cbd17294e14f5e9224f0cc6521167ef388332604e92679",
"sha256:a738b937d512b30bf75995c0159c0ddf9eec0775c9d72ac0202076c72f24aa96",
"sha256:a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42",
"sha256:a906ed5e47a0ce5f04b2c981af1c9acf9e8696066900bf03b9d7879a6f679fc8",
"sha256:ae2941333154baff9838e88aa71c1d84f4438189ecc6021a12c7573728b5838e",
"sha256:b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7",
"sha256:b5b029322e6e7b94fff16cd120ab35a253236a5f99a79fb04fda7ae71ca20ae8",
"sha256:b7aaa315101c6567a9a45d2839322c51c8d6e81f67683d529512f5bcfb99c802",
"sha256:be1c8ed48c4c4065ecb19d882a0ce1afe0745dfad8ce48c49586b90a55f02366",
"sha256:c0256beda696edcf7d97ef16b2a33a8e5a875affd6fa6567b54f7c577b30a137",
"sha256:c157bb447303070f256e084668b702073db99bbb61d44f85d811025fcf38f784",
"sha256:c57d08ad67aba97af57a7263c2d9006d5c404d721c5f7542f077f109ec2a4a29",
"sha256:c69ada171c2d0e97a4b5aa78fbb835e0ffbb6b13fc5da968c09811346564f0d3",
"sha256:c94bb0a9f1db10a1d16c00880bdebd5f9faf267273b8f5bd1878126e0fbde771",
"sha256:cb130fccd1a37ed894824b8c046321540263013da72745d755f2d35114b81a60",
"sha256:ced479f601cd2f8ca1fd7b23925a7e0ad512a56d6e9476f79b8f381d9d37090a",
"sha256:d05ac6fa06959c4172eccd99a222e1fbf17b5670c4d596cb1e5cde99600674c4",
"sha256:d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0",
"sha256:dd4490a33eb909ef5078ab20f5f000087afa2a4daa27b4c072ccb3cb3050ad84",
"sha256:df5cbb1fbc74a8305b6065d4ade43b993be03dbe0f8b30032cced0d7740994bd",
"sha256:e28f9faeb14b6f23ac55bfbbfd3643f5c7c18ede093977f1df249f73fd22c7b1",
"sha256:e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776",
"sha256:e4c22e1ac1f1ec1e09f72e6c44d8f2244173db7eb9629cc3a346a8d7ccc31142",
"sha256:e53b5fbab5d675aec9f0c501274c467c0f9a5d23696cfc94247e1fb56501ed89",
"sha256:e93f1c331ca8e86fe877a48ad64e77882c0c4da0097f2212873a69bbfea95d0c",
"sha256:e997fd30430c57138adc06bba4c7c2968fb13d101e57dd5bb9355bf8ce3fa7e8",
"sha256:e9a091b0550b3b0207784a7d6d0f1a00d1d1c8a11699c1a4d93db3fbefc3ad35",
"sha256:eab4bb380f15e189d1313195b062a6aa908f5bd687a0ceccd47c8211e9cf0d4a",
"sha256:eb1ae19e64c14c7ec1995f40bd932448713d3c73509e82d8cd7744dc00e29e86",
"sha256:ecea58b43a67b1b79805f1a0255730edaf5191ecef84dbc4cc85eb30bc8b63b9",
"sha256:ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64",
"sha256:eee9130eaad130649fd73e5cd92f60e55708952260ede70da64de420cdcad554",
"sha256:f47cd43a5bfa48f86925fe26fbdd0a488ff15b62468abb5d2a1e092a4fb10e85",
"sha256:f6fff13ef6b5f29221d6904aa816c34701462956aa72a77f1f151a8ec4f56aeb",
"sha256:f745ec09bc1b0bd15cfc73df6fa4f726dcc26bb16c23a03f9e3367d357eeedd0",
"sha256:f8404bf61298bb6f8224bb9176c1424548ee1181130818fcd2cbffddc768bed8",
"sha256:f9268774428ec173654985ce55fc6caf4c6d11ade0f6f914d48ef4719eb05ebb",
"sha256:faa3c142464efec496967359ca99696c896c591c56c53506bac1ad465f66e919"
],
"markers": "python_version >= '3.8'",
"version": "==2024.9.11"
"markers": "python_version >= '3.9'",
"version": "==1.1"
},
"requests": {
"hashes": [
@@ -895,19 +794,19 @@
},
"six": {
"hashes": [
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
"sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274",
"sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==1.16.0"
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==1.17.0"
},
"smmap": {
"hashes": [
"sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62",
"sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"
"sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5",
"sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"
],
"markers": "python_version >= '3.7'",
"version": "==5.0.1"
"version": "==5.0.2"
},
"super-collections": {
"hashes": [
@@ -919,11 +818,11 @@
},
"termcolor": {
"hashes": [
"sha256:37b17b5fc1e604945c2642c872a3764b5d547a48009871aea3edd3afa180afb8",
"sha256:998d8d27da6d48442e8e1f016119076b690d962507531df4890fcd2db2ef8a6f"
"sha256:591dd26b5c2ce03b9e43f391264626557873ce1d379019786f99b0c2bee140aa",
"sha256:6a6dd7fbee581909eeec6a756cff1d7f7c376063b14e4a298dc4980309e55970"
],
"markers": "python_version >= '3.9'",
"version": "==2.5.0"
"version": "==3.1.0"
},
"tinycss2": {
"hashes": [
@@ -935,47 +834,47 @@
},
"urllib3": {
"hashes": [
"sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac",
"sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"
"sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466",
"sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813"
],
"markers": "python_version >= '3.8'",
"version": "==2.2.3"
"markers": "python_version >= '3.9'",
"version": "==2.4.0"
},
"watchdog": {
"hashes": [
"sha256:0f9332243355643d567697c3e3fa07330a1d1abf981611654a1f2bf2175612b7",
"sha256:1021223c08ba8d2d38d71ec1704496471ffd7be42cfb26b87cd5059323a389a1",
"sha256:108f42a7f0345042a854d4d0ad0834b741d421330d5f575b81cb27b883500176",
"sha256:1e9679245e3ea6498494b3028b90c7b25dbb2abe65c7d07423ecfc2d6218ff7c",
"sha256:223160bb359281bb8e31c8f1068bf71a6b16a8ad3d9524ca6f523ac666bb6a1e",
"sha256:26dd201857d702bdf9d78c273cafcab5871dd29343748524695cecffa44a8d97",
"sha256:294b7a598974b8e2c6123d19ef15de9abcd282b0fbbdbc4d23dfa812959a9e05",
"sha256:349c9488e1d85d0a58e8cb14222d2c51cbc801ce11ac3936ab4c3af986536926",
"sha256:49f4d36cb315c25ea0d946e018c01bb028048023b9e103d3d3943f58e109dd45",
"sha256:53a3f10b62c2d569e260f96e8d966463dec1a50fa4f1b22aec69e3f91025060e",
"sha256:53adf73dcdc0ef04f7735066b4a57a4cd3e49ef135daae41d77395f0b5b692cb",
"sha256:560135542c91eaa74247a2e8430cf83c4342b29e8ad4f520ae14f0c8a19cfb5b",
"sha256:720ef9d3a4f9ca575a780af283c8fd3a0674b307651c1976714745090da5a9e8",
"sha256:752fb40efc7cc8d88ebc332b8f4bcbe2b5cc7e881bccfeb8e25054c00c994ee3",
"sha256:78864cc8f23dbee55be34cc1494632a7ba30263951b5b2e8fc8286b95845f82c",
"sha256:85527b882f3facda0579bce9d743ff7f10c3e1e0db0a0d0e28170a7d0e5ce2ea",
"sha256:90a67d7857adb1d985aca232cc9905dd5bc4803ed85cfcdcfcf707e52049eda7",
"sha256:91b522adc25614cdeaf91f7897800b82c13b4b8ac68a42ca959f992f6990c490",
"sha256:9413384f26b5d050b6978e6fcd0c1e7f0539be7a4f1a885061473c5deaa57221",
"sha256:94d11b07c64f63f49876e0ab8042ae034674c8653bfcdaa8c4b32e71cfff87e8",
"sha256:950f531ec6e03696a2414b6308f5c6ff9dab7821a768c9d5788b1314e9a46ca7",
"sha256:a2e8f3f955d68471fa37b0e3add18500790d129cc7efe89971b8a4cc6fdeb0b2",
"sha256:ae6deb336cba5d71476caa029ceb6e88047fc1dc74b62b7c4012639c0b563906",
"sha256:b8ca4d854adcf480bdfd80f46fdd6fb49f91dd020ae11c89b3a79e19454ec627",
"sha256:c66f80ee5b602a9c7ab66e3c9f36026590a0902db3aea414d59a2f55188c1f49",
"sha256:d52db5beb5e476e6853da2e2d24dbbbed6797b449c8bf7ea118a4ee0d2c9040e",
"sha256:dd021efa85970bd4824acacbb922066159d0f9e546389a4743d56919b6758b91",
"sha256:e25adddab85f674acac303cf1f5835951345a56c5f7f582987d266679979c75b",
"sha256:f00b4cf737f568be9665563347a910f8bdc76f88c2970121c86243c8cfdf90e9",
"sha256:f01f4a3565a387080dc49bdd1fefe4ecc77f894991b88ef927edbfa45eb10818"
"sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a",
"sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2",
"sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f",
"sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c",
"sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c",
"sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c",
"sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0",
"sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13",
"sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134",
"sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa",
"sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e",
"sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379",
"sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a",
"sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11",
"sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282",
"sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b",
"sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f",
"sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c",
"sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112",
"sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948",
"sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881",
"sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860",
"sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3",
"sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680",
"sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26",
"sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26",
"sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e",
"sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8",
"sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c",
"sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2"
],
"markers": "python_version >= '3.9'",
"version": "==5.0.3"
"version": "==6.0.0"
},
"webencodings": {
"hashes": [
@@ -986,6 +885,229 @@
}
},
"develop": {
"attrs": {
"hashes": [
"sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3",
"sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"
],
"markers": "python_version >= '3.8'",
"version": "==25.3.0"
},
"binaryornot": {
"hashes": [
"sha256:359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061",
"sha256:b8b71173c917bddcd2c16070412e369c3ed7f0528926f70cac18a6c97fd563e4"
],
"version": "==0.4.4"
},
"boolean.py": {
"hashes": [
"sha256:60cbc4bad079753721d32649545505362c754e121570ada4658b852a3a318d95",
"sha256:ef28a70bd43115208441b53a045d1549e2f0ec6e3d08a9d142cbc41c1938e8d9"
],
"version": "==5.0"
},
"chardet": {
"hashes": [
"sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7",
"sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"
],
"markers": "python_version >= '3.7'",
"version": "==5.2.0"
},
"charset-normalizer": {
"hashes": [
"sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91",
"sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0",
"sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154",
"sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601",
"sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884",
"sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07",
"sha256:0f2be7e0cf7754b9a30eb01f4295cc3d4358a479843b31f328afd210e2c7598c",
"sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64",
"sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe",
"sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f",
"sha256:16a8770207946ac75703458e2c743631c79c59c5890c80011d536248f8eaa432",
"sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc",
"sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa",
"sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9",
"sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae",
"sha256:1ef99f0456d3d46a50945c98de1774da86f8e992ab5c77865ea8b8195341fc19",
"sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d",
"sha256:23b6b24d74478dc833444cbd927c338349d6ae852ba53a0d02a2de1fce45b96e",
"sha256:252098c8c7a873e17dd696ed98bbe91dbacd571da4b87df3736768efa7a792e4",
"sha256:257f26fed7d7ff59921b78244f3cd93ed2af1800ff048c33f624c87475819dd7",
"sha256:2c322db9c8c89009a990ef07c3bcc9f011a3269bc06782f916cd3d9eed7c9312",
"sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92",
"sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31",
"sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c",
"sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f",
"sha256:34a7f768e3f985abdb42841e20e17b330ad3aaf4bb7e7aeeb73db2e70f077b99",
"sha256:3653fad4fe3ed447a596ae8638b437f827234f01a8cd801842e43f3d0a6b281b",
"sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15",
"sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392",
"sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f",
"sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8",
"sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491",
"sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0",
"sha256:511729f456829ef86ac41ca78c63a5cb55240ed23b4b737faca0eb1abb1c41bc",
"sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0",
"sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f",
"sha256:5b413b0b1bfd94dbf4023ad6945889f374cd24e3f62de58d6bb102c4d9ae534a",
"sha256:5d8d01eac18c423815ed4f4a2ec3b439d654e55ee4ad610e153cf02faf67ea40",
"sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927",
"sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849",
"sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce",
"sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14",
"sha256:70bfc5f2c318afece2f5838ea5e4c3febada0be750fcf4775641052bbba14d05",
"sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c",
"sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c",
"sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a",
"sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc",
"sha256:88ab34806dea0671532d3f82d82b85e8fc23d7b2dd12fa837978dad9bb392a34",
"sha256:8999f965f922ae054125286faf9f11bc6932184b93011d138925a1773830bbe9",
"sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096",
"sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14",
"sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30",
"sha256:a2d08ac246bb48479170408d6c19f6385fa743e7157d716e144cad849b2dd94b",
"sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b",
"sha256:b5e3b2d152e74e100a9e9573837aba24aab611d39428ded46f4e4022ea7d1942",
"sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db",
"sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5",
"sha256:c60e092517a73c632ec38e290eba714e9627abe9d301c8c8a12ec32c314a2a4b",
"sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce",
"sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669",
"sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0",
"sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018",
"sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93",
"sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe",
"sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049",
"sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a",
"sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef",
"sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2",
"sha256:d22dbedd33326a4a5190dd4fe9e9e693ef12160c77382d9e87919bce54f3d4ca",
"sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16",
"sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f",
"sha256:d95bfb53c211b57198bb91c46dd5a2d8018b3af446583aab40074bf7988401cb",
"sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1",
"sha256:ec557499516fc90fd374bf2e32349a2887a876fbf162c160e3c01b6849eaf557",
"sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37",
"sha256:fb731e5deb0c7ef82d698b0f4c5bb724633ee2a489401594c5c88b02e6cb15f7",
"sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72",
"sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c",
"sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9"
],
"markers": "python_version >= '3.7'",
"version": "==3.4.3"
},
"click": {
"hashes": [
"sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202",
"sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"
],
"markers": "python_version >= '3.10'",
"version": "==8.2.1"
},
"jinja2": {
"hashes": [
"sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d",
"sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"
],
"markers": "python_version >= '3.7'",
"version": "==3.1.6"
},
"license-expression": {
"hashes": [
"sha256:421788fdcadb41f049d2dc934ce666626265aeccefddd25e162a26f23bcbf8a4",
"sha256:73448f0aacd8d0808895bdc4b2c8e01a8d67646e4188f887375398c761f340fd"
],
"markers": "python_version >= '3.9'",
"version": "==30.4.4"
},
"markupsafe": {
"hashes": [
"sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4",
"sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30",
"sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0",
"sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9",
"sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396",
"sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13",
"sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028",
"sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca",
"sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557",
"sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832",
"sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0",
"sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b",
"sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579",
"sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a",
"sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c",
"sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff",
"sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c",
"sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22",
"sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094",
"sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb",
"sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e",
"sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5",
"sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a",
"sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d",
"sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a",
"sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b",
"sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8",
"sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225",
"sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c",
"sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144",
"sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f",
"sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87",
"sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d",
"sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93",
"sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf",
"sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158",
"sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84",
"sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb",
"sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48",
"sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171",
"sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c",
"sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6",
"sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd",
"sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d",
"sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1",
"sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d",
"sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca",
"sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a",
"sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29",
"sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe",
"sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798",
"sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c",
"sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8",
"sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f",
"sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f",
"sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a",
"sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178",
"sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0",
"sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79",
"sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430",
"sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"
],
"markers": "python_version >= '3.9'",
"version": "==3.0.2"
},
"python-debian": {
"hashes": [
"sha256:3ada9b83a3d671b58081782c0969cffa0102f6ce433fbbc7cf21275b8b5cc771",
"sha256:8f137c230c1d9279c2ac892b35915068b2aca090c9fd3da5671ff87af32af12c"
],
"markers": "python_version >= '3.7'",
"version": "==1.0.1"
},
"reuse": {
"hashes": [
"sha256:7a680f00324e87a72061677a892d8cbabfddf7adcf7a5376aeeed2d78995bbbb",
"sha256:878016ae5dd29c10bad4606d6676c12a268c12aa9fcfea66403598e16eed085c"
],
"index": "pypi",
"markers": "python_version >= '3.9' and python_version < '4.0'",
"version": "==5.0.2"
},
"scour": {
"hashes": [
"sha256:6881ec26660c130c5ecd996ac6f6b03939dd574198f50773f2508b81a68e0daf"
@@ -995,11 +1117,19 @@
},
"six": {
"hashes": [
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
"sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274",
"sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==1.16.0"
"version": "==1.17.0"
},
"tomlkit": {
"hashes": [
"sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1",
"sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0"
],
"markers": "python_version >= '3.8'",
"version": "==0.13.3"
}
}
}

341
README.md
View File

@@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 Jonah Aragon <jonah@privacyguides.org>
SPDX-License-Identifier: MIT OR CC-BY-SA-4.0
-->
<!-- markdownlint-disable MD041 MD045 -->
<div align="center">
<a href="https://www.privacyguides.org">
@@ -14,9 +20,7 @@
<a href="https://github.com/privacyguides/privacyguides.org/stargazers">
<img src="https://img.shields.io/github/stars/privacyguides?style=social"></a>
<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&style=social"></a>
<a href="https://bsky.app/profile/privacyguides.org">
<img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpublic.api.bsky.app%2Fxrpc%2Fapp.bsky.actor.getProfile%3Factor%3Dprivacyguides.org&query=%24.followersCount&style=social&logo=bluesky&label=Follow"></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">
<img src="https://img.shields.io/github/issues-pr-raw/privacyguides/privacyguides.org"></a>
@@ -50,6 +54,8 @@ The current list of team members can be found [here](https://www.privacyguides.o
## 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)
- 💖 [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)]
@@ -74,18 +80,6 @@ All contributors to the site are listed [here](#contributors). If you have contr
- **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
[![GitHub](https://img.shields.io/static/v1?logo=github&label=&message=GitHub&color=000&style=for-the-badge)](https://github.com/privacyguides/privacyguides.org)
@@ -96,58 +90,24 @@ All contributors to the site are listed [here](#contributors). If you have contr
## License
Copyright &copy; 2019 - 2024 [Privacy Guides contributors](#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).
Generally speaking, **content** can be found in the [`/docs`](/docs), [`/theme/assets/img`](/theme/assets/img) and [`/includes`](/includes) folders; and **source code** and configuration files can be found in the [`/config`](/config) and [`/theme`](/theme) folders, and in the root of this repository. Any source code snippets contained within documentation files are [MIT Licensed](/LICENSE-CODE). Please contact us if you require clarification on any of these terms.
These licenses do not apply to any work where another license is otherwise noted.
**Logos** in the [`/theme/assets/img`](/theme/assets/img) folder may not be original works of Privacy Guides and therefore cannot be (re)licensed by us. We believe that these logos 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.*
This repository is [REUSE compliant](https://reuse.software/), meaning each file is individually annotated with copyright information. Typically, most content you would read on the site is [**CC BY-SA 4.0**](LICENSES/CC-BY-SA-4.0.txt). You must always check the copyright license information in each file you copy before using it in your own work. If you are confused about who owns the copyright for a particular file or what license it is available under, please email <jonah@privacyguides.org>.
You may comply with our license terms in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. You **may not** use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
When you contribute to this repository 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.
## 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.
### 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
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.
@@ -192,427 +152,446 @@ Privacy Guides wouldn't be possible without these wonderful people ([emoji key](
<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://friadev.github.io/"><img src="https://avatars.githubusercontent.com/u/138676274?v=4" width="100px;" loading=lazy /><br /><sub><b>fria</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=friadev" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Afriadev" title="Reviewed Pull Requests">👀</a> <a href="#research-friadev" title="Research">🔬</a> <a href="#question-friadev" title="Answering Questions">💬</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Afriadev" title="Bug reports">🐛</a> <a href="#ideas-friadev" title="Ideas, Planning, & Feedback">🤔</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> <a href="#video-jordan-warne" title="Videos">📹</a> <a href="#research-jordan-warne" title="Research">🔬</a> <a href="#ideas-jordan-warne" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-jordan-warne" title="Answering Questions">💬</a> <a href="#promotion-jordan-warne" title="Promotion">📣</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/EmAtPrivacyGuides"><img src="https://avatars.githubusercontent.com/u/194856901?v=4" width="100px;" loading=lazy /><br /><sub><b>Em</b></sub></a><br /><a href="#blog-EmAtPrivacyGuides" title="Blogposts">📝</a> <a href="#promotion-EmAtPrivacyGuides" title="Promotion">📣</a> <a href="#ideas-EmAtPrivacyGuides" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kpham42"><img src="https://avatars.githubusercontent.com/u/123699355?v=4" width="100px;" loading=lazy /><br /><sub><b>Kevin Pham</b></sub></a><br /><a href="#blog-kpham42" title="Blogposts">📝</a> <a href="#promotion-kpham42" title="Promotion">📣</a> <a href="#question-kpham42" title="Answering Questions">💬</a> <a href="#research-kpham42" title="Research">🔬</a> <a href="#ideas-kpham42" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=kpham42" title="Documentation">📖</a></td>
</tr>
<tr>
<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.triplebit.org/"><img src="https://avatars.githubusercontent.com/u/178061783?v=4" width="100px;" loading=lazy /><br /><sub><b>Triplebit</b></sub></a><br /><a href="#infra-triplebit" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://magicgrants.org/"><img src="https://avatars.githubusercontent.com/u/90805358?v=4" width="100px;" loading=lazy /><br /><sub><b>MAGIC Grants</b></sub></a><br /><a href="#business-magicgrants" title="Business development">💼</a></td>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
<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> <a href="#maintenance-taivlam" title="Maintenance">🚧</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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
<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://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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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>
<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>
</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://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>
<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>
</tr>
<tr>
<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>
<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>
</tr>
<tr>
<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>
<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>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/yusuf-daglioglu"><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=yusuf-daglioglu" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/yusuf-daglioglu"><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=yusuf-daglioglu" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://ycao.net/"><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=yikerman" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sdhlfqr"><img src="https://avatars.githubusercontent.com/u/155405590?v=4" width="100px;" loading=lazy /><br /><sub><b>Sayf Dhū al-Faqār</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sdhlfqr" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/eylenburg"><img src="https://avatars.githubusercontent.com/u/84839316?v=4" width="100px;" loading=lazy /><br /><sub><b>eylenburg</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=eylenburg" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/PASSK3YS"><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=PASSK3YS" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/SamsungGalaxyPlayer"><img src="https://avatars.githubusercontent.com/u/12520755?v=4" width="100px;" loading=lazy /><br /><sub><b>Justin Ehrenhofer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=SamsungGalaxyPlayer" title="Documentation">📖</a> <a href="#business-SamsungGalaxyPlayer" title="Business development">💼</a> <a href="#fundingFinding-SamsungGalaxyPlayer" title="Funding Finding">🔍</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/SamsungGalaxyPlayer"><img src="https://avatars.githubusercontent.com/u/12520755?v=4" width="100px;" loading=lazy /><br /><sub><b>Justin Ehrenhofer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=SamsungGalaxyPlayer" title="Documentation">📖</a> <a href="#business-SamsungGalaxyPlayer" title="Business development">💼</a> <a href="#fundingFinding-SamsungGalaxyPlayer" title="Funding Finding">🔍</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/bruch-alex"><img src="https://avatars.githubusercontent.com/u/173354246?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Bruch</b></sub></a><br /><a href="#translation-bruch-alex" title="Translation">🌍</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/qiyongzheng"><img src="https://avatars.githubusercontent.com/u/153378707?v=4" width="100px;" loading=lazy /><br /><sub><b>qiyongzheng</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=qiyongzheng" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/hashcatHitman"><img src="https://avatars.githubusercontent.com/u/155700084?v=4" width="100px;" loading=lazy /><br /><sub><b>Sam K</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=hashcatHitman" title="Documentation">📖</a> <a href="#promotion-hashcatHitman" title="Promotion">📣</a> <a href="#question-hashcatHitman" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Spirizer"><img src="https://avatars.githubusercontent.com/u/51120100?v=4" width="100px;" loading=lazy /><br /><sub><b>Spirizer</b></sub></a><br /><a href="#translation-Spirizer" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jordbm"><img src="https://avatars.githubusercontent.com/u/160433264?v=4" width="100px;" loading=lazy /><br /><sub><b>jordbm</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jordbm" title="Documentation">📖</a> <a href="#maintenance-jordbm" title="Maintenance">🚧</a> <a href="#security-jordbm" title="Security">🛡️</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://austinhuang.me/"><img src="https://avatars.githubusercontent.com/u/16656689?v=4" width="100px;" loading=lazy /><br /><sub><b>Austin Huang</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=austinhuang0131" title="Documentation">📖</a> <a href="#question-austinhuang0131" title="Answering Questions">💬</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/WardPearce"><img src="https://avatars.githubusercontent.com/u/27844174?v=4" width="100px;" loading=lazy /><br /><sub><b>Ward</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=WardPearce" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/oilmaint"><img src="https://avatars.githubusercontent.com/u/79659024?v=4" width="100px;" loading=lazy /><br /><sub><b>oilmaint</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=oilmaint" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/headdirt"><img src="https://avatars.githubusercontent.com/u/37009392?v=4" width="100px;" loading=lazy /><br /><sub><b>headdirt</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=headdirt" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/qmcree"><img src="https://avatars.githubusercontent.com/u/7796024?v=4" width="100px;" loading=lazy /><br /><sub><b>Quentin McRee</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=qmcree" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sv3nnie"><img src="https://avatars.githubusercontent.com/u/67653224?v=4" width="100px;" loading=lazy /><br /><sub><b>Sven</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sv3nnie" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://git.sr.ht/~tomhonour/"><img src="https://avatars.githubusercontent.com/u/132141431?v=4" width="100px;" loading=lazy /><br /><sub><b>Tom Honour</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tomhonour" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://brog.io/"><img src="https://avatars.githubusercontent.com/u/141176104?v=4" width="100px;" loading=lazy /><br /><sub><b>Brogio</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=brog-io" title="Documentation">📖</a></td>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nathany.com/"><img src="https://avatars.githubusercontent.com/u/4566?v=4" width="100px;" loading=lazy /><br /><sub><b>Nathan Youngman</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nathany" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/blanchardjeremy"><img src="https://avatars.githubusercontent.com/u/32290?v=4" width="100px;" loading=lazy /><br /><sub><b>Jeremy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=blanchardjeremy" title="Documentation">📖</a></td>
</tr>
</tbody>
<tfoot>
@@ -636,17 +615,17 @@ This project follows the [all-contributors](https://github.com/all-contributors/
CLI to generate this table:
```bash
npx --package all-contributors-cli -- npx all-contributors generate
all-contributors-cli generate
```
CLI to add a contributor:
```bash
npx --package all-contributors-cli -- npx all-contributors add <username> <contribution>
all-contributors-cli 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:
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 `doc` 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
all-contributors-cli add jonaharagon doc,research,question
```

70
REUSE.toml Normal file
View File

@@ -0,0 +1,70 @@
version = 1
# Computer-generated files and other files which cannot be copyrighted
[[annotations]]
path = [
".all-contributorsrc",
".allowed_signers",
".gitmodules",
".mailmap",
".python-version",
"Pipfile.lock",
".vscode/.empty-schema.json",
".vscode/ltex.dictionary.en-US.txt",
".vscode/ltex.hiddenFalsePositives.en-US.txt",
"blog/tags.md",
"includes/contributors.md",
"videos/playlists.md"
]
precedence = "override"
SPDX-FileCopyrightText = "NONE"
SPDX-License-Identifier = "CC0-1.0"
# Privacy Guides Paid Work - Fria
[[annotations]]
path = [
"blog/assets/images/digital-provenance/*",
"blog/assets/images/privacy-pass/*"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = "Fria <fria@privacyguides.org>"
# Privacy Guides Paid Work - Kevin
[[annotations]]
path = [
"blog/assets/images/clearing-your-browsing-data/*"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = "Kevin Pham <kevin@privacyguides.org>"
# Privacy Guides Paid Work - Jordan
[[annotations]]
path = [
"videos/posts/**"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = [
"Jordan Warne <jordan@privacyguides.org>",
"Jonah Aragon <jonah@privacyguides.org>"
]
# 2024 Jonah Aragon
[[annotations]]
path = [
"includes/strings.en.env"
]
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 Jonah Aragon <jonah@privacyguides.org>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
# Fair Use / Copyrighted Logos
[[annotations]]
path = [
"theme/assets/img/**"
]
SPDX-FileCopyrightText = "NOASSERTION"
SPDX-License-Identifier = "LicenseRef-FairUse"
SPDX-LicenseComments = "This is a copyrighted and/or trademarked logo we are using under fair use. Your usage rights of this file outside Privacy Guides may vary."

View File

@@ -1,4 +1,12 @@
# SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
#
# SPDX-License-Identifier: MIT OR CC-BY-SA-4.0
authors:
aprilfools:
name: Anita Key
description: Government Liaison
avatar: https://github.com/privacyguides.png
contributors:
type: Organization
name: Privacy Guides
@@ -36,6 +44,13 @@ authors:
name: fria
description: Team Member
avatar: https://github.com/friadev.png
jordan:
name: Jordan Warne
description: Video Producer
avatar: https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/jordan/288/7793_2.png
mastodon:
username: jw
instance: social.lol
jonah:
name: Jonah Aragon
description: Project Director
@@ -45,6 +60,13 @@ authors:
instance: neat.computer
twitter: jonaharagon
bluesky: jonaharagon.com
justin:
name: Justin Ehrenhofer
description: Guest Contributor
avatar: https://github.com/SamsungGalaxyPlayer.png
mastodon:
username: sgp
instance: neat.computer
kaitebay:
name: Kai Tebay
description: Former Team Member

View File

@@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# 2019
!!! danger "Old Content"

View File

@@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# 2020
!!! danger "Old Content"

View File

@@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# 2021
!!! danger "Old Content"

View File

@@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 Jonah Aragon <jonah@privacyguides.org>
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# 2022
!!! danger "Old Content"

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View File

@@ -0,0 +1,10 @@
version = 1
# Privacy Guides Paid Work - Em
[[annotations]]
path = [
"*"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = "Em <em@privacyguides.org>"

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

View File

@@ -0,0 +1,40 @@
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="201px" height="301px" viewBox="-0.5 -0.5 201 301" content="&lt;mxfile&gt;&lt;diagram id=&quot;7obOEI9IPgsgN9EZozkg&quot; name=&quot;Page-1&quot;&gt;3ZZNb6MwEEB/Te6YrzjHlED3UmmlHPZsYABrDUbGKWR//ZpgCizOtkipKjWHCL/xgP08Gtg5Qdk9C1IXLzwFtrOttNs5p51te9Ze/ffgOoCD4w0gFzQdEJrAmf4BDS1NLzSFZjFRcs4krZcw4VUFiVwwIgRvl9MyzpZPrUkOK3BOCFvTXzSVxUCxZ038B9C8GJ+MLB0pyThZg6YgKW9nyAl3TiA4l8NV2QXAenejlyEvuhN9W5iASn4kwR4SXgm76L0F9s+jIi+kohk0Ui9TXse9Ny0tGanU6CmjjAWccXGLOKkHOHUVb6Tgv2EWwXbs+H4f0cnRMvPkhfjUZ66Xr3f0CkJCN0N6O8/AS5DiqqaM0VGtri1XD9vpoOzxOIrZITkjJLo48rdbT/7UhVZo1umudB6bRi2d8qrZYBLFBIFtMmlZfniM+gxeyRnPbr/7htHTEYW20bC91fA/ghFeG0a+wTB6hOH9yvDKa1tQCeeaJP24VQ1IbbuQpbrjCalL0tRDT8hoB6mhjAngLDHJ9xMMcWaU6G6ViN6tUteg0H2AQfxNDPpfZvDwTQyirytCb/3eYYSWG3pkhhNIjIpi7LnqVXy3F0Y4CIPgc3oh+mAv9B/g0L/n0DrTvCLyImCLzwx8s890f4it//mMQv+TfBoq8lE61XD6zLrFZt+qTvgX&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<path d="M 0 23 L 0 0 L 200 0 L 200 23" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 0 23 L 0 300 L 200 300 L 200 23" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 0 23 L 200 23" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/>
<g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px">
<text x="99.5" y="16">
C2PA Manifest
</text>
</g>
<path d="M 20 203 L 20 180 L 180 180 L 180 203" fill="#1ba1e2" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 20 203 L 20 280 L 180 280 L 180 203" fill="#1ba1e2" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 20 203 L 180 203" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/>
<g fill="#ffffff" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px">
<text x="99.5" y="196">
Assertions
</text>
</g>
<rect x="30" y="220" width="40" height="40" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/>
<rect x="80" y="220" width="40" height="40" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/>
<rect x="130" y="220" width="40" height="40" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/>
<path d="M 20 133 L 20 110 L 180 110 L 180 133" fill="#f8cecc" stroke="#b85450" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 20 133 L 20 170 L 180 170 L 180 133" fill="#f8cecc" stroke="#b85450" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 20 133 L 180 133" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="all"/>
<g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px">
<text x="99.5" y="126">
Claim
</text>
</g>
<path d="M 20 63 L 20 40 L 180 40 L 180 63" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 20 63 L 20 100 L 180 100 L 180 63" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 20 63 L 180 63" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/>
<g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px">
<text x="99.5" y="56">
Claim Signature
</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -0,0 +1,10 @@
version = 1
# Privacy Guides Paid Work - Em
[[annotations]]
path = [
"*"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = "Em <em@privacyguides.org>"

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

View File

@@ -0,0 +1,10 @@
version = 1
# Privacy Guides Paid Work - Em
[[annotations]]
path = [
"*"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = "Em <em@privacyguides.org>"

View File

@@ -0,0 +1,10 @@
version = 1
# Privacy Guides Paid Work - Em
[[annotations]]
path = [
"*"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = "Em <em@privacyguides.org>"

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,10 @@
version = 1
# Privacy Guides Paid Work - Em
[[annotations]]
path = [
"*"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = "Em <em@privacyguides.org>"

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -0,0 +1,10 @@
version = 1
# Privacy Guides Paid Work - Em
[[annotations]]
path = [
"*"
]
SPDX-FileCopyrightText = "Privacy Guides <https://magicgrants.org/funds/privacy_guides/>"
SPDX-License-Identifier = "CC-BY-SA-4.0"
SPDX-FileContributor = "Em <em@privacyguides.org>"

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

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