Compare commits
6 Commits
2025.01.25
...
pr-add_win
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7a81f92c8 | ||
|
|
b8921dbdd3 | ||
|
|
39617fdf50 | ||
|
|
fa146909fd | ||
|
|
5882d0e98d | ||
|
|
3a6d0522bd |
@@ -236,20 +236,6 @@
|
||||
"blog"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "friadev",
|
||||
"name": "fria",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/138676274?v=4",
|
||||
"profile": "https://friadev.github.io/",
|
||||
"contributions": [
|
||||
"doc",
|
||||
"review",
|
||||
"research",
|
||||
"question",
|
||||
"bug",
|
||||
"ideas"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "actions",
|
||||
"name": "GitHub Actions",
|
||||
@@ -259,24 +245,6 @@
|
||||
"infra"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "triplebit",
|
||||
"name": "Triplebit",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/178061783?v=4",
|
||||
"profile": "https://www.triplebit.org/",
|
||||
"contributions": [
|
||||
"infra"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "magicgrants",
|
||||
"name": "MAGIC Grants",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/90805358?v=4",
|
||||
"profile": "https://magicgrants.org/",
|
||||
"contributions": [
|
||||
"business"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "netlify",
|
||||
"name": "Netlify",
|
||||
@@ -2900,80 +2868,6 @@
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "yusuf-daglioglu",
|
||||
"name": "Yusuf Daglioglu",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/90555550?v=4",
|
||||
"profile": "https://github.com/yusuf-daglioglu",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "yikerman",
|
||||
"name": "Yi Cao",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/32544798?v=4",
|
||||
"profile": "https://ycao.net/",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "sdhlfqr",
|
||||
"name": "Sayf Dhū al-Faqār",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/155405590?v=4",
|
||||
"profile": "https://github.com/sdhlfqr",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "eylenburg",
|
||||
"name": "eylenburg",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/84839316?v=4",
|
||||
"profile": "https://github.com/eylenburg",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "PASSK3YS",
|
||||
"name": "Kieran Colfer",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/54213179?v=4",
|
||||
"profile": "https://github.com/PASSK3YS",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "SamsungGalaxyPlayer",
|
||||
"name": "Justin Ehrenhofer",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/12520755?v=4",
|
||||
"profile": "https://github.com/SamsungGalaxyPlayer",
|
||||
"contributions": [
|
||||
"doc",
|
||||
"business",
|
||||
"fundingFinding"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "bruch-alex",
|
||||
"name": "Alex Bruch",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/173354246?v=4",
|
||||
"profile": "https://github.com/bruch-alex",
|
||||
"contributions": [
|
||||
"translation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "qiyongzheng",
|
||||
"name": "qiyongzheng",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/153378707?v=4",
|
||||
"profile": "https://github.com/qiyongzheng",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 5,
|
||||
|
||||
63
.github/CODEOWNERS
vendored
@@ -1,66 +1,15 @@
|
||||
# Org
|
||||
# High-traffic pages
|
||||
/docs/index.md @jonaharagon @dngray
|
||||
/theme/overrides/ @jonaharagon
|
||||
|
||||
# Org
|
||||
/docs/about/ @jonaharagon
|
||||
CODE_OF_CONDUCT.md @jonaharagon
|
||||
CITATION.cff @jonaharagon
|
||||
LICENSE @jonaharagon @dngray
|
||||
LICENSE-CODE @jonaharagon
|
||||
CITATION.cff
|
||||
LICENSE @jonaharagon
|
||||
README.md @jonaharagon @dngray
|
||||
|
||||
# Config
|
||||
|
||||
/mkdocs.yml @jonaharagon
|
||||
/mkdocs.blog.yml @jonaharagon
|
||||
/crowdin.yml @jonaharagon
|
||||
/includes/ @jonaharagon
|
||||
|
||||
# Ops
|
||||
|
||||
Dockerfile @jonaharagon
|
||||
/Pipfile @jonaharagon
|
||||
/Pipfile.lock @jonaharagon
|
||||
/.github/ @jonaharagon
|
||||
/run.sh @jonaharagon
|
||||
/modules/ @jonaharagon
|
||||
|
||||
# High-traffic pages
|
||||
|
||||
/blog/index.md @jonaharagon @freddy-m
|
||||
/docs/index.md @jonaharagon @dngray
|
||||
/theme/home.html @jonaharagon @dngray
|
||||
/theme/main.html @jonaharagon
|
||||
/theme/blog-post.html @jonaharagon
|
||||
/theme/partials/ @jonaharagon
|
||||
/theme/layouts/ @jonaharagon
|
||||
|
||||
# Financial-Related
|
||||
|
||||
/docs/about/donate.md @jonaharagon @SamsungGalaxyPlayer
|
||||
/docs/cryptocurrency.md @jonaharagon @SamsungGalaxyPlayer
|
||||
/docs/financial-services.md @jonaharagon @SamsungGalaxyPlayer
|
||||
/docs/advanced/payments.md @jonaharagon @SamsungGalaxyPlayer
|
||||
|
||||
# Blog authors
|
||||
|
||||
/blog/.authors.yml @jonaharagon @dngray @freddy-m
|
||||
/blog/author/ @jonaharagon @dngray @freddy-m
|
||||
/blog/author/dngray.md @dngray
|
||||
/blog/author/freddy.md @freddy-m
|
||||
/blog/author/jonah.md @jonaharagon
|
||||
/blog/author/niek-de-wilde.md @blacklight447
|
||||
|
||||
# Blog posts
|
||||
|
||||
/blog/posts/ @jonaharagon
|
||||
/blog/posts/firefox-privacy-2021-update.md @dngray
|
||||
/blog/posts/firefox-privacy.md @jonaharagon
|
||||
/blog/posts/hide-nothing.md @freddy-m
|
||||
/blog/posts/macos-ventura-privacy-security-updates.md @jonaharagon
|
||||
/blog/posts/move-fast-and-break-things.md @freddy-m
|
||||
/blog/posts/mozilla-disappoints-us-yet-again-2.md @jonaharagon
|
||||
/blog/posts/privacy-guides-partners-with-magic-grants-501-c-3.md @jonaharagon
|
||||
/blog/posts/proton-wallet-review.md @jonaharagon
|
||||
/blog/posts/restrict-act.md @jonaharagon
|
||||
/blog/posts/the-trouble-with-vpn-and-privacy-review-sites.md @jonaharagon
|
||||
/blog/posts/virtual-insanity.md @freddy-m
|
||||
/blog/posts/welcome-to-privacy-guides.md @jonaharagon
|
||||
|
||||
77
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
# Copyright (c) 2021-2023 Jonah Aragon <jonah@triplebit.net>
|
||||
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
version: 2
|
||||
|
||||
registries:
|
||||
github-privacyguides:
|
||||
type: git
|
||||
url: https://github.com
|
||||
username: x-access-token
|
||||
password: ${{secrets.REPO_PAT}}
|
||||
|
||||
updates:
|
||||
# Maintain dependencies for GitHub Actions
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
assignees:
|
||||
- "jonaharagon"
|
||||
reviewers:
|
||||
- "jonaharagon"
|
||||
labels:
|
||||
- "fix:github_actions"
|
||||
|
||||
# Maintain submodules
|
||||
- package-ecosystem: "gitsubmodule"
|
||||
directory: "/"
|
||||
registries:
|
||||
- github-privacyguides
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
labels:
|
||||
- "fix:submodules"
|
||||
|
||||
- package-ecosystem: "devcontainers"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
|
||||
- package-ecosystem: "docker"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
# Disabled because some updates tend to remove needed dependencies for some reason
|
||||
|
||||
# # Maintain dependencies for pipenv
|
||||
# - package-ecosystem: "pip"
|
||||
# directory: "/"
|
||||
# insecure-external-code-execution: allow
|
||||
# registries:
|
||||
# - github-privacyguides
|
||||
# schedule:
|
||||
# interval: "daily"
|
||||
# assignees:
|
||||
# - "jonaharagon"
|
||||
# reviewers:
|
||||
# - "jonaharagon"
|
||||
# labels:
|
||||
# - "fix:python"
|
||||
18
.github/workflows/build-blog.yml
vendored
@@ -65,10 +65,6 @@ jobs:
|
||||
with:
|
||||
cache: "pipenv"
|
||||
|
||||
- name: Install Python (no pipenv)
|
||||
if: ${{ !inputs.privileged }}
|
||||
uses: actions/setup-python@v5
|
||||
|
||||
- name: Install Python Dependencies
|
||||
if: inputs.privileged
|
||||
run: |
|
||||
@@ -76,22 +72,10 @@ jobs:
|
||||
pipenv install
|
||||
sudo apt install pngquant
|
||||
|
||||
- name: Install Python Dependencies (Unprivileged)
|
||||
if: ${{ !inputs.privileged }}
|
||||
run: |
|
||||
pip install mkdocs-material mkdocs-rss-plugin mkdocs-glightbox mkdocs-macros-plugin
|
||||
sudo apt install pngquant
|
||||
|
||||
- name: Build Website (Privileged)
|
||||
if: inputs.privileged
|
||||
- name: Build Website
|
||||
run: |
|
||||
pipenv run mkdocs build --config-file mkdocs.blog.yml
|
||||
|
||||
- name: Build Website (Unprivileged)
|
||||
if: ${{ !inputs.privileged }}
|
||||
run: |
|
||||
BUILD_INSIDERS=false mkdocs build --config-file mkdocs.blog.yml
|
||||
|
||||
- name: Package Website
|
||||
run: |
|
||||
tar -czf site-build-blog.tar.gz site
|
||||
|
||||
2
.github/workflows/build-container.yml
vendored
@@ -79,7 +79,7 @@ jobs:
|
||||
# It uses the `context` parameter to define the build's context as the set of files located in the specified path. For more information, see "[Usage](https://github.com/docker/build-push-action#usage)" in the README of the `docker/build-push-action` repository.
|
||||
# It uses the `tags` and `labels` parameters to tag and label the image with the output from the "meta" step.
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v6.9.0
|
||||
uses: docker/build-push-action@v6.7.0
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
|
||||
31
.github/workflows/build-pr.yml
vendored
@@ -19,19 +19,12 @@ jobs:
|
||||
env:
|
||||
ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
|
||||
steps:
|
||||
- name: Save PR metadata
|
||||
run: |
|
||||
mkdir -p ./metadata
|
||||
echo ${{ github.event.number }} > ./metadata/NR
|
||||
echo ${{ github.event.pull_request.head.sha }} > ./metadata/SHA
|
||||
|
||||
- name: Set submodules for fork
|
||||
if: env.ACTIONS_SSH_KEY == ''
|
||||
id: submodules-fork
|
||||
run: |
|
||||
echo 'submodules={"repo":["brand","i18n"]}' >> "$GITHUB_OUTPUT"
|
||||
echo "privileged=false" >> "$GITHUB_OUTPUT"
|
||||
echo "false" > ./metadata/PRIVILEGED
|
||||
|
||||
- name: Set submodules for main repo
|
||||
if: env.ACTIONS_SSH_KEY != ''
|
||||
@@ -39,7 +32,12 @@ jobs:
|
||||
run: |
|
||||
echo 'submodules={"repo":["brand","i18n","mkdocs-material-insiders"]}' >> "$GITHUB_OUTPUT"
|
||||
echo "privileged=true" >> "$GITHUB_OUTPUT"
|
||||
echo "true" > ./metadata/PRIVILEGED
|
||||
|
||||
- name: Save PR metadata
|
||||
run: |
|
||||
mkdir -p ./metadata
|
||||
echo ${{ github.event.number }} > ./metadata/NR
|
||||
echo ${{ github.event.pull_request.head.sha }} > ./metadata/SHA
|
||||
|
||||
- name: Upload metadata as artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -99,24 +97,13 @@ jobs:
|
||||
continue-on-error: true
|
||||
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
|
||||
|
||||
build_videos:
|
||||
if: ${{ contains(github.event.pull_request.labels.*.name, 'ci:build videos') }}
|
||||
needs: [submodule, metadata]
|
||||
uses: ./.github/workflows/build-videos.yml
|
||||
with:
|
||||
ref: ${{github.event.pull_request.head.ref}}
|
||||
repo: ${{github.event.pull_request.head.repo.full_name}}
|
||||
continue-on-error: true
|
||||
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
|
||||
|
||||
combine_build:
|
||||
needs: [build_english, build_i18n, build_blog, build_videos]
|
||||
needs: [build_english, build_i18n, build_blog]
|
||||
if: |
|
||||
(always() && !cancelled() && !failure()) &&
|
||||
needs.build_english.result == 'success' &&
|
||||
(needs.build_i18n.result == 'success' || needs.build_i18n.result == 'skipped') &&
|
||||
(needs.build_blog.result == 'success' || needs.build_blog.result == 'skipped') &&
|
||||
(needs.build_videos.result == 'success' || needs.build_videos.result == 'skipped')
|
||||
(needs.build_blog.result == 'success' || needs.build_blog.result == 'skipped')
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -138,5 +125,5 @@ jobs:
|
||||
|
||||
cleanup:
|
||||
if: ${{ always() }}
|
||||
needs: [build_english, build_i18n, build_blog, build_videos]
|
||||
needs: [build_english, build_i18n, build_blog]
|
||||
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
|
||||
|
||||
104
.github/workflows/build-videos.yml
vendored
@@ -1,104 +0,0 @@
|
||||
name: 🛠️ Build Videos
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
ref:
|
||||
required: true
|
||||
type: string
|
||||
repo:
|
||||
required: true
|
||||
type: string
|
||||
context:
|
||||
type: string
|
||||
default: deploy-preview
|
||||
continue-on-error:
|
||||
type: boolean
|
||||
default: true
|
||||
privileged:
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: ${{ inputs.continue-on-error }}
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
steps:
|
||||
- name: Add GitHub Token to Environment
|
||||
run: |
|
||||
echo "GH_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Download Repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ inputs.repo }}
|
||||
ref: ${{ inputs.ref }}
|
||||
persist-credentials: "false"
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Download Submodules
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
pattern: repo-*
|
||||
path: modules
|
||||
|
||||
- name: Move mkdocs-material-insiders to mkdocs-material
|
||||
if: inputs.privileged
|
||||
run: |
|
||||
rmdir modules/mkdocs-material
|
||||
mv modules/repo-mkdocs-material-insiders modules/mkdocs-material
|
||||
|
||||
- name: Move brand submodule to theme/assets/brand
|
||||
run: |
|
||||
rmdir theme/assets/brand
|
||||
mv modules/repo-brand theme/assets/brand
|
||||
|
||||
- name: Install Python (pipenv)
|
||||
if: inputs.privileged
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
cache: "pipenv"
|
||||
|
||||
- name: Install Python (no pipenv)
|
||||
if: ${{ !inputs.privileged }}
|
||||
uses: actions/setup-python@v5
|
||||
|
||||
- name: Install Python Dependencies
|
||||
if: inputs.privileged
|
||||
run: |
|
||||
pip install pipenv
|
||||
pipenv install
|
||||
sudo apt install pngquant
|
||||
|
||||
- name: Install Python Dependencies (Unprivileged)
|
||||
if: ${{ !inputs.privileged }}
|
||||
run: |
|
||||
pip install mkdocs-material mkdocs-rss-plugin mkdocs-glightbox mkdocs-macros-plugin
|
||||
sudo apt install pngquant
|
||||
|
||||
- name: Build Website (Privileged)
|
||||
if: inputs.privileged
|
||||
run: |
|
||||
pipenv run mkdocs build --config-file mkdocs.videos.yml
|
||||
|
||||
- name: Build Website (Unprivileged)
|
||||
if: ${{ !inputs.privileged }}
|
||||
run: |
|
||||
BUILD_INSIDERS=false mkdocs build --config-file mkdocs.videos.yml
|
||||
|
||||
- name: Package Website
|
||||
run: |
|
||||
tar -czf site-build-videos.tar.gz site
|
||||
|
||||
- name: Upload Site
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: site-build-videos.tar.gz
|
||||
path: site-build-videos.tar.gz
|
||||
retention-days: 1
|
||||
42
.github/workflows/build.yml
vendored
@@ -27,9 +27,6 @@ on:
|
||||
strict:
|
||||
type: boolean
|
||||
default: false
|
||||
cache:
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -60,12 +57,6 @@ jobs:
|
||||
echo "BUILD_INSIDERS=true" >> "$GITHUB_ENV"
|
||||
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --insiders"" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set Metadata for International Builds
|
||||
if: inputs.lang != 'en'
|
||||
run: |
|
||||
echo "GITREVISIONDATE=false" >> "$GITHUB_ENV"
|
||||
echo "GITAUTHORS=false" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set Metadata for Offline Mode
|
||||
if: inputs.config == 'offline'
|
||||
run: |
|
||||
@@ -122,7 +113,6 @@ jobs:
|
||||
- name: Restore Privacy Plugin Cache
|
||||
uses: actions/cache/restore@v4.0.2
|
||||
id: privacy_cache_restore
|
||||
if: inputs.cache
|
||||
with:
|
||||
key: privacy-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/privacy/**') }}
|
||||
path: |
|
||||
@@ -135,7 +125,6 @@ jobs:
|
||||
- name: Restore Social Plugin Cache
|
||||
uses: actions/cache/restore@v4.0.2
|
||||
id: social_cache_restore
|
||||
if: inputs.cache
|
||||
with:
|
||||
key: social-cache-${{ inputs.repo }}-${{ inputs.lang }}-${{ hashfiles('.cache/plugin/social/manifest.json') }}
|
||||
path: |
|
||||
@@ -148,7 +137,6 @@ jobs:
|
||||
- name: Restore Optimize Plugin Cache
|
||||
uses: actions/cache/restore@v4.0.2
|
||||
id: optimize_cache_restore
|
||||
if: inputs.cache
|
||||
with:
|
||||
key: optimize-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/optimize/manifest.json') }}
|
||||
path: |
|
||||
@@ -176,31 +164,13 @@ jobs:
|
||||
run: |
|
||||
eval ./run.sh --build --lang=${{ inputs.lang }} "$EXTRA_FLAGS"
|
||||
|
||||
- name: Run index-generation.sh for top posts
|
||||
if: inputs.lang == 'en'
|
||||
run: |
|
||||
bash index-generation.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
|
||||
if: inputs.lang == 'en'
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
--source='https://discuss.privacyguides.net/latest.json' \
|
||||
--tag="latest posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
--count=12
|
||||
|
||||
- name: Package Website
|
||||
run: |
|
||||
tar -czf site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz site
|
||||
|
||||
- name: Find Privacy Plugin Cache
|
||||
uses: actions/cache/restore@v4.0.2
|
||||
if: steps.privacy_cache_restore.outputs.cache-hit != 'true' && inputs.cache
|
||||
if: steps.privacy_cache_restore.outputs.cache-hit != 'true'
|
||||
id: privacy_cache_test
|
||||
with:
|
||||
key: privacy-cache-privacyguides/privacyguides.org-${{ hashfiles('.cache/plugin/privacy/**') }}
|
||||
@@ -210,7 +180,7 @@ jobs:
|
||||
|
||||
- name: Find Social Plugin Cache
|
||||
uses: actions/cache/restore@v4.0.2
|
||||
if: steps.social_cache_restore.outputs.cache-hit != 'true' && inputs.cache
|
||||
if: steps.social_cache_restore.outputs.cache-hit != 'true'
|
||||
id: social_cache_test
|
||||
with:
|
||||
key: social-cache-privacyguides/privacyguides.org-${{ inputs.lang }}-${{ hashfiles('.cache/plugin/social/manifest.json') }}
|
||||
@@ -221,7 +191,7 @@ jobs:
|
||||
|
||||
- name: Find Optimize Plugin Cache
|
||||
uses: actions/cache/restore@v4.0.2
|
||||
if: steps.optimize_cache_restore.outputs.cache-hit != 'true' && inputs.cache
|
||||
if: steps.optimize_cache_restore.outputs.cache-hit != 'true'
|
||||
id: optimize_cache_test
|
||||
with:
|
||||
key: optimize-cache-privacyguides/privacyguides.org-${{ hashfiles('.cache/plugin/optimize/manifest.json') }}
|
||||
@@ -231,14 +201,14 @@ jobs:
|
||||
|
||||
- name: Save Privacy Plugin Cache
|
||||
uses: actions/cache/save@v4.0.2
|
||||
if: steps.privacy_cache_test.outputs.cache-hit != 'true' && inputs.cache
|
||||
if: steps.privacy_cache_test.outputs.cache-hit != 'true'
|
||||
with:
|
||||
key: privacy-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/privacy/**') }}
|
||||
path: .cache/plugin/privacy
|
||||
|
||||
- name: Save Social Plugin Cache
|
||||
uses: actions/cache/save@v4.0.2
|
||||
if: steps.social_cache_test.outputs.cache-hit != 'true' && inputs.cache
|
||||
if: steps.social_cache_test.outputs.cache-hit != 'true'
|
||||
with:
|
||||
key: social-cache-${{ inputs.repo }}-${{ inputs.lang }}-${{ hashfiles('.cache/plugin/social/manifest.json') }}
|
||||
path: |
|
||||
@@ -247,7 +217,7 @@ jobs:
|
||||
|
||||
- name: Save Optimize Plugin Cache
|
||||
uses: actions/cache/save@v4.0.2
|
||||
if: steps.optimize_cache_test.outputs.cache-hit != 'true' && inputs.cache
|
||||
if: steps.optimize_cache_test.outputs.cache-hit != 'true'
|
||||
with:
|
||||
key: optimize-cache-${{ inputs.repo }}-${{ hashfiles('.cache/plugin/optimize/manifest.json') }}
|
||||
path: .cache/plugin/optimize
|
||||
|
||||
85
.github/workflows/publish-immediate.yml
vendored
@@ -1,85 +0,0 @@
|
||||
# Copyright (c) 2021-2025 Jonah Aragon <jonah@triplebit.net>
|
||||
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
name: 📦 Immediate Releases
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- "main"
|
||||
paths:
|
||||
- "blog/**"
|
||||
- "videos/**"
|
||||
|
||||
concurrency:
|
||||
group: release-deployment
|
||||
cancel-in-progress: false
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pages: write
|
||||
id-token: write
|
||||
deployments: write
|
||||
|
||||
jobs:
|
||||
submodule:
|
||||
strategy:
|
||||
matrix:
|
||||
repo: [mkdocs-material-insiders, brand]
|
||||
uses: privacyguides/.github/.github/workflows/download-repo.yml@main
|
||||
with:
|
||||
repo: ${{ matrix.repo }}
|
||||
secrets:
|
||||
ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
|
||||
|
||||
build_blog:
|
||||
needs: submodule
|
||||
permissions:
|
||||
contents: read
|
||||
uses: ./.github/workflows/build-blog.yml
|
||||
with:
|
||||
repo: ${{ github.repository }}
|
||||
ref: ${{ github.ref }}
|
||||
continue-on-error: false
|
||||
|
||||
build_videos:
|
||||
needs: submodule
|
||||
permissions:
|
||||
contents: read
|
||||
uses: ./.github/workflows/build-videos.yml
|
||||
with:
|
||||
repo: ${{ github.repository }}
|
||||
ref: ${{ github.ref }}
|
||||
continue-on-error: false
|
||||
|
||||
deploy:
|
||||
needs: [build_blog, build_videos]
|
||||
uses: privacyguides/webserver/.github/workflows/deploy-garage.yml@main
|
||||
with:
|
||||
environment: production
|
||||
secrets:
|
||||
PROD_GARAGE_KEY_ID: ${{ secrets.PROD_GARAGE_KEY_ID }}
|
||||
PROD_GARAGE_SECRET_KEY: ${{ secrets.PROD_GARAGE_SECRET_KEY }}
|
||||
|
||||
cleanup:
|
||||
if: ${{ always() }}
|
||||
needs: [build_blog, build_videos]
|
||||
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
|
||||
11
.github/workflows/publish-mirror.yml
vendored
@@ -51,3 +51,14 @@ jobs:
|
||||
with:
|
||||
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
|
||||
destination-repo: "git@codeberg.org:privacyguides/privacyguides.org.git"
|
||||
|
||||
sourcehut:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Mirror to SourceHut
|
||||
uses: wearerequired/git-mirror-action@v1
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
|
||||
with:
|
||||
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
|
||||
destination-repo: "git@git.sr.ht:~jonaharagon/privacyguides.org"
|
||||
|
||||
38
.github/workflows/publish-pr.yml
vendored
@@ -22,7 +22,6 @@ jobs:
|
||||
outputs:
|
||||
pr_number: ${{ steps.metadata.outputs.pr_number }}
|
||||
sha: ${{ steps.metadata.outputs.sha }}
|
||||
privileged: ${{ steps.metadata.outputs.privileged }}
|
||||
|
||||
steps:
|
||||
- name: Download Website Build Artifact
|
||||
@@ -87,9 +86,8 @@ jobs:
|
||||
unzip metadata.zip -d metadata
|
||||
echo "pr_number=$(cat metadata/NR)" >> "$GITHUB_OUTPUT"
|
||||
echo "sha=$(cat metadata/SHA)" >> "$GITHUB_OUTPUT"
|
||||
echo "privileged=$(cat metadata/PRIVILEGED)" >> "$GITHUB_OUTPUT"
|
||||
|
||||
deploy_netlify:
|
||||
deploy:
|
||||
needs: metadata
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -101,30 +99,15 @@ jobs:
|
||||
secrets:
|
||||
NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
|
||||
|
||||
deploy_garage:
|
||||
needs: metadata
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
uses: privacyguides/webserver/.github/workflows/deploy-garage-preview.yml@main
|
||||
with:
|
||||
alias: ${{ needs.metadata.outputs.pr_number }}
|
||||
bucket: ${{ vars.PREVIEW_GARAGE_BUCKET }}
|
||||
hostname: ${{ vars.PREVIEW_GARAGE_HOSTNAME }}
|
||||
secrets:
|
||||
PREVIEW_GARAGE_KEY_ID: ${{ secrets.PREVIEW_GARAGE_KEY_ID }}
|
||||
PREVIEW_GARAGE_SECRET_KEY: ${{ secrets.PREVIEW_GARAGE_SECRET_KEY }}
|
||||
|
||||
comment:
|
||||
permissions:
|
||||
pull-requests: write
|
||||
needs: [deploy_garage, metadata]
|
||||
needs: [deploy, metadata]
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
address: ${{ needs.deploy_garage.outputs.address }}
|
||||
address: ${{ needs.deploy.outputs.address }}
|
||||
steps:
|
||||
- uses: thollander/actions-comment-pull-request@v2.5.0
|
||||
if: ${{ needs.metadata.outputs.privileged == 'true' }}
|
||||
with:
|
||||
pr_number: ${{ needs.metadata.outputs.pr_number }}
|
||||
message: |
|
||||
@@ -135,18 +118,3 @@ jobs:
|
||||
| <span aria-hidden="true">🔨</span> Latest commit | ${{ needs.metadata.outputs.sha }} |
|
||||
| <span aria-hidden="true">😎</span> Preview | ${{ env.address }} |
|
||||
comment_tag: deployment
|
||||
|
||||
- uses: thollander/actions-comment-pull-request@v2.5.0
|
||||
if: ${{ needs.metadata.outputs.privileged == 'false' }}
|
||||
with:
|
||||
pr_number: ${{ needs.metadata.outputs.pr_number }}
|
||||
message: |
|
||||
### <span aria-hidden="true">✅</span> Your preview is ready!
|
||||
|
||||
| Name | Link |
|
||||
| :---: | ---- |
|
||||
| <span aria-hidden="true">🔨</span> Latest commit | ${{ needs.metadata.outputs.sha }} |
|
||||
| <span aria-hidden="true">😎</span> Preview | ${{ env.address }} |
|
||||
|
||||
Please note that this preview was built from an untrusted source, so it was not granted access to all mkdocs-material features. Maintainers should ensure this PR has been reviewed locally with a full build before merging.
|
||||
comment_tag: deployment
|
||||
|
||||
27
.github/workflows/publish-release.yml
vendored
@@ -62,27 +62,6 @@ jobs:
|
||||
lang: ${{ matrix.lang }}
|
||||
context: production
|
||||
continue-on-error: false
|
||||
cache: false
|
||||
|
||||
build_blog:
|
||||
needs: submodule
|
||||
permissions:
|
||||
contents: read
|
||||
uses: ./.github/workflows/build-blog.yml
|
||||
with:
|
||||
repo: ${{ github.repository }}
|
||||
ref: ${{ github.ref }}
|
||||
continue-on-error: false
|
||||
|
||||
build_videos:
|
||||
needs: submodule
|
||||
permissions:
|
||||
contents: read
|
||||
uses: ./.github/workflows/build-videos.yml
|
||||
with:
|
||||
repo: ${{ github.repository }}
|
||||
ref: ${{ github.ref }}
|
||||
continue-on-error: false
|
||||
|
||||
release:
|
||||
name: Create release notes
|
||||
@@ -105,14 +84,12 @@ jobs:
|
||||
makeLatest: true
|
||||
|
||||
deploy:
|
||||
needs: [build, build_blog, build_videos]
|
||||
needs: build
|
||||
uses: privacyguides/webserver/.github/workflows/deploy-all.yml@main
|
||||
secrets:
|
||||
NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
|
||||
PROD_MINIO_KEY_ID: ${{ secrets.PROD_MINIO_KEY_ID }}
|
||||
PROD_MINIO_SECRET_KEY: ${{ secrets.PROD_MINIO_SECRET_KEY }}
|
||||
PROD_GARAGE_KEY_ID: ${{ secrets.PROD_GARAGE_KEY_ID }}
|
||||
PROD_GARAGE_SECRET_KEY: ${{ secrets.PROD_GARAGE_SECRET_KEY }}
|
||||
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
||||
CLUSTER_USERNAME: ${{ secrets.CLUSTER_USERNAME }}
|
||||
@@ -122,5 +99,5 @@ jobs:
|
||||
|
||||
cleanup:
|
||||
if: ${{ always() }}
|
||||
needs: [build, build_blog, build_videos]
|
||||
needs: build
|
||||
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
|
||||
|
||||
82
.github/workflows/update-discussions.yml
vendored
@@ -1,82 +0,0 @@
|
||||
# Copyright (c) 2024 Jonah Aragon <jonah@triplebit.net>
|
||||
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
# IN THE SOFTWARE.
|
||||
|
||||
name: 🔄 Update Discussions
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "*/30 * * * *"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
generate:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
environment:
|
||||
name: production
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: "false"
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Create site/en directory
|
||||
run: mkdir -p site/en
|
||||
|
||||
- name: Update Discussions
|
||||
uses: yakubique/minio-download@v1.1.1
|
||||
with:
|
||||
endpoint: https://${{ vars.PROD_GARAGE_HOSTNAME }}
|
||||
access_key: ${{ secrets.PROD_GARAGE_KEY_ID }}
|
||||
secret_key: ${{ secrets.PROD_GARAGE_SECRET_KEY }}
|
||||
bucket: ${{ vars.PROD_GARAGE_BUCKET }}
|
||||
source: /en/index.html
|
||||
target: ./site/en/
|
||||
|
||||
- name: Run index-generation.sh for top posts
|
||||
run: |
|
||||
bash index-generation.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
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
--source='https://discuss.privacyguides.net/latest.json' \
|
||||
--tag="latest posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
--count=12
|
||||
|
||||
- name: Upload modified index
|
||||
uses: yakubique/minio-upload@v1.1.3
|
||||
with:
|
||||
endpoint: https://${{ vars.PROD_GARAGE_HOSTNAME }}
|
||||
access_key: ${{ secrets.PROD_GARAGE_KEY_ID }}
|
||||
secret_key: ${{ secrets.PROD_GARAGE_SECRET_KEY }}
|
||||
bucket: ${{ vars.PROD_GARAGE_BUCKET }}
|
||||
source: ./site/en/index.html
|
||||
target: /en
|
||||
2
.github/workflows/upload-crowdin.yml
vendored
@@ -41,7 +41,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: crowdin action
|
||||
uses: crowdin/github-action@v2.2.0
|
||||
uses: crowdin/github-action@v2.1.1
|
||||
with:
|
||||
upload_sources: true
|
||||
upload_sources_args: "--auto-update --delete-obsolete"
|
||||
|
||||
@@ -28,4 +28,3 @@ no-hard-tabs: true
|
||||
emphasis-style:
|
||||
style: "asterisk"
|
||||
no-duplicate-header: false
|
||||
no-trailing-punctuation: false
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM python:3.13-alpine as base
|
||||
FROM python:3.12-alpine as base
|
||||
|
||||
LABEL org.opencontainers.image.source="https://github.com/privacyguides/privacyguides.org"
|
||||
|
||||
|
||||
1
Pipfile
@@ -30,7 +30,6 @@ mkdocs-git-authors-plugin = "~=0.8"
|
||||
mkdocs-macros-plugin = "~=1.0"
|
||||
jieba = "~=0.42"
|
||||
mkdocs-rss-plugin = "*"
|
||||
mkdocs-glightbox = "*"
|
||||
|
||||
[dev-packages]
|
||||
scour = "~=0.38"
|
||||
|
||||
955
Pipfile.lock
generated
255
README.md
@@ -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%20%40privacyguides%40neat.computer&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>
|
||||
@@ -32,8 +30,8 @@
|
||||
<img src="https://img.shields.io/github/commits-since/privacyguides/privacyguides.org/latest"></a>
|
||||
<a href="https://crowdin.com/project/privacyguides">
|
||||
<img src="https://badges.crowdin.net/privacyguides/localized.svg"></a>
|
||||
<a href="https://github.com/sponsors/privacyguides#sponsors">
|
||||
<img src="https://img.shields.io/github/sponsors/privacyguides"></a>
|
||||
<a href="https://opencollective.com/privacyguides">
|
||||
<img src="https://img.shields.io/opencollective/all/privacyguides"></a>
|
||||
<a href="https://squidfunk.github.io/mkdocs-material/">
|
||||
<img src="https://img.shields.io/badge/Material_for_MkDocs-526CFE?logo=MaterialForMkDocs&logoColor=white"></a>
|
||||
<a href="https://github.com/privacyguides/privacyguides.org/actions/workflows/publish-release.yml">
|
||||
@@ -191,427 +189,412 @@ Privacy Guides wouldn't be possible without these wonderful people ([emoji key](
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/matchboxbananasynergy"><img src="https://avatars.githubusercontent.com/u/107055883?v=4" width="100px;" loading=lazy /><br /><sub><b>matchboxbananasynergy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=matchboxbananasynergy" title="Documentation">📖</a> <a href="#research-matchboxbananasynergy" title="Research">🔬</a> <a href="#ideas-matchboxbananasynergy" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Amatchboxbananasynergy" title="Reviewed Pull Requests">👀</a> <a href="#blog-matchboxbananasynergy" title="Blogposts">📝</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://friadev.github.io/"><img src="https://avatars.githubusercontent.com/u/138676274?v=4" width="100px;" loading=lazy /><br /><sub><b>fria</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=friadev" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Afriadev" title="Reviewed Pull Requests">👀</a> <a href="#research-friadev" title="Research">🔬</a> <a href="#question-friadev" title="Answering Questions">💬</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Afriadev" title="Bug reports">🐛</a> <a href="#ideas-friadev" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/features/actions"><img src="https://avatars.githubusercontent.com/u/44036562?v=4" width="100px;" loading=lazy /><br /><sub><b>GitHub Actions</b></sub></a><br /><a href="#infra-actions" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.triplebit.org/"><img src="https://avatars.githubusercontent.com/u/178061783?v=4" width="100px;" loading=lazy /><br /><sub><b>Triplebit</b></sub></a><br /><a href="#infra-triplebit" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://magicgrants.org/"><img src="https://avatars.githubusercontent.com/u/90805358?v=4" width="100px;" loading=lazy /><br /><sub><b>MAGIC Grants</b></sub></a><br /><a href="#business-magicgrants" title="Business development">💼</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.netlify.com/"><img src="https://avatars.githubusercontent.com/u/7892489?v=4" width="100px;" loading=lazy /><br /><sub><b>Netlify</b></sub></a><br /><a href="#infra-netlify" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/features/security"><img src="https://avatars.githubusercontent.com/u/27347476?v=4" width="100px;" loading=lazy /><br /><sub><b>Dependabot</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dependabot" title="Code">💻</a> <a href="#infra-dependabot" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://console.hetzner.cloud/"><img src="https://avatars.githubusercontent.com/u/22154697?v=4" width="100px;" loading=lazy /><br /><sub><b>Hetzner Cloud</b></sub></a><br /><a href="#infra-hetznercloud" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.cloudflare.com/"><img src="https://avatars.githubusercontent.com/u/314135?v=4" width="100px;" loading=lazy /><br /><sub><b>Cloudflare</b></sub></a><br /><a href="#infra-cloudflare" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://opencollective.com/"><img src="https://avatars.githubusercontent.com/u/13403593?v=4" width="100px;" loading=lazy /><br /><sub><b>Open Collective</b></sub></a><br /><a href="#business-opencollective" title="Business development">💼</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.cloudflare.com/"><img src="https://avatars.githubusercontent.com/u/314135?v=4" width="100px;" loading=lazy /><br /><sub><b>Cloudflare</b></sub></a><br /><a href="#infra-cloudflare" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://opencollective.com/"><img src="https://avatars.githubusercontent.com/u/13403593?v=4" width="100px;" loading=lazy /><br /><sub><b>Open Collective</b></sub></a><br /><a href="#business-opencollective" title="Business development">💼</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://safing.io/"><img src="https://avatars.githubusercontent.com/u/20678162?v=4" width="100px;" loading=lazy /><br /><sub><b>Safing</b></sub></a><br /><a href="#financial-safing" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.danarel.com/"><img src="https://avatars.githubusercontent.com/u/46383059?v=4" width="100px;" loading=lazy /><br /><sub><b>Dan Arel</b></sub></a><br /><a href="#blog-danarel" title="Blogposts">📝</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=danarel" title="Documentation">📖</a> <a href="#research-danarel" title="Research">🔬</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://techlore.tech/"><img src="https://avatars.githubusercontent.com/u/68134985?v=4" width="100px;" loading=lazy /><br /><sub><b>Techlore</b></sub></a><br /><a href="#financial-techlore" title="Financial">💵</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/elitejake"><img src="https://avatars.githubusercontent.com/u/74049394?v=4" width="100px;" loading=lazy /><br /><sub><b>elitejake</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=elitejake" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://simpleprivacy.fr/"><img src="https://avatars.githubusercontent.com/u/74207682?v=4" width="100px;" loading=lazy /><br /><sub><b>samsepi0l</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=d4rklynk" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/elitejake"><img src="https://avatars.githubusercontent.com/u/74049394?v=4" width="100px;" loading=lazy /><br /><sub><b>elitejake</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=elitejake" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://simpleprivacy.fr/"><img src="https://avatars.githubusercontent.com/u/74207682?v=4" width="100px;" loading=lazy /><br /><sub><b>samsepi0l</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=d4rklynk" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/rollsicecream"><img src="https://avatars.githubusercontent.com/u/153316540?v=4" width="100px;" loading=lazy /><br /><sub><b>rollsicecream</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=rollsicecream" title="Documentation">📖</a> <a href="#question-rollsicecream" title="Answering Questions">💬</a> <a href="#translation-rollsicecream" title="Translation">🌍</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Arollsicecream" title="Reviewed Pull Requests">👀</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://henryfisher.tech/"><img src="https://avatars.githubusercontent.com/u/64515030?v=4" width="100px;" loading=lazy /><br /><sub><b>Henry Fisher</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=henry-fisher" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://thenewoil.org/"><img src="https://avatars.githubusercontent.com/u/133825060?v=4" width="100px;" loading=lazy /><br /><sub><b>Nate Bartram</b></sub></a><br /><a href="#blog-tnonate" title="Blogposts">📝</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.samhowell.uk/"><img src="https://avatars.githubusercontent.com/u/10137?v=4" width="100px;" loading=lazy /><br /><sub><b>Sam Howell</b></sub></a><br /><a href="#blog-5amm" title="Blogposts">📝</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/asddsaz"><img src="https://avatars.githubusercontent.com/u/42685606?v=4" width="100px;" loading=lazy /><br /><sub><b>asddsaz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=asddsaz" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.samhowell.uk/"><img src="https://avatars.githubusercontent.com/u/10137?v=4" width="100px;" loading=lazy /><br /><sub><b>Sam Howell</b></sub></a><br /><a href="#blog-5amm" title="Blogposts">📝</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/asddsaz"><img src="https://avatars.githubusercontent.com/u/42685606?v=4" width="100px;" loading=lazy /><br /><sub><b>asddsaz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=asddsaz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/hugoncosta"><img src="https://avatars.githubusercontent.com/u/29380568?v=4" width="100px;" loading=lazy /><br /><sub><b>Hugo Costa</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=hugoncosta" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N"><img src="https://avatars.githubusercontent.com/u/30232065?v=4" width="100px;" loading=lazy /><br /><sub><b>C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Strappazzon"><img src="https://avatars.githubusercontent.com/u/19752093?v=4" width="100px;" loading=lazy /><br /><sub><b>Alberto Strappazzon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Strappazzon" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://victorhckinthefreeworld.com/"><img src="https://avatars.githubusercontent.com/u/1514206?v=4" width="100px;" loading=lazy /><br /><sub><b>Victorhck</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=victorhck" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/taivlam"><img src="https://avatars.githubusercontent.com/u/47955724?v=4" width="100px;" loading=lazy /><br /><sub><b>Tai Lam</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=taivlam" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://victorhckinthefreeworld.com/"><img src="https://avatars.githubusercontent.com/u/1514206?v=4" width="100px;" loading=lazy /><br /><sub><b>Victorhck</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=victorhck" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/taivlam"><img src="https://avatars.githubusercontent.com/u/47955724?v=4" width="100px;" loading=lazy /><br /><sub><b>Tai Lam</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=taivlam" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NinebitX"><img src="https://avatars.githubusercontent.com/u/26626722?v=4" width="100px;" loading=lazy /><br /><sub><b>NinebitX</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NinebitX" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://antukh.com/"><img src="https://avatars.githubusercontent.com/u/10441512?v=4" width="100px;" loading=lazy /><br /><sub><b>Alexander Antukh</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=c0rdis" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gusted.xyz/"><img src="https://avatars.githubusercontent.com/u/25481501?v=4" width="100px;" loading=lazy /><br /><sub><b>Gusted</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Gusted" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/redoomed1"><img src="https://avatars.githubusercontent.com/u/161974310?v=4" width="100px;" loading=lazy /><br /><sub><b>redoomed1</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Aredoomed1" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=redoomed1" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Offpics"><img src="https://avatars.githubusercontent.com/u/20701635?v=4" width="100px;" loading=lazy /><br /><sub><b>Offpics</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Offpics" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/redoomed1"><img src="https://avatars.githubusercontent.com/u/161974310?v=4" width="100px;" loading=lazy /><br /><sub><b>redoomed1</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Aredoomed1" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/privacyguides/privacyguides.org/commits?author=redoomed1" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Offpics"><img src="https://avatars.githubusercontent.com/u/20701635?v=4" width="100px;" loading=lazy /><br /><sub><b>Offpics</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Offpics" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kimg45"><img src="https://avatars.githubusercontent.com/u/138676274?v=4" width="100px;" loading=lazy /><br /><sub><b>kimg45</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kimg45" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/djoate"><img src="https://avatars.githubusercontent.com/u/56777051?v=4" width="100px;" loading=lazy /><br /><sub><b>djoate</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=djoate" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/afighttilldeath"><img src="https://avatars.githubusercontent.com/u/29437578?v=4" width="100px;" loading=lazy /><br /><sub><b>afighttilldeath</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=afighttilldeath" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/paulverbeke"><img src="https://avatars.githubusercontent.com/u/6412153?v=4" width="100px;" loading=lazy /><br /><sub><b>Paul Verbeke</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=paulverbeke" title="Documentation">📖</a> <a href="#translation-paulverbeke" title="Translation">🌍</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Apaulverbeke" title="Bug reports">🐛</a> <a href="#mentoring-paulverbeke" title="Mentoring">🧑🏫</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://mitchellcash.com/"><img src="https://avatars.githubusercontent.com/u/8009243?v=4" width="100px;" loading=lazy /><br /><sub><b>Mitchell Cash</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=MitchellCash" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/paulverbeke"><img src="https://avatars.githubusercontent.com/u/6412153?v=4" width="100px;" loading=lazy /><br /><sub><b>Paul Verbeke</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=paulverbeke" title="Documentation">📖</a> <a href="#translation-paulverbeke" title="Translation">🌍</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Apaulverbeke" title="Bug reports">🐛</a> <a href="#mentoring-paulverbeke" title="Mentoring">🧑🏫</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://mitchellcash.com/"><img src="https://avatars.githubusercontent.com/u/8009243?v=4" width="100px;" loading=lazy /><br /><sub><b>Mitchell Cash</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=MitchellCash" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NeverDucky"><img src="https://avatars.githubusercontent.com/u/32468662?v=4" width="100px;" loading=lazy /><br /><sub><b>NeverDucky</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NeverDucky" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/efb4f5ff-1298-471a-8973-3d47447115dc"><img src="https://avatars.githubusercontent.com/u/73130443?v=4" width="100px;" loading=lazy /><br /><sub><b>efb4f5ff-1298-471a-8973-3d47447115dc</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=efb4f5ff-1298-471a-8973-3d47447115dc" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.giga.uliege.be/cms/c_4113283/en/giga-directory?uid=u225986"><img src="https://avatars.githubusercontent.com/u/1118942?v=4" width="100px;" loading=lazy /><br /><sub><b>Stephen Karl Larroque</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lrq3000" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/0rdinant"><img src="https://avatars.githubusercontent.com/u/76827384?v=4" width="100px;" loading=lazy /><br /><sub><b>0rdinant</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=0rdinant" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Zenithium"><img src="https://avatars.githubusercontent.com/u/48525551?v=4" width="100px;" loading=lazy /><br /><sub><b>Zenithium</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Zenithium" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/0rdinant"><img src="https://avatars.githubusercontent.com/u/76827384?v=4" width="100px;" loading=lazy /><br /><sub><b>0rdinant</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=0rdinant" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Zenithium"><img src="https://avatars.githubusercontent.com/u/48525551?v=4" width="100px;" loading=lazy /><br /><sub><b>Zenithium</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Zenithium" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.ravellaw.com/"><img src="https://avatars.githubusercontent.com/u/860471?v=4" width="100px;" loading=lazy /><br /><sub><b>Jordan Gwyn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=emanresusername" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gururaja.in/"><img src="https://avatars.githubusercontent.com/u/70903440?v=4" width="100px;" loading=lazy /><br /><sub><b>Guru</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Guru-25" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/datoshkr"><img src="https://avatars.githubusercontent.com/u/79659024?v=4" width="100px;" loading=lazy /><br /><sub><b>datoshkr</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=datoshkr" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Kcchouette"><img src="https://avatars.githubusercontent.com/u/3000936?v=4" width="100px;" loading=lazy /><br /><sub><b>Kcchouette</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Kcchouette" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jacobneplokh.com/"><img src="https://avatars.githubusercontent.com/u/46184597?v=4" width="100px;" loading=lazy /><br /><sub><b>Jacob Neplokh</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jneplokh" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Kcchouette"><img src="https://avatars.githubusercontent.com/u/3000936?v=4" width="100px;" loading=lazy /><br /><sub><b>Kcchouette</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Kcchouette" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jacobneplokh.com/"><img src="https://avatars.githubusercontent.com/u/46184597?v=4" width="100px;" loading=lazy /><br /><sub><b>Jacob Neplokh</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jneplokh" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/razac-elda"><img src="https://avatars.githubusercontent.com/u/30749146?v=4" width="100px;" loading=lazy /><br /><sub><b>Leonardo Mazzon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=razac-elda" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Arazac-elda" title="Bug reports">🐛</a> <a href="#financial-razac-elda" title="Financial">💵</a> <a href="#promotion-razac-elda" title="Promotion">📣</a> <a href="#question-razac-elda" title="Answering Questions">💬</a> <a href="#translation-razac-elda" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/opheron"><img src="https://avatars.githubusercontent.com/u/7110152?v=4" width="100px;" loading=lazy /><br /><sub><b>Andrew Chong</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=opheron" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/woctezuma"><img src="https://avatars.githubusercontent.com/u/570669?v=4" width="100px;" loading=lazy /><br /><sub><b>Wok</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=woctezuma" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://itsnothing.net/"><img src="https://avatars.githubusercontent.com/u/105246487?v=4" width="100px;" loading=lazy /><br /><sub><b>nopeitsnothing</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nopeitsnothing" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://lynn.one/"><img src="https://avatars.githubusercontent.com/u/63118982?v=4" width="100px;" loading=lazy /><br /><sub><b>Lynn Stephenson</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lynn-stephenson" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://itsnothing.net/"><img src="https://avatars.githubusercontent.com/u/105246487?v=4" width="100px;" loading=lazy /><br /><sub><b>nopeitsnothing</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nopeitsnothing" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://lynn.one/"><img src="https://avatars.githubusercontent.com/u/63118982?v=4" width="100px;" loading=lazy /><br /><sub><b>Lynn Stephenson</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lynn-stephenson" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://cory.solovewi.cz/"><img src="https://avatars.githubusercontent.com/u/19578733?v=4" width="100px;" loading=lazy /><br /><sub><b>Cory Solovewicz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=corysolovewicz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://zerolimits.dev/"><img src="https://avatars.githubusercontent.com/u/103803129?v=4" width="100px;" loading=lazy /><br /><sub><b>noClaps</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=noClaps" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Perelandra0x309"><img src="https://avatars.githubusercontent.com/u/22124003?v=4" width="100px;" loading=lazy /><br /><sub><b>Brian</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Perelandra0x309" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/SkewedZeppelin"><img src="https://avatars.githubusercontent.com/u/8296104?v=4" width="100px;" loading=lazy /><br /><sub><b>SkewedZeppelin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=SkewedZeppelin" title="Documentation">📖</a> <a href="#question-SkewedZeppelin" title="Answering Questions">💬</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Arcadius3D"><img src="https://avatars.githubusercontent.com/u/165268515?v=4" width="100px;" loading=lazy /><br /><sub><b>Arcadius3D</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Arcadius3D" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/SkewedZeppelin"><img src="https://avatars.githubusercontent.com/u/8296104?v=4" width="100px;" loading=lazy /><br /><sub><b>SkewedZeppelin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=SkewedZeppelin" title="Documentation">📖</a> <a href="#question-SkewedZeppelin" title="Answering Questions">💬</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Arcadius3D"><img src="https://avatars.githubusercontent.com/u/165268515?v=4" width="100px;" loading=lazy /><br /><sub><b>Arcadius3D</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Arcadius3D" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/vpnarea"><img src="https://avatars.githubusercontent.com/u/17130812?v=4" width="100px;" loading=lazy /><br /><sub><b>vpnarea</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=vpnarea" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://namazso.eu/"><img src="https://avatars.githubusercontent.com/u/8676443?v=4" width="100px;" loading=lazy /><br /><sub><b>namazso</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=namazso" title="Documentation">📖</a> <a href="#question-namazso" title="Answering Questions">💬</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/cYDN48"><img src="https://avatars.githubusercontent.com/u/96789053?v=4" width="100px;" loading=lazy /><br /><sub><b>cYDN48</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=cYDN48" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/gjhklfdsa"><img src="https://avatars.githubusercontent.com/u/45323745?v=4" width="100px;" loading=lazy /><br /><sub><b>gjhklfdsa</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gjhklfdsa" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://fxgn.dev/"><img src="https://avatars.githubusercontent.com/u/66178592?v=4" width="100px;" loading=lazy /><br /><sub><b>Pavel Zolotarevskiy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=flexagoon" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/gjhklfdsa"><img src="https://avatars.githubusercontent.com/u/45323745?v=4" width="100px;" loading=lazy /><br /><sub><b>gjhklfdsa</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gjhklfdsa" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://fxgn.dev/"><img src="https://avatars.githubusercontent.com/u/66178592?v=4" width="100px;" loading=lazy /><br /><sub><b>Pavel Zolotarevskiy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=flexagoon" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.mediawiki.org/wiki/User:Quiddity"><img src="https://avatars.githubusercontent.com/u/6633202?v=4" width="100px;" loading=lazy /><br /><sub><b>quiddity-wp</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=quiddity-wp" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nikhiljha.com/"><img src="https://avatars.githubusercontent.com/u/2773700?v=4" width="100px;" loading=lazy /><br /><sub><b>Nikhil Jha</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nikhiljha" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/subatomic-honda-civic"><img src="https://avatars.githubusercontent.com/u/105336176?v=4" width="100px;" loading=lazy /><br /><sub><b>Subatomic Honda Civic</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=subatomic-honda-civic" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ticklemyIP"><img src="https://avatars.githubusercontent.com/u/126688461?v=4" width="100px;" loading=lazy /><br /><sub><b>ticklemyIP</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ticklemyIP" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jermanuts"><img src="https://avatars.githubusercontent.com/u/109705802?v=4" width="100px;" loading=lazy /><br /><sub><b>jermanuts</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jermanuts" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ticklemyIP"><img src="https://avatars.githubusercontent.com/u/126688461?v=4" width="100px;" loading=lazy /><br /><sub><b>ticklemyIP</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ticklemyIP" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jermanuts"><img src="https://avatars.githubusercontent.com/u/109705802?v=4" width="100px;" loading=lazy /><br /><sub><b>jermanuts</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jermanuts" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/conorohiggins"><img src="https://avatars.githubusercontent.com/u/16993660?v=4" width="100px;" loading=lazy /><br /><sub><b>conorohiggins</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=conorohiggins" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/TechFanTheo"><img src="https://avatars.githubusercontent.com/u/78900789?v=4" width="100px;" loading=lazy /><br /><sub><b>TechFanTheo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TechFanTheo" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/r-j-taylor"><img src="https://avatars.githubusercontent.com/u/35360143?v=4" width="100px;" loading=lazy /><br /><sub><b>Ryan Taylor</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=r-j-taylor" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Positron832"><img src="https://avatars.githubusercontent.com/u/72881516?v=4" width="100px;" loading=lazy /><br /><sub><b>Positron832</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Positron832" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/JustLuckNoSkill"><img src="https://avatars.githubusercontent.com/u/114787000?v=4" width="100px;" loading=lazy /><br /><sub><b>JustLuckNoSkill</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=JustLuckNoSkill" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Positron832"><img src="https://avatars.githubusercontent.com/u/72881516?v=4" width="100px;" loading=lazy /><br /><sub><b>Positron832</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Positron832" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/JustLuckNoSkill"><img src="https://avatars.githubusercontent.com/u/114787000?v=4" width="100px;" loading=lazy /><br /><sub><b>JustLuckNoSkill</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=JustLuckNoSkill" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Akyshnik"><img src="https://avatars.githubusercontent.com/u/23380632?v=4" width="100px;" loading=lazy /><br /><sub><b>Arkadiy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Akyshnik" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jackmchou"><img src="https://avatars.githubusercontent.com/u/56708167?v=4" width="100px;" loading=lazy /><br /><sub><b>Jack Chou</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jackmchou" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://ave.zone/"><img src="https://avatars.githubusercontent.com/u/6755762?v=4" width="100px;" loading=lazy /><br /><sub><b>ave</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=aveao" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Booteille"><img src="https://avatars.githubusercontent.com/u/2203721?v=4" width="100px;" loading=lazy /><br /><sub><b>Boo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Booteille" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/IDKwhattoputhere"><img src="https://avatars.githubusercontent.com/u/39969358?v=4" width="100px;" loading=lazy /><br /><sub><b>IDKwhattoputhere</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=IDKwhattoputhere" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Booteille"><img src="https://avatars.githubusercontent.com/u/2203721?v=4" width="100px;" loading=lazy /><br /><sub><b>Boo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Booteille" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/IDKwhattoputhere"><img src="https://avatars.githubusercontent.com/u/39969358?v=4" width="100px;" loading=lazy /><br /><sub><b>IDKwhattoputhere</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=IDKwhattoputhere" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/idk-r-n"><img src="https://avatars.githubusercontent.com/u/111711873?v=4" width="100px;" loading=lazy /><br /><sub><b>idkrn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=idk-r-n" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ggg27"><img src="https://avatars.githubusercontent.com/u/52841257?v=4" width="100px;" loading=lazy /><br /><sub><b>ggg27</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ggg27" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/WalterKlosse"><img src="https://avatars.githubusercontent.com/u/27290800?v=4" width="100px;" loading=lazy /><br /><sub><b>WalterKlosse</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=WalterKlosse" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://stosb.com/"><img src="https://avatars.githubusercontent.com/u/108670?v=4" width="100px;" loading=lazy /><br /><sub><b>Tom Hacohen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tasn" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.linkedin.com/in/paulfeuvraux/"><img src="https://avatars.githubusercontent.com/u/13090164?v=4" width="100px;" loading=lazy /><br /><sub><b>Paul Feuvraux</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Super-Baleine" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://stosb.com/"><img src="https://avatars.githubusercontent.com/u/108670?v=4" width="100px;" loading=lazy /><br /><sub><b>Tom Hacohen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tasn" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.linkedin.com/in/paulfeuvraux/"><img src="https://avatars.githubusercontent.com/u/13090164?v=4" width="100px;" loading=lazy /><br /><sub><b>Paul Feuvraux</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Super-Baleine" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://sbennett1990.github.io/Resume/"><img src="https://avatars.githubusercontent.com/u/6392550?v=4" width="100px;" loading=lazy /><br /><sub><b>Scott Bennett</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sbennett1990" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://blog.191.161.xyz/"><img src="https://avatars.githubusercontent.com/u/1544371?v=4" width="100px;" loading=lazy /><br /><sub><b>Federico Ariel Castagnini</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=facastagnini" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jslawler-gh"><img src="https://avatars.githubusercontent.com/u/149243371?v=4" width="100px;" loading=lazy /><br /><sub><b>jslawler-gh</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jslawler-gh" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/spaceoden"><img src="https://avatars.githubusercontent.com/u/26421479?v=4" width="100px;" loading=lazy /><br /><sub><b>spaceoden</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=spaceoden" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/xe-3"><img src="https://avatars.githubusercontent.com/u/137224605?v=4" width="100px;" loading=lazy /><br /><sub><b>xe3</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xe-3" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/spaceoden"><img src="https://avatars.githubusercontent.com/u/26421479?v=4" width="100px;" loading=lazy /><br /><sub><b>spaceoden</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=spaceoden" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/xe-3"><img src="https://avatars.githubusercontent.com/u/137224605?v=4" width="100px;" loading=lazy /><br /><sub><b>xe3</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xe-3" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/anoadragon453"><img src="https://avatars.githubusercontent.com/u/1342360?v=4" width="100px;" loading=lazy /><br /><sub><b>Andrew Morgan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=anoadragon453" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://rossviewef.org/"><img src="https://avatars.githubusercontent.com/u/35670796?v=4" width="100px;" loading=lazy /><br /><sub><b>Caleb King</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=EvasivePangolin" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Eduardo06sp"><img src="https://avatars.githubusercontent.com/u/34868791?v=4" width="100px;" loading=lazy /><br /><sub><b>Eduardo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Eduardo06sp" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NafeezJS"><img src="https://avatars.githubusercontent.com/u/17627305?v=4" width="100px;" loading=lazy /><br /><sub><b>NafeezJS</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NafeezJS" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Sloofy"><img src="https://avatars.githubusercontent.com/u/18003771?v=4" width="100px;" loading=lazy /><br /><sub><b>Sloofy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Sloofy" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NafeezJS"><img src="https://avatars.githubusercontent.com/u/17627305?v=4" width="100px;" loading=lazy /><br /><sub><b>NafeezJS</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NafeezJS" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Sloofy"><img src="https://avatars.githubusercontent.com/u/18003771?v=4" width="100px;" loading=lazy /><br /><sub><b>Sloofy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Sloofy" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://sts10.github.io/"><img src="https://avatars.githubusercontent.com/u/4871664?v=4" width="100px;" loading=lazy /><br /><sub><b>Sam Schlinkert</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sts10" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/gaborluk"><img src="https://avatars.githubusercontent.com/u/6388299?v=4" width="100px;" loading=lazy /><br /><sub><b>Gabor Luk</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gaborluk" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://deiaspie.github.io/"><img src="https://avatars.githubusercontent.com/u/93835541?v=4" width="100px;" loading=lazy /><br /><sub><b>DeiAsPie</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=DeiAsPie" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://davidetaviani.com/"><img src="https://avatars.githubusercontent.com/u/283733?v=4" width="100px;" loading=lazy /><br /><sub><b>Davide Taviani</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Heliosmaster" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/spanishharlem"><img src="https://avatars.githubusercontent.com/u/9704046?v=4" width="100px;" loading=lazy /><br /><sub><b>spanishharlem</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=spanishharlem" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://davidetaviani.com/"><img src="https://avatars.githubusercontent.com/u/283733?v=4" width="100px;" loading=lazy /><br /><sub><b>Davide Taviani</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Heliosmaster" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/spanishharlem"><img src="https://avatars.githubusercontent.com/u/9704046?v=4" width="100px;" loading=lazy /><br /><sub><b>spanishharlem</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=spanishharlem" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gonzoknows.com/"><img src="https://avatars.githubusercontent.com/u/122128828?v=4" width="100px;" loading=lazy /><br /><sub><b>Jacob Gonzales</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jacobgonzales20" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://kaede.ch/"><img src="https://avatars.githubusercontent.com/u/74188936?v=4" width="100px;" loading=lazy /><br /><sub><b>Kaede</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kaedech" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/abbluiz"><img src="https://avatars.githubusercontent.com/u/19765082?v=4" width="100px;" loading=lazy /><br /><sub><b>LABB</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=abbluiz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Raviu8"><img src="https://avatars.githubusercontent.com/u/36168047?v=4" width="100px;" loading=lazy /><br /><sub><b>Raviu8</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Raviu8" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.peterdavehello.org/"><img src="https://avatars.githubusercontent.com/u/3691490?v=4" width="100px;" loading=lazy /><br /><sub><b>Peter Dave Hello</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=PeterDaveHello" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Raviu8"><img src="https://avatars.githubusercontent.com/u/36168047?v=4" width="100px;" loading=lazy /><br /><sub><b>Raviu8</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Raviu8" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.peterdavehello.org/"><img src="https://avatars.githubusercontent.com/u/3691490?v=4" width="100px;" loading=lazy /><br /><sub><b>Peter Dave Hello</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=PeterDaveHello" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/RoseTheFlower"><img src="https://avatars.githubusercontent.com/u/4759227?v=4" width="100px;" loading=lazy /><br /><sub><b>Rose</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=RoseTheFlower" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://xie.oskarsh.ru/"><img src="https://avatars.githubusercontent.com/u/28492051?v=4" width="100px;" loading=lazy /><br /><sub><b>Oskar Sharipov</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=igoose1" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://samuellucas.com/"><img src="https://avatars.githubusercontent.com/u/63159663?v=4" width="100px;" loading=lazy /><br /><sub><b>Samuel Lucas</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=samuel-lucas6" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NylaTheWolf"><img src="https://avatars.githubusercontent.com/u/41797151?v=4" width="100px;" loading=lazy /><br /><sub><b>NylaTheWolf</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NylaTheWolf" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://matthewdavis.me/"><img src="https://avatars.githubusercontent.com/u/298426?v=4" width="100px;" loading=lazy /><br /><sub><b>Matthew Davis</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=matthewdavis" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NylaTheWolf"><img src="https://avatars.githubusercontent.com/u/41797151?v=4" width="100px;" loading=lazy /><br /><sub><b>NylaTheWolf</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NylaTheWolf" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://matthewdavis.me/"><img src="https://avatars.githubusercontent.com/u/298426?v=4" width="100px;" loading=lazy /><br /><sub><b>Matthew Davis</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=matthewdavis" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://mpc.sh/"><img src="https://avatars.githubusercontent.com/u/2894019?v=4" width="100px;" loading=lazy /><br /><sub><b>Mark Cohen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mpcsh" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/madscientist16"><img src="https://avatars.githubusercontent.com/u/67949699?v=4" width="100px;" loading=lazy /><br /><sub><b>Mad Scientist</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=madscientist16" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mmvanheusden"><img src="https://avatars.githubusercontent.com/u/50550545?v=4" width="100px;" loading=lazy /><br /><sub><b>Maarten</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mmvanheusden" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://awesomesheep48.ca/"><img src="https://avatars.githubusercontent.com/u/58151048?v=4" width="100px;" loading=lazy /><br /><sub><b>William Davis</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=unbeatable-101" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/WayTooWill"><img src="https://avatars.githubusercontent.com/u/119883899?v=4" width="100px;" loading=lazy /><br /><sub><b>William Thomas Wilkins</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=WayTooWill" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://awesomesheep48.ca/"><img src="https://avatars.githubusercontent.com/u/58151048?v=4" width="100px;" loading=lazy /><br /><sub><b>William Davis</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=unbeatable-101" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/WayTooWill"><img src="https://avatars.githubusercontent.com/u/119883899?v=4" width="100px;" loading=lazy /><br /><sub><b>William Thomas Wilkins</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=WayTooWill" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/oXyiGYJ"><img src="https://avatars.githubusercontent.com/u/617189?v=4" width="100px;" loading=lazy /><br /><sub><b>wylel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=oXyiGYJ" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://willbrowning.me/"><img src="https://avatars.githubusercontent.com/u/20662079?v=4" width="100px;" loading=lazy /><br /><sub><b>Will Browning</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=willbrowningme" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://ycao.top/"><img src="https://avatars.githubusercontent.com/u/32544798?v=4" width="100px;" loading=lazy /><br /><sub><b>Yi Cao</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xiaoyu2006" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/yusufdaglioglu"><img src="https://avatars.githubusercontent.com/u/90555550?v=4" width="100px;" loading=lazy /><br /><sub><b>Yusuf Daglioglu</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=yusufdaglioglu" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Zackaryia"><img src="https://avatars.githubusercontent.com/u/30780411?v=4" width="100px;" loading=lazy /><br /><sub><b>Zack</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Zackaryia" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/yusufdaglioglu"><img src="https://avatars.githubusercontent.com/u/90555550?v=4" width="100px;" loading=lazy /><br /><sub><b>Yusuf Daglioglu</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=yusufdaglioglu" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Zackaryia"><img src="https://avatars.githubusercontent.com/u/30780411?v=4" width="100px;" loading=lazy /><br /><sub><b>Zack</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Zackaryia" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://zhw.pages.dev/"><img src="https://avatars.githubusercontent.com/u/14029004?v=4" width="100px;" loading=lazy /><br /><sub><b>ZH王</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=wi24rd" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://cryptography.dog/"><img src="https://avatars.githubusercontent.com/u/1264398?v=4" width="100px;" loading=lazy /><br /><sub><b>ansuz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ansuz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://codeberg.org/archeite"><img src="https://avatars.githubusercontent.com/u/121004047?v=4" width="100px;" loading=lazy /><br /><sub><b>archeite</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=archeite" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/asdfghjz"><img src="https://avatars.githubusercontent.com/u/42332644?v=4" width="100px;" loading=lazy /><br /><sub><b>asdfghjz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=asdfghjz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ayaen"><img src="https://avatars.githubusercontent.com/u/96900168?v=4" width="100px;" loading=lazy /><br /><sub><b>ayaen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ayaen" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/asdfghjz"><img src="https://avatars.githubusercontent.com/u/42332644?v=4" width="100px;" loading=lazy /><br /><sub><b>asdfghjz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=asdfghjz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ayaen"><img src="https://avatars.githubusercontent.com/u/96900168?v=4" width="100px;" loading=lazy /><br /><sub><b>ayaen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ayaen" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/b-harper"><img src="https://avatars.githubusercontent.com/u/3729684?v=4" width="100px;" loading=lazy /><br /><sub><b>b-harper</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=b-harper" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://verybadfrags.com/"><img src="https://avatars.githubusercontent.com/u/1664052?v=4" width="100px;" loading=lazy /><br /><sub><b>Loic Vourch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=VeryBadFrags" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/crasm"><img src="https://avatars.githubusercontent.com/u/16730716?v=4" width="100px;" loading=lazy /><br /><sub><b>crasm</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=crasm" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/eagerto-learn"><img src="https://avatars.githubusercontent.com/u/51919789?v=4" width="100px;" loading=lazy /><br /><sub><b>eagerto-learn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=eagerto-learn" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/egecelikci"><img src="https://avatars.githubusercontent.com/u/30394812?v=4" width="100px;" loading=lazy /><br /><sub><b>egecelikci</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=egecelikci" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/eagerto-learn"><img src="https://avatars.githubusercontent.com/u/51919789?v=4" width="100px;" loading=lazy /><br /><sub><b>eagerto-learn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=eagerto-learn" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/egecelikci"><img src="https://avatars.githubusercontent.com/u/30394812?v=4" width="100px;" loading=lazy /><br /><sub><b>egecelikci</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=egecelikci" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/elleybean"><img src="https://avatars.githubusercontent.com/u/37009392?v=4" width="100px;" loading=lazy /><br /><sub><b>elleybean</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=elleybean" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ferothefox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4" width="100px;" loading=lazy /><br /><sub><b>Evan Song</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ferothefox" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pynixis"><img src="https://avatars.githubusercontent.com/u/5612336?v=4" width="100px;" loading=lazy /><br /><sub><b>pynixis</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pynixis" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://seirdy.one/"><img src="https://avatars.githubusercontent.com/u/44756978?v=4" width="100px;" loading=lazy /><br /><sub><b>Seirdy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Seirdy" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NPN"><img src="https://avatars.githubusercontent.com/u/1497826?v=4" width="100px;" loading=lazy /><br /><sub><b>Ryan Huang</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NPN" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://seirdy.one/"><img src="https://avatars.githubusercontent.com/u/44756978?v=4" width="100px;" loading=lazy /><br /><sub><b>Seirdy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Seirdy" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NPN"><img src="https://avatars.githubusercontent.com/u/1497826?v=4" width="100px;" loading=lazy /><br /><sub><b>Ryan Huang</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NPN" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/chickahoona"><img src="https://avatars.githubusercontent.com/u/8075146?v=4" width="100px;" loading=lazy /><br /><sub><b>Sascha P.</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=chickahoona" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Securified"><img src="https://avatars.githubusercontent.com/u/79296234?v=4" width="100px;" loading=lazy /><br /><sub><b>Securified</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Securified" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://sy.mk/"><img src="https://avatars.githubusercontent.com/u/18217335?v=4" width="100px;" loading=lazy /><br /><sub><b>Sergey Musiyenko</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=musiyenko" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Spydar007"><img src="https://avatars.githubusercontent.com/u/7336943?v=4" width="100px;" loading=lazy /><br /><sub><b>Spydar007</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Spydar007" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/shbach"><img src="https://avatars.githubusercontent.com/u/5298745?v=4" width="100px;" loading=lazy /><br /><sub><b>Steven Bach</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=shbach" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Spydar007"><img src="https://avatars.githubusercontent.com/u/7336943?v=4" width="100px;" loading=lazy /><br /><sub><b>Spydar007</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Spydar007" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/shbach"><img src="https://avatars.githubusercontent.com/u/5298745?v=4" width="100px;" loading=lazy /><br /><sub><b>Steven Bach</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=shbach" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sjlehn"><img src="https://avatars.githubusercontent.com/u/6686486?v=4" width="100px;" loading=lazy /><br /><sub><b>Steven Lehn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sjlehn" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://steven.vandegraaf.xyz/"><img src="https://avatars.githubusercontent.com/u/8904453?v=4" width="100px;" loading=lazy /><br /><sub><b>Steven van de Graaf</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sgraaf" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://skortekaas.nl/"><img src="https://avatars.githubusercontent.com/u/6728108?v=4" width="100px;" loading=lazy /><br /><sub><b>Sven Kortekaas</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=SvenKortekaas" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://tejasgupta.com/"><img src="https://avatars.githubusercontent.com/u/18518375?v=4" width="100px;" loading=lazy /><br /><sub><b>Tejas Gupta</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TGNYC" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tebowy"><img src="https://avatars.githubusercontent.com/u/3144357?v=4" width="100px;" loading=lazy /><br /><sub><b>Tebowy Seba</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tebowy" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://tejasgupta.com/"><img src="https://avatars.githubusercontent.com/u/18518375?v=4" width="100px;" loading=lazy /><br /><sub><b>Tejas Gupta</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TGNYC" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tebowy"><img src="https://avatars.githubusercontent.com/u/3144357?v=4" width="100px;" loading=lazy /><br /><sub><b>Tebowy Seba</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tebowy" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://tedgravlin.tech/"><img src="https://avatars.githubusercontent.com/u/123981212?v=4" width="100px;" loading=lazy /><br /><sub><b>Ted Gravlin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tedgravlin" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://thefrenchghosty.me/"><img src="https://avatars.githubusercontent.com/u/47571719?v=4" width="100px;" loading=lazy /><br /><sub><b>TheFrenchGhosty</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TheFrenchGhosty" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/TheNoobWar"><img src="https://avatars.githubusercontent.com/u/1857590?v=4" width="100px;" loading=lazy /><br /><sub><b>TheNoobWar</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TheNoobWar" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://git.synz.io/users/Synzvato/projects#most-recent-activity"><img src="https://avatars.githubusercontent.com/u/2366020?v=4" width="100px;" loading=lazy /><br /><sub><b>Thomas Rientjes</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Synzvato" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/vergenzt"><img src="https://avatars.githubusercontent.com/u/1725615?v=4" width="100px;" loading=lazy /><br /><sub><b>Tim Vergenz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=vergenzt" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://git.synz.io/users/Synzvato/projects#most-recent-activity"><img src="https://avatars.githubusercontent.com/u/2366020?v=4" width="100px;" loading=lazy /><br /><sub><b>Thomas Rientjes</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Synzvato" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/vergenzt"><img src="https://avatars.githubusercontent.com/u/1725615?v=4" width="100px;" loading=lazy /><br /><sub><b>Tim Vergenz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=vergenzt" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tommyent"><img src="https://avatars.githubusercontent.com/u/509970?v=4" width="100px;" loading=lazy /><br /><sub><b>Tom Sullivan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tommyent" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tonyztan"><img src="https://avatars.githubusercontent.com/u/2025495?v=4" width="100px;" loading=lazy /><br /><sub><b>Tony Tan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tonyztan" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/TroubleDog54"><img src="https://avatars.githubusercontent.com/u/115918107?v=4" width="100px;" loading=lazy /><br /><sub><b>TroubleDog54</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=TroubleDog54" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/User486375"><img src="https://avatars.githubusercontent.com/u/30012923?v=4" width="100px;" loading=lazy /><br /><sub><b>User486375</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=User486375" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/nchristensen"><img src="https://avatars.githubusercontent.com/u/11543181?v=4" width="100px;" loading=lazy /><br /><sub><b>Nicholas Christensen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nchristensen" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/User486375"><img src="https://avatars.githubusercontent.com/u/30012923?v=4" width="100px;" loading=lazy /><br /><sub><b>User486375</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=User486375" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/nchristensen"><img src="https://avatars.githubusercontent.com/u/11543181?v=4" width="100px;" loading=lazy /><br /><sub><b>Nicholas Christensen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nchristensen" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/oppressor1761"><img src="https://avatars.githubusercontent.com/u/163018825?v=4" width="100px;" loading=lazy /><br /><sub><b>oppressor1761</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=oppressor1761" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pbbob"><img src="https://avatars.githubusercontent.com/u/34972102?v=4" width="100px;" loading=lazy /><br /><sub><b>pbbob</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pbbob" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pdjpdjpdj"><img src="https://avatars.githubusercontent.com/u/47047080?v=4" width="100px;" loading=lazy /><br /><sub><b>pdjpdjpdj</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pdjpdjpdj" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ph00lt0"><img src="https://avatars.githubusercontent.com/u/15004290?v=4" width="100px;" loading=lazy /><br /><sub><b>Stella Polaris</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ph00lt0" title="Documentation">📖</a> <a href="#research-ph00lt0" title="Research">🔬</a> <a href="#promotion-ph00lt0" title="Promotion">📣</a> <a href="#question-ph00lt0" title="Answering Questions">💬</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Aph00lt0" title="Reviewed Pull Requests">👀</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/regaldude"><img src="https://avatars.githubusercontent.com/u/63294824?v=4" width="100px;" loading=lazy /><br /><sub><b>regaldude</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=regaldude" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ph00lt0"><img src="https://avatars.githubusercontent.com/u/15004290?v=4" width="100px;" loading=lazy /><br /><sub><b>Stella Polaris</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ph00lt0" title="Documentation">📖</a> <a href="#research-ph00lt0" title="Research">🔬</a> <a href="#promotion-ph00lt0" title="Promotion">📣</a> <a href="#question-ph00lt0" title="Answering Questions">💬</a> <a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+reviewed-by%3Aph00lt0" title="Reviewed Pull Requests">👀</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/regaldude"><img src="https://avatars.githubusercontent.com/u/63294824?v=4" width="100px;" loading=lazy /><br /><sub><b>regaldude</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=regaldude" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/rusty-snake"><img src="https://avatars.githubusercontent.com/u/41237666?v=4" width="100px;" loading=lazy /><br /><sub><b>rusty-snake</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=rusty-snake" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sachk"><img src="https://avatars.githubusercontent.com/u/10218019?v=4" width="100px;" loading=lazy /><br /><sub><b>sacha</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sachk" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/schwukas"><img src="https://avatars.githubusercontent.com/u/33559975?v=4" width="100px;" loading=lazy /><br /><sub><b>schwukas</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=schwukas" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sh-dv"><img src="https://avatars.githubusercontent.com/u/44544201?v=4" width="100px;" loading=lazy /><br /><sub><b>sh-dv</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sh-dv" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/szTheory"><img src="https://avatars.githubusercontent.com/u/28652?v=4" width="100px;" loading=lazy /><br /><sub><b>szTheory</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=szTheory" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sh-dv"><img src="https://avatars.githubusercontent.com/u/44544201?v=4" width="100px;" loading=lazy /><br /><sub><b>sh-dv</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sh-dv" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/szTheory"><img src="https://avatars.githubusercontent.com/u/28652?v=4" width="100px;" loading=lazy /><br /><sub><b>szTheory</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=szTheory" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tbds"><img src="https://avatars.githubusercontent.com/u/32208649?v=4" width="100px;" loading=lazy /><br /><sub><b>Thunderbolt Digital</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tbds" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/theRhinoLogician"><img src="https://avatars.githubusercontent.com/u/8325899?v=4" width="100px;" loading=lazy /><br /><sub><b>E. S. Leonesco</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=theRhinoLogician" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/titanism"><img src="https://avatars.githubusercontent.com/u/101466223?v=4" width="100px;" loading=lazy /><br /><sub><b>titanism</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=titanism" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tomac4t"><img src="https://avatars.githubusercontent.com/u/47532693?v=4" width="100px;" loading=lazy /><br /><sub><b>tomac4t</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tomac4t" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://virustotalop.github.io/"><img src="https://avatars.githubusercontent.com/u/11567285?v=4" width="100px;" loading=lazy /><br /><sub><b>virustotalop</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=virustotalop" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/tomac4t"><img src="https://avatars.githubusercontent.com/u/47532693?v=4" width="100px;" loading=lazy /><br /><sub><b>tomac4t</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=tomac4t" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://virustotalop.github.io/"><img src="https://avatars.githubusercontent.com/u/11567285?v=4" width="100px;" loading=lazy /><br /><sub><b>virustotalop</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=virustotalop" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://unit2.ca/"><img src="https://avatars.githubusercontent.com/u/4949200?v=4" width="100px;" loading=lazy /><br /><sub><b>wintr</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=wintr-" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/xelarate86"><img src="https://avatars.githubusercontent.com/u/14865038?v=4" width="100px;" loading=lazy /><br /><sub><b>xelarate86</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xelarate86" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/yeoneer"><img src="https://avatars.githubusercontent.com/u/84702275?v=4" width="100px;" loading=lazy /><br /><sub><b>yeoneer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=yeoneer" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://foxt.dev/"><img src="https://avatars.githubusercontent.com/u/12257112?v=4" width="100px;" loading=lazy /><br /><sub><b>foxt</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=foxt" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/fredster33"><img src="https://avatars.githubusercontent.com/u/64927044?v=4" width="100px;" loading=lazy /><br /><sub><b>Freddie</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fredster33" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://foxt.dev/"><img src="https://avatars.githubusercontent.com/u/12257112?v=4" width="100px;" loading=lazy /><br /><sub><b>foxt</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=foxt" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/fredster33"><img src="https://avatars.githubusercontent.com/u/64927044?v=4" width="100px;" loading=lazy /><br /><sub><b>Freddie</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fredster33" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ghbjklhv"><img src="https://avatars.githubusercontent.com/u/50426427?v=4" width="100px;" loading=lazy /><br /><sub><b>ghbjklhv</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ghbjklhv" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/gorhill"><img src="https://avatars.githubusercontent.com/u/585534?v=4" width="100px;" loading=lazy /><br /><sub><b>Raymond Hill</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gorhill" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://groovecoder.com/"><img src="https://avatars.githubusercontent.com/u/71928?v=4" width="100px;" loading=lazy /><br /><sub><b>luke crouch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=groovecoder" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/fd1f"><img src="https://avatars.githubusercontent.com/u/30058021?v=4" width="100px;" loading=lazy /><br /><sub><b>fd1f744993de14178e6c</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fd1f" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/habitualname"><img src="https://avatars.githubusercontent.com/u/101975345?v=4" width="100px;" loading=lazy /><br /><sub><b>habitualname</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=habitualname" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/fd1f"><img src="https://avatars.githubusercontent.com/u/30058021?v=4" width="100px;" loading=lazy /><br /><sub><b>fd1f744993de14178e6c</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fd1f" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/habitualname"><img src="https://avatars.githubusercontent.com/u/101975345?v=4" width="100px;" loading=lazy /><br /><sub><b>habitualname</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=habitualname" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/hook321"><img src="https://avatars.githubusercontent.com/u/7744057?v=4" width="100px;" loading=lazy /><br /><sub><b>hook</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=hook321" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jfa.sh/"><img src="https://avatars.githubusercontent.com/u/6962524?v=4" width="100px;" loading=lazy /><br /><sub><b>nein</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jfabraxas" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jkhgvfgvsth"><img src="https://avatars.githubusercontent.com/u/52437244?v=4" width="100px;" loading=lazy /><br /><sub><b>jkhgvfgvsth</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jkhgvfgvsth" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/joaonsg"><img src="https://avatars.githubusercontent.com/u/8725806?v=4" width="100px;" loading=lazy /><br /><sub><b>joaonsg</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=joaonsg" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.ivpn.net/"><img src="https://avatars.githubusercontent.com/u/60918126?v=4" width="100px;" loading=lazy /><br /><sub><b>johnnyburnaway</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=johnnyburnaway" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/joaonsg"><img src="https://avatars.githubusercontent.com/u/8725806?v=4" width="100px;" loading=lazy /><br /><sub><b>joaonsg</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=joaonsg" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.ivpn.net/"><img src="https://avatars.githubusercontent.com/u/60918126?v=4" width="100px;" loading=lazy /><br /><sub><b>johnnyburnaway</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=johnnyburnaway" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jus9"><img src="https://avatars.githubusercontent.com/u/72120996?v=4" width="100px;" loading=lazy /><br /><sub><b>jus9</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jus9" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kc1212"><img src="https://avatars.githubusercontent.com/u/1093806?v=4" width="100px;" loading=lazy /><br /><sub><b>kc1212</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kc1212" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kryptish"><img src="https://avatars.githubusercontent.com/u/39660724?v=4" width="100px;" loading=lazy /><br /><sub><b>kryptish</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kryptish" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/m3t/id"><img src="https://avatars.githubusercontent.com/u/12968867?v=4" width="100px;" loading=lazy /><br /><sub><b>m3t</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=m3t" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/macau23"><img src="https://avatars.githubusercontent.com/u/31501455?v=4" width="100px;" loading=lazy /><br /><sub><b>macau23</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=macau23" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/m3t/id"><img src="https://avatars.githubusercontent.com/u/12968867?v=4" width="100px;" loading=lazy /><br /><sub><b>m3t</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=m3t" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/macau23"><img src="https://avatars.githubusercontent.com/u/31501455?v=4" width="100px;" loading=lazy /><br /><sub><b>macau23</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=macau23" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mat1th"><img src="https://avatars.githubusercontent.com/u/6486389?v=4" width="100px;" loading=lazy /><br /><sub><b>mat1th</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mat1th" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mwmcode"><img src="https://avatars.githubusercontent.com/u/13101565?v=4" width="100px;" loading=lazy /><br /><sub><b>MWM</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mwmcode" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/michaelplews"><img src="https://avatars.githubusercontent.com/u/14098929?v=4" width="100px;" loading=lazy /><br /><sub><b>Michael Plews</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=michaelplews" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/moritztk"><img src="https://avatars.githubusercontent.com/u/36471066?v=4" width="100px;" loading=lazy /><br /><sub><b>moritztk</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=moritztk" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://aaronhorler.com/"><img src="https://avatars.githubusercontent.com/u/13065365?v=4" width="100px;" loading=lazy /><br /><sub><b>Aaron Horler</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=aghorler" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/moritztk"><img src="https://avatars.githubusercontent.com/u/36471066?v=4" width="100px;" loading=lazy /><br /><sub><b>moritztk</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=moritztk" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://aaronhorler.com/"><img src="https://avatars.githubusercontent.com/u/13065365?v=4" width="100px;" loading=lazy /><br /><sub><b>Aaron Horler</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=aghorler" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Commenter25"><img src="https://avatars.githubusercontent.com/u/35016761?v=4" width="100px;" loading=lazy /><br /><sub><b>Commenter</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Commenter25" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://blog.laubacher.io/"><img src="https://avatars.githubusercontent.com/u/12443257?v=4" width="100px;" loading=lazy /><br /><sub><b>Cédric Laubacher</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Starbix" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gitlab.com/dpeukert"><img src="https://avatars.githubusercontent.com/u/3451904?v=4" width="100px;" loading=lazy /><br /><sub><b>Daniel Peukert</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dpeukert" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/dabreese00"><img src="https://avatars.githubusercontent.com/u/5170955?v=4" width="100px;" loading=lazy /><br /><sub><b>David Breese</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dabreese00" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.dimitrisapostolou.com/"><img src="https://avatars.githubusercontent.com/u/227442?v=4" width="100px;" loading=lazy /><br /><sub><b>Dimitris Apostolou</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=rex4539" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/dabreese00"><img src="https://avatars.githubusercontent.com/u/5170955?v=4" width="100px;" loading=lazy /><br /><sub><b>David Breese</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=dabreese00" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.dimitrisapostolou.com/"><img src="https://avatars.githubusercontent.com/u/227442?v=4" width="100px;" loading=lazy /><br /><sub><b>Dimitris Apostolou</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=rex4539" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Dyrimon"><img src="https://avatars.githubusercontent.com/u/77260451?v=4" width="100px;" loading=lazy /><br /><sub><b>Dyrimon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Dyrimon" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/IkelAtomig"><img src="https://avatars.githubusercontent.com/u/101938856?v=4" width="100px;" loading=lazy /><br /><sub><b>Ikel Atomig</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=IkelAtomig" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.eliasojala.me/contact/"><img src="https://avatars.githubusercontent.com/u/5832930?v=4" width="100px;" loading=lazy /><br /><sub><b>Elias Ojala</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=theel0ja" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/feni-brian"><img src="https://avatars.githubusercontent.com/u/56452538?v=4" width="100px;" loading=lazy /><br /><sub><b>Feni Brian</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=feni-brian" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.filips.si/"><img src="https://avatars.githubusercontent.com/u/16626308?v=4" width="100px;" loading=lazy /><br /><sub><b>Filip Š</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=filips123" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/feni-brian"><img src="https://avatars.githubusercontent.com/u/56452538?v=4" width="100px;" loading=lazy /><br /><sub><b>Feni Brian</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=feni-brian" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.filips.si/"><img src="https://avatars.githubusercontent.com/u/16626308?v=4" width="100px;" loading=lazy /><br /><sub><b>Filip Š</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=filips123" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/FlxAlbroscheit"><img src="https://avatars.githubusercontent.com/u/2439195?v=4" width="100px;" loading=lazy /><br /><sub><b>Felix Albroscheit</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=FlxAlbroscheit" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/GReagle"><img src="https://avatars.githubusercontent.com/u/11979774?v=4" width="100px;" loading=lazy /><br /><sub><b>GReagle</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=GReagle" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/xPMo"><img src="https://avatars.githubusercontent.com/u/16061366?v=4" width="100px;" loading=lazy /><br /><sub><b>Gamma</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xPMo" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/GetBoz"><img src="https://avatars.githubusercontent.com/u/8277114?v=4" width="100px;" loading=lazy /><br /><sub><b>GetBoz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=GetBoz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/GrimPixel"><img src="https://avatars.githubusercontent.com/u/39795763?v=4" width="100px;" loading=lazy /><br /><sub><b>GrimPixel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=GrimPixel" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/GetBoz"><img src="https://avatars.githubusercontent.com/u/8277114?v=4" width="100px;" loading=lazy /><br /><sub><b>GetBoz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=GetBoz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/GrimPixel"><img src="https://avatars.githubusercontent.com/u/39795763?v=4" width="100px;" loading=lazy /><br /><sub><b>GrimPixel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=GrimPixel" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Alonely0"><img src="https://avatars.githubusercontent.com/u/59423215?v=4" width="100px;" loading=lazy /><br /><sub><b>Guillem L. Jara</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Alonely0" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/HxxxxxS"><img src="https://avatars.githubusercontent.com/u/4034517?v=4" width="100px;" loading=lazy /><br /><sub><b>HxxxxxS</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=HxxxxxS" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/himanshuchandola-zz"><img src="https://avatars.githubusercontent.com/u/34373537?v=4" width="100px;" loading=lazy /><br /><sub><b>Himanshu Chandola</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=himanshuchandola-zz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/concatime"><img src="https://avatars.githubusercontent.com/u/26262387?v=4" width="100px;" loading=lazy /><br /><sub><b>Issam Maghni</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=concatime" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ItsDonny"><img src="https://avatars.githubusercontent.com/u/96709134?v=4" width="100px;" loading=lazy /><br /><sub><b>ItsDonny</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ItsDonny" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/concatime"><img src="https://avatars.githubusercontent.com/u/26262387?v=4" width="100px;" loading=lazy /><br /><sub><b>Issam Maghni</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=concatime" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/ItsDonny"><img src="https://avatars.githubusercontent.com/u/96709134?v=4" width="100px;" loading=lazy /><br /><sub><b>ItsDonny</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ItsDonny" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/thecodrr"><img src="https://avatars.githubusercontent.com/u/7473959?v=4" width="100px;" loading=lazy /><br /><sub><b>Abdullah Atta</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=thecodrr" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/adam-sroka"><img src="https://avatars.githubusercontent.com/u/45038919?v=4" width="100px;" loading=lazy /><br /><sub><b>Adam Sroka</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=adam-sroka" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/criadoperez"><img src="https://avatars.githubusercontent.com/u/8580472?v=4" width="100px;" loading=lazy /><br /><sub><b>criadoperez</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=criadoperez" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://stingle.org/"><img src="https://avatars.githubusercontent.com/u/149764?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Amiryan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=alexamiryan" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/alexshoup"><img src="https://avatars.githubusercontent.com/u/24282323?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Shoup</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=alexshoup" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://stingle.org/"><img src="https://avatars.githubusercontent.com/u/149764?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Amiryan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=alexamiryan" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/alexshoup"><img src="https://avatars.githubusercontent.com/u/24282323?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Shoup</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=alexshoup" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://alex.lol/"><img src="https://avatars.githubusercontent.com/u/1346090?v=4" width="100px;" loading=lazy /><br /><sub><b>Alex Thomassen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Decicus" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://secluded.site/"><img src="https://avatars.githubusercontent.com/u/29460675?v=4" width="100px;" loading=lazy /><br /><sub><b>Amolith</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Amolith" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://scarpino.dev/"><img src="https://avatars.githubusercontent.com/u/529436?v=4" width="100px;" loading=lazy /><br /><sub><b>Andrea Scarpino</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ilpianista" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://noplanman.ch/"><img src="https://avatars.githubusercontent.com/u/9423417?v=4" width="100px;" loading=lazy /><br /><sub><b>Armando Lüscher</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=noplanman" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/AshTex"><img src="https://avatars.githubusercontent.com/u/11602677?v=4" width="100px;" loading=lazy /><br /><sub><b>Ash T</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=AshTex" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://noplanman.ch/"><img src="https://avatars.githubusercontent.com/u/9423417?v=4" width="100px;" loading=lazy /><br /><sub><b>Armando Lüscher</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=noplanman" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/AshTex"><img src="https://avatars.githubusercontent.com/u/11602677?v=4" width="100px;" loading=lazy /><br /><sub><b>Ash T</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=AshTex" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/4-FLOSS-Free-Libre-Open-Source-Software"><img src="https://avatars.githubusercontent.com/u/46166740?v=4" width="100px;" loading=lazy /><br /><sub><b>Bernd Eichelberger</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=4-FLOSS-Free-Libre-Open-Source-Software" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/BionicBison05"><img src="https://avatars.githubusercontent.com/u/93722725?v=4" width="100px;" loading=lazy /><br /><sub><b>BionicBison05</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=BionicBison05" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://brentgervais.com/"><img src="https://avatars.githubusercontent.com/u/7018928?v=4" width="100px;" loading=lazy /><br /><sub><b>Brent Gervais</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=gerbrent" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://brian-cooper.com/"><img src="https://avatars.githubusercontent.com/u/20056195?v=4" width="100px;" loading=lazy /><br /><sub><b>Brian Cooper</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=coopbri" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Caboose700"><img src="https://avatars.githubusercontent.com/u/10017396?v=4" width="100px;" loading=lazy /><br /><sub><b>Caboose700</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Caboose700" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://brian-cooper.com/"><img src="https://avatars.githubusercontent.com/u/20056195?v=4" width="100px;" loading=lazy /><br /><sub><b>Brian Cooper</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=coopbri" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Caboose700"><img src="https://avatars.githubusercontent.com/u/10017396?v=4" width="100px;" loading=lazy /><br /><sub><b>Caboose700</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Caboose700" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.cadelwatson.com/"><img src="https://avatars.githubusercontent.com/u/1031518?v=4" width="100px;" loading=lazy /><br /><sub><b>Cadel Watson</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kdelwat" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/trosel"><img src="https://avatars.githubusercontent.com/u/1299322?v=4" width="100px;" loading=lazy /><br /><sub><b>trosel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=trosel" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.bromite.org/"><img src="https://avatars.githubusercontent.com/u/32685696?v=4" width="100px;" loading=lazy /><br /><sub><b>Carl</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=csagan5" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Deimos"><img src="https://avatars.githubusercontent.com/u/9033?v=4" width="100px;" loading=lazy /><br /><sub><b>Chad Birch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Deimos" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://barry.im/"><img src="https://avatars.githubusercontent.com/u/1405770?v=4" width="100px;" loading=lazy /><br /><sub><b>Chris Barry</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=chris-barry" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Deimos"><img src="https://avatars.githubusercontent.com/u/9033?v=4" width="100px;" loading=lazy /><br /><sub><b>Chad Birch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Deimos" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://barry.im/"><img src="https://avatars.githubusercontent.com/u/1405770?v=4" width="100px;" loading=lazy /><br /><sub><b>Chris Barry</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=chris-barry" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/claudiojulioferraz"><img src="https://avatars.githubusercontent.com/u/7096023?v=4" width="100px;" loading=lazy /><br /><sub><b>Júlio Ferraz</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=claudiojulioferraz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/JackH3103"><img src="https://avatars.githubusercontent.com/u/23507259?v=4" width="100px;" loading=lazy /><br /><sub><b>Jack Hill</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=JackH3103" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mathiazom"><img src="https://avatars.githubusercontent.com/u/24361490?v=4" width="100px;" loading=lazy /><br /><sub><b>Mathias Oterhals Myklebust</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mathiazom" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.mxe.no/"><img src="https://avatars.githubusercontent.com/u/10927304?v=4" width="100px;" loading=lazy /><br /><sub><b>Mats Estensen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=matsest" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://write.as/matt/"><img src="https://avatars.githubusercontent.com/u/1138779?v=4" width="100px;" loading=lazy /><br /><sub><b>Matt Baer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=thebaer" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://www.mxe.no/"><img src="https://avatars.githubusercontent.com/u/10927304?v=4" width="100px;" loading=lazy /><br /><sub><b>Mats Estensen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=matsest" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://write.as/matt/"><img src="https://avatars.githubusercontent.com/u/1138779?v=4" width="100px;" loading=lazy /><br /><sub><b>Matt Baer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=thebaer" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mehdichaouch"><img src="https://avatars.githubusercontent.com/u/861701?v=4" width="100px;" loading=lazy /><br /><sub><b>Mehdi Chaouch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mehdichaouch" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mjperrone"><img src="https://avatars.githubusercontent.com/u/3848371?v=4" width="100px;" loading=lazy /><br /><sub><b>Mike Perrone</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mjperrone" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/MitchWilkins"><img src="https://avatars.githubusercontent.com/u/17414866?v=4" width="100px;" loading=lazy /><br /><sub><b>Mitch Wilkins</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=MitchWilkins" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/moughxyz"><img src="https://avatars.githubusercontent.com/u/3277844?v=4" width="100px;" loading=lazy /><br /><sub><b>Mo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=moughxyz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://linderud.dev/"><img src="https://avatars.githubusercontent.com/u/1042946?v=4" width="100px;" loading=lazy /><br /><sub><b>Morten Linderud</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Foxboron" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/moughxyz"><img src="https://avatars.githubusercontent.com/u/3277844?v=4" width="100px;" loading=lazy /><br /><sub><b>Mo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=moughxyz" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://linderud.dev/"><img src="https://avatars.githubusercontent.com/u/1042946?v=4" width="100px;" loading=lazy /><br /><sub><b>Morten Linderud</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Foxboron" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/natzim"><img src="https://avatars.githubusercontent.com/u/103460227?v=4" width="100px;" loading=lazy /><br /><sub><b>natzim</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=natzim" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Nautman"><img src="https://avatars.githubusercontent.com/u/28629647?v=4" width="100px;" loading=lazy /><br /><sub><b>Douglas</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Nautman" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nearwood.dev/"><img src="https://avatars.githubusercontent.com/u/1929778?v=4" width="100px;" loading=lazy /><br /><sub><b>Nick</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=nearwood" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NielDB"><img src="https://avatars.githubusercontent.com/u/25815880?v=4" width="100px;" loading=lazy /><br /><sub><b>NielDB</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NielDB" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nihal-raj.github.io/"><img src="https://avatars.githubusercontent.com/u/83210067?v=4" width="100px;" loading=lazy /><br /><sub><b>Nihal Raj</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Nihal-Raj" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NielDB"><img src="https://avatars.githubusercontent.com/u/25815880?v=4" width="100px;" loading=lazy /><br /><sub><b>NielDB</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NielDB" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://nihal-raj.github.io/"><img src="https://avatars.githubusercontent.com/u/83210067?v=4" width="100px;" loading=lazy /><br /><sub><b>Nihal Raj</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Nihal-Raj" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://gitlab.com/NoahGray"><img src="https://avatars.githubusercontent.com/u/3739277?v=4" width="100px;" loading=lazy /><br /><sub><b>Noah</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=OKNoah" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/n0toose"><img src="https://avatars.githubusercontent.com/u/30193966?v=4" width="100px;" loading=lazy /><br /><sub><b>Panagiotis "Ivory" Vasilopoulos</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=n0toose" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://pacr.dev/"><img src="https://avatars.githubusercontent.com/u/32212089?v=4" width="100px;" loading=lazy /><br /><sub><b>Patrick R</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=xDazld" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://fart.attorney/"><img src="https://avatars.githubusercontent.com/u/12037849?v=4" width="100px;" loading=lazy /><br /><sub><b>Fart Attorney</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fartattorney" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pilou-"><img src="https://avatars.githubusercontent.com/u/1356830?v=4" width="100px;" loading=lazy /><br /><sub><b>Pilou</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pilou-" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://fart.attorney/"><img src="https://avatars.githubusercontent.com/u/12037849?v=4" width="100px;" loading=lazy /><br /><sub><b>Fart Attorney</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fartattorney" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/pilou-"><img src="https://avatars.githubusercontent.com/u/1356830?v=4" width="100px;" loading=lazy /><br /><sub><b>Pilou</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=pilou-" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/PoorPocketsMcNewHold"><img src="https://avatars.githubusercontent.com/u/13170204?v=4" width="100px;" loading=lazy /><br /><sub><b>PoorPockets McNewHold</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=PoorPocketsMcNewHold" title="Documentation">📖</a> <a href="#translation-PoorPocketsMcNewHold" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/PrinceKael"><img src="https://avatars.githubusercontent.com/u/44752304?v=4" width="100px;" loading=lazy /><br /><sub><b>PrinceKael</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=PrinceKael" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://mail.protonmail.com/"><img src="https://avatars.githubusercontent.com/u/1345786?v=4" width="100px;" loading=lazy /><br /><sub><b>Richard</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=EpokK" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/walletdude"><img src="https://avatars.githubusercontent.com/u/19595856?v=4" width="100px;" loading=lazy /><br /><sub><b>Jaden Site</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=walletdude" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.jakezeal.com/"><img src="https://avatars.githubusercontent.com/u/13857938?v=4" width="100px;" loading=lazy /><br /><sub><b>Jake Zeal</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jakezeal" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/walletdude"><img src="https://avatars.githubusercontent.com/u/19595856?v=4" width="100px;" loading=lazy /><br /><sub><b>Jaden Site</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=walletdude" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.jakezeal.com/"><img src="https://avatars.githubusercontent.com/u/13857938?v=4" width="100px;" loading=lazy /><br /><sub><b>Jake Zeal</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jakezeal" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/thatrobotdev"><img src="https://avatars.githubusercontent.com/u/18013689?v=4" width="100px;" loading=lazy /><br /><sub><b>James Kerrane</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=thatrobotdev" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sell"><img src="https://avatars.githubusercontent.com/u/34258275?v=4" width="100px;" loading=lazy /><br /><sub><b>Sell</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sell" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://fmbase.tw/blog/"><img src="https://avatars.githubusercontent.com/u/2720857?v=4" width="100px;" loading=lazy /><br /><sub><b>YMHuang</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ymhuang0808" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jonathanvansina"><img src="https://avatars.githubusercontent.com/u/25825247?v=4" width="100px;" loading=lazy /><br /><sub><b>Jonathan Vansina</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jonathanvansina" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jorgeluiscarrillo"><img src="https://avatars.githubusercontent.com/u/33134232?v=4" width="100px;" loading=lazy /><br /><sub><b>jorgeluiscarrillo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jorgeluiscarrillo" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jonathanvansina"><img src="https://avatars.githubusercontent.com/u/25825247?v=4" width="100px;" loading=lazy /><br /><sub><b>Jonathan Vansina</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jonathanvansina" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/jorgeluiscarrillo"><img src="https://avatars.githubusercontent.com/u/33134232?v=4" width="100px;" loading=lazy /><br /><sub><b>jorgeluiscarrillo</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jorgeluiscarrillo" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://julianfairfax.gitlab.io/"><img src="https://avatars.githubusercontent.com/u/43753131?v=4" width="100px;" loading=lazy /><br /><sub><b>Julian</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=julianfairfax" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Kefaku"><img src="https://avatars.githubusercontent.com/u/114934849?v=4" width="100px;" loading=lazy /><br /><sub><b>Kefaku</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Kefaku" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/kmgb"><img src="https://avatars.githubusercontent.com/u/25809479?v=4" width="100px;" loading=lazy /><br /><sub><b>Kevin Brennan</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kmgb" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.kylespearrin.com/"><img src="https://avatars.githubusercontent.com/u/1190944?v=4" width="100px;" loading=lazy /><br /><sub><b>Kyle Spearrin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kspearrin" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://leonallen22.github.io/"><img src="https://avatars.githubusercontent.com/u/5651701?v=4" width="100px;" loading=lazy /><br /><sub><b>Leon Allen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=leonallen22" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="http://www.kylespearrin.com/"><img src="https://avatars.githubusercontent.com/u/1190944?v=4" width="100px;" loading=lazy /><br /><sub><b>Kyle Spearrin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=kspearrin" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://leonallen22.github.io/"><img src="https://avatars.githubusercontent.com/u/5651701?v=4" width="100px;" loading=lazy /><br /><sub><b>Leon Allen</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=leonallen22" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/LisaWilbourn"><img src="https://avatars.githubusercontent.com/u/67932294?v=4" width="100px;" loading=lazy /><br /><sub><b>LisaWilbourn</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=LisaWilbourn" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/LordShedy"><img src="https://avatars.githubusercontent.com/u/1622827?v=4" width="100px;" loading=lazy /><br /><sub><b>Lord Shedy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=LordShedy" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/louiswolfers"><img src="https://avatars.githubusercontent.com/u/7440721?v=4" width="100px;" loading=lazy /><br /><sub><b>Louis Wolfers</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=louiswolfers" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/lunush"><img src="https://avatars.githubusercontent.com/u/76045303?v=4" width="100px;" loading=lazy /><br /><sub><b>Lunush</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lunush" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mmrabbani"><img src="https://avatars.githubusercontent.com/u/56675802?v=4" width="100px;" loading=lazy /><br /><sub><b>MMR</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mmrabbani" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/lunush"><img src="https://avatars.githubusercontent.com/u/76045303?v=4" width="100px;" loading=lazy /><br /><sub><b>Lunush</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lunush" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mmrabbani"><img src="https://avatars.githubusercontent.com/u/56675802?v=4" width="100px;" loading=lazy /><br /><sub><b>MMR</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mmrabbani" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/StoppingBuck"><img src="https://avatars.githubusercontent.com/u/8426548?v=4" width="100px;" loading=lazy /><br /><sub><b>Mads Peter Rommedahl</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=StoppingBuck" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/mq1"><img src="https://avatars.githubusercontent.com/u/29694921?v=4" width="100px;" loading=lazy /><br /><sub><b>Manuel Quarneti</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=mq1" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://twitter.com/ocramleznem"><img src="https://avatars.githubusercontent.com/u/1401770?v=4" width="100px;" loading=lazy /><br /><sub><b>Marco Menzel</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=ocramleznem" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/FishCoding"><img src="https://avatars.githubusercontent.com/u/16527725?v=4" width="100px;" loading=lazy /><br /><sub><b>Mario</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=FishCoding" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://skye.sh/"><img src="https://avatars.githubusercontent.com/u/48442092?v=4" width="100px;" loading=lazy /><br /><sub><b>skye</b></sub></a><br /><a href="#question-dioxias" title="Answering Questions">💬</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/FishCoding"><img src="https://avatars.githubusercontent.com/u/16527725?v=4" width="100px;" loading=lazy /><br /><sub><b>Mario</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=FishCoding" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://skye.sh/"><img src="https://avatars.githubusercontent.com/u/48442092?v=4" width="100px;" loading=lazy /><br /><sub><b>skye</b></sub></a><br /><a href="#question-dioxias" title="Answering Questions">💬</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/r2fo"><img src="https://avatars.githubusercontent.com/u/50496756?v=4" width="100px;" loading=lazy /><br /><sub><b>r2fo</b></sub></a><br /><a href="#translation-r2fo" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://lamtrinh.dev/"><img src="https://avatars.githubusercontent.com/u/49742151?v=4" width="100px;" loading=lazy /><br /><sub><b>LamTrinh.Dev</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=lamtrinhdev" title="Documentation">📖</a> <a href="https://github.com/privacyguides/privacyguides.org/issues?q=author%3Alamtrinhdev" title="Bug reports">🐛</a> <a href="#question-lamtrinhdev" title="Answering Questions">💬</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://discuss.privacyguides.net/u/frostlike"><img src="https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/frostlike/288/3600_2.png" width="100px;" loading=lazy /><br /><sub><b>frostlike</b></sub></a><br /><a href="#question" title="Answering Questions">💬</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://scholz.ruhr/"><img src="https://avatars.githubusercontent.com/u/21988035?v=4" width="100px;" loading=lazy /><br /><sub><b>Merlin Scholz</b></sub></a><br /><a href="#translation-merlinscholz" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jordanwarne.net/"><img src="https://avatars.githubusercontent.com/u/154663344?v=4" width="100px;" loading=lazy /><br /><sub><b>jordan warne</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jordan-warne" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://scholz.ruhr/"><img src="https://avatars.githubusercontent.com/u/21988035?v=4" width="100px;" loading=lazy /><br /><sub><b>Merlin Scholz</b></sub></a><br /><a href="#translation-merlinscholz" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jordanwarne.net/"><img src="https://avatars.githubusercontent.com/u/154663344?v=4" width="100px;" loading=lazy /><br /><sub><b>jordan warne</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=jordan-warne" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Dzenan"><img src="https://avatars.githubusercontent.com/u/69632324?v=4" width="100px;" loading=lazy /><br /><sub><b>Dženan</b></sub></a><br /><a href="#translation-dzenan" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://jxtsai.info"><img src="https://avatars.githubusercontent.com/u/8361268?v=4" width="100px;" loading=lazy /><br /><sub><b>jx tsai</b></sub></a><br /><a href="#translation-jxtsai" title="Translation">🌍</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/backstab5983"><img src="https://avatars.githubusercontent.com/u/21013752?v=4" width="100px;" loading=lazy /><br /><sub><b>backstab5983</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=backstab5983" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/antgig"><img src="https://avatars.githubusercontent.com/u/144840521?v=4" width="100px;" loading=lazy /><br /><sub><b>antgig</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=antgig" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://yzahk.in/"><img src="https://avatars.githubusercontent.com/u/604311?v=4" width="100px;" loading=lazy /><br /><sub><b>Ákos Nikházy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=akosnikhazy" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/antgig"><img src="https://avatars.githubusercontent.com/u/144840521?v=4" width="100px;" loading=lazy /><br /><sub><b>antgig</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=antgig" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://yzahk.in/"><img src="https://avatars.githubusercontent.com/u/604311?v=4" width="100px;" loading=lazy /><br /><sub><b>Ákos Nikházy</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=akosnikhazy" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://fmarier.org/"><img src="https://avatars.githubusercontent.com/u/167821?v=4" width="100px;" loading=lazy /><br /><sub><b>Francois Marier</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=fmarier" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://filmsbytom.com/"><img src="https://avatars.githubusercontent.com/u/132141431?v=4" width="100px;" loading=lazy /><br /><sub><b>5-tom</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=5-tom" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Ralphie0511"><img src="https://avatars.githubusercontent.com/u/99518791?v=4" width="100px;" loading=lazy /><br /><sub><b>Ralphie0511</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Ralphie0511" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://kovalovs.lv/"><img src="https://avatars.githubusercontent.com/u/5563309?v=4" width="100px;" loading=lazy /><br /><sub><b>aleksejs1</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=aleksejs1" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/snwfdhmp"><img src="https://avatars.githubusercontent.com/u/23099246?v=4" width="100px;" loading=lazy /><br /><sub><b>Martin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=snwfdhmp" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://kovalovs.lv/"><img src="https://avatars.githubusercontent.com/u/5563309?v=4" width="100px;" loading=lazy /><br /><sub><b>aleksejs1</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=aleksejs1" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/snwfdhmp"><img src="https://avatars.githubusercontent.com/u/23099246?v=4" width="100px;" loading=lazy /><br /><sub><b>Martin</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=snwfdhmp" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/overwatcheddude"><img src="https://avatars.githubusercontent.com/u/37483931?v=4" width="100px;" loading=lazy /><br /><sub><b>Overwatch</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=overwatcheddude" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/m00t316"><img src="https://avatars.githubusercontent.com/u/54213179?v=4" width="100px;" loading=lazy /><br /><sub><b>Kieran Colfer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=m00t316" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/I-I-IT"><img src="https://avatars.githubusercontent.com/u/78900789?v=4" width="100px;" loading=lazy /><br /><sub><b>Triple T</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=I-I-IT" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/IDON-TEXIST"><img src="https://avatars.githubusercontent.com/u/73442356?v=4" width="100px;" loading=lazy /><br /><sub><b>IDON-TEXIST</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=IDON-TEXIST" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/yusuf-daglioglu"><img src="https://avatars.githubusercontent.com/u/90555550?v=4" width="100px;" loading=lazy /><br /><sub><b>Yusuf Daglioglu</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=yusuf-daglioglu" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://ycao.net/"><img src="https://avatars.githubusercontent.com/u/32544798?v=4" width="100px;" loading=lazy /><br /><sub><b>Yi Cao</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=yikerman" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/sdhlfqr"><img src="https://avatars.githubusercontent.com/u/155405590?v=4" width="100px;" loading=lazy /><br /><sub><b>Sayf Dhū al-Faqār</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=sdhlfqr" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/eylenburg"><img src="https://avatars.githubusercontent.com/u/84839316?v=4" width="100px;" loading=lazy /><br /><sub><b>eylenburg</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=eylenburg" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/PASSK3YS"><img src="https://avatars.githubusercontent.com/u/54213179?v=4" width="100px;" loading=lazy /><br /><sub><b>Kieran Colfer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=PASSK3YS" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/SamsungGalaxyPlayer"><img src="https://avatars.githubusercontent.com/u/12520755?v=4" width="100px;" loading=lazy /><br /><sub><b>Justin Ehrenhofer</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=SamsungGalaxyPlayer" title="Documentation">📖</a> <a href="#business-SamsungGalaxyPlayer" title="Business development">💼</a> <a href="#fundingFinding-SamsungGalaxyPlayer" title="Funding Finding">🔍</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/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>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
|
||||
@@ -23,20 +23,14 @@ authors:
|
||||
name: Freddy
|
||||
description: Team Member
|
||||
avatar: https://github.com/freddy-m.png
|
||||
mastodon:
|
||||
username: freddy
|
||||
instance: social.lol
|
||||
twitter: m00ws
|
||||
bluesky: freddy.lol
|
||||
jonah:
|
||||
name: Jonah Aragon
|
||||
description: Project Director
|
||||
description: Team Member
|
||||
avatar: https://github.com/jonaharagon.png
|
||||
mastodon:
|
||||
username: jonah
|
||||
instance: neat.computer
|
||||
twitter: jonaharagon
|
||||
bluesky: jonaharagon.com
|
||||
kaitebay:
|
||||
name: Kai Tebay
|
||||
description: Former Team Member
|
||||
@@ -57,7 +51,3 @@ authors:
|
||||
name: Sam Howell
|
||||
description: Guest Contributor
|
||||
avatar: https://gitlab.com/uploads/-/system/user/avatar/5349522/avatar.png
|
||||
fria:
|
||||
name: fria
|
||||
description: Team Member
|
||||
avatar: https://github.com/friadev.png
|
||||
|
||||
|
Before Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 532 KiB |
|
Before Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 181 KiB |
|
Before Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 304 KiB |
|
Before Width: | Height: | Size: 183 KiB |
|
Before Width: | Height: | Size: 532 KiB |
|
Before Width: | Height: | Size: 256 KiB |
|
Before Width: | Height: | Size: 437 KiB |
|
Before Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 555 KiB |
|
Before Width: | Height: | Size: 370 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 30 KiB |
@@ -1 +0,0 @@
|
||||
# Daniel Gray
|
||||
@@ -1,30 +1,3 @@
|
||||
---
|
||||
description: Jonah Aragon is the Project Director and staff writer at Privacy Guides. His role includes researching and writing for this website, system administration, creating Privacy Guides Online Learning course content, reviewing the products recommended here, and most other day-to-day tasks.
|
||||
schema:
|
||||
-
|
||||
"@context": https://schema.org
|
||||
"@type": ProfilePage
|
||||
dateCreated: "2019-10-31T00:00:00Z"
|
||||
dateModified: "2024-09-09T00:00:00Z"
|
||||
mainEntity:
|
||||
-
|
||||
"@context": https://schema.org
|
||||
"@type": Person
|
||||
name: Jonah Aragon
|
||||
jobTitle: Project Director
|
||||
description: Jonah Aragon is the Project Director and staff writer at Privacy Guides.
|
||||
url: https://www.privacyguides.org/articles/author/jonah/
|
||||
image: https://www.privacyguides.org/articles/assets/external/github.com/jonaharagon.png.jpg
|
||||
sameAs:
|
||||
- https://www.jonaharagon.com
|
||||
- https://discuss.privacyguides.net/u/jonah
|
||||
- https://shop.jonaharagon.com
|
||||
- https://jonaharagon.me
|
||||
- https://mastodon.neat.computer/@jonah
|
||||
- https://www.youtube.com/@jonaharagon
|
||||
- https://www.wikidata.org/wiki/Q117304062
|
||||
---
|
||||
|
||||
# Jonah Aragon
|
||||
|
||||
{ align=right }
|
||||
@@ -34,4 +7,3 @@ schema:
|
||||
He is also known for his work on the Techlore YouTube channel, including the Techlore Talks podcast he co-hosts.
|
||||
|
||||
[:simple-mastodon: @jonah@neat.computer](https://mastodon.neat.computer/@jonah "@jonah@neat.computer"){ .md-button rel=me }
|
||||
[:simple-bluesky: @jonaharagon.com](https://bsky.app/profile/jonaharagon.com "@jonaharagon.com"){ .md-button rel=me }
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
description: The latest announcements and updates from the Privacy Guides team.
|
||||
---
|
||||
|
||||
# Announcements
|
||||
|
||||
Follow this page for the latest updates & announcements from the Privacy Guides team, and join the [announcements category](https://discuss.privacyguides.net/c/announcements/5) on our forum to discuss anything you read here!
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
description: Privacy Guides News presents the latest tech news about the world's best (and occasionally worst) software, hardware, and services in the privacy world.
|
||||
---
|
||||
|
||||
# News
|
||||
|
||||
The latest tech news about the world's best (and occasionally worst) software, hardware, and services in the privacy world. *Privacy Guides News* has you covered for any important information you might need on your privacy journey.
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
description: Read the latest privacy product reviews and stories from Privacy Guides contributing writers.
|
||||
---
|
||||
|
||||
# Reviews
|
||||
|
||||
Looking for alternatives to privacy-invasive apps you use everyday? Do you just want to know all the details behind your favorite privacy tools? *Privacy Guides Reviews* is the place to find all that and more. This is your one stop to find the latest advice and recommendations on things we use every day directly from Privacy Guides contributors.
|
||||
@@ -1,107 +0,0 @@
|
||||
---
|
||||
title: Editorial Policy
|
||||
---
|
||||
|
||||
This page provides transparent information about Privacy Guides, its editorial process, and how Privacy Guides creates trustworthy news, articles, and reviews.
|
||||
|
||||
Moreover, it is a part of Privacy Guides' commitment to [**The Trust Project**](https://thetrustproject.org/), "an international consortium of news organizations implementing transparency standards and working with technology platforms to affirm and amplify journalism’s commitment to transparency, accuracy, inclusion and fairness so that the public can make informed news choices." Privacy Guides is not currently a news partner of the program, but wholeheartedly supports its mission and values.
|
||||
|
||||
## Coverage Priorities
|
||||
|
||||
First and foremost, Privacy Guides is committed to publishing content related to the personal privacy and cybersecurity industry and communities. We firmly believe that privacy is a human right, which should not be intruded upon by any corporation, government, or other entity.
|
||||
|
||||
To further our beliefs, Privacy Guides strives to create coverage that promotes the ideals of personal privacy and security in online spaces, encourages companies to engage in privacy-friendly behavior, and holds privacy and security invasive entities accountable for their actions.
|
||||
|
||||
## Our Philosophy
|
||||
|
||||
Privacy Guides strongly believes in independent information published by independent people with varying points of view. As an organization, we are firm proponents of freedom of speech, expression, and the press. Privacy Guides contributors are free to share their own opinions, even when they are controversial. Every opinion article is clearly labeled as such at the beginning of the news content.
|
||||
|
||||
## Ethics Policy
|
||||
|
||||
Privacy Guides' ethical code is based in our willingness to be accurate, fair, and complete, and for all of our writers to act with honesty, transparency, and independence.
|
||||
|
||||
### Truth and Accuracy
|
||||
|
||||
Privacy Guides contributors are expected to be as accurate as possible. Getting facts from reliable sources is the defining principle of journalism. Privacy Guides always strives to provide all the relevant facts available, ensure those facts have been verified, and generally hold ourselves to the highest standards of accuracy and truth. When we are unable to corroborate certain information, Privacy Guides always makes that clear to readers.
|
||||
|
||||
### Independence
|
||||
|
||||
Privacy Guides contributors must always be independent voices in the privacy community. Privacy Guides does not act on behalf of special interests, whether corporate, political, or cultural, and whether formally or informally. Independent fact-checking is always involved in the publication process.
|
||||
|
||||
### Fairness and Impartiality
|
||||
|
||||
Many stories have at least two sides. While we are not obligated to present every viewpoint in every article we publish, our stories are balanced and add context. Our impertial reporting is a significant part of why our community has trust and confidence in our work.
|
||||
|
||||
### Humanity
|
||||
|
||||
Privacy Guides contributors do no harm. We are aware of the impact of our words on the lives of others. Private persons have privacy rights that must be balanced against the public interest in reporting information about them. Our pursuit of the news is not a license for arrogance, and we will always treat the subject of any story with respect.
|
||||
|
||||
### Accountability
|
||||
|
||||
As professional and responsible journalists, we will always hold ourselves accountable for our work. Corrections are published when errors are discovered, and we always listen to the concerns of our audience.
|
||||
|
||||
## Corrections Policy
|
||||
|
||||
Privacy Guides believes in transparency and honesty. Therefore, we will correct mistakes promptly and ensure our readers are notified. In the online world of journalism, completeness and freshness of content are huge values, and we believe accuracy is equally essential. We will ensure expediency when making corrections as needed.
|
||||
|
||||
When an error is detected in an article, Privacy Guides will immediately work to find the correct information, clearly display the correction within the affected article, and include the following:
|
||||
|
||||
- The correct information.
|
||||
- What was originally published that was incorrect.
|
||||
- The severity of the error.
|
||||
- The date when the change took place.
|
||||
|
||||
When errors cannot be amended within the body of an article's content, corrections are displayed in the last paragraph of the content. Rather than remove completely the content containing a mistake, we provide clarification and admittance of our mistakes to preserve transparency.
|
||||
|
||||
## Verification & Fact-Checking
|
||||
|
||||
Privacy Guides prides itself on the validity of its content, and therefore does whatever it can to ensure that the information presented by its contributors is accurate. As a well-known global publication, Privacy Guides understands the importance of approaching claims with skepticism, thinking critically, and upholding accuracy in whatever way possible.
|
||||
|
||||
Privacy Guides encourages its writers to keep the following considerations in mind before publishing content:
|
||||
|
||||
- Always credit, acknowledge, and verify the source(s) of your information.
|
||||
- Consider whether you know enough about the information to qualify as a trustable source yourself.
|
||||
- Think critically when addressing claims.
|
||||
- Never make assumptions.
|
||||
|
||||
We trust the integrity of our contributors and the accuracy of content published on this website. In the case that a mistake is made, we understand the importance of admitting to them and working diligently to provide the correct information. We always encourage our readers, sources, and other contributors to provide us with feedback on any of our content.
|
||||
|
||||
## Unnamed Sources Policy
|
||||
|
||||
Privacy Guides will only used unnamed sources in our news reporting if:
|
||||
|
||||
1. The material is informative, not opinion or speculation.
|
||||
2. The material is vital to the news report.
|
||||
3. The source is reliable, and in a position to have accurate information.
|
||||
4. The information provided is not available except under conditions of anonymity imposed by the source.
|
||||
|
||||
Privacy Guides will always identify sources whenever possible. Our readership is entitled to as much information as possible in order to judge the reliability of our sources themselves.
|
||||
|
||||
: Privacy Guides' credibility is our most important asset. If our readers don't have faith that the stories they are reading here are accurate and fair, or if they suspect content within the stories we publish is fabricated, then we would lose that credibility. For our contributors to protect their own credibility, they must use every available avenue to confirm and attribute information before relying on unnamed sources. If the only way to publish a story is to use unnamed sources, our contributors owe it to our readership to identify the sources as clearly as possible without exposing the identity of the individual granted anonymity.
|
||||
|
||||
Our contributors should always question the motives behind a source requesting anonymity.
|
||||
|
||||
: Always keep your promises, but clarify conditions attached to any promise made in exchange for information beforehand. You must not take information from an anonymous support without the approval of our editorial team. We only use unnamed sources to tell important stories that would otherwise go unreported.
|
||||
|
||||
The decision to use an unnamed source is not a decision made solely by the writer. To use an unnamed source, a contributor must have the written consent of a member of our editorial team: [Daniel](author/dngray.md), [Freddy](author/freddy.md), [Jonah](author/jonah.md), or [Niek](author/niek-de-wilde.md).
|
||||
|
||||
Our editorial team will grant consent to the use of unnamed sources if the source is considered to be accurate and reliable, and if there is substantial justification for using the source's information without attribution. Privacy Guides should never be in the position of having to verify any factors within this policy after a story has been published.
|
||||
|
||||
## Actionable Feedback
|
||||
|
||||
Privacy Guides is committed to engaging with our readers and taking action based on their suggestions, complaints, and other feedback.
|
||||
|
||||
Readers may help us develop an individual story or line of coverage, answer questions that a story may raise, identify related or under-covered issues, and teach us about new and diverse sources, experts, and perspectives. We believe that news organizations have a responsibility to engage with the public on the values, issues, and ideas of the times, and that news organizations have much to gain in return. In fact, actionable feedback may:
|
||||
|
||||
- Further develop an individual story or line of coverage.
|
||||
- Help answer questions that a story may raise.
|
||||
- Help identify related questions or issues that the audience, including demographic segments of that audience, is discussing or are concerned about.
|
||||
- Yield new and diverse sources and experts.
|
||||
|
||||
**We strongly encourage our readers to participate in our community forum: <https://discuss.privacyguides.net/>**
|
||||
|
||||
Our staff contributors are also [listed](https://www.privacyguides.org/en/about/) alongside verified email links and other contact information, where you can ask them questions or report a complaint. Each article within our news section also clearly lists the author's byline, including contact and social media information when available.
|
||||
|
||||
When necessary, we will make updates to our articles based on our readership's comments and feedback.
|
||||
|
||||
We are proud of keeping this openness a top priority, in line with the nature of our community.
|
||||
@@ -1,11 +1,5 @@
|
||||
---
|
||||
description: Privacy-related news stories, product reviews, opinion pieces, and other important articles from Privacy Guides contributors.
|
||||
title: Latest Articles
|
||||
hide:
|
||||
- footer
|
||||
---
|
||||
|
||||
# Latest Articles
|
||||
|
||||
This is our home for privacy-related news stories, product reviews, opinion pieces, and other important articles.
|
||||
|
||||
Unlike the rest of our website, these articles don't represent a consensus viewpoint of our community. Instead, they present the opinions of trusted authors within our community as-is. You may even find multiple articles on the same topic with competing viewpoints, intended to further [privacy discussion](https://discuss.privacyguides.net/).
|
||||
|
||||
@@ -1,261 +0,0 @@
|
||||
---
|
||||
date:
|
||||
created: 2025-01-23T19:15:00
|
||||
categories:
|
||||
- Tutorials
|
||||
authors:
|
||||
- jonah
|
||||
description: Your phone is an essential tool, but it also represents a huge risk to your privacy and security. Understanding these best practices when it comes to securing your smartphone will help keep you and your data safe.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# The Protesters' Guide to Smartphone Security
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides | Photo: Koshu Kunii / Unsplash</small>
|
||||
|
||||
For most protesters, activists, and journalists, your smartphone is an essential tool you depend on for organizing with your peers, accessing and distributing information, and helping others. It also represents a great risk, as a tool that is easily appropriated by authorities for targeted and mass surveillance.<!-- more -->
|
||||
|
||||
The perennial question when it comes to protests is whether you should bring your phone at all. If you leave your phone at home, that is probably the safest your data will get, and you will be at very low risk of being tracked by mass surveillance tools. On the other hand, your phone is a critical resource when it comes to coordinating with others, getting updates on the protest from social media, or simply documenting what is going on with your phone's camera.
|
||||
|
||||
If possible, bringing a separate device like a "burner phone," an old phone you can reset, or even a regular old-fashioned camera is a much better option than bringing your primary phone. Any data you don't bring with you can't be taken from you at the scene.
|
||||
|
||||
However, getting access to or affording devices like these aren't a realistic option for many people. Whether you decide to take your smartphone or a secondary smartphone with you to the event, this guide will cover how to maximize that device's security and minimize risks to your privacy.
|
||||
|
||||
## Your Risks at a Protest
|
||||
|
||||
There are plenty of risks you should consider if you use your smartphone at a protest. We are going to try and cover the following in this guide:
|
||||
|
||||
1. Losing your device.
|
||||
|
||||
2. Authorities confiscating your smartphone.
|
||||
|
||||
3. Service disruption, either due to intentional interference by authorities or caused by networks being overloaded by large groups of people.
|
||||
|
||||
4. Targeted surveillance:
|
||||
- Disrupting your service.
|
||||
- Blocking delivery of calls/SMS to your number.
|
||||
- Monitoring your unencrypted traffic.
|
||||
- Monitoring communications over local radios like walkie-talkies, etc.
|
||||
|
||||
5. Mass surveillance:
|
||||
- Interference with web services. Popular communication platforms like Twitter or TikTok could be throttled or blocked.
|
||||
- Interference with messengers and voice services like Signal or WhatsApp.
|
||||
- Authorities could use public Wi-Fi networks in the area to monitor traffic and identify nearby devices.
|
||||
- Cell phone companies could provide records to authorities of devices near cell towers in the area to track and identify protesters.
|
||||
|
||||
Like all of our guides, we are going to cover the general best practices and provide helpful tips, but your individual situation may be different. You should always research and plan according to what you specifically are doing, and if you need legal advice you should always consult a qualified and licensed attorney.
|
||||
|
||||
## Secure Your Device
|
||||
|
||||
If your phone falls into the wrong hands, the information on it could be hugely damaging to yourself or others. Make sure you've taken the necessary steps to prevent it from being broken into.
|
||||
|
||||
### Use a Strong Screen Lock
|
||||
|
||||
At a bare minimum, you should use a 6-digit PIN, but ideally you should protect your phone with an alphanumeric passphrase. This prevents people from trivially accessing your data, and additionally protects your data with strong encryption.
|
||||
|
||||
Barring a massive security exploit (more on this [later](#consider-your-phones-security-patches)), most law enforcement tools work by essentially brute-forcing your PIN, running tons of guesses until it gets one right. This makes a long and unique passphrase your strongest protection against your data being stolen by people in possession of your device.
|
||||
|
||||
In the United States and many other countries it is legal to refuse to unlock your phone or provide your passcode to law enforcement. **Know your rights** wherever you're located before attending a protest, so you aren't blindly following orders later.
|
||||
|
||||
### Disable Biometic Authentication
|
||||
|
||||
We commonly recommend using biometric features like Face ID or Touch ID to prevent "shoulder surfing" attacks, where an attacker steals your PIN by discreetly watching you enter it, or where your PIN is recorded by surveillance cameras in the area.
|
||||
|
||||
**However**, in this situation it may make more sense to disable biometric authentication. Authorities are trained and known to use biometrics quickly to forcefully unlock your device, so you should be mindful of this fact when deciding what to do. If you disable biometrics, be wary of shoulder surfing attacks and prying eyes by obscuring or covering your phone whenever you unlock it.
|
||||
|
||||
Whatever you do, make sure you know how to quickly shut down your phone or disable biometrics at a moment's notice. Many phones have begun replacing the standard "hold down the power button" function with voice assistants or other features, so practice performing the actual shutdown method beforehand to familiarize yourself.
|
||||
|
||||
Modern iPhones require you to hold down the side button and either volume button before the power-off slider appears. Even if you don't get a chance to slide to power off, getting to this screen will at least disable biometric authentication, making your phone a bit more secure than it otherwise might be.
|
||||
|
||||
In the United States, it is still a legal gray area when it comes to whether law enforcement can force you to use biometrics, but many court decisions have leaned toward saying they **can** compel you to use your fingerprint. Using a passphrase and disabling biometrics gives you more robust 5th Amendment rights. In other countries you should again familiarize yourself with your rights in this scenario, so that you can make the most informed decision.
|
||||
|
||||
### Hide Your Notifications
|
||||
|
||||
Even with your device locked, law enforcement can see everything you're up to simply by scrolling through your notifications. Reducing the amount of information accessible on the lock screen improves your security and the security of those you're messaging, so make sure your notifications are only visible when your device is unlocked.
|
||||
|
||||
On an iPhone:
|
||||
|
||||
1. Open **Settings**
|
||||
2. Navigate to **Notifications**
|
||||
3. Navigate to **Show Previews**
|
||||
4. Select **Never** (or, **When Unlocked**)
|
||||
|
||||
On Android:
|
||||
|
||||
1. Open **Settings**
|
||||
2. Navigate to **Notifications**
|
||||
3. Touch **Notifications on lock screen**
|
||||
- Select **Don't show any notifications**
|
||||
4. Switch **Sensitive notifications** to **off**
|
||||
|
||||
### Disable Lock Screen Actions
|
||||
|
||||
In a similar vein, any functionality you have enabled while your device is unlocked can pose a security risk. It is always best practice to reduce your attack surface by disabling these options whenever possible. Even though these features are typically designed to not pose a security risk to your data, they have been known to be exploited in the past to bypass lock screens and other security features.
|
||||
|
||||
On an iPhone:
|
||||
|
||||
1. Open **Settings**
|
||||
2. Navigate to **Face ID & Passcode**
|
||||
3. Scroll to the **Allow Access When Locked** section
|
||||
4. Switch all features you don't need **off**
|
||||
|
||||
On Android, disabling functionality while the phone is locked will vary widely by manufacturer. Some like Samsung provide more flexible options in their lock screen settings, but others like Google do not provide the option to disable the quick settings panel or other similar features.
|
||||
|
||||
### Avoid External Storage
|
||||
|
||||
Your Android phone might have the option to store files or photos on a microSD card, but these cards are not always subject to the same encryption standards as your phone's built-in storage. You should check whether your microSD card can be encrypted in your phone's settings, although this will prevent it from being read by other devices like your computer later.
|
||||
|
||||
Additionally, even *if* it's encrypted, it still won't benefit from the same security protections that your phone's built-in storage provides, such as advanced brute-force protections. Ideally you should remove all external storage devices from your phone during the event, and save photos, videos, and other files to your phone's encrypted internal storage.
|
||||
|
||||
### Consider Your Phone's Security Patches
|
||||
|
||||
Exploits against smartphones are discovered on a very regular basis, and spyware companies that work with law enforcement—like Cellebrite—abuse these exploits to crack into stolen devices. If your phone is no longer receiving regular updates from its manufacturer, you are in a very dangerous position as you may be vulnerable to the exploits used.
|
||||
|
||||
In general, we consider the latest iPhone and latest Google Pixel to be the most secured against this sort of threat. You can increase your security further by using a [hardened alternative operating system](https://www.privacyguides.org/en/android/distributions/) on your Google Pixel.
|
||||
|
||||
Robust security information about phones from other manufacturers is less common. If you use a different device you may still consider the risks to be worth it, but if confiscation is of *particular* concern to you, or especially if your phone no longer receives security patches, you may want to consider leaving the phone at home.
|
||||
|
||||
## Protect Against Surveillance
|
||||
|
||||
### Disable AirDrop
|
||||
|
||||
One of the most innocuous features enabled on millions of iPhones is also one of the most dangerous for those seeking to protect their privacy in public. Apple's AirDrop protocol [uses](https://www.usenix.org/system/files/sec21-heinrich.pdf) trivially bypassed security measures that authorities like the Chinese government have openly [bragged](https://arstechnica.com/security/2024/01/hackers-can-id-unique-apple-airdrop-users-chinese-authorities-claim-to-do-just-that/) about cracking to identify users since at least 2022.
|
||||
|
||||
You should assume that any device with AirDrop enabled is constantly broadcasting your name, email address, and phone number to everyone around you, **even if** you have it set to "Contacts Only." Apple has known about this [flaw](https://www.macrumors.com/2021/04/23/airdrop-researchers-security-flaw/) since 2019 and has not issued any fix.
|
||||
|
||||
1. Open the **Settings** app
|
||||
2. Navigate to **General**
|
||||
3. Navigate to **AirDrop**
|
||||
4. Select **Receiving Off**
|
||||
|
||||
### Lock Down Your Network
|
||||
|
||||
Your phone signals can be used to track you even if you don't make a call or send a text. Some law enforcement agencies use "stingrays," devices which can impersonate a cell tower to track visitors to an area. While the capabilities of the most modern ones isn't fully known, you should definitely protect yourself from the subset of stingrays which abuse the lower security standards of older, 2G networks.
|
||||
|
||||
On Android:
|
||||
|
||||
1. Open **Settings**
|
||||
2. Navigate to **Network & internet**
|
||||
3. Navigate to **SIMs**
|
||||
4. Select your carrier or SIM card
|
||||
5. Switch **Allow 2G** to **off**
|
||||
|
||||
On iPhone:
|
||||
|
||||
1. Open **Settings**
|
||||
2. Navigate to **Privacy & Security**
|
||||
3. Navigate to **Lockdown Mode**
|
||||
4. Select **Turn On Lockdown Mode**
|
||||
|
||||
Note that enabling [Lockdown Mode](https://www.privacyguides.org/articles/2022/10/27/macos-ventura-privacy-security-updates/#lockdown-mode) on an iPhone will change a variety of settings to harden its security. Many of them are smart improvements, but certain apps and features [won't work](https://support.apple.com/HT212650) normally, so read the previous links here for more details.
|
||||
|
||||
### Use Airplane Mode Frequently
|
||||
|
||||
Even after mitigating the risks of 2G networks, your cellular activity can still be tracked. If not by law enforcement then by your carrier, who will likely be responsive to law enforcement's requests for data after the fact.
|
||||
|
||||
To prevent this, you should keep your phone turned off or use Airplane Mode to disable cellular connections whenever possible. Ideally you should only connect to networks in an emergency situation to communicate with others in your group, otherwise keeping messages and network transmissions to a minimum is key.
|
||||
|
||||
### Disable Location Services
|
||||
|
||||
If you have to keep your device powered on and connected, you can at least minimize the number of parties who have access to your location data. Be mindful of apps that you choose to share your location with, and consider disabling location services entirely while you're at the event.
|
||||
|
||||
On an iPhone:
|
||||
|
||||
1. Open **Settings**
|
||||
2. Navigate to **Privacy & Security**
|
||||
3. Navigate to **Location Services**
|
||||
4. Switch **Location Services** to **off**
|
||||
|
||||
On Android:
|
||||
|
||||
1. Open **Settings**
|
||||
2. Navigate to **Location**
|
||||
3. Switch **Use location** to **off**
|
||||
|
||||
If you use an Android phone, you should also check your Google account settings to [ensure location history is disabled](https://support.google.com/accounts/answer/3118687). Google is frequently tapped by law enforcement to provide location data, because they don't protect your personal information with strong, zero-knowledge encryption.
|
||||
|
||||
## Other Tips
|
||||
|
||||
### Use Signal
|
||||
|
||||
[**Signal**](https://www.privacyguides.org/en/real-time-communication/#signal) is the most secure app for sending text messages and making voice calls with others. It is also impossible to configure Signal to lower its encryption security or other security standards, so you know that everyone in your group is using settings that are safe by default.
|
||||
|
||||
Signal is battle-tested for this situation. [Signal has responded to 6 government requests](https://signal.org/bigbrother/) since 2016, and in each case the only information they were able to provide was at most:
|
||||
|
||||
1. Whether the user was registered with Signal
|
||||
2. When that user registered with Signal
|
||||
3. When that user connected to Signal last
|
||||
|
||||
Keep in mind that using Signal could still expose your phone's location, simply due to making a network request as we covered above. You should still keep your phone in [Airplane Mode](#use-airplane-mode-frequently) and minimize the use of Signal or any other networked app during the event.
|
||||
|
||||
There *are* other [encrypted messengers](https://www.privacyguides.org/en/real-time-communication/), some of them even making use of technologies developed by Signal. However, they all come with trade-offs that could easily compromise your security. WhatsApp and Facebook Messenger are end-to-end encrypted for example, but they collect copious amounts of *metadata* about your messages, such as who you're sending them to, when you're sending them, your location when you're sending them, etc. Apple's iMessage service in the Messages app has strong encryption but similar metadata concerns, and only works if everyone in your group has an iPhone.
|
||||
|
||||
### Protect Your Access to Information
|
||||
|
||||
Phones can be easily lost, taken, broken, or they can simply run out of juice. Bring a spare mobile battery or a charged power bank with you, and try to minimize your phone usage to preserve power. You should also make sure your mobile plan is topped up and you have enough mobile data prior to the event.
|
||||
|
||||
You should also write down the number of an emergency contact or a lawyer on a physical piece of paper, or [even](https://xcancel.com/madeleine_rae/status/1266528386878443522) in Sharpie on your arm. You'll want this information easily accessible if you're arrested regardless of your phone's state or location.
|
||||
|
||||
### Change Your Camera Settings
|
||||
|
||||
Check your camera settings for things which may draw unwanted attention, like the flash or a shutter sound. You should go through these settings in advance and configure it for the safest possible use.
|
||||
|
||||
### Back Up Your Data
|
||||
|
||||
You should be prepared to have your phone taken or lost during a protest. You can limit the potential costs and headache to you if this happens by making sure you have an updated, encrypted backup of your data.
|
||||
|
||||
If you have an iPhone, you can make a local backup to a macOS computer or a Windows computer with iTunes. You can also back up to iCloud, but these backups are only secure if you enable [Advanced Data Protection](https://www.privacyguides.org/en/os/ios-overview/#icloud) on your iCloud account. We strongly encourage [enabling Advanced Data Protection](https://support.apple.com/en-us/108756) for all iCloud users in any case, as it protects not only device backups but most iCloud account data as well.
|
||||
|
||||
The backup situation on Android is not nearly as robust unfortunately, but you can back up photos and files with a variety of services. If you use an online backup service we recommend choosing one with strong, zero-knowledge encryption so that the service provider is unable to access your data.
|
||||
|
||||
- [Recommended Photo Backup Services](https://www.privacyguides.org/en/photo-management/)
|
||||
- [Recommended Cloud Drive Services](https://www.privacyguides.org/en/cloud/)
|
||||
- [Recommended File Sync Services](https://www.privacyguides.org/en/file-sharing/)
|
||||
|
||||
## At The Protest
|
||||
|
||||
### Keep Your Device Locked
|
||||
|
||||
You should always use your camera to take pictures or videos while your phone is locked, in case your device is taken while filming. This is easier if you've [disabled biometrics](#disable-biometic-authentication), because Face ID or similar features might unlock your device automatically when you don't want that to happen.
|
||||
|
||||
On an iPhone you can hold down the camera icon on the lock screen to open the camera without unlocking your device. You could also configure the Action Button to open the camera, or use the dedicated camera button on the latest iPhone model.
|
||||
|
||||
On a Google Pixel and most other Android devices, double-tapping the power button will open the camera without needing to unlock your device.
|
||||
|
||||
You should learn and/or set up device shortcuts to do things quickly, ideally while the device remains locked whenever possible, and ensure you're familiar with the shortcuts before the event.
|
||||
|
||||
### Have a Backup Communications Network
|
||||
|
||||
In the event of an internet blackout, it might be a good idea to have a backup network prepared, organized with other attendees. Messaging apps like [Briar](https://www.privacyguides.org/en/real-time-communication/#briar) can operate in a local mesh mode, connecting to other devices in the area with Bluetooth or local Wi-Fi connections instead of relying on centralized internet services.
|
||||
|
||||
You might also want to consider local radios like walkie-talkies, although keep in mind these devices are nearly always unencrypted and can be easily monitored by others, so you won't want to use them to transmit sensitive information.
|
||||
|
||||
## After The Event
|
||||
|
||||
### If Your Phone Was Taken
|
||||
|
||||
If you lose your phone, you may be able to locate or wipe your phone remotely depending on the model. Here are some instructions for common devices you can try:
|
||||
|
||||
- [Finding a lost Android device](https://support.google.com/android/answer/3265955?hl=en)
|
||||
- [Finding a lost iPhone](https://support.apple.com/en-us/104978)
|
||||
|
||||
If you were logged in to any online services on your phone, you should try and get them signed out. On many social media websites for example, you can go to your account's settings to see what devices are signed in and revoke their access remotely.
|
||||
|
||||
Please be aware of the **legal consequences** of these actions. Wiping your device or revoking online account access could lead to obstruction of justice or destruction of evidence charges in some jurisdictions. You should always speak with your licensed attorney before deciding how to proceed. If your phone was taken by law enforcement you may have legal recourse to get it back.
|
||||
|
||||
### Be Mindful of Others
|
||||
|
||||
If you post your photos online, be mindful of identifiable faces or other characteristics of your fellow protesters or bystanders. Law enforcement or vigilantes use these photos to track down other attendees and arrest or harass them.
|
||||
|
||||
To prevent this, you can obscure the faces of anyone in the image. Most phones have [built-in photo editing tools](https://www.privacyguides.org/en/os/ios-overview/#redacting-elements-in-images) that allow you to draw on an image. Blurring can sometimes be reversed, so blocking it out entirely is generally preferable.
|
||||
|
||||
Be careful of the editing tools you use, and don't select highlighters or other semi-transparent editing tools. Even if you scribble over an area of a photo multiple times with a dark/black "highlighter" tool until it *appears* black, that can often be reversed with photo editing software by adjusting the contrast of the image. Using a shape/rectangle tool to draw a black box over areas you wish to redact is much better than trying to manually cross out image elements with drawing tools.
|
||||
|
||||
The Signal app also has built-in tools for photo editing and blurring. You can send a photo to yourself in the "Notes to Self" chat, then save the edited image from that chat for sharing. Signal also automatically removes photo metadata, so if you use it you're already covered with our next section:
|
||||
|
||||
### Scrub Photo Metadata
|
||||
|
||||
Photos have hidden information, or *metadata*, embedded in them which include the type of phone/camera you used, the photo's location, and other potentially sensitive data.
|
||||
|
||||
You should use a [metadata removal tool](https://www.privacyguides.org/en/data-redaction/) to remove this data from images before you share them with others. If you send a photo to someone using Signal, that app removes this metadata automatically.
|
||||
@@ -1,48 +0,0 @@
|
||||
---
|
||||
date:
|
||||
created: 2024-09-09
|
||||
categories:
|
||||
- Announcements
|
||||
authors:
|
||||
- jonah
|
||||
tags:
|
||||
- Privacy Guides
|
||||
license: BY-SA
|
||||
---
|
||||
# Bad-Faith Arguments in the Privacy Community
|
||||
|
||||
The Privacy Guides community is one of the best privacy-related communities on the internet, and I think we have generally done a good job at promoting a positive and respectful environment where people can learn and grow.
|
||||
|
||||
Unfortunately, as a public forum we are not immune to the small minority of individuals who feel empowered to spread anger, hostility, and divisiveness by their anonymity and general lack of consequences on the internet.<!-- more -->
|
||||
|
||||
From now on, we are going to be strict about requiring all posts in our communities to be made in good faith.
|
||||
|
||||
We will consider the following questions when reviewing posts:
|
||||
|
||||
1. Is the poster presenting their criticism as informed or factual, when it's actually a matter of personal opinion, or worse, misinformation or false?
|
||||
2. Has the poster failed to provide reasoning for their criticism, and demonstrated an unwillingness to learn or discuss the topic?
|
||||
3. Is the poster writing something as if it is true and informed, when they're actually just speculating?
|
||||
4. Is the poster simply spreading negativity instead of actually trying to improve something?
|
||||
5. Is the poster engaging in ad hominem attacks against us or our community?
|
||||
|
||||
If these answer to any of these questions is yes, the post will be removed and the poster will be asked to revise their statement. We will suspend posters who repeatedly engage in bad faith arguments.
|
||||
|
||||
For almost everyone here, you won't see any negative impacts of this new policy. It is simply designed to allow us to remove the small number of people who occasionally join to spread unproductive negativity in the privacy space, at the expense of legitimate projects making the world a better place. Hopefully you will notice improvements in discussion quality overall.
|
||||
|
||||
---
|
||||
|
||||
To give an example, there are two specific behaviors we want to discourage with this new policy.
|
||||
|
||||
1. The constant use of words like "shilling," "fanboys," etc. to describe people who have a difference in opinion to your own is not acceptable.
|
||||
|
||||
To "[shill](https://en.wikipedia.org/wiki/Shill)" something is to promote something you have an employer relationship or some other actual conflict of interest with. To accuse someone in our community of being a planted shill without any evidence, simply because they like something that you dislike, is both a serious accusation and a bad-faith argument.
|
||||
|
||||
Even the use of terms like these informally to describe people who like a certain product more than others is disrespectful, and sows uncertainty and distrust within our community, so it will no longer be tolerated.
|
||||
|
||||
2. A very small portion of GrapheneOS community members continually attempt to derail any conversations mentioning GrapheneOS with irrelevant details and confrontational attitudes.
|
||||
|
||||
This is not a reflection on the GrapheneOS project itself, but unfortunately this has become a repeated situation with certain community members of this specific project more than anyone else, so we have to call it out.
|
||||
|
||||
Making unfounded accusations against Privacy Guides community members of harassment towards GrapheneOS simply because they presented their criticism of the project is not a good faith argument. Similarly, presenting unverified statements from the GrapheneOS community as factual has led to misinformation being spread in the past. It is critical to always differentiate between opinions/beliefs and factual information.
|
||||
|
||||
**Privacy Guides community spaces are not GrapheneOS discussion forums, and the drama from their community is not automatically on-topic in ours.** Please do not make new topics in our forum that simply link to drama posts from the GrapheneOS community. A good rule of thumb is that unless a post from GrapheneOS is specifically talking about GrapheneOS-specific, privacy-related functionality and not about other projects/software/etc., it is probably off-topic here.
|
||||
@@ -11,15 +11,11 @@ links:
|
||||
tags:
|
||||
- Instant Messengers
|
||||
license: BY-SA
|
||||
description: Choosing an instant messenger is a challenge. How can you be sure you’re using the most secure, privacy respecting platform?
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# Choosing the Right Messenger
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides | Photo: Unsplash</small>
|
||||
|
||||
One of the most common questions users have when it comes to privacy is about messaging services. It seems almost all of them mention some level of privacy or encryption to entice the user to sign up for their service, but how can you be sure you’re using the most secure, privacy respecting platform?<!-- more -->
|
||||
|
||||
The answer actually lies in one’s [threat model](https://www.privacyguides.org/basics/threat-modeling/), which is often an ignored step in choosing all privacy related apps and services, meaning a lot of users limit their internet and communication experience because they believe they need Edward Snowden level privacy settings.
|
||||
|
||||
@@ -10,15 +10,11 @@ links:
|
||||
- Search Engines: https://www.privacyguides.org/en/search-engines/
|
||||
tags:
|
||||
- Search Engines
|
||||
description: Startpage has been removed from Privacy Guides' recommendations following their acquisition by System1.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# Delisting Startpage From Privacy Guides
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Privacy Guides | Photo: Unsplash</small>
|
||||
|
||||
Dear *Privacy Guides* Community,
|
||||
|
||||
On the 15th of October, it was [brought to our attention](https://web.archive.org/web/20201127034309/https://www.reddit.com/r/privacy/comments/di5rn3/startpage_is_now_owned_by_an_advertising_company/) that Startpage.com was reportedly (partially?) taken over by a company called the Privacy One Group, which is in turn owned by a company called System1. We found this quite remarkable as the two companies seem to have conflicting business models.<!-- more --> Startpage has been known for basing their advertisements on what their users enter in their search bar. System1 on the other hand, is a pay-per-click advertising company that "[has developed a pre-targeting platform that identifies and unlocks consumer intent across channels including social, native, email, search, market research and lead generation rather than relying solely on what consumers enter into search boxes.](https://web.archive.org/web/20201127034309/https://www.bizjournals.com/losangeles/news/2017/09/20/system1-raises-270-million-for-consumer-intent.html)"
|
||||
|
||||
@@ -10,15 +10,11 @@ links:
|
||||
- Types of Communication Networks: https://www.privacyguides.org/en/advanced/communication-network-types/
|
||||
tags:
|
||||
- Instant Messengers
|
||||
description: Wire has been removed from Privacy Guides' recommendations following their acquisition by a US holding company and VC investments.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# Delisting Wire From Privacy Guides
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides | Photo: Unsplash</small>
|
||||
|
||||
It has recently come to the attention of the *Privacy Guides* team that **Wire**, the popular end-to-end encryption messaging platform [has been sold or moved to a US company](https://web.archive.org/web/20201128215737/https://forum.privacytools.io/t/wire-swiss-gmbh-is-now-owned-by-a-usa-holding-company/1932). After a week of questioning, Wire finally confirmed they had changed holding companies and would now be a US based company in a move they called “simple and pragmatic,” as they worked to expand their foothold in the enterprise market. This also came alongside the news that Wire had accepted more than $8 million in Venture Capital (VC) funding from Morpheus Ventures, as well as other investors.<!-- more -->
|
||||
|
||||
Morpheus Ventures holds a [portfolio](https://web.archive.org/web/20201128215737/https://morpheus.com/portfolio/) including companies in healthcare, voice AI, life insurance, and retail customer data analytics: All sectors that have historically used invasive data collection methods to survive. Why would a VC with a portfolio centered on consumer data want to invest in a company whose mission claims to protect that very same information?
|
||||
|
||||
@@ -11,14 +11,11 @@ tags:
|
||||
- Browsers
|
||||
- Firefox
|
||||
license: CC0
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# Firefox Privacy: 2021 Update
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides | Photo: Unsplash</small>
|
||||
|
||||
A lot changed between 2019 and now, not least in regards to Firefox. Since our last post, Mozilla has [improved](https://blog.mozilla.org/en/products/firefox/latest-firefox-rolls-out-enhanced-tracking-protection-2-0-blocking-redirect-trackers-by-default/) privacy with [Enhanced Tracking Protection (ETP)](https://blog.mozilla.org/en/products/firefox/firefox-now-available-with-enhanced-tracking-protection-by-default/). Earlier this year Mozilla introduced [Total Cookie Protection](https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/) (Dynamic First Party Isolation dFPI). This was then further tightened with [Enhanced Cookie Clearing](https://blog.mozilla.org/security/2021/08/10/firefox-91-introduces-enhanced-cookie-clearing/). We’re also looking very forward to [Site Isolation](https://blog.mozilla.org/security/2021/05/18/introducing-site-isolation-in-firefox/) (code named Fission) being enabled by default in the coming releases.<!-- more -->
|
||||
|
||||
Now that so many privacy features are built into the browser, there is little need for extensions made by third-party developers. Accordingly, we have updated our very outdated [browser](https://www.privacyguides.org/desktop-browsers/) section. If you’ve got an old browser profile we suggest **creating a new one**. Some of the old advice may make your browser *more* unique.
|
||||
|
||||
@@ -11,14 +11,11 @@ tags:
|
||||
- Browsers
|
||||
- Firefox
|
||||
license: BY-SA
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# Firefox Privacy: Tips and Tricks for Better Browsing
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides | Photo: Unsplash</small>
|
||||
|
||||
Mozilla Firefox is one of the most popular web browsers around, and for good reason. It's fast, secure, open-source, and it's backed by an organization that actually respects your privacy. Unlike many other Chrome alternatives and forks, it has a massive development team behind it that publishes new updates on a constant, regular basis. Regular updates doesn't only mean shiny new features, it means you'll also receive security updates that will keep you protected as you browse the web.<!-- more -->
|
||||
|
||||
Because of all of this, [we recommend Firefox](https://www.privacyguides.org/desktop-browsers/#firefox) as our general-purpose browser for most users. It's the best alternative to Chrome and Edge for privacy conscious individuals.
|
||||
|
||||
@@ -13,7 +13,6 @@ links:
|
||||
- Android Recommendations: https://www.privacyguides.org/android/
|
||||
license: BY-SA
|
||||
robots: nofollow, max-snippet:-1, max-image-preview:large
|
||||
schema_type: OpinionNewsArticle
|
||||
---
|
||||
# Should You Use GrapheneOS or CalyxOS?
|
||||
|
||||
|
||||
@@ -11,8 +11,6 @@ links:
|
||||
tags:
|
||||
- Government
|
||||
license: BY-SA
|
||||
description: In the wake of the September 11, 2001, attack on the United States, the US government enacted laws that weakened citizen privacy in the name of national emergency.
|
||||
schema_type: OpinionNewsArticle
|
||||
---
|
||||
# Hide Nothing
|
||||
|
||||
|
||||
@@ -10,8 +10,6 @@ authors:
|
||||
tags:
|
||||
- Privacy Guides
|
||||
license: BY-SA
|
||||
description: It's finally here. After countless requests, Privacy Guides now has translations.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# Privacy Guides Is Now Multilingual
|
||||
|
||||
|
||||
@@ -12,8 +12,6 @@ tags:
|
||||
- iOS
|
||||
- Windows
|
||||
license: BY-SA
|
||||
description: When sharing files, it's important to remove associated metadata. Image files commonly include Exif data, and sometimes photos even include GPS coordinates within its metadata.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# Removing Metadata From Your Photos, Videos, and Other Files
|
||||
|
||||
|
||||
@@ -10,8 +10,6 @@ authors:
|
||||
tags:
|
||||
- iOS
|
||||
license: BY-SA
|
||||
description: There are a number of privacy and security-related settings you should consider changing in the Settings app on iOS 16.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# iOS 16 Privacy Configuration Guide
|
||||
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
date:
|
||||
created: 2024-10-28
|
||||
categories:
|
||||
- Announcements
|
||||
authors:
|
||||
- niek-de-wilde
|
||||
links:
|
||||
- Job Openings: https://www.privacyguides.org/en/about/jobs/
|
||||
tags:
|
||||
- Privacy Guides
|
||||
description: Privacy Guides is now hiring for a video content creation position and a journalist position, as well as a 6-month internship.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# Privacy Guides is Hiring
|
||||
|
||||
We are thrilled to announce the opening of three new job positions aimed at enhancing our mission of promoting personal privacy and informed digital choices. As a non-profit organization dedicated to empowering individuals with the knowledge and tools they need to navigate the internet in a private manner, we are excited to expand our team with talented individuals who share our vision. They will play a key role in helping us reach new audiences to spread our message in multiple formats, and make sure we are the authoritative source for trustworthy and unbiased consumer privacy resources on the internet.<!-- more -->
|
||||
|
||||
## Content Creator
|
||||
|
||||
We're seeking a passionate multimedia content creator to spearhead our video production efforts on YouTube and other platforms. This role will involve creating engaging and informative video content that for example simplifies several privacy concepts and offers practical tips for protecting personal information. The ideal candidate will have experience in video production (but this is not strictly required) and a commitment to making complex topics accessible to a wide audience.
|
||||
|
||||
This is your chance to enter the tech & educational content creation space, without worrying about sponsors and advertisers diluting your message. We have no commercial interests to interfere with your content, and no agenda beyond simply providing the best privacy information out there. If you're excited about using the power of video to educate and inspire, we want to hear from you!
|
||||
|
||||
[Learn more and apply here :material-arrow-right-drop-circle:](https://privacyguides.org/en/about/jobs/content-creator/)
|
||||
|
||||
## Journalist
|
||||
|
||||
We are also looking for a skilled journalist to join our team. This role will focus on producing in-depth articles for our blog that explore the latest trends in privacy and security, as well as the implications of emerging technologies. The ideal candidate will have a background in investigative journalism and a deep understanding of privacy issues. Your work will help inform our community and foster critical discussions about digital rights and responsibilities.
|
||||
|
||||
Other tasks will be to research new subjects to cover, perform interviews, and conduct product and service reviews for our recommendations.
|
||||
|
||||
[Learn more and apply here :material-arrow-right-drop-circle:](https://privacyguides.org/en/about/jobs/journalist/)
|
||||
|
||||
## News Curation Internship
|
||||
|
||||
Finally, we are offering a paid internship position that will focus on staying up-to-date with the latest privacy and security news, interacting with our community, and providing overall support to our volunteers. This role will involve curating relevant articles, reports, and insights to keep our team informed and engaged with current events. This is an excellent opportunity for someone passionate about privacy issues and looking to gain hands-on experience in a non-profit environment. Ideal candidates will have strong research skills and a keen interest in digital rights.
|
||||
|
||||
[Learn more and apply here :material-arrow-right-drop-circle:](https://privacyguides.org/en/about/jobs/intern-news/)
|
||||
|
||||
## Join us in making a difference
|
||||
|
||||
At Privacy Guides, we believe that everyone deserves the right to privacy and security in the digital world. By joining our team, you will play a vital role in educating the public and advocating for stronger privacy protections. If you’re ready to make a difference and are excited about one of these roles, we encourage you to apply!
|
||||
@@ -9,8 +9,6 @@ tags:
|
||||
- Linux
|
||||
- Security
|
||||
license: BY-SA
|
||||
description: We outline a few projects which aim to solve the poor sandboxing situation in Linux relative to operating systems like macOS and ChromeOS.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# Sandboxing Applications on Desktop Linux
|
||||
|
||||
|
||||
@@ -10,8 +10,6 @@ tags:
|
||||
- Security
|
||||
license: BY-SA
|
||||
robots: nofollow, max-snippet:-1, max-image-preview:large
|
||||
description: There are a number of procedures you can follow to make your Linux desktop system more secure, some more advanced than others. We cover some general techniques here.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# Hardening Your Desktop Linux System's Security
|
||||
|
||||
|
||||
@@ -11,8 +11,6 @@ tags:
|
||||
links:
|
||||
- posts/ios-configuration-guide.md
|
||||
license: BY-SA
|
||||
description: We cover the improvements macOS Ventura will bring to Apple users when it comes to personal privacy and security.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# New Privacy and Security Features in macOS 13 Ventura
|
||||
|
||||
|
||||
@@ -9,8 +9,6 @@ authors:
|
||||
tags:
|
||||
- Privacy Guides
|
||||
license: BY-SA
|
||||
description: Privacy Guides has partnered with HELLOTUX to create what we think are the finest garments in the land.
|
||||
schema_type: BackgroundNewsArticle
|
||||
---
|
||||
# Privacy Guides Now Has Merchandise
|
||||
|
||||
|
||||
@@ -10,8 +10,6 @@ links:
|
||||
tags:
|
||||
- Facebook
|
||||
license: BY-SA
|
||||
description: If someone has to tell you that they care about your privacy, they probably don’t.
|
||||
schema_type: OpinionNewsArticle
|
||||
---
|
||||
# Move Fast and Break Things
|
||||
|
||||
|
||||
@@ -2,22 +2,18 @@
|
||||
date:
|
||||
created: 2024-07-14
|
||||
categories:
|
||||
- News
|
||||
- Opinion
|
||||
authors:
|
||||
- jonah
|
||||
tags:
|
||||
- Firefox
|
||||
- Mozilla
|
||||
description: "'No shady privacy policies or back doors for advertisers' proclaims the Firefox homepage, but that's no longer true in Firefox 128."
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
|
||||
# "Privacy-Preserving" Attribution: Mozilla Disappoints Us Yet Again
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Image: Unsplash</small>
|
||||
|
||||
**"No shady privacy policies or back doors for advertisers" proclaims the Firefox homepage, but that's no longer true in Firefox 128.**
|
||||
|
||||
Less than a month after [acquiring the AdTech company Anonym](https://discuss.privacyguides.net/t/mozilla-acquires-anonym-raising-the-bar-for-privacy-preserving-digital-advertising/18936), Mozilla has added special software co-authored by Meta and built for the advertising industry directly to the latest release of Firefox, in an experimental trial you have to opt out of manually. This "Privacy-Preserving Attribution" (PPA) API adds another tool to the arsenal of tracking features that advertisers can use, which is thwarted by traditional content blocking extensions.<!-- more -->
|
||||
|
||||
@@ -1,174 +0,0 @@
|
||||
---
|
||||
title: "Onion Browser Review: Tor on iOS"
|
||||
description: "Onion Browser is our recommended way of connecting to Tor on iOS, but it does have a number of drawbacks compared to the traditional Tor Browser on other platforms you should be aware of."
|
||||
date:
|
||||
created: 2024-09-18
|
||||
categories:
|
||||
- Reviews
|
||||
authors:
|
||||
- jonah
|
||||
links:
|
||||
- Tor Recommendations: https://www.privacyguides.org/en/tor/
|
||||
- Tor Overview: https://www.privacyguides.org/en/advanced/tor-overview/
|
||||
tags:
|
||||
- Tor
|
||||
- iOS
|
||||
license: BY-SA
|
||||
preview:
|
||||
logo: theme/assets/img/self-contained-networks/onion_browser.svg
|
||||
review:
|
||||
type: MobileApplication
|
||||
category: BrowserApplication
|
||||
subcategory: Tor Network Browser
|
||||
name: Onion Browser
|
||||
price: 0
|
||||
website: https://onionbrowser.com/
|
||||
rating: 3.5
|
||||
pros:
|
||||
- Officially endorsed way to access Tor on iOS.
|
||||
cons:
|
||||
- Some inconsistent and confusing settings.
|
||||
- Doesn't provide the same protections as Tor Browser.
|
||||
---
|
||||
{ align=right }
|
||||
|
||||
Search the App Store for "Tor Browser" and you'll be flooded with a variety of ways to connect to the Tor network from your iPhone. However, there's only one solution officially [endorsed](https://support.torproject.org/tormobile/tormobile-3/) by the Tor Project themselves: **Onion Browser**.<!-- more -->
|
||||
|
||||
[:octicons-home-16: Homepage](https://onionbrowser.com){ .md-button }
|
||||
[:octicons-eye-16:](https://onionbrowser.com/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://onionbrowser.com/faqs){ .card-link title=Documentation}
|
||||
[:octicons-code-16:](https://github.com/OnionBrowser/OnionBrowser){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://onionbrowser.com/donate){ .card-link title=Contribute }
|
||||
|
||||
Onion Browser is an open-source app created by Mike Tigas, who has worked closely with Tor Project in the past and was previously an investigative journalist at ProPublica (he is currently an advisor at the FTC). His company still maintains the app, although lately it is primarily [developed](https://github.com/OnionBrowser/OnionBrowser/graphs/contributors) by other maintainers.
|
||||
|
||||
!!! info inline end "Side info"
|
||||
|
||||
- [:simple-appstore: App Store download](https://apps.apple.com/app/id519296448)
|
||||
|
||||
We already recommend Onion Browser for any iOS users out there, with the important caveat that it doesn't have all the privacy features that Tor Browser on *other* operating systems would provide.
|
||||
|
||||
## Usage
|
||||
|
||||
Of course installing Onion Browser is as easy as any other app on iOS, Apple ID unfortunately required. Onion Browser can be set as your default browser in system settings too, which is nice.
|
||||
|
||||
When you open Onion Browser for the first time you're given the option to connect to Tor via [Orbot](https://www.privacyguides.org/en/tor/#orbot), or with a built-in Tor network proxy. Using the built-in option is the easiest, it connects very quickly and doesn't require a separate app. It also allows you to [use Tor alongside another VPN app](https://www.privacyguides.org/en/advanced/tor-overview/#safely-connecting-to-tor), which may be helpful in certain circumstances. The Orbot app acts as its own "VPN connection" in iOS preventing the possibility of combining it with another VPN, but it is more flexible and it extends Tor network protections to every app on your device.
|
||||
|
||||
<figure markdown="span">
|
||||
{ width="200" }
|
||||
<figcaption>You're presented with a choice at startup</figcaption>
|
||||
</figure>
|
||||
|
||||
Using the dedicated Orbot app also provides more robust protections against IP address leaks. Onion Browser warns in its comparison that using the built-in option could leak your IP or network information to malicious JavaScript code.
|
||||
|
||||
I confirmed the built-in option works perfectly fine, in fact I occasionally had trouble connecting Orbot to Onion Browser, where it would re-prompt me to start Orbot even though it was already running until I restarted the Onion Browser app. The built-in proxy generally worked seamlessly. However, for most people using Onion Browser alongside Orbot probably still makes more sense. It's the official recommendation from Tor Project and the browser's developer themselves, so that's what I'll be sticking with for the rest of this review.
|
||||
|
||||
<figure markdown="span">
|
||||
{ width="200" }
|
||||
<figcaption>You can check your connection at check.torproject.org, but you'll be warned you're not using Tor Browser</figcaption>
|
||||
</figure>
|
||||
|
||||
Onion Browser comes with 6 `.onion` bookmarks preinstalled: DuckDuckGo, the New York Times, the BBC, ProPublica, Freedom of the Press Foundation, and Deutsche Welle, which provides you with a good entry point into Tor network resources.
|
||||
|
||||
<figure markdown="span">
|
||||
{ width="200" }
|
||||
<figcaption>You can get started right away with built-in resources</figcaption>
|
||||
</figure>
|
||||
|
||||
DuckDuckGo via its `.onion` address is also the default search engine. Unlike Safari, search engines in Onion Browser are completely configurable. Included by default are a few different DuckDuckGo configurations, Google, and Startpage, but you can add your own [search engine](https://www.privacyguides.org/en/search-engines/) easily if you prefer another option.
|
||||
|
||||
I ran into trouble with DuckDuckGo not being able to display results, however. Switching to the **DuckDuckGo HTML** search engine in settings helped, and I prefer that more lightweight version myself anyway. I'm curious whether this is a common issue or a momentary glitch with DuckDuckGo, but neither switching circuits nor reducing security levels fixed it. Speaking of...
|
||||
|
||||
<figure markdown="span">
|
||||
<div markdown="span" style="display: flex; gap: 1em; justify-content: center;">
|
||||
{ width="200" }
|
||||
{ width="200" }
|
||||
</div>
|
||||
<figcaption>DuckDuckGo wouldn't work until I used their HTML-only version</figcaption>
|
||||
</figure>
|
||||
|
||||
### Security Levels
|
||||
|
||||
There are three configurable security levels in Onion Browser: Bronze, Silver (the default), and Gold. These levels roughly correlate to the *Safe, Safer, Safest* [security levels](https://tb-manual.torproject.org/security-settings/) in regular Tor Browser.
|
||||
|
||||
<figure markdown="span">
|
||||
{ width="200" }
|
||||
<figcaption>You can toggle security levels on a per-site basis with two taps</figcaption>
|
||||
</figure>
|
||||
|
||||
I had no issues browsing the web in the standard Silver level, which felt similar to just using Safari. Even websites which rely a bit more on JavaScript like our own [forum](https://discuss.privacyguides.net/) were unaffected, so this seems to be a sane default for most people.
|
||||
|
||||
The security level toggle next to the address bar is a bit dangerous, in my opinion. It changes the security level on a per-site basis, which can lead to inconsistent settings. I ran into this when I set the security level to Gold on privacyguides.**org**, then I navigated to our forum (hosted on privacyguides.**net**) and found the security level reset itself to Silver. Changing the security level for all sites requires going into the app's settings and changing the default security, which is something to keep in mind if you don't trust the sites you're visiting.
|
||||
|
||||
That being said, I also found that even the default security level setting didn't apply itself consistently after changing it. When I set the default security to Gold and opened DuckDuckGo, it opened at the lower Silver security level. I believe this is because I had manually set DuckDuckGo to Silver using the per-site toggle earlier, but changing the default setting *really* should reset those preferences.
|
||||
|
||||
The Gold browsing experience definitely broke more websites. Our forum didn't load at all, despite theoretically having a non-JavaScript version available. Other pages had broken elements: I loaded the Freedom of the Press Foundation's homepage fine, but I wasn't able to open the mobile navigation menu with the button in their header without switching back to Silver.
|
||||
|
||||
Something to note is that even the Gold level protections don't go nearly as far as Safest protections in Tor Browser. For example, the Safest setting on desktop Tor Browser will block resources like external fonts, which are not blocked on any level by Onion Browser. Onion Browser is meant to be a censorship circumvention tool, but it is not ready to defend your anonymity against any more dedicated adversaries.
|
||||
|
||||
### Other Settings
|
||||
|
||||
Onion Browser comes with reasonable defaults and a fairly sparse number of customization options, but there's some you'll probably want to change if you're using this every day.
|
||||
|
||||
The **Tab Security** setting defaults to *Forget in Background*, which I found closes your tabs even if you simply check your notifications. It's certainly good that it errs on the side of caution and closes your tabs when you do literally *anything* outside the app, but I think most people will probably prefer this set to *Forget at Shutdown* where the data is only wiped when the app is actually closed. If you're really not concerned about local data storage, you can have the browser remember tabs until you close them for a more standard browser-like experience.
|
||||
|
||||
In the **Default Security** settings you can choose a different user agent, or leave it blank to send the default, in which case it sends Safari's default user agent for your device. You may find this useful to change how websites present themselves, but impersonating the user agent of another browser does **not** make you blend in with that browser from a fingerprinting perspective. There are many ways a website could determine what browser you are using outside your user agent, so don't rely on this setting to make you blend in with everyone else using Tor Browser on other devices.
|
||||
|
||||
Besides leaving it blank for the default, it comes with three built-in user agent strings you can choose from, or you can enter your own. You might find it useful to use Tor Browser for Android's, but if you have no idea what any of this means it's probably best to leave the user agent settings alone.
|
||||
|
||||
=== "Default (on my device)"
|
||||
|
||||
```
|
||||
Mozilla/5.0 (iPhone; CPU iPhone OS 18_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/605.1.15
|
||||
```
|
||||
|
||||
=== "Safari Desktop"
|
||||
|
||||
```
|
||||
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
|
||||
```
|
||||
|
||||
=== "Tor Browser Desktop"
|
||||
|
||||
```
|
||||
Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0
|
||||
```
|
||||
|
||||
=== "Tor Browser Android"
|
||||
|
||||
```
|
||||
Mozilla/5.0 (Android 9; Mobile; rv:78.0) Gecko/20100101 Firefox/78.0
|
||||
```
|
||||
|
||||
The other settings in the app are fairly self-explanatory, but I don't expect many people will need to change them.
|
||||
|
||||
## Drawbacks
|
||||
|
||||
A large part of Onion Browser's problems come down to how iOS works. Most notably the iOS requirement for third-party browsers to use the WebKit framework built in to iOS.
|
||||
|
||||
This requirement means that Onion Browser has completely separate development from Tor Browser on desktop and Android, so it can't easily make use of all the advanced privacy-protecting features the Tor Project team is constantly adding to their browser. Technically it does also mean Onion Browser has historically been immune to [Firefox-related vulnerabilities](https://blog.mozilla.org/security/2016/11/30/fixing-an-svg-animation-vulnerability/), but Safari is not known for its perfect security record either, and the number of eyes on Tor-related *WebKit* vulnerabilities is certainly far smaller than on *Firefox/Gecko*-related ones.
|
||||
|
||||
The Tor Project [notes](https://blog.torproject.org/tor-heart-onion-browser-and-more-ios-tor/) another drawback to Onion Browser's use of WebKit as well: The WebKit APIs simply don't give browser developers the level of control they're used to over the rendering and execution of web pages. This relates to what we saw earlier with the "Gold" protection levels not quite matching what you'd see in Tor Browser on other platforms.
|
||||
|
||||
The EU recently required Apple to let third-party browser developers use their own engines instead of WebKit. It's possible that—likely many years from now—a version of Onion Browser or Tor Browser could come to iOS alongside Tor's stricter protections found in their standard browsers. Even still, the mobile version of Tor Browser on Android which *does* use Firefox's mobile engine is leagues behind desktop Tor Browser in terms of privacy and security. It's safe to say that desktop Tor Browser is going to be the best way to access Tor for quite some time.
|
||||
|
||||
## Lockdown Mode
|
||||
|
||||
There is one more way to improve Onion Browser security, but we have to look outside the browser to find it. [Lockdown Mode](macos-ventura-privacy-security-updates.md#lockdown-mode) is a feature introduced in iOS 16 that reduces the attack surface of your device by disabling a myriad of features, including web browsing features that could potentially impact security.
|
||||
|
||||
Because Onion Browser is built on Apple's WebKit, these security improvements extend to Onion Browser as well. Most notably, external web fonts *are* blocked in Onion Browser with Lockdown Mode enabled, just as they are in Safari. These are disabled in desktop Tor Browser's Safest mode due to both privacy concerns, and security concerns related to the font rendering engine on your device, so having the option to disable them here on iOS is very useful for those looking to maximize their security.
|
||||
|
||||
<figure markdown="span">
|
||||
{ width="200" }
|
||||
<figcaption>External fonts and JavaScript disabled with Gold + Lockdown Mode</figcaption>
|
||||
</figure>
|
||||
|
||||
However, enabling Lockdown Mode *is* detectable by websites, meaning it could potentially be used to fingerprint you. Onion Browser in any form does not really provide the same fingerprinting protections that desktop Tor Browser is able to, so this probably shouldn't stop you from using Lockdown Mode, but it is something to keep in mind.
|
||||
|
||||
## Conclusion
|
||||
|
||||
The decision to use Onion Browser will ultimately come down to your specific requirements. If you simply need a web browser that connects to [Tor hidden services](https://www.privacyguides.org/en/advanced/tor-overview/#path-building-to-onion-services), and you're not concerned with being tracked down, this is a perfectly reasonable choice on iOS.
|
||||
|
||||
It's also a good way to promote and normalize the use of Tor in general. My browsing experience using Onion Browser, while still a bit slower than regular browsing, was perfectly acceptable for reading the news, searching the web, and other everyday browsing tasks most of us do on our phone. The more people that use Tor for their everyday traffic, the safer the overall network becomes for people who really need it.
|
||||
|
||||
Just don't expect the same level of protection that desktop Tor Browser can provide. If you're concerned about serious adversaries targeting you, the safest way to use Tor is still to use it via [Whonix+Qubes](https://www.privacyguides.org/en/desktop/#whonix).
|
||||
@@ -1,65 +0,0 @@
|
||||
---
|
||||
date:
|
||||
created: 2025-01-17
|
||||
categories:
|
||||
- Announcements
|
||||
authors:
|
||||
- niek-de-wilde
|
||||
tags:
|
||||
- Privacy Guides
|
||||
description: Privacy Guides is welcoming three new additions to the team.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
|
||||
# Privacy Guides Hires Three Staff Members
|
||||
|
||||
At Privacy Guides, we are always looking for ways to be more effective at our mission of promoting privacy and security for everyone. To help us grow, reach a broader audience, and provide more high quality educational resources, we are thrilled to announce the hiring of three talented individuals to our team! Each of them brings a strong passion to their respective roles, and we are excited about working with them.<!-- more -->
|
||||
|
||||
## Em – Journalist
|
||||
|
||||
{ align=right }
|
||||
|
||||
We’re excited to welcome Em (she/her), our new journalist, who will play an important role in taking our [articles](https://www.privacyguides.org/articles/) to the next level. She will be focusing on creating in-depth, interesting posts that explore the most important topics in the world of online privacy, security, and digital rights. Em will also conduct interviews with experts in the industry, analyze reports and studies, and produce investigative news stories to keep our readers informed.
|
||||
|
||||
*Em is a privacy advocate and public‑interest technologist who has been fervently defending privacy rights online (and offline) since 2018. Her work focuses on raising awareness and informing the public and organizations on data privacy tools, practices, and regulations. She is a passionate writer and thorough investigator, continuously working on ways to improve adoption of better privacy practices, and regularly creating educational material to make protective tools accessible to the groups who need them most.*
|
||||
|
||||
*Em is also a human rights activist who deeply values inclusivity, diversity, accessibility, and software for the public good. In her free time, you can find Em on Mastodon sharing privacy tips or boosting photos of cats and moss.*
|
||||
|
||||
[:material-mastodon: Follow Em at @Em0nM4stodon@infosec.exchange](https://infosec.exchange/@Em0nM4stodon)
|
||||
|
||||
## Jordan – Content Producer
|
||||
|
||||
{ align=right }
|
||||
|
||||
We also welcome Jordan Warne (they/them), our new content producer who will manage our channels on various video platforms! Jordan has a strong background in video production and content strategy, and we’re confident that they will help us expand our reach and connect with a broader audience. Through informative, easy-to-understand videos, Jordan will simplify complex privacy topics and keep our community engaged. Expect a significantly larger presence on our [PeerTube](https://neat.tube/c/privacyguides/videos) and [YouTube](https://www.youtube.com/@privacyguides) channels in the coming months!
|
||||
|
||||
*Jordan is a passionate creative with an education in both cybersecurity and photography. Having completed a Diploma of Digital Imaging at Billy Blue College of Design, Jordan is equipped with the skills and experience to take Privacy Guides' video content to the next level. Having recently completed a Diploma of Information Technology (Cybersecurity) Jordan has the unique skillset to simplify complex cybersecurity topics and turn them into engaging and approachable content.*
|
||||
|
||||
*Outside producing high-quality videos, Jordan enjoys exploring the Australian bush, capturing intricate details of its flora and fauna through photography.*
|
||||
|
||||
[:material-mastodon: Follow Jordan at @jw@social.lol](https://social.lol/@jw)
|
||||
|
||||
## Kevin – Intern
|
||||
|
||||
{ align=right }
|
||||
|
||||
Last but not least, we are excited to start working with Kevin Pham (he/him), our new intern focused on community & news, who will support both Em and Jordan in their roles while also engaging with our community across all platforms. His enthusiasm for digital privacy and his commitment to helping others make him a perfect fit for our team. He will help with managing our community, and interact with our growing online community to ensure that everyone has a voice. Kevin’s passion and eagerness to learn will no doubt contribute greatly to our mission.
|
||||
|
||||
*Kevin is a senior at Tufts University studying Political Science and Science & Technology Studies. Originally from Florida, he is now freezing up in the greater Boston area. Kevin is passionate about usable security and privacy for vulnerable populations. He has previously worked with Freedom of the Press Foundation's Digital Security Team and Cornell Tech's Clinic to End Tech Abuse to help journalists and domestic violence survivors alike.*
|
||||
|
||||
*Besides doomscrolling on social media, he loves cooking new recipes, reading philosophy essays, and perpetuating his caffeine addiction with Vietnamese coffee. Please feel free to reach out to him to discuss anything regarding best operational security practices and threat modeling...or just say hi!*
|
||||
|
||||
[:material-mastodon: Follow Kevin at @kevpham@mastodon.social](https://mastodon.social/@kevpham)
|
||||
|
||||
## What This Means for Privacy Guides
|
||||
|
||||
The expansion of the Privacy Guides team continues our commitment to provide the best quality resources and information on privacy and security. With Em’s investigative work, Jordan’s video content, and Kevin’s hands-on support, we look forward to communicating easy to understand and factual information with a broader audience.
|
||||
|
||||
We’re excited to see how these talented people will help Privacy Guides continue to grow, and we look forward to the amazing work they will contribute in the coming months.
|
||||
|
||||
Thank you for being a part of our community, and stay tuned for the exciting new content and updates that will be coming your way soon!
|
||||
Welcome aboard, Em, Jordan, and Kevin! Let’s make privacy accessible for everyone. 🚀
|
||||
|
||||
[:material-mastodon: Follow Privacy Guides at @privacyguides@neat.computer](https://mastodon.neat.computer/@privacyguides)
|
||||
|
||||
[:material-youtube: Subscribe to Privacy Guides on YouTube](https://www.youtube.com/@privacyguides)
|
||||
@@ -5,15 +5,11 @@ categories:
|
||||
- Announcements
|
||||
authors:
|
||||
- jonah
|
||||
description: We're excited to announce a partnership with MAGIC Grants, a Public 501(c)(3) charity with the mission of supporting privacy projects like ours and providing undergraduate scholarships for students interested in cryptocurrencies and privacy.
|
||||
schema_type: BackgroundNewsArticle
|
||||
---
|
||||
# Privacy Guides Partners With MAGIC Grants 501(c)(3)
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides</small>
|
||||
|
||||
In February, the OpenCollective Foundation (OCF)—[our fiscal host of 4 years](https://blog.privacyguides.org/2019/10/31/weve-joined-the-open-collective-foundation/)—sent us an email to [announce](https://docs.opencollective.foundation/) that they would be shutting down, and they would no longer be able to collect donations on our behalf (or for any of the hundreds of projects they provided fiscal hosting services to). We immediately began to consider multiple options for the future of this project, including forming our own non-profit or finding another [fiscal host](https://en.wikipedia.org/wiki/Fiscal_sponsorship).<!-- more -->
|
||||
|
||||
We're excited to announce a [partnership](https://magicgrants.org/2024/07/22/Privacy-Guides-Fund) with MAGIC Grants, a Public 501(c)(3) charity with the mission of supporting privacy projects like ours and providing undergraduate scholarships for students interested in cryptocurrencies and privacy. They will immediately take over all of the operations previously provided by OCF, including accepting donations on our behalf, handling any of our accounting and taxes, reimbursing team members and volunteers, and taking legal ownership of assets like our domains and servers.
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
---
|
||||
title: "Proton Wallet Review: Is Proton Losing Touch?"
|
||||
template: review-article.html
|
||||
schema_type: ReviewNewsArticle
|
||||
description: "It may well be that Proton Wallet is the easiest way to start using Bitcoin, but is a Bitcoin wallet the solution people need to improve their financial privacy?"
|
||||
date:
|
||||
created: 2024-09-08
|
||||
categories:
|
||||
- Reviews
|
||||
authors:
|
||||
- jonah
|
||||
links:
|
||||
- Cryptocurrency: https://www.privacyguides.org/en/cryptocurrency/
|
||||
tags:
|
||||
- Cryptocurrency
|
||||
license: BY-SA
|
||||
preview:
|
||||
logo: theme/assets/img/cryptocurrency/proton-wallet.svg
|
||||
review:
|
||||
type: SoftwareApplication
|
||||
category: FinanceApplication
|
||||
subcategory: Cryptocurrency Wallet
|
||||
name: Proton Wallet
|
||||
price: 0
|
||||
website: https://proton.me/wallet
|
||||
rating: 2
|
||||
pros:
|
||||
- Secure, non-custodial option for Proton users.
|
||||
cons:
|
||||
- Only supports Bitcoin, a non-private cryptocurrency.
|
||||
- No support for Lightning or CoinJoin.
|
||||
- iOS app still in beta.
|
||||
---
|
||||
{ align=right itemprop="image" }
|
||||
|
||||
Proton, the Swiss creators of privacy-focused products like [Proton Mail](https://www.privacyguides.org/en/email/#proton-mail) and [Proton VPN](https://www.privacyguides.org/en/vpn/#proton-vpn), recently released the latest product in their ever-growing lineup: **Proton Wallet**. [Announced](https://discuss.privacyguides.net/t/introducing-proton-wallet-a-safer-way-to-hold-bitcoin/19636) at the end of July 2024, it promotes itself as "an easy-to-use, self-custodial" Bitcoin wallet that will ostensibly make financial freedom more attainable for everyone.<!-- more -->
|
||||
|
||||
!!! info inline "Side info"
|
||||
|
||||
- Proton Wallet's [Privacy Policy](https://proton.me/wallet/privacy-policy)
|
||||
- This review was conducted with the reviewer's personal Proton Visionary account. Proton was not contacted prior to this publication.
|
||||
|
||||
It may well be that Proton Wallet is the easiest way to start using Bitcoin, but is a Bitcoin wallet the solution people need to improve their financial privacy?
|
||||
|
||||
## A cryptocurrency primer
|
||||
|
||||
Contrary to popular belief, [cryptocurrency](https://www.privacyguides.org/en/cryptocurrency/) is not an inherently private transactional system.
|
||||
|
||||
The vast majority of cryptocurrency, including Bitcoin, uses a transparent and public blockchain as the ledger for all transactions. This means that anyone you've transacted with or who knows your wallet's public address can trivially trace all of your past transactions, and monitor all of your future transactions at any time.
|
||||
|
||||
This is a huge problem for Proton Wallet, because Bitcoin is the **only** cryptocurrency it supports. Furthermore, Proton Wallet doesn't support the few privacy-enhancing additions to Bitcoin that do exist, like CoinJoin or even the Lightning Network. While these technologies still don't bring Bitcoin close to the levels of privacy attainable with some alternatives like Monero, to see them lacking in a product from a privacy-centric company like Proton is extremely disappointing.
|
||||
|
||||
Proton has claimed in a few interviews that they chose Bitcoin because of its mass appeal, and it's certainly true that Bitcoin has the mind share and market share to beat out any other cryptocurrency, but the *most popular* option isn't always the *best* option.
|
||||
|
||||
Had Proton Wallet added support for Monero or a similarly private cryptocurrency, they could have single-handedly boosted a financial system that is *actually* private by default by a significant degree. In my eyes, failing to do so in favor of the market leader is an unfortunate step back from their "privacy by default" mantra.
|
||||
|
||||
## Using the app
|
||||
|
||||
Proton Wallet *is* in beta, like many of Proton's products are when newly released, and available via the web, an Android app, and an iOS [TestFlight](https://testflight.apple.com/join/6OIcXtQN).
|
||||
|
||||

|
||||
|
||||
Creating your wallet is a simple process, after registering you'll be asked to choose a name for your wallet and a default currency. You can also optionally set a passphrase to secure your account. Note that this isn't merely a passphrase securing your account on Proton's servers beyond your usual account credentials, it's a [BIP39 extension word](https://en.bitcoin.it/wiki/Seed_phrase#Two-factor_seed_phrases), meaning that if you lose it your wallet will be completely unrecoverable, **even if** you back up your 12 word seed phrase.
|
||||
|
||||

|
||||
|
||||
The default currency here isn't the currency being *stored* in Proton Wallet. It is just used to show you the current conversion rate between Bitcoin and your local currency.
|
||||
|
||||
Once you're in, Proton Wallet is fairly straightforward. In fact, there's not much to explore beyond finding your wallet address and buying Bitcoin. Clicking the **Recieve** button brings up a panel which shows your address and allows you to generate a new one on the fly. When you generate a new address, all of your previous addresses will continue to work, but are no longer displayed anywhere.
|
||||
|
||||

|
||||
|
||||
Buying Bitcoin is simple as well. Proton is working with two providers, Banxa and Ramp, and if you're in the United States like I am both are available, so you can choose the one with the best exchange rate to go with. Before you purchase, Proton Wallet asks you for your current country, so that will determine which providers it's possible to use.
|
||||
|
||||
There's no private payment methods though, you're stuck with credit card, Google Pay, or Apple Pay. The purchase experience isn't quite seamless either, as it redirects you to either banxa.com or ramp.network to perform the actual transaction. Everything is pre-filled with your Proton Wallet information however, so it isn't a huge problem.
|
||||
|
||||
## "Bitcoin via Email"
|
||||
|
||||
The flagship feature of Proton Wallet is something they call **Bitcoin via Email**, which integrates with Proton Mail to allow you to send Bitcoin to any email address. Opening your wallet settings lets you enable Proton's *Receive Bitcoin via Email* feature, which allows other Proton Wallet users to send Bitcoin to your account with just your Proton Mail address.
|
||||
|
||||

|
||||
|
||||
If you have multiple addresses on your Proton account, such as aliases or addresses on a custom domain, only one address can be linked to your wallet. This can be a bit annoying for people who have given out different Proton addresses to others in the past, like if you gave out your @protonmail.com address to some people, before later migrating to @proton.me when that domain became available.
|
||||
|
||||
On the other hand, if you have aliases for different projects, this is a great way to keep Bitcoin payments to each address separate. If you have your personal email and a business alias for example, you can link your personal email to your primary wallet and create a second wallet to link your business alias to, thus keeping your personal and business transactions separate.
|
||||
|
||||
Proton says that you can "create as many wallets as your Proton Wallet plan allows," but the exact limits are not very clear at the moment. This may become clearer as Proton Wallet exits its beta status.
|
||||
|
||||
Sending Bitcoin to an email address is as simple as it is in mainstream payment apps like Venmo or CashApp, which is great. You can even include a memo with your transaction, and the transaction appears on the recipient's side very quickly. However, it can take a few hours or more for a transaction to actually complete and be usable by the recipient, so all they'll be able to do is monitor its progress in the meantime. This can be sped up by choosing a higher "network fee" when sending the payment, which costs more Bitcoin as the name would suggest.
|
||||
|
||||
I'm not convinced this is particularly revolutionary though. Many Bitcoin wallets have streamlined the process of exchanging address information with other people with methods like QR codes, which are likely going to be more widely used than email in today's mobile-first world. Being able to replace Bitcoin addresses with emails fairly seamlessly *is* nice, but is it nice enough to warrant the entire Proton Wallet product? I'm not so sure.
|
||||
|
||||
## What else sets it apart?
|
||||
|
||||
There isn't much separating Proton Wallet from the existing options on the market. It is a *non-custodial* wallet, meaning that you control the private keys rather than Proton. This is a huge step-up in security compared to keeping your Bitcoin in an online exchange like Coinbase, but it isn't a big differentiator from other software wallets where non-custodial key storage is typically the norm.
|
||||
|
||||
Besides that, and Bitcoin via Email, if you visit Proton's website to see how else they differentiate themselves the best third reason they could muster up is:
|
||||
|
||||
> Our business is privacy: Proton isn't a crypto company — we're a privacy company that wants to empower everyone to use Bitcoin securely and privately.
|
||||
|
||||
Unfortunately for Proton, this doesn't quite ring true when it comes to Proton Wallet. When it launched in 2014, Proton Mail was revolutionary in the email space. Encrypted email providers already existed, but Proton offered something different: Proton brought a good user experience to an interoperable encryption standard, PGP. While everyone else in the email space was rolling their own password-protected web portals to secure messages or simply delivering emails in plaintext, Proton built a user-friendly platform that actually improved the email ecosystem at large in the process.
|
||||
|
||||
Proton's leadership thinks they can do for cryptocurrency what they once did for email, but there's a clear difference between then and now. Proton Mail had privacy and security ready to go from the beginning, but Proton Wallet simply meets the status quo.
|
||||
|
||||
## Why does this exist?
|
||||
|
||||
Proton Wallet is in a strange position. I've spoken to a few sources who suggest that privacy features like CoinJoin, which can mix Bitcoin in order to better anonymize transactions, were intended to be included at launch. The [crackdown](https://bitcoinmagazine.com/legal/samourai-wallet-breaking-down-dangerous-precedents) on the ill-fated Samouri Wallet project by U.S. authorities last April certainly put a damper on privacy in the Bitcoin space, and likely made Proton wary of introducing such features to the public.
|
||||
|
||||
Proton suggests this themselves, stating on their [website](https://proton.me/wallet/bitcoin-guide-for-newcomers):
|
||||
|
||||
> Coinjoin is considered the best solution for improving blockchain privacy. It works by mixing your BTC with other users’ BTC in a collaborative self-custodial transaction where you get back the same amount of BTC that you put in but on a different address that cannot be easily linked to your previous address. However, in 2024, in what many consider to be a regulatory overreach and attack on privacy, some of these Coinjoin services have been declared illegal in the US and EU. The future of financial privacy may therefore be decided by ongoing litigation in the next decade and privacy advocates should support these efforts.
|
||||
|
||||
This situation likely soured Proton on other privacy-friendly cryptocurrencies like Monero as well. I get it, financial privacy is an extremely challenging task for any company to take on. We can't expect Proton to take on the risk of offering a completely anonymous payment service in the current legal climate, but it begs the question: why enter the financial space at all?
|
||||
|
||||
Proton Wallet seems like a product that doesn't know its own place in the world. Is it meant to save us from the tyranny of payment processors like PayPal who can freeze your funds at a whim? Proton certainly thinks so, having faced that exact problem themselves during their original 2014 crowdfunding campaign. But in that case, is Bitcoin the actual solution to this problem, or is it just a stopgap fix that Proton happened to latch on to way back in 2014 when Bitcoin was more *in vogue* and there were few competitors?
|
||||
|
||||
Today, there are many alternatives to Bitcoin which are safer to store your money in while remaining protected from intrusive fintech companies like PayPal. Stablecoins like USDC can be traded on multiple cryptocurrency networks without the need for middlemen payment processors, and can be exchanged at a variety of exchanges with the huge benefit of having *significantly* less risk than Bitcoin, theoretically no risk at all. Support for USDC or a similar technology would go a long way towards enabling *usable* cryptocurrency transactions for everyday users, even though USDC doesn't have any additional privacy protections either.
|
||||
|
||||
Or, was Bitcoin chosen to give us independence from fiat currency, including stablecoins, entirely? Maybe so, but is that something we actually want? Prepping for a worldwide market collapse is perhaps a bit of a fool's errand. If the US Dollar and other economies failed overnight, I think we would all have a lot more problems than Bitcoin is going to solve for us. Bitcoin is a poor store of value to serve as an alternative to traditional currency anyway. Any asset which can gain or lose half its purchasing power on any given day of the week simply can't function as a viable medium of exchange, meaning it's virtually useless for day-to-day transactions.
|
||||
|
||||
However, if Proton Wallet wasn't meant for all that, if it was simply meant to bring privacy to Bitcoin, then it's certainly a failure. Proton hasn't taken any risks with this product, meaning it's really only good for satisfying a singular belief: That Bitcoin is just inherently good, and anything to promote Bitcoin is inherently good as well. I don't share these fanatical beliefs of *Bitcoin maximalists*, however, when Bitcoin is demonstrably lacking in a wide variety of ways.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Personally, I'm a bit of a cryptocurrency pessimist in general, but I can see some appeal for the technology in very specific areas. Unfortunately, Proton Wallet doesn't seem to fit in to a useful niche in any meaningful way. The functionality it does support is extremely basic, even by Bitcoin standards, and it simply doesn't provide enough value over the existing marketplace.
|
||||
|
||||
If you're an existing Proton user simply looking for a place to store some Bitcoin *you already have* sitting around, Proton Wallet might be perfectly adequate. For everyone else, I don't see this product being too useful. Bitcoin is still far too volatile to be a solid investment or used as a safe store of value if you crave financial independence and sovereignty, and Proton Wallet simply isn't adequate for [paying for things privately online](https://www.privacyguides.org/en/advanced/payments/).
|
||||
|
||||
There is some potential with Proton Wallet. Personally, I would like to see [support for Monero](https://protonmail.uservoice.com/forums/960668-proton-wallet/suggestions/48672359-support-monero), a cryptocurrency that has privacy features built-in by default. There is also the possibility of Proton expanding into the *traditional* finance space with features like a digital wallet for credit/debit cards, card aliasing à la [privacy.com](https://www.privacyguides.org/en/financial-services/#privacycom-us), and tap to pay within their mobile apps. A third-party alternative to Apple Pay and Google Wallet, and for the first time ever such a product could actually be viable: It's always been possible on Android, but just last month Apple announced the possibility for [iOS developers to use NFC](https://www.apple.com/newsroom/2024/08/developers-can-soon-offer-in-app-nfc-transactions-using-the-secure-element/) to facilitate payments outside of Apple Wallet. This presents a golden opportunity for Proton Wallet to be the first cross-platform digital wallet, if they can deliver.
|
||||
|
||||
Alas, none of this is available in Proton Wallet today, and that's all that really counts.
|
||||
@@ -1,45 +0,0 @@
|
||||
---
|
||||
date:
|
||||
created: 2024-11-30
|
||||
categories:
|
||||
- Opinion
|
||||
authors:
|
||||
- fria
|
||||
tags:
|
||||
- PWA
|
||||
- IWA
|
||||
- Web
|
||||
license: BY-SA
|
||||
---
|
||||
# State of the Web App: Current Woes and Promising Futures
|
||||
|
||||
The concept of a [progressive web app](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps) is enticing: an application using web technologies that is inherently cross platform (since it runs in a browser) and acts like a native app, even functioning offline. Support for PWAs in traditionally locked-down platforms like iOS means that PWAs can give users the freedom to install apps without having to go through Apple’s App Store. But there are problems with web content that PWAs haven't solved.<!-- more -->
|
||||
|
||||
## Current Web-Based Apps
|
||||
|
||||
Attempts at similar things have been made before, the most infamous of which is [Electron](https://www.electronjs.org). Electron is a software framework that allows developers to easily create cross-platform apps by essentially bundling an entire Chromium browser in with the app. This approach has its [drawbacks](https://usa.kaspersky.com/blog/electron-framework-security-issues/28952/?srsltid=AfmBOor_UcYY-84soHz5K2ULTmhlX44-DsIfJp_StotBrusD63MweSGO), though. Browsers have huge attack surface so it's important to keep them updated with the latest security fixes, but many Electron apps ship outdated versions, leaving those apps vulnerable. Each Electron app has its own version of Chromium with its own attack surface, amounting to a performance and security nightmare. In contrast, PWAs use the browser that you already have installed, so as long as you keep it updated, all your apps will have the latest security fixes.
|
||||
|
||||
So why isn't every Electron app shipping as a PWA? The answer is an age-old problem with web content: the fact that you have to trust the server fully. You make an HTML GET request and you're served the content (i.e., the site's HTML, CSS, and JavaScript), but if the server is compromised, you'll be served a compromised website. You also need to rely on the security of DNS name resolution and the [certificate authority](https://www.digicert.com/blog/what-is-a-certificate-authority) system. This is a huge problem for security-sensitive applications like messengers. An attacker that gains access to their server—even just temporarily—could distribute compromised clients to millions of people, potentially breaking E2EE or executing a host of other malicious actions.
|
||||
|
||||
## Improving Web Apps
|
||||
|
||||
A typical native app is downloaded onto your computer from some kind of trusted place like an app store and only receives updates when the developers push them out. Additionally, there's usually a process of checks and verification before that happens, like Apple's [App Review](https://developer.apple.com/distribute/app-review) and the Google Play [App Review](https://support.google.com/googleplay/android-developer/answer/9859455) process. In contrast to PWAs, with which the threat of an attacker with server access constantly looms, it's much more difficult to target a particular person. In other words, a malicious app update is much less likely to escape scrutiny than a highly targeted attack via compromised servers.
|
||||
|
||||
Isolated Web Apps (IWAs) build on the work done on PWAs and [Web Packaging](https://github.com/WICG/webpackage). They are a specification that allows web content to be distributed offline outside of a browser, much like a traditional app. It can be signed just like a regular app too, allowing you to verify that it came from the proper place and hasn't been modified. You could install an IWA from your favorite app store just like any other app and have the same security assurances. This would be incredibly useful in allowing for cross-platform E2EE web apps that don't need to trust a server every time you use them.
|
||||
|
||||
Google [distinguishes](https://chromeos.dev/en/web/isolated-web-apps) between the drive by web, PWAs, and IWAs. The drive by web requires more conservative access to the system as the most accessible and is therefore least trusted. PWAs are a bit more trusted and can integrate a bit more deeply into the system as a result. IWAs are the most trusted and, as such, can have deeper access into the system and more powerful capabilities.
|
||||
|
||||
<figure markdown>
|
||||

|
||||
<figcaption>source: <a href="https://chromeos.dev/en/web/isolated-web-apps">chromeos.dev</a></figcaption>
|
||||
</figure>
|
||||
|
||||
This higher security assurance from isolated and signed web applications and the inherently more trusted nature of a natively installed app will allow for IWAs to safely access APIs which wouldn't be safe to allow normal websites to access, like [Direct Sockets](https://github.com/WICG/direct-sockets/blob/main/docs/explainer.md).
|
||||
|
||||
IWAs use a totally new [URL scheme](https://github.com/WICG/isolated-web-apps/blob/main/Scheme.md) since they're not relying on HTTPS certificate authorities or DNS. They're totally isolated from each other and the web using enforced Content Security Policy and Cross-Origin Isolation, hence the name.
|
||||
|
||||
## Issues
|
||||
|
||||
The [Worldwide Web Consortium](https://www.w3.org) currently has an open issue on their GitHub for IWAs with some interesting discussions that are worth checking out. There are some [criticisms](https://github.com/w3ctag/design-reviews/issues/842#issuecomment-1989631915) of IWAs, at least in their current form. A big point of contention is giving IWAs access to more powerful features like raw TCP and UDP socket access, similar to what a natively installed app might be able to do, which Martin Thomson at Mozilla argues is dangerous even with user consent. Martin wrote a nice in-depth [article](https://lowentropy.net/posts/bundles) on bundling web content that's worth checking out on their website. It'll be a long process of iterating on the design before a version of this idea that's secure and available across browsers.
|
||||
|
||||
Right now, Chrome ships the feature [enabled by default](https://chromestatus.com/feature/5146307550248960) but only on ChromeOS for admin-controlled machines and select development partners of Google. Safari and Firefox haven't implemented the feature, with [Firefox](https://github.com/mozilla/standards-positions/issues/799#issuecomment-2342084330) taking a stance against it. Perhaps in its trial run, the technology will prove its potential, or maybe IWAs aren't the best solution after all and another attempt at improving web apps will come along. I'll be watching with great interest either way.
|
||||
@@ -9,15 +9,11 @@ links:
|
||||
- Search Engines: https://www.privacyguides.org/en/search-engines/
|
||||
tags:
|
||||
- Search Engines
|
||||
description: Startpage has been relisted in our search engine recommendations following their open communications with the Privacy Guides community.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# Relisting Startpage.com
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Privacy Guides</small>
|
||||
|
||||
Dear *Privacy Guides* Community,
|
||||
|
||||
In October 2019, we learned that System1 had become the majority shareholder in Startpage.com via a new System1 subsidiary, Privacy One Group. Due to the uncertainty surrounding the acquisition and the initial lack of clear communication from the Startpage team towards the privacy community, we were forced to delist Startpage from our [search engine recommendations](https://www.privacyguides.org/en/search-engines/).<!-- more --> In an [explanatory blog post](delisting-startpage.md), we asked for more clarity surrounding the situation, stating:
|
||||
|
||||
@@ -12,8 +12,6 @@ tags:
|
||||
links:
|
||||
- posts/hide-nothing.md
|
||||
canonical: https://www.jonaharagon.com/posts/restrict-act/
|
||||
description: The RESTRICT Act would grant the government broad powers to restrict access to any site or service they claim could pose a threat to national security, akin to China's Great Firewall.
|
||||
schema_type: OpinionNewsArticle
|
||||
---
|
||||
# Worried About TikTok? The RESTRICT Act Is Not the Answer Americans Are Looking For
|
||||
|
||||
|
||||
@@ -11,8 +11,6 @@ links:
|
||||
tags:
|
||||
- Linux
|
||||
license: BY-SA
|
||||
description: Erasing data from your computer may seem like a simple task, but if you want to make sure the data is truly unrecoverable, there are some things you should consider.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# Erasing Data Securely From Your SSD or HDD
|
||||
|
||||
|
||||
@@ -11,15 +11,11 @@ links:
|
||||
tags:
|
||||
- Security
|
||||
license: BY
|
||||
description: Privacy, security, and anonymity often complement each other, but they are not always dependent on each other, and they are definitely not the same thing.
|
||||
schema_type: OpinionNewsArticle
|
||||
---
|
||||
# Security, Privacy, and Anonymity
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Image: Unsplash</small>
|
||||
|
||||
We may think that we know the differences between privacy, security and anonymity, however we often mix them up. People will often criticize a product or service as “not private” when they really mean “not anonymous.” Privacy, security, and anonymity often complement each other, but they are not always dependent on each other, and they are definitely not the same thing. A service can be private without being anonymous, or even secure without being private. Which one should you prioritize?<!-- more --> To some extent, there are no wrong answers. It really comes down to your threat model and what your desired goal is. It is perfectly fine to pick a product that provides privacy even though it doesn't provide anonymity. Furthermore, it's okay to pick a product that doesn't provide security if it does provide one of the other features. The important thing is that you need to be aware what these products and services are and aren’t offering you so that you can use them correctly.
|
||||
|
||||
There’s lots of ways to define privacy, security, and anonymity. Someone showed me [this](https://code.privacyguides.dev/privacyguides/privacytools.io/issues/1760#issuecomment-10452) definition and I really liked it. It seems to pretty much hit the nail on the head when applying these terms specifically to data privacy and cybersecurity:
|
||||
|
||||
@@ -13,8 +13,6 @@ tags:
|
||||
- Molly
|
||||
- Instant Messengers
|
||||
license: BY-SA
|
||||
description: This guide details actions you can take to configure and harden Signal in accordance with your threat model.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# Signal Configuration and Hardening Guide
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@ links:
|
||||
- posts/signal-configuration-and-hardening.md
|
||||
- Real-Time Communication: https://www.privacyguides.org/real-time-communication/
|
||||
license: BY-SA
|
||||
description: Signal has changed how it handles registration. This primarily affects people who are using a number for Signal that they don't have exclusive access to.
|
||||
schema_type: ReportageNewsArticle
|
||||
---
|
||||
# Important Changes to Signal Registration and Registration Lock
|
||||
|
||||
|
||||
@@ -8,8 +8,6 @@ authors:
|
||||
tags:
|
||||
- Privacy Guides
|
||||
license: BY-SA
|
||||
description: Privacy Guides has reached a significant milestone with today's hire of our first employee, Project Director Jonah Aragon.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
|
||||
# Jonah Aragon Hired as Project Director
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
date:
|
||||
created: 2019-11-20
|
||||
categories:
|
||||
- News
|
||||
- Opinion
|
||||
authors:
|
||||
- jonah
|
||||
links:
|
||||
@@ -12,15 +12,11 @@ links:
|
||||
tags:
|
||||
- VPN
|
||||
license: BY-SA
|
||||
description: There’s a massive problem in the privacy world. Many shady companies are disguising advertisements as genuine reviews, to the detriment of real news sources like Privacy Guides and to potential buyers of these services.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# The Trouble With VPN and Privacy Review Sites
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides | Photo: Unsplash</small>
|
||||
|
||||
There’s a massive problem in the privacy world. Websites, social media accounts, and other platforms are constantly popping up out of nowhere, telling you to buy *The Greatest Service Ever* in order to solve all your privacy woes, whatever that may be. These websites often employ marketing teams to make sure their “reviews” are what you see first when you begin your research. Some of them are even operated by VPN providers themselves, operating under anonymous business entities to hide their bias, or doing it right out in the open, hoping you’ll mistake their advertising-filled press releases and blogs as insider knowledge of the VPN space.<!-- more -->
|
||||
|
||||
When a seemingly “unbiased review” on a site is merely a paid advertisement in disguise, that website is breaking their reader’s trust. From a consumer’s point of view, affiliate marketing and other paid promotional techniques like this make it near impossible to know when a review is genuine or not.
|
||||
|
||||
@@ -12,8 +12,6 @@ tags:
|
||||
- Twitter
|
||||
- Facebook
|
||||
license: BY-SA
|
||||
description: The man behind Facebook has somehow managed to make the Twitter experience worse.
|
||||
schema_type: OpinionNewsArticle
|
||||
---
|
||||
# Threads Is the Perfect Twitter Alternative, Just Not for You
|
||||
|
||||
|
||||
@@ -11,8 +11,6 @@ links:
|
||||
tags:
|
||||
- Facebook
|
||||
license: BY-SA
|
||||
description: On Mark Zuckerberg, Facebook, and the Metaverse.
|
||||
schema_type: OpinionNewsArticle
|
||||
---
|
||||
# Virtual Insanity
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@ links:
|
||||
- Signal Configuration Guide: https://www.privacyguides.org/real-time-communication/signal-configuration-hardening/
|
||||
- Real-Time Communication: https://www.privacyguides.org/real-time-communication/
|
||||
license: BY-SA
|
||||
description: You should be aware of a number of issues with Signal’s current proxy implementation.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# A Warning About Signal Proxies in Iran and Other Oppressive Countries
|
||||
|
||||
|
||||
@@ -13,15 +13,11 @@ links:
|
||||
tags:
|
||||
- Privacy Guides
|
||||
license: CC0
|
||||
description: Today, Privacy Guides has officially launched by our long-standing volunteer team to carry on the legacy of the now-defunct PrivacyTools project.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# Welcome to Privacy Guides
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides</small>
|
||||
|
||||
We are excited to announce the launch of [Privacy Guides](https://www.privacyguides.org/) and [r/PrivacyGuides](https://www.reddit.com/r/PrivacyGuides/), and welcome the privacy community to participate in our crowdsourced software recommendations and share tips and tricks for keeping your data safe online. Our goal is to be a central resource for privacy and security-related tips that are usable by anybody, and to carry on the trusted legacy of PrivacyTools.<!-- more -->
|
||||
|
||||
As we [announced](https://web.archive.org/web/20210729184422/https://blog.privacytools.io/the-future-of-privacytools/) on the PrivacyTools blog in July, we made the decision to migrate off our former privacytools.io domain for various reasons, including an inability to contact the current domain holder for over a year and [growing](http://www.thedarksideof.io/) [issues](https://fortune.com/2020/08/31/crypto-fraud-io-domain-chagos-islands-uk-colonialism-cryptocurrency/) [with the .IO top-level domain](https://code.privacyguides.dev/privacyguides/privacytools.io/issues/1324). As attempts to regain ownership of the domain have proven fruitless, we found it necessary to make this switch sooner rather than later to ensure people would find out about this transition as soon as possible. This gives us adequate time to transition the domain name, which is currently redirecting to [www.privacyguides.org](https://www.privacyguides.org/), and it hopefully gives everyone enough time to notice the change, update bookmarks and websites, etc.
|
||||
|
||||
@@ -10,14 +10,11 @@ links:
|
||||
tags:
|
||||
- Privacy Guides
|
||||
license: CC0
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# We've Joined the Open Collective Foundation 501(c)(3)
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides</small>
|
||||
|
||||
[Privacy Guides](https://www.privacyguides.org) provides knowledge, recommendations, and services to protect you against global mass surveillance programs and encourage self-control of your data online. Our website is free of advertisements and is not affiliated with any listed providers, because we believe that our ability to recommend solutions without receiving financial kickbacks is incredibly important in remaining unbiased.<!-- more -->
|
||||
|
||||
However, we have always accepted and solicited financial contributions from our community. Running this network of websites and services for free to the public is a time-consuming and costly endeavor. We do it because we believe it is the right thing to do, not because we are looking to make a profit. Any contributions have been either used to pay our expenses or saved in a reserve for expansion or times of need.
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
---
|
||||
date:
|
||||
created: 2024-11-17
|
||||
categories:
|
||||
- Opinion
|
||||
authors:
|
||||
- fria
|
||||
tags:
|
||||
- MPR
|
||||
- VPN
|
||||
license: BY-SA
|
||||
---
|
||||
# Where are all the Multi-Party Relays?
|
||||
|
||||
Multi-Party Relays (MPRs) are a technology that aims to provide better privacy protections than VPNs do. MPRs showed a lot of promise when they first emerged, but years later there are fewer options than ever. What happened?<!-- more -->
|
||||
|
||||
## Traditional VPNs
|
||||
|
||||
The original purpose of Virtual Private Networks (VPNs) was to access a network privately when you're not physically there, with encryption in between, so you can securely access your files or manage your network from wherever you are. It extends the security you'd expect from being physically at your LAN to anywhere you are.
|
||||
|
||||
[Commercial VPNs](https://www.privacyguides.org/en/basics/vpn-overview) like Proton VPN use this technology to allow you to connect to *their* network, and then connect to your destination. This keeps sites and services you connect to from knowing your real IP address and using it as a metric to track you. But there's a problem here: you now need to fully trust your VPN provider in the same way you need to trust your ISP with all your internet traffic. This "shifting trust" problem has haunted VPNs for as long as they've been marketed as a privacy product. It's clear that a better solution is needed.
|
||||
|
||||
## The Alternative: Tor
|
||||
|
||||
Mix networks like [Tor](https://www.privacyguides.org/en/advanced/tor-overview) have solved this problem by decoupling the sender from the destination. No relay along the path has all the information: the entry (or *guard*) relay knows who you are but not where you're going, the middle relay knows the other two relays, and the exit relay knows the destination but not the sender. There's also separate encryption between each relay.
|
||||
|
||||
<figure markdown>
|
||||

|
||||

|
||||
<figcaption>Tor circuit pathway</figcaption>
|
||||
</figure>
|
||||
|
||||
Tor provides great privacy properties, but the relays are run by volunteers, so they can be extremely slow and unreliable. Anyone who's tried to download a file while connected to Tor knows how painful it can be. Even normal browsing can be slow, with potentially minutes collectively wasted on loading times in any given browsing session. Tor is hands down the most private way to [browse the web](https://www.privacyguides.org/en/tor), and if your threat model calls for it there is no substitute. But for VPN users who want better privacy, an obvious next step is a paid solution where you have access to fast and reliable servers like on a VPN, and *also* separation between who you are and what you're connecting to.
|
||||
|
||||
## A Solution: Multi-Party Relays
|
||||
|
||||
Enter Multi-Party Relays. Services like iCloud Private Relay and (the unfortunately discontinued) INVISV Multi-Party Relay take inspiration from mix networks like Tor and separate the sender from the destination using two relays operated by different parties, as the name implies. There's separate encryption between each relay as well. MPRs *do* require you to trust that the two parties don't collaborate to correlate your traffic, so keep that in mind.
|
||||
|
||||
Typically, the first relay is controlled by the provider (either Apple or INVISV in the previous examples), and the second relay is controlled by another company such as Fastly or Cloudflare. These are big names, so you won't need to worry about reliability.
|
||||
|
||||
<figure markdown>
|
||||

|
||||
<figcaption>source: <a href="https://blog.cloudflare.com/icloud-private-relay/">blog.cloudflare.com</a></figcaption>
|
||||
</figure>
|
||||
|
||||
They also provide *speed*. Private Relay uses the QUIC protocol and as a result it's lightning fast. You wouldn't even know you were connecting to two servers in between your cat videos. The reliability is so good that I forget I even have it on. It even integrates with Safari and gives you a different IP address for different websites, similar to Tor's stream isolation.
|
||||
|
||||
So why haven't MPRs taken off? INVISV's Pretty Good Phone Privacy service never seemed to make it out of [beta](https://invisv.com/pgpp/#pgpp-release-notes). INVISV [partnered](https://invisv.com/articles/vivaldi-privacy-guard) with Vivaldi, but I can't seem to find any mention of it in the Vivaldi settings or on their website outside of the original [announcement](https://vivaldi.com/blog/desktop/privacy-guard-your-privacy-matters-vivaldi-browser-snapshot-3319-12/). INVISV ultimately [shut down](https://invisv.com/articles/service_shutdown.html) their service back in June. I hope to see more from them in the future because they were providing something that currently isn't possible to get anymore on Android.
|
||||
|
||||
That leaves [iCloud Private Relay](https://support.apple.com/en-us/102602) as the only commercial offering that I'm aware of, but it's limited to Apple devices only. Great for Apple users, but everyone else is left high and dry. As is Apple's way, they didn't want any extra inconvenience from using their service, so they restrict you to your real country and timezone. You don't have the same freedom to choose a server wherever in the world you want like a [traditional VPN service](https://www.privacyguides.org/en/vpn) would allow.
|
||||
|
||||
There is one more honorary mention: [OHTTP](https://blog.cloudflare.com/stronger-than-a-promise-proving-oblivious-http-privacy-properties). It's a new protocol with a design based on the same principles as those of MPRs: two servers, a relay and a gateway, that decouple the sender from the destination. It's already seeing use by large companies to maintain user privacy for things like Google's Safe Browsing and Apple's new Safari Highlights feature. Unfortunately, it's not quite comparable to MPRs. According to Cloudflare:
|
||||
|
||||
> OHTTP is not a general purpose proxy protocol: it's fit for purpose, aimed at transactional interactions between clients and servers (such as app-level APIs).
|
||||
|
||||
So it can't cover all the traffic on your device. Still, it's a promising protocol and I hope it becomes more widespread.
|
||||
|
||||
It really is a shame to see such a promising technology go so underutilized. Perhaps VPN companies could make their own MPR product and fill the gap in the market. Only time will tell.
|
||||
@@ -11,15 +11,11 @@ tags:
|
||||
- Tor
|
||||
- Self-Hosting
|
||||
license: BY-SA
|
||||
description: Each Tor relay is the direct result of an individual deciding to sacrifice money, time and effort for the cause of fighting for a freer Internet.
|
||||
schema_type: OpinionNewsArticle
|
||||
---
|
||||
# Why I Decided to Run a Tor Relay
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Tor Project</small>
|
||||
|
||||
It makes me smile when I come across someone struggling with the decision of whether to get a [VPN](https://www.privacyguides.org/vpn/). It makes me smile not because of the indecision and relative lack of knowledge, but because it wasn't so long ago I was in exactly the same position—perceiving VPNs to be some kind of extreme measure only the paranoid and the criminal resorted to. How wrong I was.<!-- more -->
|
||||
|
||||
In just a few months I've come to realize that something like a VPN is in fact a basic measure one might take in the effort to more freely roam the Internet—tainted as it is by censorship, surveillance and many other forms of state control. So where do you go from realizing these issues if you know them to be the threats that they are to democracy and freedom? You seek to *take control*.
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Tags
|
||||
# Tag Index
|
||||
|
||||
<!-- material/tags -->
|
||||
|
||||
102
docs/about.md
@@ -12,6 +12,7 @@ schema:
|
||||
- https://twitter.com/privacy_guides
|
||||
- https://github.com/privacyguides
|
||||
- https://www.wikidata.org/wiki/Q111710163
|
||||
- https://opencollective.com/privacyguides
|
||||
- https://www.youtube.com/@privacyguides
|
||||
- https://mastodon.neat.computer/@privacyguides
|
||||
---
|
||||
@@ -19,35 +20,31 @@ schema:
|
||||
|
||||
**Privacy Guides** is a socially motivated website that provides information for protecting your data security and privacy. We are a non-profit project with a mission to inform the public about the value of digital privacy, and about global government initiatives which aim to monitor your online activity. Our website is free of advertisements and not affiliated with any of the listed providers.
|
||||
|
||||
[:material-heart:{.pg-red} Make a Donation](https://donate.magicgrants.org/privacyguides){ .md-button .md-button--primary }
|
||||
[:material-heart:{.pg-red} Make a Donation](about/donate.md){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://www.privacyguides.org){ .card-link title=Homepage }
|
||||
[:octicons-code-16:](https://github.com/privacyguides/privacyguides.org){ .card-link title="Source Code" }
|
||||
|
||||
Privacy Guides is built by volunteers and staff members around the world. All changes to our recommendations and resources are reviewed by at least two [trusted](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all) individuals, and we work diligently to ensure our content is updated as quickly as possible to adapt to the ever changing cybersecurity threat landscape.
|
||||
## Staff
|
||||
|
||||
In addition to our core team, [many other people](about/contributors.md) have made contributions to the project. You can too! We're open source on GitHub, and accepting translation suggestions on [Crowdin](https://crowdin.com/project/privacyguides).
|
||||
[**Jonah Aragon**](https://www.jonaharagon.com) is the Project Director and staff writer at *Privacy Guides*. His role includes researching and writing for this website, system administration, creating *Privacy Guides Online Learning* course content, reviewing the products recommended here, and most other day-to-day tasks.
|
||||
|
||||
[Job Openings :material-arrow-right-drop-circle:](about/jobs.md)
|
||||
<div class="grid" markdown>
|
||||
|
||||
## Contact Us
|
||||
[:simple-discourse: Discourse (preferred): @jonah](https://discuss.privacyguides.net/u/jonah)
|
||||
|
||||
[:simple-discourse: Join the Privacy Guides forum](https://discuss.privacyguides.net/){ .md-button .md-button--primary }
|
||||
[:material-email: Email: jonah@privacyguides.org](mailto:jonah@privacyguides.org)
|
||||
|
||||
The best way to get individual help is from our community on Discourse. If you notice an issue with our website, please open a discussion in the [Site Development](https://discuss.privacyguides.net/c/site-development/7) category on our forum. If you have a question about anything we cover, please ask it in the [Questions](https://discuss.privacyguides.net/c/privacy/questions/8) category on our forum.
|
||||
[:simple-mastodon: Mastodon: @jonah@neat.computer](https://mastodon.neat.computer/@jonah "@jonah@neat.computer"){rel=me}
|
||||
|
||||
{ align=right }
|
||||
[:simple-signal: Signal: @jonah.01](https://signal.me/#eu/dDtlmTPv09utyEJPwCHq8UYs-AVOPlys8weinr7alfdylK5G-LNIX7GasDNJdV6y)
|
||||
|
||||
Have a tip for us, or need to share some sensitive information? The best way to get in touch with us securely is via `@privacyguides.01` on Signal. This group account is monitored by [Jonah](https://discuss.privacyguides.net/u/jonah), [Niek](https://discuss.privacyguides.net/u/niek-de-wilde), [Em](https://discuss.privacyguides.net/u/ematprivacyguides), and [Jordan](https://discuss.privacyguides.net/u/jordan).
|
||||
</div>
|
||||
|
||||
[:simple-signal: Chat on Signal](https://signal.me/#eu/zg9xcrIv5w-EtXt2FmTJgfWv01LmyTed8rpr7RDv35Mizq8ISZ9NJLmYtzsxI0Z4){ .md-button }
|
||||
*The Project Director is a part-time position which reports directly to the executive committee.*
|
||||
|
||||
You may also email the entire team at <team@privacyguides.org>. This is a shared inbox that could be read by any [team member](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all), so please consider what sensitive information you share via email accordingly.
|
||||
---
|
||||
|
||||
We will do our best to respond to all queries within 3 business days, but please understand we are unable to provide individualized advice to everyone who asks. If you have a question about privacy, you will receive a much more detailed and timely response from the Privacy Guides community by [asking on our forum](https://discuss.privacyguides.net/c/privacy/questions/8).
|
||||
|
||||
You can also use OpenPGP to contact us via email, if you feel comfortable with your client's security settings. You can discover the PGP keys of our team members using WKD if your client supports it. If it doesn't, or you don't know what that means, you can also find the public key for any Privacy Guides email account by searching on [keys.openpgp.org](https://keys.openpgp.org/). We do not have PGP for the shared team inbox, only individual mailboxes which can be found in our team directory below.
|
||||
|
||||
If you need an alternative secure channel, please request one via any contact method including social media, and we will work with you to establish one. Please do not share any sensitive information with us before we have established an appropriately secure discussion channel.
|
||||
[Open Positions :material-arrow-right-drop-circle:](about/jobs.md)
|
||||
|
||||
## Executive Committee
|
||||
<!-- markdownlint-disable MD030 -->
|
||||
@@ -64,8 +61,8 @@ The project executive committee consists of five volunteers charged with managem
|
||||
|
||||
[:material-account: Profile](https://discuss.privacyguides.net/u/dngray)
|
||||
|
||||
[:material-github:](<https://github.com/dngray> "GitHub")
|
||||
[:material-mastodon:](https://mastodon.social/@dngray "@dngray@mastodon.social"){rel=me}
|
||||
[:simple-github:](<https://github.com/dngray> "GitHub")
|
||||
[:simple-mastodon:](https://mastodon.social/@dngray "@dngray@mastodon.social"){rel=me}
|
||||
[:material-email:](mailto:dngray@privacyguides.org "Email")
|
||||
|
||||
- :detective:{ .lg .middle } **Freddy**
|
||||
@@ -76,8 +73,8 @@ The project executive committee consists of five volunteers charged with managem
|
||||
|
||||
[:material-account: Profile](https://discuss.privacyguides.net/u/freddy)
|
||||
|
||||
[:material-github:](https://github.com/freddy-m "GitHub")
|
||||
[:material-mastodon:](https://social.lol/@freddy "@freddy@social.lol"){rel=me}
|
||||
[:simple-github:](https://github.com/freddy-m "GitHub")
|
||||
[:simple-mastodon:](https://social.lol/@freddy "@freddy@social.lol"){rel=me}
|
||||
[:material-email:](mailto:freddy@privacyguides.org "Email")
|
||||
|
||||
- :robot:{ .lg .middle } **Jonah Aragon**
|
||||
@@ -88,9 +85,8 @@ The project executive committee consists of five volunteers charged with managem
|
||||
|
||||
[:material-account: Profile](https://discuss.privacyguides.net/u/jonah)
|
||||
|
||||
[:material-home:](https://www.jonaharagon.com "Homepage")
|
||||
[:material-github:](https://github.com/jonaharagon "GitHub")
|
||||
[:material-mastodon:](https://mastodon.neat.computer/@jonah "@jonah@neat.computer"){rel=me}
|
||||
[:simple-github:](https://github.com/jonaharagon "GitHub")
|
||||
[:simple-mastodon:](https://mastodon.neat.computer/@jonah "@jonah@neat.computer"){rel=me}
|
||||
[:material-email:](mailto:jonah@privacyguides.org "Email")
|
||||
|
||||
- :cactus:{ .lg .middle } **Niek de Wilde**
|
||||
@@ -101,8 +97,8 @@ The project executive committee consists of five volunteers charged with managem
|
||||
|
||||
[:material-account: Profile](https://discuss.privacyguides.net/u/Niek-de-Wilde)
|
||||
|
||||
[:material-github:](https://github.com/blacklight447 "GitHub")
|
||||
[:material-mastodon:](https://mastodon.social/@blacklight447 "@blacklight447@mastodon.social"){rel=me}
|
||||
[:simple-github:](https://github.com/blacklight447 "GitHub")
|
||||
[:simple-mastodon:](https://mastodon.social/@blacklight447 "@blacklight447@mastodon.social"){rel=me}
|
||||
[:material-email:](mailto:niekdewilde@privacyguides.org "Email")
|
||||
|
||||
- :smirk_cat:{ .lg .middle } **Olivia**
|
||||
@@ -113,55 +109,29 @@ The project executive committee consists of five volunteers charged with managem
|
||||
|
||||
[:material-account: Profile](https://discuss.privacyguides.net/u/olivia)
|
||||
|
||||
[:material-github:](https://github.com/hook9 "GitHub")
|
||||
[:material-mastodon:](https://mastodon.neat.computer/@oliviablob "@oliviablob@neat.computer"){rel=me}
|
||||
[:simple-github:](https://github.com/hook9 "GitHub")
|
||||
[:simple-mastodon:](https://mastodon.neat.computer/@oliviablob "@oliviablob@neat.computer"){rel=me}
|
||||
|
||||
</div>
|
||||
|
||||
## Staff
|
||||
## Volunteer Team
|
||||
|
||||
Our staff are paid to contribute to supplemental content at Privacy Guides, like [video production](https://www.youtube.com/@privacyguides), [news articles and tutorials](https://www.privacyguides.org/articles/), and our discussion communities and social media. Most are available and paid on a full-time basis to assist the organization.
|
||||
A number of other contributors have volunteered their time to review and approve changes to this website, and keep the website up to date. Changes require 2+ approvals from team members before they can be merged. In addition to the executive committee members above, volunteers [trusted](https://github.com/orgs/privacyguides/people) to review pull requests include:
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- :jack_o_lantern:{ .lg .middle } **Em**
|
||||
|
||||
---
|
||||
|
||||
:material-text-account: Journalist
|
||||
|
||||
[:material-account: Profile](https://discuss.privacyguides.net/u/ematprivacyguides)
|
||||
|
||||
[:material-github:](https://github.com/EmAtPrivacyGuides "GitHub")
|
||||
[:material-mastodon:](https://infosec.exchange/@Em0nM4stodon "@Em0nM4stodon@infosec.exchange"){rel=me}
|
||||
[:material-email:](mailto:em@privacyguides.org "Email")
|
||||
|
||||
- :full_moon_with_face:{ .lg .middle } **Jordan Warne**
|
||||
|
||||
---
|
||||
|
||||
:material-text-account: Content Producer
|
||||
|
||||
[:material-account: Profile](https://discuss.privacyguides.net/u/Jordan)
|
||||
|
||||
[:material-github:](https://github.com/jordan-warne "GitHub")
|
||||
[:material-mastodon:](https://social.lol/@jw "@jw@social.lol"){rel=me}
|
||||
[:material-email:](mailto:jordan@privacyguides.org "Email")
|
||||
|
||||
- :japanese_goblin:{ .lg .middle } **Kevin Pham**
|
||||
|
||||
---
|
||||
|
||||
:material-text-account: Community & News Intern
|
||||
|
||||
[:material-account: Profile](https://discuss.privacyguides.net/u/kevpham)
|
||||
|
||||
[:material-github:](https://github.com/kevpham123 "GitHub")
|
||||
[:material-mastodon:](https://mastodon.social/@kevpham "@kevpham@mastodon.social"){rel=me}
|
||||
[:material-email:](mailto:kevin@privacyguides.org "Email")
|
||||
- [:simple-github: **kimg45**](https://github.com/kimg45)
|
||||
- [:simple-github: **ph00lt0**](https://github.com/ph00lt0)
|
||||
- [:simple-github: **redoomed1**](https://github.com/redoomed1)
|
||||
|
||||
</div>
|
||||
|
||||
We also especially thank our dedicated moderation team on Matrix and our forum: *Austin Huang*, *namazso*, *hik*, *riley*, and *Valynor*.
|
||||
|
||||
Additionally, [many other people](about/contributors.md) have made contributions to the project. You can too! We're open source on GitHub, and accepting translation suggestions on [Crowdin](https://crowdin.com/project/privacyguides).
|
||||
|
||||
Our team members review all changes made to the website and direct the course of the project as a whole. They do not personally profit from any contributions made to this site. Donations to Privacy Guides are generally tax-deductible in the United States.
|
||||
|
||||
## In The Media
|
||||
|
||||
> To find [privacy-focused alternative] apps, check out sites like Good Reports and **Privacy Guides**, which list privacy-focused apps in a variety of categories, notably including email providers (usually on paid plans) that aren’t run by the big tech companies.
|
||||
@@ -172,7 +142,7 @@ Our staff are paid to contribute to supplemental content at Privacy Guides, like
|
||||
|
||||
— [Tweakers.net](https://tweakers.net/reviews/10568/op-zoek-naar-privacyvriendelijke-tools-niek-de-wilde-van-privacy-guides.html) [Translated from Dutch]
|
||||
|
||||
Also featured on: [Ars Technica](https://arstechnica.com/gadgets/2022/02/is-firefox-ok), [Wirecutter](https://nytimes.com/wirecutter/guides/practical-guide-to-securing-windows-pc) [[2](https://nytimes.com/wirecutter/guides/practical-guide-to-securing-your-mac)], [NPO Radio 1](https://nporadio1.nl/nieuws/binnenland/8eaff3a2-8b29-4f63-9b74-36d2b28b1fe1/ooit-online-eens-wat-doms-geplaatst-ga-jezelf-eens-googlen-en-kijk-dan-wat-je-tegenkomt), [Wired](https://wired.com/story/firefox-mozilla-2022), [Fast Company](https://fastcompany.com/91167564/mozilla-wants-you-to-love-firefox-again) and [404 Media](https://404media.co/privacy-service-optery-faces-backlash-after-plan-to-send-openai-user-data).
|
||||
Also featured on: [Ars Technica](https://arstechnica.com/gadgets/2022/02/is-firefox-ok), [Wirecutter](https://nytimes.com/wirecutter/guides/practical-guide-to-securing-windows-pc) [[2](https://nytimes.com/wirecutter/guides/practical-guide-to-securing-your-mac)], [NPO Radio 1](https://nporadio1.nl/nieuws/binnenland/8eaff3a2-8b29-4f63-9b74-36d2b28b1fe1/ooit-online-eens-wat-doms-geplaatst-ga-jezelf-eens-googlen-en-kijk-dan-wat-je-tegenkomt), [Wired](https://wired.com/story/firefox-mozilla-2022) and [Fast Company](https://fastcompany.com/91167564/mozilla-wants-you-to-love-firefox-again).
|
||||
|
||||
## History
|
||||
|
||||
@@ -182,7 +152,7 @@ In 2022, we completed the transition of our main website framework from Jekyll t
|
||||
|
||||
We additionally launched our new discussion forum at [discuss.privacyguides.net](https://discuss.privacyguides.net) as a community platform to share ideas and ask questions about our mission. This augments our existing community on Matrix, and replaced our previous GitHub Discussions platform, decreasing our reliance on proprietary discussion platforms.
|
||||
|
||||
In 2023, we launched international translations of our website in [French](https://www.privacyguides.org/fr), [Hebrew](https://www.privacyguides.org/he), [Dutch](https://www.privacyguides.org/nl), and more languages, made possible by our excellent translation team on [Crowdin](https://crowdin.com/project/privacyguides). We plan to continue carrying forward our mission of outreach and education, and finding ways to more clearly highlight the dangers of a lack of privacy awareness in the modern digital age, and the prevalence and harms of security breaches across the technology industry.
|
||||
In 2023, we launched international translations of our website in [French](https://www.privacyguides.org/fr/), [Hebrew](https://www.privacyguides.org/he/), [Dutch](https://www.privacyguides.org/nl/), and more languages, made possible by our excellent translation team on [Crowdin](https://crowdin.com/project/privacyguides). We plan to continue carrying forward our mission of outreach and education, and finding ways to more clearly highlight the dangers of a lack of privacy awareness in the modern digital age, and the prevalence and harms of security breaches across the technology industry.
|
||||
|
||||
## Site License
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Contributors
|
||||
hide:
|
||||
- toc
|
||||
description: A complete list of contributors who have collectively made an enormous impact on the Privacy Guides project.
|
||||
---
|
||||
<!-- Do NOT manually edit this file, please add yourself to the .all-contributorsrc file instead. See our GitHub Issues for more details -->
|
||||
|
||||
@@ -10,12 +9,12 @@ This project follows the [all-contributors](https://github.com/all-contributors/
|
||||
|
||||
| Emoji | Type | Description
|
||||
| --- | --- | ---
|
||||
| 📖 | `doc` | A contributor to the content on [privacyguides.org](https://www.privacyguides.org/en).
|
||||
| 📖 | `doc` | A contributor to the content on [privacyguides.org](https://www.privacyguides.org/en/).
|
||||
| 👀 | `review` | Someone who has taken the time to review [pull requests](https://github.com/privacyguides/privacyguides.org/pulls) to the site.
|
||||
| 📝 | `blog` | Someone who has written a [blog](https://blog.privacyguides.org) post for us.
|
||||
| 💬 | `question` | Someone who has been helpful when answering questions on our [forum](https://discuss.privacyguides.net) or Matrix channels.
|
||||
| 🌍 | `translation` | Someone who has contributed on [Crowdin](https://crowdin.com/project/privacyguides).
|
||||
|
||||
A huge thank you from Privacy Guides to the following wonderful people ([full emoji key](https://allcontributors.org/docs/en/emoji-key)). We also especially thank our dedicated community moderation team on Matrix and our forum: *Austin Huang*, *namazso*, *hik*, *riley*, and *Valynor*.
|
||||
A huge thank you from Privacy Guides to these wonderful people ([full emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
||||
|
||||
--8<-- "includes/contributors.md"
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
---
|
||||
title: General Criteria
|
||||
description: A list of general priorities we consider for all submissions to Privacy Guides.
|
||||
---
|
||||
|
||||
Below are some general priorities we consider for all submissions to Privacy Guides. Each category will have additional requirements for inclusion.
|
||||
|
||||
- **Security**: Tools should follow security best practices wherever applicable.
|
||||
- **Security**: Tools should follow security best-practices wherever applicable.
|
||||
- **Source Availability**: Open-source projects are generally preferred over equivalent proprietary alternatives.
|
||||
- **Cross-Platform Availability**: We typically prefer recommendations to be cross-platform to avoid vendor lock-in.
|
||||
- **Active Development**: The tools that we recommend should be actively developed. Unmaintained projects will be removed in most cases.
|
||||
- **Usability**: Tools should be accessible to most computer users. An overly technical background should not be required.
|
||||
- **Cross-Platform Availability**: We typically prefer recommendations to be cross-platform, to avoid vendor lock-in.
|
||||
- **Active Development**: The tools that we recommend should be actively developed, unmaintained projects will be removed in most cases.
|
||||
- **Usability**: Tools should be accessible to most computer users, an overly technical background should not be required.
|
||||
- **Documentation**: Tools should have clear and extensive documentation for use.
|
||||
|
||||
## Financial Disclosure
|
||||
@@ -20,16 +19,14 @@ We do not make money from recommending certain products, we do not use affiliate
|
||||
|
||||
We have these requirements in regard to developers which wish to submit their project or software for consideration.
|
||||
|
||||
- Must undergo our [self-submission process](https://discuss.privacyguides.net/t/about-the-project-showcase-category/114) as a way to engage with our community, address any potential concerns, and elicit any feedback that can help improve your project.
|
||||
|
||||
- Must disclose affiliation, i.e. your position within the project being submitted.
|
||||
|
||||
- Must have a security whitepaper if it is a project that involves the handling of sensitive information like a messenger, password manager, encrypted cloud storage, etc.
|
||||
- Regarding third party audit status, we want to know if you have undergone one, or have requested one. If possible please mention who will be conducting the audit.
|
||||
- Must have a security whitepaper if it is a project that involves handling of sensitive information like a messenger, password manager, encrypted cloud storage, etc.
|
||||
- Third party audit status. We want to know if you have one, or have one planned. If possible please mention who will be conducting the audit.
|
||||
|
||||
- Must explain what the project brings to the table in regard to privacy.
|
||||
- What new problem(s), if any, does it solve?
|
||||
- Does it solve any new problem?
|
||||
- Why should anyone use it over the alternatives?
|
||||
|
||||
- Must state what the exact threat model is with their project.
|
||||
- It should be clear to potential users what the project can provide, and what it cannot. Ideally, a developer should be able to identify what [common threat(s)](../basics/common-threats.md) their project protects against.
|
||||
- It should be clear to potential users what the project can provide, and what it cannot.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
title: Donate
|
||||
description: The charitable mission of Privacy Guides relies on contributions from visitors like yourself. Anything you can do to support the project is hugely appreciated.
|
||||
---
|
||||
<!-- markdownlint-disable MD036 -->
|
||||
Donate to Privacy Guides and support our mission to defend digital rights and spread the word about mass surveillance programs and other daily privacy invasions. You can help Privacy Guides researchers, activists, and maintainers create informative content, host private digital services, and protect privacy rights at a time when the world needs it most.
|
||||
@@ -9,20 +8,15 @@ Privacy Guides has been a nonstop effort for over 5 years to stay up to date wit
|
||||
|
||||
## Donate
|
||||
|
||||
MAGIC Grants is our fiscal host, and their custom, open-source donation platform allows you to donate to our project with **Monero**, **Bitcoin**, or **debit/credit card**.
|
||||
Currently, the best way to support our work is to send a monthly or one-time contribution via GitHub Sponsors. We will be able to accept donations via alternate payment platforms very soon.
|
||||
|
||||
[:material-heart:{ .pg-red } Donate](https://donate.magicgrants.org/privacyguides){ class="md-button md-button--primary" }
|
||||
[Sponsor on GitHub](https://github.com/sponsors/privacyguides){ class="md-button" }
|
||||
[:material-heart:{ .pg-red } Sponsor us on GitHub](https://github.com/sponsors/privacyguides){ class="md-button md-button--primary" }
|
||||
|
||||
Donating with Monero will maximize your donation by lowering our transaction fees while simultaneously [preserving your privacy](../cryptocurrency.md), win-win! You can also donate to us via GitHub Sponsors if you prefer, or if you would like to publicize your support. GitHub does not charge us any fees if you donate as an individual, but may charge us fees if you donate with a GitHub organization, if this is a concern for you.
|
||||
A new donation platform we control to make donating easier will be deployed soon. In the meantime, if you'd like to arrange a donation (including with cryptocurrency), please reach out to [info@magicgrants.org](mailto:info@magicgrants.org).
|
||||
|
||||
## How We Use Donations
|
||||
|
||||
Privacy Guides is a **non-profit** project. Your donation will go to a [dedicated fund](https://magicgrants.org/funds/privacy_guides) within [MAGIC Grants](https://magicgrants.org), a 501(c)(3) organization and our fiscal host. The funds will **only** be used for this project specifically.
|
||||
|
||||
You may qualify for a tax deduction. When you donate to us [here](https://donate.magicgrants.org/privacyguides) with cryptocurrency or card you have the option to receive a receipt from MAGIC Grants for this purpose. If you have questions about other transactions please email <info@magicgrants.org>.
|
||||
|
||||
We use donations for a variety of purposes, including:
|
||||
Privacy Guides is a **non-profit** organization. We use donations for a variety of purposes, including:
|
||||
|
||||
**Web Hosting**
|
||||
|
||||
@@ -30,7 +24,7 @@ We use donations for a variety of purposes, including:
|
||||
|
||||
**Payroll**
|
||||
|
||||
: We are endeavoring to [hire](jobs.md) full-time journalists and writers to review products and create more educational content on a regular basis.
|
||||
: We currently have one paid part-time [position](../about.md#staff) which handles day-to-day tasks like system administration, writing regular product reviews, posting our weekly show, creating course content, etc. In the future, we would like to be able to hire full-time journalists and writers to review products and create more educational content.
|
||||
|
||||
**Domain Registrations**
|
||||
|
||||
@@ -44,6 +38,8 @@ We use donations for a variety of purposes, including:
|
||||
|
||||
: We occasionally purchase products and services for the purposes of testing our [recommended tools](../tools.md).
|
||||
|
||||
Your donation will go to a [dedicated fund](https://magicgrants.org/funds/privacy_guides) within [MAGIC Grants](https://magicgrants.org), a 501(c)(3) organization. The funds will only be used for this project specifically. You may qualify for a tax deduction. If you need a donation receipt, please email <info@magicgrants.org>.
|
||||
|
||||
Thank you to all those who support our mission! :material-heart:{ .pg-red }
|
||||
|
||||
We strictly **cannot** use donations to support political campaigns/candidates or attempt to influence legislation. Earnings also will **not** inure to the benefit of any private shareholder or individual.
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
title: Executive Policy
|
||||
description: These are policies formally adopted by our executive committee, and take precedence over all other statements expressed on this website.
|
||||
---
|
||||
|
||||
These are policies formally adopted by Privacy Guides' executive committee, and take precedence over all other statements expressed on this website.
|
||||
|
||||
The key words **must**, **must not**, **required**, **shall**, **shall not**, **should**, **should not**, **recommended**, **may**, and **optional** are to be interpreted as described in [RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119).
|
||||
|
||||
## EP1: Freely-Provided Product Samples
|
||||
|
||||
*Our policy on accepting product samples for review was adopted September 7, 2024.*
|
||||
|
||||
=== "Current Version (1)"
|
||||
|
||||
- Privacy Guides **shall not** proactively reach out to vendors asking for product samples or review accounts.
|
||||
- Privacy Guides **shall not** accept test/review accounts for subscription cloud services.
|
||||
- Privacy Guides **may** accept freely-provided product samples for one-time purchase software applications which run locally, given they don't require a subscription for continued operation.
|
||||
- Privacy Guides **may** accept freely-provided samples of hardware products.
|
||||
- Privacy Guides **may** accept a freely-provided subscription service associated with a hardware product, if such a subscription/license is necessary to use the product.
|
||||
- Privacy Guides **must not** enter into an agreement pertaining to our editorial opinion with the vendor in order to receive a sample or publish a review. All freely-provided items must be strictly "no strings attached."
|
||||
- We **may** agree to return the product to the vendor following the review if requested.
|
||||
- We **may** agree to a reasonable NDA, provided it has a clear embargo date that is lifted no more than 6 months in the future where the NDA completely no longer applies.
|
||||
- We **should not** enter into any other agreement with the vendor not described here. Potential agreements not described here **must** be approved by the executive committee beforehand.
|
||||
|
||||
In all cases, whether we paid for the product independently or received a free sample from a vendor, how we obtained the product **must** be clearly documented in the background section of every article associated with the product.
|
||||
@@ -1,14 +1,11 @@
|
||||
---
|
||||
title: Job Openings
|
||||
description: Privacy Guides has a small, remote team of privacy researchers and advocates. Any open positions we may have in the future will be posted here.
|
||||
---
|
||||
|
||||
Privacy Guides has a small, remote team of privacy researchers and advocates working to further our mission of protecting free expression and promoting privacy-respecting technology. As a non-profit, we are expanding very slowly to ensure the project is sustainable in the long term. All of our team members are listed [here](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all). Please consider [donating](https://donate.magicgrants.org/privacyguides) to support our cause.
|
||||
Privacy Guides has a small, remote team of privacy researchers and advocates working to further our mission of protecting free expression and promoting privacy-respecting technology. As a non-profit, we are expanding very slowly to ensure the project is sustainable in the long term. All of our staff members are listed [here](../about.md#staff). Please consider [donating](donate.md) to support our cause.
|
||||
|
||||
We are occasionally looking for strong journalistic writers, product reviewers, and privacy experts to help us out, and any open positions will be posted below.
|
||||
|
||||
---
|
||||
|
||||
## Open Positions
|
||||
|
||||
There are no open positions at this time.
|
||||
*We do not have any job openings at the moment.*
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
---
|
||||
title: Content Creator
|
||||
description: Privacy Guides is looking for a video producer and host for informative privacy-related content on YouTube and other platforms.
|
||||
---
|
||||
|
||||
[:material-arrow-left-drop-circle: Job Openings](../jobs.md)
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Position Closed</p>
|
||||
|
||||
Thank you for your interest in this position at Privacy Guides. At this time we are no longer accepting new applications, but please follow our [job openings](../jobs.md) page to learn about future opportunities.
|
||||
|
||||
</div>
|
||||
|
||||
Are you passionate about privacy and cybersecurity?
|
||||
|
||||
Privacy Guides is an international nonprofit dedicated to producing top-tier, unbiased educational content and journalism, and to fostering safe and informative online communities to discuss technical topics around improving personal privacy and cybersecurity.
|
||||
|
||||
Privacy Guides is looking for a focused and motivated individual to be responsible for our social media presence from end to end, with a particular emphasis on video content. You must be comfortable being on camera to succeed in this role.
|
||||
|
||||
This is a unique opportunity. Your primary goal will be to create and share privacy-based educational materials, without any motive to sell a product. If you truly value being able to create the best content that you can, and if you are passionate about privacy, then this position is for you!
|
||||
|
||||
Your responsibilities will include, but aren’t limited to:
|
||||
|
||||
- Scripting and hosting educational video content to be posted across various social media platforms.
|
||||
- Video editing, production, and other backend work required to make successful content.
|
||||
- Researching new topics to cover.
|
||||
- Regular, daily posting to text-based social media platforms like Mastodon.
|
||||
- Regular posting of highly educational video content to social media platforms.
|
||||
- Compiling news sources for and hosting a weekly news recap (livestreamed) podcast on our YouTube channel.
|
||||
- Regularly communicating with the Privacy Guides committee and other team members.
|
||||
|
||||
This is a highly individualized role, and we are extremely interested in hearing your ideas on how you’ll find success and make this role your own. You will be responsible for handling virtually every aspect of this role without regular supervision, so being highly self-motivated is a must.
|
||||
|
||||
As a guideline, we expect your video output to be roughly 1 video and 1 *This Week In Privacy* livestream per week, since we think most videos which meet our quality standards will be a multi-day process to research and script, in addition to a day for recording and editing. We realize some videos can be completed more quickly, while others may take multiple weeks or longer before publishing. You will be empowered to use your best judgement and prioritize your work accordingly.
|
||||
|
||||
Job requirements:
|
||||
|
||||
- Excellent organization and communication skills.
|
||||
- Flexibility to set and respond to varying priorities and deadlines.
|
||||
- Proactive, results-driven mindset with a strong sense of initiative.
|
||||
- Comfortable being on camera, and working with video production equipment.
|
||||
- Personal interest in consumer privacy, cybersecurity, and technology.
|
||||
- Skeptical nature and drive to investigate difficult, often niche, technologies. You will need to evaluate the truthfulness of claims.
|
||||
|
||||
The following qualifications will be an asset to your application. However, we are looking for the best candidate (which isn’t always apparent on paper!), so please apply even if you don’t meet any/many of these qualifications.
|
||||
|
||||
- Previous YouTube or other video creation experience.
|
||||
- Previous social media management experience.
|
||||
- Education in English, journalism, media production, or any other related fields.
|
||||
- Fluency in Spanish, French, Portuguese, or other languages.
|
||||
- Familiarity with Privacy Guides' communities, culture, and mission.
|
||||
- A solid understanding of the latest trends/culture on YouTube & TikTok.
|
||||
- Located between UTC-08:00 and UTC-04:00 time zones.
|
||||
- At least basic familiarity with GitHub, including pull requests, branches, reviews, and issues.
|
||||
|
||||
The ideal candidate can commit to this role on a full-time basis (40 hours / week), but we are open to discussing a schedule you suggest.
|
||||
|
||||
For this position, our hiring pay range falls between \$20-$25 / hour USD. The base pay may vary depending on job related qualifications such as knowledge, skills, and experience. Our compensation structure is rooted in a performance and merit based approach that acknowledges performance of both the individual and the project as a whole.
|
||||
|
||||
---
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Position Closed</p>
|
||||
|
||||
Thank you for your interest in this position at Privacy Guides. At this time we are no longer accepting new applications, but please follow our [job openings](../jobs.md) page to learn about future opportunities.
|
||||
|
||||
</div>
|
||||
|
||||
Privacy Guides is fiscally hosted by [MAGIC Grants](https://magicgrants.org), a 501(c)(3) public charity. MAGIC Grants is an equal opportunity employer. MAGIC Grants does not discriminate against any applicant or employee because of age, color, sex, disability, national origin, race, religion, sexual orientation, sexual identity, veteran status, or other protected characteristic.
|
||||
|
||||
We respect your privacy. After this position is filled, your application will be deleted. Your application will not be shared with third parties.
|
||||
@@ -1,54 +0,0 @@
|
||||
---
|
||||
title: Intern (Community & News)
|
||||
description: Privacy Guides is looking for an intern to discover and promote relevant news content on our platform, and to moderate and engage with our online communities.
|
||||
---
|
||||
|
||||
[:material-arrow-left-drop-circle: Job Openings](../jobs.md)
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Position Closed</p>
|
||||
|
||||
Thank you for your interest in this position at Privacy Guides. At this time we are no longer accepting new applications, but please follow our [job openings](../jobs.md) page to learn about future opportunities.
|
||||
|
||||
</div>
|
||||
|
||||
Are you passionate about privacy and cybersecurity?
|
||||
|
||||
Privacy Guides is an international nonprofit dedicated to producing top-tier, unbiased educational content and journalism, and to fostering safe and informative online communities to discuss technical topics around improving personal privacy and cybersecurity.
|
||||
|
||||
This role is focused on interacting with our community members and answering their questions, keeping our online communities safe and constructive, and sharing thoughtful and informative news stories from around the internet for community discussion.
|
||||
|
||||
Responsibilities will include:
|
||||
|
||||
- Regularly interacting with our forum and other communities.
|
||||
- Responding to moderation complaints/flags within our communities.
|
||||
- Reading news stories from a variety of publications and generally staying up to date with the latest news in the privacy and cybersecurity space.
|
||||
- Regularly posting interesting news stories and other topics you discover in our communities for discussion.
|
||||
- Assisting our other staff and volunteers with research, writing, video production, and editing.
|
||||
- Assisting with Privacy Guides' advocacy efforts.
|
||||
- Remaining polite and fact-focused.
|
||||
|
||||
No prior experience is necessary. We are looking for people passionate about privacy, cybersecurity, journalism, and community management regardless of your GPA or background.
|
||||
|
||||
The following will be assets to your application, but please submit an application even if they don't apply to you:
|
||||
|
||||
- Familiarity with Privacy Guides' communities, culture, and mission.
|
||||
- Previous experience with social media management and/or journalism.
|
||||
- Located between UTC-08:00 and UTC-04:00 time zones.
|
||||
|
||||
This is a part-time, 10-20 hour per week role depending on your availability. We can work around your schedule and other obligations.
|
||||
|
||||
This is a 6-month contract paying $15 / hour USD, with the optional opportunity for renewal or a longer-term role depending on your personal goals and the project's outcome. The specific starting and ending dates are flexible.
|
||||
|
||||
---
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Position Closed</p>
|
||||
|
||||
Thank you for your interest in this position at Privacy Guides. At this time we are no longer accepting new applications, but please follow our [job openings](../jobs.md) page to learn about future opportunities.
|
||||
|
||||
</div>
|
||||
|
||||
Privacy Guides is fiscally hosted by [MAGIC Grants](https://magicgrants.org), a 501(c)(3) public charity. MAGIC Grants is an equal opportunity employer. MAGIC Grants does not discriminate against any applicant or employee because of age, color, sex, disability, national origin, race, religion, sexual orientation, sexual identity, veteran status, or other protected characteristic.
|
||||
|
||||
We respect your privacy. After this position is filled, your application will be deleted. Your application will not be shared with third parties.
|
||||
@@ -1,73 +0,0 @@
|
||||
---
|
||||
title: Journalist
|
||||
description: Privacy Guides is looking for a determined and focused journalist to research and write stories from the privacy and cybersecurity space on a regular basis.
|
||||
---
|
||||
|
||||
[:material-arrow-left-drop-circle: Job Openings](../jobs.md)
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Position Closed</p>
|
||||
|
||||
Thank you for your interest in this position at Privacy Guides. At this time we are no longer accepting new applications, but please follow our [job openings](../jobs.md) page to learn about future opportunities.
|
||||
|
||||
</div>
|
||||
|
||||
Are you passionate about privacy and cybersecurity?
|
||||
|
||||
Privacy Guides is an international nonprofit dedicated to producing top-tier, unbiased educational content and journalism, and to fostering safe and informative online communities to discuss technical topics around improving personal privacy and cybersecurity.
|
||||
|
||||
We are looking for a determined and focused journalist to join our team. As a reporter for our organization, you will conduct research, interview sources, and write engaging stories in the field of consumer privacy and cybersecurity.
|
||||
|
||||
Our ideal candidate is committed to combating misinformation and clearly communicating stories on a timely basis, and dedicated to producing top-tier, unbiased journalism.
|
||||
|
||||
Privacy Guides is a small, largely volunteer-driven nonprofit media organization, and we do not currently have a dedicated writing and editing team. As such, you will be expected to take charge of the entire writing process from beginning to publication. You will have the freedom to choose which topics to cover and set a schedule to release articles on our main website.
|
||||
|
||||
==Our primary mission is to publish the highest quality content surrounding consumer privacy and cybersecurity on the internet==, not the highest quantity of stories. You will be empowered to dive deep into the topics you are writing about, and expected to meet our high quality and editorial standards.
|
||||
|
||||
Your responsibilities will include, but aren’t limited to:
|
||||
|
||||
- Creating high-quality articles for our [knowledge base](../../basics/why-privacy-matters.md).
|
||||
- Performing product reviews for our [reviews](https://www.privacyguides.org/articles/category/reviews) section and [tool recommendations](../../tools.md).
|
||||
- Researching new topics to cover.
|
||||
- Interviewing and fact-checking all relevant sources.
|
||||
- Regular posting of high-quality, unbiased journalistic content across our platforms.
|
||||
|
||||
As a guideline, we expect roughly 3-5 articles a week that meet our quality standards, since we believe a well-researched article will take at least 8 hours to research and write on average. We realize some articles can be completed quickly, while others may take weeks or longer before publishing. You will be empowered to use your best judgement and prioritize your work accordingly.
|
||||
|
||||
We are much more interested in articles that deeply cover a subject area than articles that cover the news of the day.
|
||||
|
||||
Job requirements:
|
||||
|
||||
- Excellent organization and communication skills.
|
||||
- Expertise in English and writing.
|
||||
- Flexibility to set and respond to varying priorities and deadlines.
|
||||
- Proactive, results-driven mindset with a strong sense of initiative.
|
||||
- Personal interest in consumer privacy, cybersecurity, and technology.
|
||||
- Regular communication with the Privacy Guides committee and other team members.
|
||||
- Skeptical nature and drive to investigate difficult, often niche, technologies. You will need to evaluate the truthfulness of claims.
|
||||
|
||||
The following qualifications will be an asset to your application. However, we are looking for the best candidate (which isn’t always apparent on paper!), so please apply even if you don’t meet any/many of these qualifications.
|
||||
|
||||
- Previous writing or journalism experience.
|
||||
- Previous product review experience.
|
||||
- Education in English, journalism, media production, or any other related fields.
|
||||
- Familiarity with Privacy Guides' communities, culture, and mission.
|
||||
- Located between UTC-08:00 and UTC-04:00 time zones.
|
||||
- At least basic familiarity with GitHub, including pull requests, branches, reviews, and issues.
|
||||
|
||||
The ideal candidate can commit to this role on a full-time basis (40 hours / week), but we are open to discussing a schedule you suggest.
|
||||
|
||||
For this position, our hiring pay range falls between \$20-$25 / hour USD. The base pay may vary depending on job related qualifications such as knowledge, skills, and experience. Our compensation structure is rooted in a performance and merit based approach that acknowledges performance of both the individual and the project as a whole.
|
||||
|
||||
---
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Position Closed</p>
|
||||
|
||||
Thank you for your interest in this position at Privacy Guides. At this time we are no longer accepting new applications, but please follow our [job openings](../jobs.md) page to learn about future opportunities.
|
||||
|
||||
</div>
|
||||
|
||||
Privacy Guides is fiscally hosted by [MAGIC Grants](https://magicgrants.org), a 501(c)(3) public charity. MAGIC Grants is an equal opportunity employer. MAGIC Grants does not discriminate against any applicant or employee because of age, color, sex, disability, national origin, race, religion, sexual orientation, sexual identity, veteran status, or other protected characteristic.
|
||||
|
||||
We respect your privacy. After this position is filled, your application will be deleted. Your application will not be shared with third parties.
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
title: "Notices and Disclaimers"
|
||||
description: Information about our website license, acceptable use policy, and other important details.
|
||||
---
|
||||
|
||||
## Legal Disclaimer
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
title: "Privacy Policy"
|
||||
description: We do not sell or share your data with any third-parties.
|
||||
---
|
||||
Privacy Guides is a community project operated by a number of active contributors. The public list of team members [can be found on our forum](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all).
|
||||
Privacy Guides is a community project operated by a number of active volunteer contributors. The public list of team members [can be found on GitHub](https://github.com/orgs/privacyguides/people).
|
||||
|
||||
## Data We Collect From Visitors
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
title: "PrivacyTools FAQ"
|
||||
description: The real story behind the team transition from privacytools.io to privacyguides.org
|
||||
---
|
||||
In September 2021, every active contributor unanimously agreed to move from PrivacyTools to work on this site: Privacy Guides. This decision was made because PrivacyTools’ founder and controller of the domain name had disappeared for an extended period of time and could not be contacted.
|
||||
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
---
|
||||
description: We run a number of web services to test out features and promote cool decentralized, federated, and/or open-source projects.
|
||||
---
|
||||
|
||||
# Privacy Guides Services
|
||||
|
||||
We run a number of web services to test out features and promote cool decentralized, federated, and/or open-source projects. Many of these services are available to the public and are detailed below.
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
title: Traffic Statistics
|
||||
description: We self-host Umami to create a nice visualization of our traffic statistics, which are made public here.
|
||||
---
|
||||
<!-- markdownlint-disable MD051 -->
|
||||
We self-host [Umami](https://umami.is) to create a nice visualization of our traffic statistics, which are public at the link below.
|
||||
|
||||
[View Statistics](https://stats.triplebit.net/share/S80jBc50hxr5TquS/www.privacyguides.org){ .md-button .md-button--primary }
|
||||
[View Statistics](https://stats.privacyguides.net/share/nVWjyd2QfgOPBhMF/www.privacyguides.org){ .md-button .md-button--primary }
|
||||
|
||||
With this process:
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ When you visit a website, a numerical address is returned. For example, when you
|
||||
|
||||
DNS has existed since the [early days](https://en.wikipedia.org/wiki/Domain_Name_System#History) of the Internet. DNS requests made to and from DNS servers are **not** generally encrypted. In a residential setting, a customer is given servers by the ISP via [DHCP](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol).
|
||||
|
||||
Unencrypted DNS requests are able to be easily **surveilled** and **modified** in transit. In some parts of the world, ISPs are ordered to do primitive [DNS filtering](https://en.wikipedia.org/wiki/DNS_blocking). When you request the IP address of a domain that is blocked, the server may not respond or may respond with a different IP address. As the DNS protocol is not encrypted, the ISP (or any network operator) can use [DPI](https://en.wikipedia.org/wiki/Deep_packet_inspection) to monitor requests. ISPs can also block requests based on common characteristics, regardless of which DNS server is used.
|
||||
Unencrypted DNS requests are able to be easily **surveilled** and **modified** in transit. In some parts of the world, ISPs are ordered to do primitive [DNS filtering](https://en.wikipedia.org/wiki/DNS_blocking). When you request the IP address of a domain that is blocked, the server may not respond or may respond with a different IP address. As the DNS protocol is not encrypted, the ISP (or any network operator) can use [DPI](https://en.wikipedia.org/wiki/Deep_packet_inspection) to monitor requests. ISPs can also block requests based on common characteristics, regardless of which DNS server is used. Unencrypted DNS always uses [port](https://en.wikipedia.org/wiki/Port_(computer_networking)) 53 and always uses UDP.
|
||||
|
||||
Below, we discuss and provide a tutorial to prove what an outside observer may see using regular unencrypted DNS and [encrypted DNS](#what-is-encrypted-dns).
|
||||
|
||||
|
||||
@@ -1,35 +1,34 @@
|
||||
---
|
||||
title: Private Payments
|
||||
icon: material/hand-coin
|
||||
description: Your buying habits are the holy grail of ad targeting, but you still have plenty of options when it comes to making payments privately.
|
||||
---
|
||||
Data about your buying habits is considered the holy grail of ad targeting: your purchases can leak a veritable treasure trove of data about you. Unfortunately, the current financial system is anti-privacy by design, enabling banks, other companies, and governments to easily trace transactions. Nevertheless, you have plenty of options when it comes to making payments privately.
|
||||
There's a reason data about your buying habits is considered the holy grail of ad targeting: your purchases can leak a veritable treasure trove of data about you. Unfortunately, the current financial system is anti-privacy by design, enabling banks, other companies, and governments to easily trace transactions. Nevertheless, you have plenty of options when it comes to making payments privately.
|
||||
|
||||
## Cash
|
||||
|
||||
For centuries, **cash** has functioned as the primary form of private payment. Cash has excellent privacy properties in most cases, is widely accepted in most countries, and is **fungible**, meaning it is non-unique and completely interchangeable.
|
||||
For centuries, **cash** has functioned as the primary form of private payment. Cash has excellent privacy properties in most cases, is widely accepted in most countries, and is **fungible**, meaning it is non-unique and completely interchangable.
|
||||
|
||||
Cash payment laws vary by country. In the United States, special disclosure is required for cash payments over $10,000 to the IRS on [Form 8300](https://irs.gov/businesses/small-businesses-self-employed/form-8300-and-reporting-cash-payments-of-over-10000). The receiving business is required to ID verify the payee’s name, address, occupation, date of birth, and Social Security Number or other TIN (with some exceptions). Regulated exchanges, banks, and money services businesses must collect an ID for transactions exceeding $3,000. Cash contains serial numbers to assist law enforcement in targeted investigations.
|
||||
Cash payment laws vary by country. In the United States, special disclosure is required for cash payments over $10,000 to the IRS on [Form 8300](https://irs.gov/businesses/small-businesses-self-employed/form-8300-and-reporting-cash-payments-of-over-10000). The receiving business is required to ID verify the payee’s name, address, occupation, date of birth, and Social Security Number or other TIN (with some exceptions). Lower limits without ID such as $3,000 or less exist for exchanges and money transmission. Cash also contains serial numbers. These are almost never tracked by merchants, but they can be used by law enforcement in targeted investigations.
|
||||
|
||||
Despite the above, cash is typically the best option when available.
|
||||
Despite this, it’s typically the best option.
|
||||
|
||||
## Prepaid Cards & Gift Cards
|
||||
|
||||
You can easily purchase gift cards and prepaid cards at most grocery stores and convenience stores with cash. Gift cards usually don’t have a fee, though prepaid cards often do, so pay close attention to these fees and expiry dates. Some stores may ask to see your ID at checkout in an effort to reduce fraud.
|
||||
It’s relatively simple to purchase gift cards and prepaid cards at most grocery stores and convenience stores with cash. Gift cards usually don’t have a fee, though prepaid cards often do, so pay close attention to these fees and expiry dates. Some stores may ask to see your ID at checkout to reduce fraud.
|
||||
|
||||
Gift cards usually have limits of up to $200 per card, but some offer limits of up to $2,000 per card. Prepaid cards (e.g.: from Visa or Mastercard) usually have limits of up to $1,000 per card.
|
||||
|
||||
Gift cards have the downside of being subject to merchant policies, which can have terrible terms and restrictions. For example, some merchants don’t accept payment in gift cards exclusively, or they may cancel the value of the card if they consider you to be a high-risk user. Once you have merchant credit, the merchant has a strong degree of control over this credit.
|
||||
|
||||
Prepaid cards usually don’t allow cash withdrawals from ATMs or “peer-to-peer” payments in Venmo and similar apps.
|
||||
Prepaid cards don’t allow cash withdrawals from ATMs or “peer-to-peer” payments in Venmo and similar apps.
|
||||
|
||||
Cash remains the best option for in-person purchases for most people. Gift cards are often sold at a discount, which make them attractive. Prepaid cards can be useful for places that don’t accept cash. Gift cards and prepaid cards are easier to use online than cash, and they are easier to acquire with cryptocurrencies than cash.
|
||||
Cash remains the best option for in-person purchases for most people. Gift cards can be useful for the savings they bring. Prepaid cards can be useful for places that don’t accept cash. Gift cards and prepaid cards are easier to use online than cash, and they are easier to acquire with cryptocurrencies than cash.
|
||||
|
||||
### Online Marketplaces
|
||||
|
||||
If you have [cryptocurrency](../cryptocurrency.md), you can purchase gift cards with an online gift card marketplace. Some of these services offer high limits (with ID verification), but they usually allow basic, low-limit accounts with just an email address. Expect limits under $10,000 for basic accounts and significantly higher limits for ID verified accounts (if offered).
|
||||
If you have [cryptocurrency](../cryptocurrency.md), you can purchase gift cards with an online gift card marketplace. Some of these services offer ID verification options for higher limits, but they also allow accounts with just an email address. Basic limits start at $5,000-10,000 a day for basic accounts, and significantly higher limits for ID verified accounts (if offered).
|
||||
|
||||
When buying gift cards online, there is usually a slight discount. Prepaid cards are usually sold online at face value or with a fee. If you buy prepaid cards and gift cards with cryptocurrencies, you should strongly prefer to pay with Monero which provides strong privacy (more on this below). Paying for a gift card with a traceable payment method negates the benefits a gift card can provide when purchased with cash or Monero.
|
||||
When buying gift cards online, there is usually a slight discount. Prepaid cards are usually sold online at face value or with a fee. If you buy prepaid cards and gift cards with cryptocurrencies, you should strongly prefer to pay with Monero which provides strong privacy, more on this below. Paying for a gift card with a traceable payment method negates the benefits a gift card can provide when purchased with cash or Monero.
|
||||
|
||||
- [Online Gift Card Marketplaces :material-arrow-right-drop-circle:](../financial-services.md#gift-card-marketplaces)
|
||||
|
||||
@@ -43,14 +42,14 @@ These tend to be good options for recurring/subscription payments online, while
|
||||
|
||||
## Cryptocurrency
|
||||
|
||||
Cryptocurrencies are a digital form of currency designed to work without central authorities such as a government or bank. While *some* cryptocurrency projects can allow you to make private transactions online, many use a transparent blockchain which does not provide any transaction privacy. Cryptocurrencies also tend to be very volatile assets, meaning their value can change rapidly and significantly. As such, we generally don't recommend using cryptocurrency as a long-term store of value. If you decide to use cryptocurrency online, make sure you have a full understanding of its privacy aspects beforehand, and only invest amounts which would not be disastrous to lose.
|
||||
Cryptocurrencies are a digital form of currency designed to work without central authorities such as a government or bank. While *some* cryptocurrency projects can allow you to make private transactions online, many use a public blockchain which does not provide any transaction privacy. Cryptocurrencies also tend to be very volatile assets, meaning their value can change rapidly and significantly at any time. As such, we generally don't recommend using cryptocurrency as a long-term store of value. If you decide to use cryptocurrency online, make sure you have a full understanding of its privacy aspects beforehand, and only invest amounts which would not be disastrous to lose.
|
||||
|
||||
<div class="admonition danger" markdown>
|
||||
<p class="admonition-title">Danger</p>
|
||||
|
||||
The vast majority of cryptocurrencies operate on a **transparent** blockchain, meaning that every transaction's details are public knowledge. This includes most well-known cryptocurrencies like Bitcoin and Ethereum. Transactions with these cryptocurrencies should not be considered private and will not protect your anonymity.
|
||||
The vast majority of cryptocurrencies operate on a **public** blockchain, meaning that every transaction is public knowledge. This includes even most well-known cryptocurrencies like Bitcoin and Ethereum. Transactions with these cryptocurrencies should not be considered private and will not protect your anonymity.
|
||||
|
||||
Additionally, many if not most cryptocurrencies are scams. Make transactions carefully with only projects you trust. Transactions are irreversible and do not include any consumer protections.
|
||||
Additionally, many if not most cryptocurrencies are scams. Make transactions carefully with only projects you trust.
|
||||
|
||||
</div>
|
||||
|
||||
@@ -60,25 +59,23 @@ There are a number of cryptocurrency projects which purport to provide privacy b
|
||||
|
||||
- [Recommended Cryptocurrency :material-arrow-right-drop-circle:](../cryptocurrency.md#monero)
|
||||
|
||||
Privacy coins have been subject to increasing scrutiny by government agencies. In 2020, [the IRS published a $625,000 bounty](https://forbes.com/sites/kellyphillipserb/2020/09/14/irs-will-pay-up-to-625000-if-you-can-crack-monero-other-privacy-coins/?sh=2e9808a085cc) for tools which can trace (at least to some extent) Bitcoin Lightning Network and/or Monero transactions. They ultimately [paid two companies](https://sam.gov/opp/5ab94eae1a8d422e88945b64181c6018/view) (Chainalysis and Integra Fec) a combined $1.25 million to further develop tools to do so. Due to the secrecy surrounding tools like these, ==none of these methods of tracing cryptocurrencies have been independently confirmed.== However, it is quite likely that tools which assist targeted investigations into private coin transactions exist, and that privacy coins in their current form only succeed in thwarting mass surveillance.
|
||||
Privacy coins have been subject to increasing scrutiny by government agencies. In 2020, [the IRS published a $625,000 bounty](https://forbes.com/sites/kellyphillipserb/2020/09/14/irs-will-pay-up-to-625000-if-you-can-crack-monero-other-privacy-coins/?sh=2e9808a085cc) for tools which can break Bitcoin Lightning Network and/or Monero's transaction privacy. They ultimately [paid two companies](https://sam.gov/opp/5ab94eae1a8d422e88945b64181c6018/view) (Chainalysis and Integra Fec) a combined $1.25 million for tools which purport to do so (it is unknown which cryptocurrency network these tools target). Due to the secrecy surrounding tools like these, ==none of these methods of tracing cryptocurrencies have been independently confirmed.== However, it is quite likely that tools which assist targeted investigations into private coin transactions exist, and that privacy coins only succeed in thwarting mass surveillance.
|
||||
|
||||
### Other Coins (Bitcoin, Ethereum, etc.)
|
||||
|
||||
The vast majority of cryptocurrency projects use a transparent blockchain, meaning that all transactions are both easily traceable and permanent. As such, we strongly discourage the use of most cryptocurrency for privacy-related reasons.
|
||||
The vast majority of cryptocurrency projects use a public blockchain, meaning that all transactions are both easily traceable and permanent. As such, we strongly discourage the use of most cryptocurrency for privacy-related reasons.
|
||||
|
||||
Anonymous transactions on a transparent blockchain are *theoretically* possible, and the Bitcoin wiki [gives one example of a "completely anonymous" transaction](https://en.bitcoin.it/wiki/Privacy#Example_-_A_perfectly_private_donation). However, this example requires a complicated setup involving Tor and "solo-mining" a block to generate completely independent cryptocurrency, a practice which has not been practical (even for enthusiasts) for many years.
|
||||
Anonymous transactions on a public blockchain are *theoretically* possible, and the Bitcoin wiki [gives one example of a "completely anonymous" transaction](https://en.bitcoin.it/wiki/Privacy#Example_-_A_perfectly_private_donation). However, doing so requires a complicated setup involving Tor and "solo-mining" a block to generate completely independent cryptocurrency, a practice which has not been practical for nearly any enthusiast for many years.
|
||||
|
||||
==Your best option is to avoid these cryptocurrencies entirely and stick with one which provides privacy by default.== Attempting to use other cryptocurrency is outside the scope of this site and strongly discouraged.
|
||||
|
||||
### Wallet Custody
|
||||
|
||||
With cryptocurrency there are two forms of wallets: custodial wallets and self-custody wallets. Custodial wallets are operated by centralized companies/exchanges, where the private key for your wallet is held by that company, and you can access them anywhere typically with a regular username and password. Self-custody wallets are wallets where you control and manage the private keys to access it. Assuming you keep your wallet's private keys secured and backed up, self-custody wallets provide greater security and censorship-resistance over custodial wallets, because your cryptocurrency can't be stolen or frozen by a company with custody over your private keys. Key custody is especially important when it comes to privacy coins: Custodial wallets grant the operating company the ability to view your transactions, negating the privacy benefits of those cryptocurrencies.
|
||||
With cryptocurrency there are two forms of wallets: custodial wallets and noncustodial wallets. Custodial wallets are operated by centralized companies/exchanges, where the private key for your wallet is held by that company, and you can access them anywhere typically with a regular username and password. Noncustodial wallets are wallets where you control and manage the private keys to access it. Assuming you keep your wallet's private keys secured and backed up, noncustodial wallets provide greater security and censorship-resistance over custodial wallets, because your cryptocurrency can't be stolen or frozen by a company with custody over your private keys. Key custody is especially important when it comes to privacy coins: Custodial wallets grant the operating company the ability to view your transactions, negating the privacy benefits of those cryptocurrencies.
|
||||
|
||||
### Acquisition
|
||||
|
||||
Acquiring [cryptocurrencies](../cryptocurrency.md) like Monero privately can be difficult. P2P marketplaces (platforms which facilitate trades between people) are one option, though the user experience typically suffers. If using an exchange which requires KYC is acceptable for you as long as subsequent transactions can't be traced, it's much easier to purchase Monero on a centralized exchange or purchase Bitcoin/Litecoin from a KYC exchange which can then be swapped for Monero. Then, you can withdraw the purchased Monero to your own self-custody wallet to use privately from that point forward.
|
||||
|
||||
[Recommended places to buy Monero](../cryptocurrency.md#buying-monero){ .md-button }
|
||||
Acquiring [cryptocurrencies](../cryptocurrency.md) like Monero privately can be difficult. P2P marketplaces, platforms which facilitate trades between people, are one option that can be used. If using an exchange which requires KYC is an acceptable risk for you as long as subsequent transactions can't be traced, a much easier option is to purchase Monero on an exchange like [Kraken](https://kraken.com), or purchase Bitcoin/Litecoin from a KYC exchange which can then be swapped for Monero. Then, you can withdraw the purchased Monero to your own noncustodial wallet to use privately from that point forward.
|
||||
|
||||
If you go this route, make sure to purchase Monero at different times and in different amounts than where you will spend it. If you purchase $5000 of Monero at an exchange and make a $5000 purchase in Monero an hour later, those actions could potentially be correlated by an outside observer regardless of which path the Monero took. Staggering purchases and purchasing larger amounts of Monero in advance to later spend on multiple smaller transactions can avoid this pitfall.
|
||||
|
||||
@@ -87,10 +84,3 @@ If you go this route, make sure to purchase Monero at different times and in dif
|
||||
When you're making a payment in-person with cash, make sure to keep your in-person privacy in mind. Security cameras are ubiquitous. Consider wearing non-distinct clothing and a face mask (such as a surgical mask or N95). Don’t sign up for rewards programs or provide any other information about yourself.
|
||||
|
||||
When purchasing online, ideally you should do so over [Tor](tor-overview.md). However, many merchants don’t allow purchases with Tor. You can consider using a [recommended VPN](../vpn.md) (paid for with cash, gift card, or Monero), or making the purchase from a coffee shop or library with free Wi-Fi. If you are ordering a physical item that needs to be delivered, you will need to provide a delivery address. You should consider using a PO box, private mailbox, or work address.
|
||||
|
||||
<div class="admonition tip" markdown>
|
||||
<p class="admonition-title">Important notices</p>
|
||||
|
||||
The content here is not legal or financial advice. We do not endorse or encourage illicit activities, and we do not endorse or encourage anything which violates a company's terms of service. Check with a professional to confirm that these recommendations are legal and available in your jurisdiction. [See all notices](../about/notices.md).
|
||||
|
||||
</div>
|
||||
|
||||
@@ -204,5 +204,5 @@ It is [possible](https://discuss.privacyguides.net/t/clarify-tors-weaknesses-wit
|
||||
## Additional Resources
|
||||
|
||||
- [Tor Browser User Manual](https://tb-manual.torproject.org)
|
||||
- [How Tor Works - Computerphile](https://youtube.com/watch?v=QRYzre4bf7I) <small>(YouTube)</small>
|
||||
- [Tor Onion Services - Computerphile](https://youtube.com/watch?v=lVcbq_a5N9I) <small>(YouTube)</small>
|
||||
- [How Tor Works - Computerphile](https://invidious.privacyguides.net/embed/QRYzre4bf7I?local=true) <small>(YouTube)</small>
|
||||
- [Tor Onion Services - Computerphile](https://invidious.privacyguides.net/embed/lVcbq_a5N9I?local=true) <small>(YouTube)</small>
|
||||
|
||||
188
docs/ai-chat.md
@@ -1,188 +0,0 @@
|
||||
---
|
||||
meta_title: "Recommended AI Chat: Private ChatGPT Alternatives - Privacy Guides"
|
||||
title: "AI Chat"
|
||||
icon: material/assistant
|
||||
description: Unlike OpenAI's ChatGPT and its Big Tech competitors, these AI tools run locally so your data never leaves your desktop device.
|
||||
cover: ai-chatbots.webp
|
||||
---
|
||||
<small>Protects against the following threat(s):</small>
|
||||
|
||||
- [:material-server-network: Service Providers](basics/common-threats.md#privacy-from-service-providers){ .pg-teal }
|
||||
- [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown }
|
||||
- [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray }
|
||||
|
||||
Since the release of ChatGPT in 2022, interactions with Large Language Models (LLMs) have become increasingly common. LLMs can help us write better, understand unfamiliar subjects, or answer a wide range of questions. They can statistically predict the next word based on a vast amount of data scraped from the web.
|
||||
|
||||
## Privacy Concerns About LLMs
|
||||
|
||||
Data used to train AI models, however, includes a massive amount of publicly available data scraped from the web, which can include sensitive information like names and addresses. Cloud-based AI software often [collects your inputs](https://openai.com/policies/row-privacy-policy), meaning your chats are not private from them. This practice also introduces a risk of data breaches. Furthermore, there is a real possibility that an LLM will leak your private chat information in future conversations with other users.
|
||||
|
||||
If you are concerned about these practices, you can either refuse to use AI, or use [truly open-source models](https://proton.me/blog/how-to-build-privacy-first-ai) which publicly release and allow you to inspect their training datasets. One such model is [OLMoE](https://allenai.org/blog/olmoe-an-open-small-and-state-of-the-art-mixture-of-experts-model-c258432d0514) made by [Ai2](https://allenai.org/open-data).
|
||||
|
||||
Alternatively, you can run AI models locally so that your data never leaves your device and is therefore never shared with third parties. As such, local models are a more private and secure alternative to cloud-based solutions and allow you to share sensitive information to the AI model without worry.
|
||||
|
||||
## AI Models
|
||||
|
||||
### Hardware for Local AI Models
|
||||
|
||||
Local models are also fairly accessible. It's possible to run smaller models at lower speeds on as little as 8GB of RAM. Using more powerful hardware such as a dedicated GPU with sufficient VRAM or a modern system with fast LPDDR5X memory offers the best experience.
|
||||
|
||||
LLMs can usually be differentiated by the number of parameters, which can vary between 1.3B to 405B for open-source models available for end users. For example, models below 6.7B parameters are only good for basic tasks like text summaries, while models between 7B and 13B are a great compromise between quality and speed. Models with advanced reasoning capabilities are generally around 70B.
|
||||
|
||||
For consumer-grade hardware, it is generally recommended to use [quantized models](https://huggingface.co/docs/optimum/en/concept_guides/quantization) for the best balance between model quality and performance. Check out the table below for more precise information about the typical requirements for different sizes of quantized models.
|
||||
|
||||
| Model Size (in Parameters) | Minimum RAM | Minimum Processor |
|
||||
|---|---|---|
|
||||
| 7B | 8GB | Modern CPU (AVX2 support) |
|
||||
| 13B | 16GB | Modern CPU (AVX2 support) |
|
||||
| 70B | 72GB | GPU with VRAM |
|
||||
|
||||
To run AI locally, you need both an AI model and an AI client.
|
||||
|
||||
### Choosing a Model
|
||||
|
||||
There are many permissively licensed models available to download. [Hugging Face](https://huggingface.co/models) is a platform that lets you browse, research, and download models in common formats like [GGUF](https://huggingface.co/docs/hub/en/gguf). Companies that provide good open-weights models include big names like Mistral, Meta, Microsoft, and Google. However, there are also many community models and 'fine-tunes' available. As mentioned above, quantized models offer the best balance between model quality and performance for those using consumer-grade hardware.
|
||||
|
||||
To help you choose a model that fits your needs, you can look at leaderboards and benchmarks. The most widely-used leaderboard is the community-driven [LM Arena](https://lmarena.ai). Additionally, the [OpenLLM Leaderboard](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard) focuses on the performance of open-weights models on common benchmarks like [MMLU-Pro](https://arxiv.org/abs/2406.01574). There are also specialized benchmarks which measure factors like [emotional intelligence](https://eqbench.com), ["uncensored general intelligence"](https://huggingface.co/spaces/DontPlanToEnd/UGI-Leaderboard), and [many others](https://www.nebuly.com/blog/llm-leaderboards).
|
||||
|
||||
## AI Chat Clients
|
||||
|
||||
| Feature | [Kobold.cpp](#koboldcpp) | [Ollama](#ollama-cli) | [Llamafile](#llamafile) |
|
||||
|---|---|---|---|
|
||||
| GPU Support | :material-check:{ .pg-green } | :material-check:{ .pg-green } | :material-check:{ .pg-green } |
|
||||
| Image Generation | :material-check:{ .pg-green } | :material-close:{ .pg-red } | :material-close:{ .pg-red } |
|
||||
| Speech Recognition | :material-check:{ .pg-green } | :material-close:{ .pg-red } | :material-close:{ .pg-red } |
|
||||
| Auto-download Models | :material-close:{ .pg-red } | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } Few models available |
|
||||
| Custom Parameters | :material-check:{ .pg-green } | :material-close:{ .pg-red } | :material-check:{ .pg-green } |
|
||||
| Multi-platform | :material-check:{ .pg-green } | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } Size limitations on Windows |
|
||||
|
||||
### Kobold.cpp
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{align=right}
|
||||
|
||||
Kobold.cpp is an AI client that runs locally on your Windows, Mac, or Linux computer. It's an excellent choice if you are looking for heavy customization and tweaking, such as for role-playing purposes.
|
||||
|
||||
In addition to supporting a large range of text models, Kobold.cpp also supports image generators such as [Stable Diffusion](https://stability.ai/stable-image) and automatic speech recognition tools such as [Whisper](https://github.com/ggerganov/whisper.cpp).
|
||||
|
||||
[:octicons-home-16: Homepage](https://github.com/LostRuins/koboldcpp){ .md-button .md-button--primary }
|
||||
[:octicons-info-16:](https://github.com/LostRuins/koboldcpp/wiki){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://github.com/LostRuins/koboldcpp){ .card-link title="Source Code" }
|
||||
[:octicons-lock-16:](https://github.com/LostRuins/koboldcpp/blob/2f3597c29abea8b6da28f21e714b6b24a5aca79b/SECURITY.md){ .card-link title="Security Policy" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:fontawesome-brands-windows: Windows](https://github.com/LostRuins/koboldcpp/releases)
|
||||
- [:simple-apple: macOS](https://github.com/LostRuins/koboldcpp/releases)
|
||||
- [:simple-linux: Linux](https://github.com/LostRuins/koboldcpp/releases)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="admonition note" markdown>
|
||||
<p class="admonition-title">Compatibility Issues</p>
|
||||
|
||||
Kobold.cpp might not run on computers without AVX/AVX2 support.
|
||||
|
||||
</div>
|
||||
|
||||
Kobold.cpp allows you to modify parameters such as the AI model temperature and the AI chat's system prompt. It also supports creating a network tunnel to access AI models from other devices such as your phone.
|
||||
|
||||
### Ollama (CLI)
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{align=right}
|
||||
|
||||
Ollama is a command-line AI assistant that is available on macOS, Linux, and Windows. Ollama is a great choice if you're looking for an AI client that's easy-to-use, widely compatible, and fast due to its use of inference and other techniques. It also doesn't involve any manual setup.
|
||||
|
||||
In addition to supporting a wide range of text models, Ollama also supports [LLaVA](https://github.com/haotian-liu/LLaVA) models and has experimental support for Meta's [Llama vision capabilities](https://huggingface.co/blog/llama32#what-is-llama-32-vision).
|
||||
|
||||
[:octicons-home-16: Homepage](https://ollama.com){ .md-button .md-button--primary }
|
||||
[:octicons-info-16:](https://github.com/ollama/ollama#readme){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://github.com/ollama/ollama){ .card-link title="Source Code" }
|
||||
[:octicons-lock-16:](https://github.com/ollama/ollama/blob/a14f76491d694b2f5a0dec6473514b7f93beeea0/SECURITY.md){ .card-link title="Security Policy" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:fontawesome-brands-windows: Windows](https://ollama.com/download/windows)
|
||||
- [:simple-apple: macOS](https://ollama.com/download/mac)
|
||||
- [:simple-linux: Linux](https://ollama.com/download/linux)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
Ollama simplifies the process of setting up a local AI chat by downloading the AI model you want to use automatically. For example, running `ollama run llama3.2` will automatically download and run the Llama 3.2 model. Furthermore, Ollama maintains their own [model library](https://ollama.com/library) where they host the files of various AI models. This ensures that models are vetted for both performance and security, eliminating the need to manually verify model authenticity.
|
||||
|
||||
### Llamafile
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{align=right}
|
||||
|
||||
Llamafile is a lightweight single-file executable that allows users to run LLMs locally on their own computers without any setup involved. It is [backed by Mozilla](https://hacks.mozilla.org/2023/11/introducing-llamafile) and available on Linux, macOS, and Windows.
|
||||
|
||||
Llamafile also supports LLaVA. However, it doesn't support speech recognition or image generation.
|
||||
|
||||
[:octicons-home-16: Homepage](https://github.com/Mozilla-Ocho/llamafile){ .md-button .md-button--primary }
|
||||
[:octicons-info-16:](https://github.com/Mozilla-Ocho/llamafile#llamafile){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://github.com/Mozilla-Ocho/llamafile){ .card-link title="Source Code" }
|
||||
[:octicons-lock-16:](https://github.com/Mozilla-Ocho/llamafile#security){ .card-link title="Security Policy" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:fontawesome-solid-desktop: Desktop](https://github.com/Mozilla-Ocho/llamafile#quickstart)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
Mozilla has made llamafiles available for only some Llama and Mistral models, while there are few third-party llamafiles available. Moreover, Windows limits `.exe` files to 4GB, and most models are larger than that.
|
||||
|
||||
To circumvent these issues, you can [load external weights](https://github.com/Mozilla-Ocho/llamafile#using-llamafile-with-external-weights).
|
||||
|
||||
## Securely Downloading Models
|
||||
|
||||
If you use an AI client that maintains their own library of model files (such as [Ollama](#ollama-cli) and [Llamafile](#llamafile)), you should download it from there. However, if you want to download models not present in their library, or use an AI client that doesn't maintain its library (such as [Kobold.cpp](#koboldcpp)), you will need to take extra steps to ensure that the AI model you download is safe and legitimate.
|
||||
|
||||
We recommend downloading model files from Hugging Face since it provides several features to verify that your download is genuine and safe to use.
|
||||
|
||||
To check the authenticity and safety of the model, look for:
|
||||
|
||||
- Model cards with clear documentation
|
||||
- A verified organization badge
|
||||
- Community reviews and usage statistics
|
||||
- A "Safe" badge next to the model file (Hugging Face only)
|
||||
- Matching checksums[^1]
|
||||
- On Hugging Face, you can find the hash by clicking on a model file and looking for the **Copy SHA256** button below it. You should compare this checksum with the one from the model file you downloaded.
|
||||
|
||||
A downloaded model is generally safe if it satisfies all of the above checks.
|
||||
|
||||
## Criteria
|
||||
|
||||
Please note we are not affiliated with any of the projects we recommend. In addition to [our standard criteria](about/criteria.md), we have developed a clear set of requirements to allow us to provide objective recommendations. We suggest you familiarize yourself with this list before choosing to use a project and conduct your own research to ensure it's the right choice for you.
|
||||
|
||||
### Minimum Requirements
|
||||
|
||||
- Must be open-source.
|
||||
- Must not transmit personal data, including chat data.
|
||||
- Must be multi-platform.
|
||||
- Must not require a GPU.
|
||||
- Must have support for GPU-powered fast inference.
|
||||
- Must not require an internet connection.
|
||||
|
||||
### Best-Case
|
||||
|
||||
Our best-case criteria represent what we *would* like to see from the perfect project in this category. Our recommendations may not include any or all of this functionality, but those which do may rank higher than others on this page.
|
||||
|
||||
- Should be easy to download and set up, e.g. with a one-click install process.
|
||||
- Should have a built-in model downloader option.
|
||||
- The user should be able to modify the LLM parameters, such as its system prompt or temperature.
|
||||
|
||||
[^1]: A file checksum is a type of anti-tampering fingerprint. A developer usually provides a checksum in a text file that can be downloaded separately, or on the download page itself. Verifying that the checksum of the file you downloaded matches the one provided by the developer helps ensure that the file is genuine and wasn't tampered with in transit. You can use commands like `sha256sum` on Linux and macOS, or `certutil -hashfile file SHA256` on Windows to generate the downloaded file's checksum.
|
||||