1
0
mirror of https://github.com/privacyguides/privacyguides.org.git synced 2025-07-07 03:52:38 +00:00

Compare commits

..

76 Commits

Author SHA1 Message Date
3be41928da Update blog/posts/taking-advantage-of-android-user-profiles.md
Co-authored-by: redoomed1 <redoomed1@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
2025-04-25 16:04:23 -05:00
06abe01cb4 Apply minor style suggestions from code review
Signed-off-by: redoomed1 <redoomed1@privacyguides.org>
2025-04-24 20:10:20 -07:00
2584e3b4a1 update(blog)!: Taking Advantage of Android User Profiles (#3017) 2025-04-22 19:15:39 -05:00
a5d03467d5 update(video): Add sources to latest video (#3015) 2025-04-21 17:23:27 -05:00
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
6372f472b1 docs: add jordbm as a contributor for doc, maintenance, and security (#2979) 2025-04-22 01:30:34 +09:30
e47c4c4feb docs: add Spirizer as a contributor for translation (#2985) 2025-04-22 01:15:04 +09:30
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
219 changed files with 5612 additions and 934 deletions

View File

@ -460,7 +460,8 @@
"avatar_url": "https://avatars.githubusercontent.com/u/47955724?v=4",
"profile": "https://github.com/taivlam",
"contributions": [
"doc"
"doc",
"maintenance"
]
},
{
@ -2985,6 +2986,26 @@
"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"
]
}
],
"contributorsPerLine": 5,

View File

@ -72,6 +72,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

@ -30,6 +30,9 @@ on:
cache:
type: boolean
default: true
secrets:
RO_DISCOURSE_API_KEY:
required: false
permissions:
contents: read
@ -63,6 +66,7 @@ jobs:
- name: Set Metadata for International Builds
if: inputs.lang != 'en'
run: |
echo "GITREVISIONDATE=false" >> "$GITHUB_ENV"
echo "GITAUTHORS=false" >> "$GITHUB_ENV"
- name: Set Metadata for Offline Mode
@ -171,23 +175,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" \
@ -258,6 +270,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

@ -63,6 +63,8 @@ jobs:
context: production
continue-on-error: false
cache: false
secrets:
RO_DISCOURSE_API_KEY: ${{ secrets.RO_DISCOURSE_API_KEY }}
build_blog:
needs: submodule

View File

@ -55,17 +55,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" \

3
.gitignore vendored
View File

@ -23,3 +23,6 @@ node_modules
.venv
.env
.mkdocs-insiders-*
# Automatically generated
includes/members.md

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

@ -504,3 +504,60 @@ bsky
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

View File

@ -1 +0,0 @@
COMMA_PARENTHESIS_WHITESPACE

View File

@ -70,3 +70,11 @@
{"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$"}

View File

@ -85,6 +85,8 @@
"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,

501
Pipfile.lock generated
View File

@ -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:7d47d19f866409b98ff6025b6a0fca8e4c791fb31abbd95f622093894ce903a2",
"sha256:ebad2091bf12d0d200dfc2464330db638c5deb41d546f6d7aca079e87290f3b0"
],
"markers": "python_version >= '3.7'",
"version": "==0.14.0"
"markers": "python_version >= '3.8'",
"version": "==0.14.2"
},
"cairocffi": {
"hashes": [
@ -52,11 +64,11 @@
},
"certifi": {
"hashes": [
"sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8",
"sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"
"sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651",
"sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"
],
"markers": "python_version >= '3.6'",
"version": "==2024.8.30"
"version": "==2025.1.31"
},
"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:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537",
"sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa",
"sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a",
"sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294",
"sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b",
"sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd",
"sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601",
"sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd",
"sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4",
"sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d",
"sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2",
"sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313",
"sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd",
"sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa",
"sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8",
"sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1",
"sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2",
"sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496",
"sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d",
"sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b",
"sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e",
"sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a",
"sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4",
"sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca",
"sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78",
"sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408",
"sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5",
"sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3",
"sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f",
"sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a",
"sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765",
"sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6",
"sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146",
"sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6",
"sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9",
"sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd",
"sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c",
"sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f",
"sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545",
"sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176",
"sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770",
"sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824",
"sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f",
"sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf",
"sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487",
"sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d",
"sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd",
"sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b",
"sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534",
"sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f",
"sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b",
"sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9",
"sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd",
"sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125",
"sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9",
"sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de",
"sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11",
"sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d",
"sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35",
"sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f",
"sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda",
"sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7",
"sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a",
"sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971",
"sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8",
"sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41",
"sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d",
"sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f",
"sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757",
"sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a",
"sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886",
"sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77",
"sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76",
"sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247",
"sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85",
"sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb",
"sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7",
"sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e",
"sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6",
"sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037",
"sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1",
"sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e",
"sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807",
"sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407",
"sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c",
"sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12",
"sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3",
"sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089",
"sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd",
"sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e",
"sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00",
"sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"
],
"markers": "python_full_version >= '3.7.0'",
"version": "==3.4.0"
"markers": "python_version >= '3.7'",
"version": "==3.4.1"
},
"click": {
"hashes": [
"sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
"sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
"sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2",
"sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"
],
"markers": "python_version >= '3.7'",
"version": "==8.1.7"
"version": "==8.1.8"
},
"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,10 @@
},
"filelock": {
"hashes": [
"sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0",
"sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"
"sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338",
"sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e"
],
"version": "==3.16.1"
"version": "==3.17.0"
},
"ghp-import": {
"hashes": [
@ -290,19 +289,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,11 +327,11 @@
},
"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": [
@ -435,21 +434,21 @@
},
"mkdocs-git-authors-plugin": {
"hashes": [
"sha256:60b291603479c765c3ca49fc4bda88a58989d9703c5e396fa1e81ae7de8a2836",
"sha256:b719fdab2199dc1633c4f69296ac66ec4adb6365ddd998409aefc87b1d2790ac"
"sha256:77f97c321e08a8757beb866293eb257070b11cd5a080976bc6696b249cbade4f",
"sha256:f6cefc4dc832865d26f7f9f944c0a8c7dc852742d79320f3800e0d97814e2a84"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==0.9.1"
"version": "==0.9.2"
},
"mkdocs-git-revision-date-localized-plugin": {
"hashes": [
"sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb",
"sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1"
"sha256:364d7c4c45c4f333c750e34bc298ac685a7a8bf9b7b52890d52b2f90f1812c4b",
"sha256:bb1eca7f156e0c8a587167662923d76efed7f7e0c06b84471aa5ae72a744a434"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==1.3.0"
"version": "==1.4.1"
},
"mkdocs-glightbox": {
"hashes": [
@ -485,12 +484,12 @@
},
"mkdocs-rss-plugin": {
"hashes": [
"sha256:be66b11300f1e951d3393ce8da60ca6d730108f731434cc256670b3b8e0cffb3",
"sha256:f0e275c933be69a77ee7af92256d88e2969e10c36c5ee1ecdb663a4ea4aa08ea"
"sha256:9371d30afb0eda7288c946a89b419aa7a0b8e212d2219584c2dbd23ece93a991",
"sha256:ff81f0ece33befd5a0152c196132e15eb93b4b9f7f53644c6d3db8e9a529e186"
],
"index": "pypi",
"markers": "python_version >= '3.9' and python_version < '4'",
"version": "==1.16.0"
"version": "==1.17.1"
},
"msgpack": {
"hashes": [
@ -564,11 +563,11 @@
},
"packaging": {
"hashes": [
"sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002",
"sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"
"sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759",
"sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"
],
"markers": "python_version >= '3.8'",
"version": "==24.1"
"version": "==24.2"
},
"paginate": {
"hashes": [
@ -688,19 +687,19 @@
},
"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": [
@ -712,11 +711,11 @@
},
"pytz": {
"hashes": [
"sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a",
"sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"
"sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57",
"sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e"
],
"markers": "python_version < '3.9'",
"version": "==2024.2"
"version": "==2025.1"
},
"pyyaml": {
"hashes": [
@ -785,106 +784,6 @@
"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"
},
"requests": {
"hashes": [
"sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760",
@ -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"
"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": [
@ -935,47 +834,47 @@
},
"urllib3": {
"hashes": [
"sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac",
"sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"
"sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df",
"sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"
],
"markers": "python_version >= '3.8'",
"version": "==2.2.3"
"markers": "python_version >= '3.9'",
"version": "==2.3.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": [
@ -995,11 +894,11 @@
},
"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"
}
}
}

View File

@ -14,9 +14,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>
@ -222,7 +220,7 @@ Privacy Guides wouldn't be possible without these wonderful people ([emoji key](
<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>
<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>
</tr>
<tr>
<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>
@ -613,6 +611,8 @@ Privacy Guides wouldn't be possible without these wonderful people ([emoji key](
<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>
<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>
</tr>
</tbody>
<tfoot>

View File

@ -1,4 +1,8 @@
authors:
aprilfools:
name: Anita Key
description: Government Liaison
avatar: https://github.com/privacyguides.png
contributors:
type: Organization
name: Privacy Guides
@ -36,6 +40,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

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 1920 1080" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<rect x="0" y="0" width="1920" height="1080" style="fill:rgb(0,51,153);"/>
<g transform="matrix(2.55845,0,0,2.55845,597.249,537.627)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M12.65,10C11.83,7.67 9.61,6 7,6C3.69,6 1,8.69 1,12C1,15.31 3.69,18 7,18C9.61,18 11.83,16.33 12.65,14L17,14L17,18L21,18L21,14L23,14L23,10L12.65,10ZM7,14C5.9,14 5,13.1 5,12C5,10.9 5.9,10 7,10C8.1,10 9,10.9 9,12C9,13.1 8.1,14 7,14Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,1322.75,537.627)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<g>
<path d="M2,17L22,17L22,19L2,19L2,17ZM3.15,12.95L4,11.47L4.85,12.95L6.15,12.2L5.3,10.72L7,10.72L7,9.22L5.3,9.22L6.15,7.75L4.85,7L4,8.47L3.15,7L1.85,7.75L2.7,9.22L1,9.22L1,10.72L2.7,10.72L1.85,12.2L3.15,12.95ZM9.85,12.2L11.15,12.95L12,11.47L12.85,12.95L14.15,12.2L13.3,10.72L15,10.72L15,9.22L13.3,9.22L14.15,7.75L12.85,7L12,8.47L11.15,7L9.85,7.75L10.7,9.22L9,9.22L9,10.72L10.7,10.72L9.85,12.2ZM23,9.22L21.3,9.22L22.15,7.75L20.85,7L20,8.47L19.15,7L17.85,7.75L18.7,9.22L17,9.22L17,10.72L18.7,10.72L17.85,12.2L19.15,12.95L20,11.47L20.85,12.95L22.15,12.2L21.3,10.72L23,10.72L23,9.22Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,642.604,709.746)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<g>
<g>
<path d="M20,18C21.1,18 22,17.1 22,16L22,6C22,4.9 21.1,4 20,4L4,4C2.9,4 2,4.9 2,6L2,16C2,17.1 2.9,18 4,18L0,18L0,20L24,20L24,18L20,18ZM4,6L20,6L20,16L4,16L4,6Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,1279.34,709.746)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M20,13L4,13C3.45,13 3,13.45 3,14L3,20C3,20.55 3.45,21 4,21L20,21C20.55,21 21,20.55 21,20L21,14C21,13.45 20.55,13 20,13ZM7,19C5.9,19 5,18.1 5,17C5,15.9 5.9,15 7,15C8.1,15 9,15.9 9,17C9,18.1 8.1,19 7,19ZM20,3L4,3C3.45,3 3,3.45 3,4L3,10C3,10.55 3.45,11 4,11L20,11C20.55,11 21,10.55 21,10L21,4C21,3.45 20.55,3 20,3ZM7,9C5.9,9 5,8.1 5,7C5,5.9 5.9,5 7,5C8.1,5 9,5.9 9,7C9,8.1 8.1,9 7,9Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,1144.75,858.679)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M9,17L7,17L7,10L9,10L9,17ZM13,17L11,17L11,7L13,7L13,17ZM17,17L15,17L15,13L17,13L17,17ZM19.5,19.1L4.5,19.1L4.5,5L19.5,5L19.5,19.1ZM19.5,3L4.5,3C3.4,3 2.5,3.9 2.5,5L2.5,19C2.5,20.1 3.4,21 4.5,21L19.5,21C20.6,21 21.5,20.1 21.5,19L21.5,5C21.5,3.9 20.6,3 19.5,3Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,776.985,858.679)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M17,12L12,12L12,17L17,17L17,12ZM16,1L16,3L8,3L8,1L6,1L6,3L5,3C3.89,3 3.01,3.9 3.01,5L3,19C3,20.1 3.89,21 5,21L19,21C20.1,21 21,20.1 21,19L21,5C21,3.9 20.1,3 19,3L18,3L18,1L16,1ZM19,19L5,19L5,8L19,8L19,19Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,960.869,904.116)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M19,2L14.82,2C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2L5,2C3.9,2 3,2.9 3,4L3,20C3,21.1 3.9,22 5,22L19,22C20.1,22 21,21.1 21,20L21,4C21,2.9 20.1,2 19,2ZM12,2C12.55,2 13,2.45 13,3C13,3.55 12.55,4 12,4C11.45,4 11,3.55 11,3C11,2.45 11.45,2 12,2ZM19,20L5,20L5,4L7,4L7,7L17,7L17,4L19,4L19,20Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,960.869,175.884)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M20,4L4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,6C22,4.9 21.1,4 20,4ZM20,8L12,13L4,8L4,6L12,11L20,6L20,8Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,1144.75,223.173)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<g>
<g>
<path d="M14,19.88L14,22L16.12,22L21.29,16.83L19.17,14.71L14,19.88Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
<g>
<path d="M20,8L14,2L6,2C4.9,2 4.01,2.9 4.01,4L4,20C4,21.1 4.89,22 5.99,22L12,22L12,19.05L20,11.05L20,8ZM13,9L13,3.5L18.5,9L13,9Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
<g>
<path d="M22.71,14L22,13.29C21.61,12.9 20.98,12.9 20.59,13.29L19.88,14L22,16.12L22.71,15.41C23.1,15.02 23.1,14.39 22.71,14Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,776.985,223.173)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M19.3,16.9C19.7,16.2 20,15.4 20,14.5C20,12 18,10 15.5,10C13,10 11,12 11,14.5C11,17 13,19 15.5,19C16.4,19 17.2,18.7 17.9,18.3L21.1,21.5L22.5,20.1L19.3,16.9ZM15.5,17C14.1,17 13,15.9 13,14.5C13,13.1 14.1,12 15.5,12C16.9,12 18,13.1 18,14.5C18,15.9 16.9,17 15.5,17ZM12,20L12,22C6.48,22 2,17.52 2,12C2,6.48 6.48,2 12,2C16.84,2 20.87,5.44 21.8,10L19.73,10C19.09,7.54 17.33,5.53 15,4.59L15,5C15,6.1 14.1,7 13,7L11,7L11,9C11,9.55 10.55,10 10,10L8,10L8,12L10,12L10,15L9,15L4.21,10.21C4.08,10.79 4,11.38 4,12C4,16.41 7.59,20 12,20Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,1279.34,365.507)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M20,2L4,2C2.9,2 2.01,2.9 2.01,4L2,22L6,18L20,18C21.1,18 22,17.1 22,16L22,4C22,2.9 21.1,2 20,2ZM6,9L18,9L18,11L6,11L6,9ZM14,14L6,14L6,12L14,12L14,14ZM18,8L6,8L6,6L18,6L18,8Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
<g transform="matrix(2.55845,0,0,2.55845,642.604,365.507)">
<g transform="matrix(1,0,0,1,-24,-24)">
<g transform="matrix(2,0,0,2,0,0)">
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
</g>
<g transform="matrix(2,0,0,2,0,0)">
<path d="M20.5,3L20.34,3.03L15,5.1L9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38L3,20.5C3,20.78 3.22,21 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62L21,3.5C21,3.22 20.78,3 20.5,3ZM15,19L9,16.89L9,5L15,7.11L15,19Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

View File

@ -0,0 +1,4 @@
<svg width="72" height="72" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-reactroot="">
<path stroke-linejoin="round" stroke-linecap="round" stroke-width="0" stroke="#ffffff" fill="#eb7c0f" d="M12 22C9.28 22 4.57 19.33 4.05 14.99C3.69 11.95 5.51 9.6 6.01 8.99C6.42 11.1 7.53 12.7 8.95 12.99C9.21 13.04 9.54 13.06 9.93 12.99C9.82 10.67 10 6.33 12.86 3C13.17 2.63 13.66 2.3 14 2C14.24 4.64 14.98 6.12 15.8 7C16.91 8.19 18.59 9 19.48 11.28C19.52 11.37 19.63 11.65 19.72 12C20.34 14.38 20.04 17.88 17.76 19.99C15.85 21.76 13.35 22 13 22C12.49 22 12.56 22 12 22Z" transform="translate(2,2)"></path><path stroke-linejoin="round" stroke-linecap="round" stroke-width="1" stroke="#ffffff" fill="none" d="M12 22C9.28 22 4.57 19.33 4.05 14.99C3.69 11.95 5.51 9.6 6.01 8.99C6.42 11.1 7.53 12.7 8.95 12.99C9.21 13.04 9.54 13.06 9.93 12.99C9.82 10.67 10 6.33 12.86 3C13.17 2.63 13.66 2.3 14 2C14.24 4.64 14.98 6.12 15.8 7C16.91 8.19 18.59 9 19.48 11.28C19.52 11.37 19.63 11.65 19.72 12C20.34 14.38 20.04 17.88 17.76 19.99C15.85 21.76 13.35 22 13 22C12.49 22 12.56 22 12 22Z"></path>
<path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="0" stroke="#ffffff" fill="#FDD17B" d="M14 16C12.96 17.04 11.41 17.43 10 17C11.13 18.09 12.7 18.5 14 18C16.01 17.24 16.83 14.54 16 13C15.74 12.53 15.36 12.21 15 12C15.43 13.41 15.04 14.96 14 16Z" transform="translate(2,2)"></path><path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="1" stroke="#ffffff" fill="none" d="M14 16C12.96 17.04 11.41 17.43 10 17C11.13 18.09 12.7 18.5 14 18C16.01 17.24 16.83 14.54 16 13C15.74 12.53 15.36 12.21 15 12C15.43 13.41 15.04 14.96 14 16Z"></path>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View File

@ -0,0 +1,183 @@
---
date:
created: 2025-04-11T16:00:00Z
categories:
- Opinion
authors:
- em
description: Encryption is not a crime, encryption protects all of us. Encryption, and especially end-to-end encryption, is an essential tool to protect everyone online. Attempts to undermine encryption are an attack to our fundamental right to privacy and an attack to our inherent right to security and safety.
schema_type: OpinionNewsArticle
preview:
cover: blog/assets/images/encryption-is-not-a-crime/encryption-is-not-a-crime-cover.webp
---
# Encryption Is Not a Crime
![Photo of a red key on an all black background.](../assets/images/encryption-is-not-a-crime/encryption-is-not-a-crime-cover.webp)
<small aria-hidden="true">Photo: Matt Artz / Unsplash</small>
Contrary to what some policymakers seem to believe, whether naively or maliciously, encryption is not a crime. Anyone asserting encryption is a tool for crime is either painfully misinformed or is attempting to manipulate legislators to gain oppressive power over the people.<!-- more -->
Encryption is not a crime, encryption is a shield.
Encryption is the digital tool that protects us against all sorts of attacks. It is the lock on your digital door preventing harmful intruders from entering your home. Encryption is also the door itself, protecting your privacy and intimacy from creepy eavesdroppers while you go about your life.
It's not a crime to lock your home's door for protection, **why would it be a crime to lock your digital door?**
[Encryption protects you](privacy-means-safety.md) from cyberattack, identity theft, discrimination, doxxing, stalking, sexual violence, physical harm, and much more.
## Who says encryption is a crime
Anyone who is well-informed will find it hard to believe someone could want to sabotage such fantastic protection.
Yet, [year](https://www.wired.com/1993/02/crypto-rebels/) after [year](https://www.wired.com/story/a-new-era-of-attacks-on-encryption-is-starting-to-heat-up/), oppressive regimes and lazy or greedy [law enforcement](https://www.techradar.com/computing/cyber-security/anonymity-is-not-a-fundamental-right-experts-disagree-with-europol-chiefs-request-for-encryption-back-door) entities around the world have attempted to [undermine encryption](https://www.howtogeek.com/544727/what-is-an-encryption-backdoor/) using the pretext this is needed to "solve crime", despite all the experts *repeatedly* warning on how [unnecessary](https://arstechnica.com/tech-policy/2019/08/post-snowden-tech-became-more-secure-but-is-govt-really-at-risk-of-going-dark/) and [dangerous](https://www.globalencryption.org/2020/11/breaking-encryption-myths/) this would be. And this is without accounting for all the countries where encryption is *already* [severely restricted](https://www.gp-digital.org/world-map-of-encryption/), such as Russia, China, India, Iran, Egypt, Cuba, and others.
Whether breaking encryption is brought up naively by misinformed authorities, or as a disguised excuse for mass surveillance is up for debate.
Nevertheless, the result is the same: An attempt to destroy **a tool we all need to stay safe**.
## Encryption is a protective shield
Encryption, moreover end-to-end encryption, is a tool we all use in our digital life to stay safe.
In today's world, the boundary between online and offline life is largely dissolved. Almost everything we do "offline" has a record of it "online". Online life is regular life now. It's not just your browsing history.
Your medical record from a visit at the clinic, your purchase transaction from a trip to the store, your travel photos saved in the cloud, your text conversations with your friends, family, and children, are all likely protected with encryption, perhaps even with *end-to-end* encryption.
Such a large trove of personal data needs to be protected against eavesdropping and malicious attacks for everyone to stay safe.
Encryption offers this protection. End-to-end encryption all the more.
## What is end-to-end encryption, and what is the war against it
End-to-end encryption is a type of encryption where only the intended recipient(s) have the ability to decrypt (read) the encrypted data.
This means that if you send a message through [Signal](https://signal.org/) for example, only the participants to this conversation will be able to read the content of this conversation. Even Signal cannot know what is being discussed on Signal.
This greatly annoys some over-controlling authorities who would like to be granted unlimited power to spy on anyone anytime they wish, for vaguely defined purposes that could change at any moment.
End-to-end encryption can also mean a situation where you are "both ends" of the communication.
For example, when enabling Apple's [Advanced Data Protection for iCloud](https://support.apple.com/en-ca/guide/security/sec973254c5f/web) (ADP), it activates end-to-end encryption protection for almost all of iCloud data, including photos. This means that even Apple could not see your photos, or be forced to share your photos with a governmental entity.
Without ADP, Apple can read or share your photos (or other data) if they are legally compelled to, or if they feel like it. The same is true for Google's services, Microsoft's services, and any other online services that aren't end-to-end encrypted.
This is at the root of the latest attack on encryption:
In February this year, it was reported that [Apple was served with a notice](uk-forced-apple-to-remove-adp.md) from the UK's Home Office to force it to break ADP's end-to-end encryption. In response, Apple removed access to ADP from the UK entirely, making this protection unavailable to UK residents.
Do not mistakenly think this attack is limited to the UK and Apple users, however. If this regulation notice or a similar one gets enforced, it would **impact the whole world.** Other countries would likely soon follow, and other services would likely soon get under attack as well.
Moreover, do not feel unaffected just because you use end-to-end encryption with [Signal](https://www-svt-se.translate.goog/nyheter/inrikes/signal-lamnar-sverige-om-regeringens-forslag-pa-datalagring-klubbas?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp) or [Proton](https://www.techradar.com/vpn/vpn-privacy-security/secure-encryption-and-online-anonymity-are-now-at-risk-in-switzerland-heres-what-you-need-to-know) services instead of Apple, they are both **under attack** as well in this war.
Just in recent years, the war against encryption has affected the [US](https://www.eff.org/deeplinks/2023/04/earn-it-bill-back-again-seeking-scan-our-messages-and-photos), the [UK](https://www.bbc.co.uk/news/articles/cgj54eq4vejo), [Sweden](https://www.globalencryption.org/2025/04/joint-letter-on-swedish-data-storage-and-access-to-electronic-information-legislation/), [France](https://www.laquadrature.net/en/warondrugslaw/), [Australia, New Zealand, Canada, India, Japan](https://www.theverge.com/2020/10/12/21513212/backdoor-encryption-access-us-canada-australia-new-zealand-uk-india-japan), and all the European Union countries with proposals such as [Chat Control](the-future-of-privacy.md/#chat-control-wants-to-break-end-to-end-encryption).
## The arguments given to break encryption make no sense
Authoritarian entities generally use the same populist excuses to justify their senseless demands. "Protecting the children" is always a fashionable disingenuous argument.
Because no one would disagree that protecting the children is important, it is often used as an attempt to deceitfully make an irrefutable argument to justify breaking encryption.
The problem is, **breaking encryption doesn't protect the children**, it [endangers](https://www.theguardian.com/technology/2022/jan/21/end-to-end-encryption-protects-children-says-uk-information-watchdog) them.
When law enforcement officials claim they need to be able to read everyone's messages and see everyone's personal photos to be able to fight child predators, they seem to neglect that:
- This means they will expose the children's messages, contact information, locations, and photos in the process, potentially *endangering the children further*.
- Exposing everyone's data will make this data much more likely to be found and exploited by criminals, making *everyone* more vulnerable to attacks.
- Predators will simply move to underground channels, [unbothered](https://www.schneier.com/blog/archives/2015/07/back_doors_wont.html).
They use the same kind of deceptive argument trying to justify weakening the protections we have to supposedly catch "criminals" and "terrorists".
Of course the exact definition of what is a "criminal" or a "terrorist" is always vague and subject to change. In the past, human rights activists and authoritarian regime dissidents have been labeled as such, climate change activists as well, LGBTQ+ people even in some countries. Maybe next year this label will include "DEI advocates", who knows where they draw the line and what can be considered a "criminal" worth spying on.
You *cannot* remove everyone's right to privacy and protection from harm while pretending it is to protect them. No one who is well-informed and well-intended could possibly consider this a smart thing to do.
**An attack on end-to-end encryption isn't an attack on criminals, it's an attack on all of us.**
## Magical backdoor only for "the good guys" is a complete fantasy
Let's say the strategy is akin to creating a MagicalKey that unlocks every door (a magical key because thinking encryption backdoors would only be used by "the good guys" is a great example of [magical thinking](https://www.britannica.com/science/magical-thinking)).
Imagine, for the sake of this exercise, the MagicalLock for this MagicalKey is impossible to pick, and imagine only police officers have MagicalKeys. Let's say one thousand police officers each have a MagicalKey.
They argue they need to be able to unlock anyone's door if they suspect a crime is happening inside. "It's for safety!"
Overtime, let's say only 1% of the police officers accidentally lose their MagicalKey. This kind of things happen. Now 10 MagicalKeys are lost in the wild and could be used by anyone else, for any purposes, including crime.
Then, let's say only 0.1% of police officers get corrupted by a crime gang. That's just one right? This corrupted "good guy" lets the gang create a double of the MagicalKey. Which crime gang wouldn't want a key that can magically open any door? They pay the police officer good money for this. It's an investment.
Now, the gang creates doubles of the MagicalKey they have. They obfuscate its serial number, so it cannot be traced back to them. They use it subtly at first to avoid detection. They make sure they never leave traces behind, so victims have no idea their door got unlocked.
During this time, they steal your data, they sell it, they use it to impersonate you, they use it to harm you and your loved ones.
Then, another criminal figures out on their own how to emulate a MagicalKey without even having access to one. The criminal creates a reproducible mold for this Emulated-MagicalKey and sells it to other criminals on the criminal market. Now, the MagicalKey™ is available to any criminals looking for it. Restrictions on the backdoor are off. **Your personal data is up for grabs.**
This is what is going to happen if backdoors are implemented in end-to-end encryption. But don't worry they say, "it's only for the good guys!".
At least, the criminals' data will also be up for grabs, right?
Nope! The criminals knew about this, so they just started using different channels that weren't impacted. Criminals will have their privacy intact, they don't care about using illegal tools, but **your legal privacy protections will be gone**.
*Backdoored* end-to-end encryption isn't end-to-end anymore, it's just open-ended encryption. This offers pretty much no protection at all.
## Ignoring experts doesn't make facts disappear
Where is the opposition to this? Where are the experts pushing against this nightmare? Everywhere.
Thankfully, opposition has been strong, despite the relentless ignorance or malevolence from authoritarian authorities repeatedly pushing against encryption.
Many people and groups have been fighting valiantly to defend our collective right to privacy and security. Countless experts have patiently taken the time to explain [again](https://signal.org/blog/uk-online-safety-bill/) and [again](https://www.globalencryption.org/2020/10/cdt-gpd-and-internet-society-reject-time-worn-argument-for-encryption-backdoors/) and [again](https://www.schneier.com/wp-content/uploads/2016/09/paper-keys-under-doormats-CSAIL.pdf) how an encryption backdoor only for "the good guys" is simply impossible.
Weakening encryption to let "the good guys" enter, lets *anyone* enter, including criminals. There is no way around this.
Seemingly ignoring warnings and advice from the most respected specialists in the field, authoritarian officials continue to push against encryption. So much so that it has become difficult to assume good intent misguided by ignorance at this point.
Unfortunately, ignoring the experts or silencing the debate will not make the facts magically disappear.
In an encouraging development this week, Apple [won a case](https://www.bbc.co.uk/news/articles/cvgn1lz3v4no) fighting an attempt from the UK Home Office to hide from the public details of their latest attack on encryption.
This battle and all battles to protect our privacy rights, *must* be fought is broad daylight, for all to see and to support.
## Fight for encryption rights everywhere you can
The war against encryption isn't anything new, it has been happening for decades. However, the quantity of data, personal and sensitive data, that is collected, stored, and shared about us is much larger today. It is essential we use the proper tools to secure this information.
This is what have changed, and what is making encryption and end-to-end encryption even more indispensable today.
Mass surveillance will not keep us safe, it will endanger us further and damage our democracies and freedoms in irreparable ways.
We must fight to keep our right to privacy, and use of strong end-to-end encryption to protect ourselves, our friends, our family, and yes also to protect the children.
### How can you support the right to encryption?
- [x] Use end-to-end encryption everywhere you can.
- [x] Talk about the benefits of end-to-end encryption to everyone around you, especially your loved ones less knowledgeable about technology. Talk about how it is essential to protect everyone's data, including the children's.
- [x] Use social media to promote the benefits of end-to-end encryption and post about how it protects us all.
- [x] Write or call your government representatives to let them know you care about end-to-end encryption and are worried about dangerous backdoors or chat control proposals.
- [x] Support organizations fighting for encryption, such as:
- [Global Encryption Coalition](https://www.globalencryption.org/)
- [Open Rights Group](https://www.openrightsgroup.org/campaign/save-encryption/)
- [Fight For The Future](https://www.makedmssafe.com/)
- [Signal app](https://signal.org/donate/)
- [Internet Society](https://www.internetsociety.org/open-letters/fix-the-take-it-down-act-to-protect-encryption/)
- [Electronic Frontier Foundation](https://www.eff.org/issues/end-end-encryption)
- [Privacy Guides](https://www.privacyguides.org/en/about/donate/) 💛
Finally, have a look at our [recommendations](https://www.privacyguides.org/en/tools/) if you want to start using more tools protecting your privacy using end-to-end encryption.
This is a long war, but the importance of it doesn't allow us to give up.
We must continue fighting for the right to protect our data with end-to-end encryption, **we owe it to ourselves, our loved ones, and the future generations.**

View File

@ -24,7 +24,7 @@ On the surface, this seems true to many people but the reality is very diffe
In the end it only convicted one person.
Now, many have argued that stopping one terrorist might be worth giving up some security for, but [according](https://www.aclu.org/issues/national-security/privacy-and-surveillance/surveillance-under-patriot-act) to the ACLU, the conviction would have occurred without the Patriot Act.
Now, many have argued that stopping one terrorist might be worth giving up some security for, but [according](https://web.archive.org/web/20230318132243/https://www.aclu.org/issues/national-security/privacy-and-surveillance/surveillance-under-patriot-act) to the ACLU, the conviction would have occurred without the Patriot Act.
Many legal actions you take today could be deemed illegal by future laws or future government. In the US today there is discussion around the possibility of Roe v. Wade being overturned, allowing states to outlaw abortions. You may not currently feel the need to hide internet searches, menstrual cycle apps, or donations to women's health clinics today because it's not illegal, but tomorrow that information could be used against you.

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