Merge branch 'main' into main
@ -460,7 +460,8 @@
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/47955724?v=4",
|
||||
"profile": "https://github.com/taivlam",
|
||||
"contributions": [
|
||||
"doc"
|
||||
"doc",
|
||||
"maintenance"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
2
.github/workflows/build-pr.yml
vendored
@ -72,6 +72,8 @@ jobs:
|
||||
continue-on-error: false
|
||||
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
|
||||
strict: true
|
||||
secrets:
|
||||
RO_DISCOURSE_API_KEY: ${{ secrets.RO_DISCOURSE_API_KEY }}
|
||||
|
||||
build_i18n:
|
||||
if: ${{ contains(github.event.pull_request.labels.*.name, 'ci:build i18n') }}
|
||||
|
27
.github/workflows/build.yml
vendored
@ -30,6 +30,9 @@ on:
|
||||
cache:
|
||||
type: boolean
|
||||
default: true
|
||||
secrets:
|
||||
RO_DISCOURSE_API_KEY:
|
||||
required: false
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@ -172,23 +175,31 @@ jobs:
|
||||
sudo apt install pngquant
|
||||
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --cmd=mkdocs"" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Generate Donating Members List
|
||||
continue-on-error: true
|
||||
env:
|
||||
DISCOURSE_API_KEY: ${{ secrets.RO_DISCOURSE_API_KEY }}
|
||||
run: |
|
||||
pip install requests
|
||||
python generate-members.py > includes/members.md
|
||||
|
||||
- name: Build Website
|
||||
run: |
|
||||
eval ./run.sh --build --lang=${{ inputs.lang }} "$EXTRA_FLAGS"
|
||||
|
||||
- name: Run index-generation.sh for top posts
|
||||
- name: Run generate-topics.sh for top posts
|
||||
if: inputs.lang == 'en'
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
bash generate-topics.sh \
|
||||
--source='https://discuss.privacyguides.net/top.json?period=weekly' \
|
||||
--tag="top posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
--count=3
|
||||
|
||||
- name: Run index-generation.sh for latest posts
|
||||
- name: Run generate-topics.sh for latest posts
|
||||
if: inputs.lang == 'en'
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
bash generate-topics.sh \
|
||||
--source='https://discuss.privacyguides.net/latest.json' \
|
||||
--tag="latest posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
@ -259,6 +270,14 @@ jobs:
|
||||
path: site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz
|
||||
retention-days: 1
|
||||
|
||||
- name: Upload members list
|
||||
uses: actions/upload-artifact@v4
|
||||
if: inputs.config == 'build' && inputs.lang == 'en'
|
||||
with:
|
||||
name: members.md
|
||||
path: includes/members.md
|
||||
retention-days: 1
|
||||
|
||||
offline_package:
|
||||
if: inputs.config == 'offline' && inputs.lang == 'en'
|
||||
needs: build
|
||||
|
2
.github/workflows/publish-release.yml
vendored
@ -63,6 +63,8 @@ jobs:
|
||||
context: production
|
||||
continue-on-error: false
|
||||
cache: false
|
||||
secrets:
|
||||
RO_DISCOURSE_API_KEY: ${{ secrets.RO_DISCOURSE_API_KEY }}
|
||||
|
||||
build_blog:
|
||||
needs: submodule
|
||||
|
8
.github/workflows/update-discussions.yml
vendored
@ -55,17 +55,17 @@ jobs:
|
||||
source: /en/index.html
|
||||
target: ./site/en/
|
||||
|
||||
- name: Run index-generation.sh for top posts
|
||||
- name: Run generate-topics.sh for top posts
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
bash generate-topics.sh \
|
||||
--source='https://discuss.privacyguides.net/top.json?period=weekly' \
|
||||
--tag="top posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
--count=3
|
||||
|
||||
- name: Run index-generation.sh for latest posts
|
||||
- name: Run generate-topics.sh for latest posts
|
||||
run: |
|
||||
bash index-generation.sh \
|
||||
bash generate-topics.sh \
|
||||
--source='https://discuss.privacyguides.net/latest.json' \
|
||||
--tag="latest posts" \
|
||||
--destination="./site/en/index.html" \
|
||||
|
3
.gitignore
vendored
@ -23,3 +23,6 @@ node_modules
|
||||
.venv
|
||||
.env
|
||||
.mkdocs-insiders-*
|
||||
|
||||
# Automatically generated
|
||||
includes/members.md
|
||||
|
20
.mailmap
@ -1,16 +1,22 @@
|
||||
# Please use this file to correct information in our git log.
|
||||
# Format: Proper Name <Proper Email> <Incorrect Email>
|
||||
#
|
||||
# Privacy Guides Team Members
|
||||
# ===========================
|
||||
Daniel Gray <dngray@privacyguides.org> <dng@disroot.org>
|
||||
Daniel Gray <dngray@privacyguides.org> <48640805+dngray@users.noreply.github.com>
|
||||
Daniel Gray <dngray@privacyguides.org> <dngray@privacytools.io>
|
||||
Daniel Gray <dngray@privacyguides.org>
|
||||
Em <em@privacyguides.org> <194856901+EmAtPrivacyGuides@users.noreply.github.com>
|
||||
Freddy <freddy@privacyguides.org> <freddy@decypher.pw>
|
||||
Freddy <freddy@privacyguides.org> <freddy@privacytools.io>
|
||||
fria <fria@privacyguides.org> <138676274+friadev@users.noreply.github.com>
|
||||
Jonah Aragon <jonah@privacyguides.org> <jonah@triplebit.net>
|
||||
Jonah Aragon <jonah@privacyguides.org> <jonah@privacytools.io>
|
||||
Jonah Aragon <jonah@privacyguides.org> <github@aragon.science>
|
||||
mfwmyfacewhen <mfw@privacyguides.org> <94880365+mfwmyfacewhen@users.noreply.github.com>
|
||||
mbananasynergy <mbananasynergy@privacyguides.org> <>
|
||||
mbananasynergy <mbananasynergy@privacyguides.org> <107055883+matchboxbananasynergy@users.noreply.github.com>
|
||||
rollsicecream <rollsicecream@proton.me> <153316540+rollsicecream@users.noreply.github.com>
|
||||
rollsicecream <rollsicecream@proton.me> <waterfallnet@proton.me>
|
||||
Freddy <freddy@privacyguides.org> <freddy@decypher.pw>
|
||||
Freddy <freddy@privacyguides.org> <freddy@privacytools.io>
|
||||
Jordan Warne <jordan@privacyguides.org> <jw@omg.lol>
|
||||
Justin Ehrenhofer <justin.ehrenhofer@gmail.com> <12520755+SamsungGalaxyPlayer@users.noreply.github.com>
|
||||
Mare Polaris <ph00lt0@privacyguides.org> <15004290+ph00lt0@users.noreply.github.com>
|
||||
Niek de Wilde <niek@privacyguides.org> <github.ef27z@simplelogin.com>
|
||||
Niek de Wilde <niek@privacyguides.org> <blacklight447@privacytools.io>
|
||||
redoomed1 <redoomed1@privacyguides.org> <161974310+redoomed1@users.noreply.github.com>
|
||||
|
18
.vscode/ltex.dictionary.en-US.txt
vendored
@ -533,3 +533,21 @@ tessera
|
||||
Corbató
|
||||
NordPass
|
||||
Syncable
|
||||
fontawesome-solid-glasses
|
||||
CommonHealth
|
||||
Euki
|
||||
sympto-thermal
|
||||
OsmAnd
|
||||
Paaster
|
||||
material-check-decagram
|
||||
Bluesky
|
||||
Codeberg
|
||||
simple-codeberg
|
||||
simple-reddit
|
||||
fontawesome-brands-linkedin
|
||||
simple-keepassxc
|
||||
OnlyKey
|
||||
fontawesome-solid-unlock-keyhole
|
||||
KeeShare
|
||||
KeePassium
|
||||
MWEB
|
||||
|
1
.vscode/settings.json
vendored
@ -86,6 +86,7 @@
|
||||
"AUXILIARY_DO_WITH_INCORRECT_VERB_FORM": "hint",
|
||||
"MISSING_COMMA_AFTER_YEAR": "hint",
|
||||
"DO_VBZ": "hint",
|
||||
"NOUN_AROUND_IT": "hint",
|
||||
"default": "error"
|
||||
},
|
||||
"editor.unicodeHighlight.ambiguousCharacters": true,
|
||||
|
@ -14,9 +14,7 @@
|
||||
<a href="https://github.com/privacyguides/privacyguides.org/stargazers">
|
||||
<img src="https://img.shields.io/github/stars/privacyguides?style=social"></a>
|
||||
<a href="https://mastodon.neat.computer/@privacyguides">
|
||||
<img src="https://img.shields.io/mastodon/follow/109298532634697668?domain=https%3A%2F%2Fmastodon.neat.computer&label=Follow&style=social"></a>
|
||||
<a href="https://bsky.app/profile/privacyguides.org">
|
||||
<img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpublic.api.bsky.app%2Fxrpc%2Fapp.bsky.actor.getProfile%3Factor%3Dprivacyguides.org&query=%24.followersCount&style=social&logo=bluesky&label=Follow"></a></p>
|
||||
<img src="https://img.shields.io/mastodon/follow/109298532634697668?domain=https%3A%2F%2Fmastodon.neat.computer&label=Follow&style=social"></a></p>
|
||||
|
||||
<p><a href="https://github.com/privacyguides/privacyguides.org/pulls">
|
||||
<img src="https://img.shields.io/github/issues-pr-raw/privacyguides/privacyguides.org"></a>
|
||||
@ -222,7 +220,7 @@ Privacy Guides wouldn't be possible without these wonderful people ([emoji key](
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N"><img src="https://avatars.githubusercontent.com/u/30232065?v=4" width="100px;" loading=lazy /><br /><sub><b>C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Strappazzon"><img src="https://avatars.githubusercontent.com/u/19752093?v=4" width="100px;" loading=lazy /><br /><sub><b>Alberto Strappazzon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Strappazzon" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://victorhckinthefreeworld.com/"><img src="https://avatars.githubusercontent.com/u/1514206?v=4" width="100px;" loading=lazy /><br /><sub><b>Victorhck</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=victorhck" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/taivlam"><img src="https://avatars.githubusercontent.com/u/47955724?v=4" width="100px;" loading=lazy /><br /><sub><b>Tai Lam</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=taivlam" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/taivlam"><img src="https://avatars.githubusercontent.com/u/47955724?v=4" width="100px;" loading=lazy /><br /><sub><b>Tai Lam</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=taivlam" title="Documentation">📖</a> <a href="#maintenance-taivlam" title="Maintenance">🚧</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NinebitX"><img src="https://avatars.githubusercontent.com/u/26626722?v=4" width="100px;" loading=lazy /><br /><sub><b>NinebitX</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NinebitX" title="Documentation">📖</a></td>
|
||||
|
After Width: | Height: | Size: 200 KiB |
After Width: | Height: | Size: 180 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 202 KiB |
After Width: | Height: | Size: 222 KiB |
After Width: | Height: | Size: 230 KiB |
After Width: | Height: | Size: 224 KiB |
After Width: | Height: | Size: 228 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 198 KiB |
After Width: | Height: | Size: 258 KiB |
After Width: | Height: | Size: 240 KiB |
After Width: | Height: | Size: 200 KiB |
After Width: | Height: | Size: 203 KiB |
After Width: | Height: | Size: 494 KiB |
After Width: | Height: | Size: 263 KiB |
After Width: | Height: | Size: 273 KiB |
After Width: | Height: | Size: 241 KiB |
After Width: | Height: | Size: 218 KiB |
After Width: | Height: | Size: 236 KiB |
After Width: | Height: | Size: 257 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 246 KiB |
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1920 1080" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<rect x="0" y="0" width="1920" height="1080" style="fill:rgb(0,51,153);"/>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,597.249,537.627)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M12.65,10C11.83,7.67 9.61,6 7,6C3.69,6 1,8.69 1,12C1,15.31 3.69,18 7,18C9.61,18 11.83,16.33 12.65,14L17,14L17,18L21,18L21,14L23,14L23,10L12.65,10ZM7,14C5.9,14 5,13.1 5,12C5,10.9 5.9,10 7,10C8.1,10 9,10.9 9,12C9,13.1 8.1,14 7,14Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,1322.75,537.627)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<g>
|
||||
<path d="M2,17L22,17L22,19L2,19L2,17ZM3.15,12.95L4,11.47L4.85,12.95L6.15,12.2L5.3,10.72L7,10.72L7,9.22L5.3,9.22L6.15,7.75L4.85,7L4,8.47L3.15,7L1.85,7.75L2.7,9.22L1,9.22L1,10.72L2.7,10.72L1.85,12.2L3.15,12.95ZM9.85,12.2L11.15,12.95L12,11.47L12.85,12.95L14.15,12.2L13.3,10.72L15,10.72L15,9.22L13.3,9.22L14.15,7.75L12.85,7L12,8.47L11.15,7L9.85,7.75L10.7,9.22L9,9.22L9,10.72L10.7,10.72L9.85,12.2ZM23,9.22L21.3,9.22L22.15,7.75L20.85,7L20,8.47L19.15,7L17.85,7.75L18.7,9.22L17,9.22L17,10.72L18.7,10.72L17.85,12.2L19.15,12.95L20,11.47L20.85,12.95L22.15,12.2L21.3,10.72L23,10.72L23,9.22Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,642.604,709.746)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M20,18C21.1,18 22,17.1 22,16L22,6C22,4.9 21.1,4 20,4L4,4C2.9,4 2,4.9 2,6L2,16C2,17.1 2.9,18 4,18L0,18L0,20L24,20L24,18L20,18ZM4,6L20,6L20,16L4,16L4,6Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,1279.34,709.746)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M20,13L4,13C3.45,13 3,13.45 3,14L3,20C3,20.55 3.45,21 4,21L20,21C20.55,21 21,20.55 21,20L21,14C21,13.45 20.55,13 20,13ZM7,19C5.9,19 5,18.1 5,17C5,15.9 5.9,15 7,15C8.1,15 9,15.9 9,17C9,18.1 8.1,19 7,19ZM20,3L4,3C3.45,3 3,3.45 3,4L3,10C3,10.55 3.45,11 4,11L20,11C20.55,11 21,10.55 21,10L21,4C21,3.45 20.55,3 20,3ZM7,9C5.9,9 5,8.1 5,7C5,5.9 5.9,5 7,5C8.1,5 9,5.9 9,7C9,8.1 8.1,9 7,9Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,1144.75,858.679)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M9,17L7,17L7,10L9,10L9,17ZM13,17L11,17L11,7L13,7L13,17ZM17,17L15,17L15,13L17,13L17,17ZM19.5,19.1L4.5,19.1L4.5,5L19.5,5L19.5,19.1ZM19.5,3L4.5,3C3.4,3 2.5,3.9 2.5,5L2.5,19C2.5,20.1 3.4,21 4.5,21L19.5,21C20.6,21 21.5,20.1 21.5,19L21.5,5C21.5,3.9 20.6,3 19.5,3Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,776.985,858.679)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M17,12L12,12L12,17L17,17L17,12ZM16,1L16,3L8,3L8,1L6,1L6,3L5,3C3.89,3 3.01,3.9 3.01,5L3,19C3,20.1 3.89,21 5,21L19,21C20.1,21 21,20.1 21,19L21,5C21,3.9 20.1,3 19,3L18,3L18,1L16,1ZM19,19L5,19L5,8L19,8L19,19Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,960.869,904.116)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M19,2L14.82,2C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2L5,2C3.9,2 3,2.9 3,4L3,20C3,21.1 3.9,22 5,22L19,22C20.1,22 21,21.1 21,20L21,4C21,2.9 20.1,2 19,2ZM12,2C12.55,2 13,2.45 13,3C13,3.55 12.55,4 12,4C11.45,4 11,3.55 11,3C11,2.45 11.45,2 12,2ZM19,20L5,20L5,4L7,4L7,7L17,7L17,4L19,4L19,20Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,960.869,175.884)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M20,4L4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,6C22,4.9 21.1,4 20,4ZM20,8L12,13L4,8L4,6L12,11L20,6L20,8Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,1144.75,223.173)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M14,19.88L14,22L16.12,22L21.29,16.83L19.17,14.71L14,19.88Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M20,8L14,2L6,2C4.9,2 4.01,2.9 4.01,4L4,20C4,21.1 4.89,22 5.99,22L12,22L12,19.05L20,11.05L20,8ZM13,9L13,3.5L18.5,9L13,9Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M22.71,14L22,13.29C21.61,12.9 20.98,12.9 20.59,13.29L19.88,14L22,16.12L22.71,15.41C23.1,15.02 23.1,14.39 22.71,14Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,776.985,223.173)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M19.3,16.9C19.7,16.2 20,15.4 20,14.5C20,12 18,10 15.5,10C13,10 11,12 11,14.5C11,17 13,19 15.5,19C16.4,19 17.2,18.7 17.9,18.3L21.1,21.5L22.5,20.1L19.3,16.9ZM15.5,17C14.1,17 13,15.9 13,14.5C13,13.1 14.1,12 15.5,12C16.9,12 18,13.1 18,14.5C18,15.9 16.9,17 15.5,17ZM12,20L12,22C6.48,22 2,17.52 2,12C2,6.48 6.48,2 12,2C16.84,2 20.87,5.44 21.8,10L19.73,10C19.09,7.54 17.33,5.53 15,4.59L15,5C15,6.1 14.1,7 13,7L11,7L11,9C11,9.55 10.55,10 10,10L8,10L8,12L10,12L10,15L9,15L4.21,10.21C4.08,10.79 4,11.38 4,12C4,16.41 7.59,20 12,20Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,1279.34,365.507)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M20,2L4,2C2.9,2 2.01,2.9 2.01,4L2,22L6,18L20,18C21.1,18 22,17.1 22,16L22,4C22,2.9 21.1,2 20,2ZM6,9L18,9L18,11L6,11L6,9ZM14,14L6,14L6,12L14,12L14,14ZM18,8L6,8L6,6L18,6L18,8Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.55845,0,0,2.55845,642.604,365.507)">
|
||||
<g transform="matrix(1,0,0,1,-24,-24)">
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<rect x="0" y="0" width="24" height="24" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2,0,0,2,0,0)">
|
||||
<path d="M20.5,3L20.34,3.03L15,5.1L9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38L3,20.5C3,20.78 3.22,21 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62L21,3.5C21,3.22 20.78,3 20.5,3ZM15,19L9,16.89L9,5L15,7.11L15,19Z" style="fill:rgb(255,204,0);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 18 KiB |
BIN
blog/assets/images/the-privacy-of-others/cover.webp
Normal file
After Width: | Height: | Size: 70 KiB |
424
blog/posts/installing-keepassxc-and-yubikey.md
Normal file
@ -0,0 +1,424 @@
|
||||
---
|
||||
date:
|
||||
created: 2025-03-18T17:00:00Z
|
||||
categories:
|
||||
- Tutorials
|
||||
authors:
|
||||
- em
|
||||
description: This tutorial demonstrates how to install the local-only password manager KeePassXC and secure a password database with YubiKey.
|
||||
schema_type: AnalysisNewsArticle
|
||||
---
|
||||
# KeePassXC + YubiKey: How to set up a local-only password manager
|
||||
|
||||

|
||||
<small aria-hidden="true">Illustration: Privacy Guides | Graphics: Yubico | Logo: KeePassXC</small>
|
||||
|
||||
If you are looking for a good remote password manager you can use from anywhere, there are plenty of excellent [options](https://www.privacyguides.org/en/passwords/) to choose from. However, if you prefer to only store your passwords locally, [KeePassXC](https://www.privacyguides.org/en/passwords/#keepassxc) is what you need. In this tutorial, we will set up KeePassXC to work with [YubiKey](https://www.privacyguides.org/en/security-keys/#yubikey) as an additional factor to secure your local-only password database.<!-- more -->
|
||||
|
||||
## :simple-keepassxc: KeePassXC summary
|
||||
|
||||
KeePassXC is a free, open-source, and desktop-only password manager. The community-driven project was first released in 2012 and is a fork of both the *KeePass Password Safe* application and *KeePassX*, which is no longer actively maintained.
|
||||
|
||||
In addition to having its [code](https://github.com/keepassxreboot/keepassxc) available for all to see, KeePassXC also went through an independent [security review](https://keepassxc.org/blog/2023-04-15-audit-report/) in 2023.
|
||||
|
||||
Because it does not automatically sync with any remote cloud service, KeePassXC works offline by default. This offers additional protections for your privacy, and potentially for your security as well, depending on your specific situation.
|
||||
|
||||
### Platforms
|
||||
|
||||
KeePassXC can run on Linux, macOS, and Windows computers. There is no direct option for a KeePassXC application on mobile. The KeePassXC team [suggests](https://keepassxc.org/docs/#faq-platform-mobile) using [KeePassDX](https://www.keepassdx.com/) or [KeePass2Android](https://play.google.com/store/apps/details?id=keepass2android.keepass2android) on Android phones, and [Strongbox](https://strongboxsafe.com/) or [KeePassium](https://keepassium.com/) on iPhones.
|
||||
|
||||
### Database cloud backup
|
||||
|
||||
KeePassXC is local-first and will not automatically back up your password database in the cloud. This can be both an advantage for security and privacy, and a disadvantage if something were to happen to your device.
|
||||
|
||||
To prevent losing access to your passwords, it is recommended to regularly back up your encrypted database `.kdbx` file in a remote [cloud storage](https://www.privacyguides.org/en/cloud/) of your choice, or on an encrypted external drive or USB stick.
|
||||
|
||||
When copying this file to a third-party cloud service, it will [remain fully encrypted](https://keepassxc.org/docs/KeePassXC_UserGuide#_storing_your_database) and only get decrypted locally on your device. That being said, it's still always best to select an end-to-end encrypted cloud storage whenever possible.
|
||||
|
||||
### Feature overview
|
||||
|
||||
This tutorial only covers the basic installation to get you ready using KeePassXC locally, with a main password secured with a YubiKey. However, KeePassXC offers a lot of features you might also want to have a look at.
|
||||
|
||||
In addition to the features we will set up here, KeePassXC offers the following:
|
||||
|
||||
- [Passkey support](https://keepassxc.org/docs/KeePassXC_UserGuide#_passkeys)
|
||||
|
||||
- [Password generator](https://keepassxc.org/docs/KeePassXC_UserGuide#_password_generator)
|
||||
|
||||
- [Command line tool](https://keepassxc.org/docs/KeePassXC_UserGuide#_command_line_tool)
|
||||
|
||||
- [SSH agent integration](https://keepassxc.org/docs/KeePassXC_UserGuide#_ssh_agent_integration)
|
||||
|
||||
- [KeeShare and groups](https://keepassxc.org/docs/KeePassXC_UserGuide#_database_sharing_with_keeshare)
|
||||
|
||||
- [Import password databases from 1Password, Bitwarden, Proton Pass, KeePass, CSV files](https://keepassxc.org/docs/KeePassXC_UserGuide#_importing_databases)
|
||||
|
||||
- [Export databases to CSV, HTML, or XML files](https://keepassxc.org/docs/KeePassXC_UserGuide#_exporting_databases)
|
||||
|
||||
- [And more](https://keepassxc.org/docs/KeePassXC_GettingStarted#_features)
|
||||
|
||||
### What's new with KeePassXC 2.7.10
|
||||
|
||||
On March 4th, KeePassXC released its most recent update. This update includes the capacity to import Proton Pass databases, to generate passphrases using *mixed* case (a mix of uppercase and lowercase), and many other [useful features](https://keepassxc.org/blog/2025-03-04-2.7.10-released/).
|
||||
|
||||
## :material-toolbox: Requirements and preparation
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Operating systems</p>
|
||||
|
||||
This tutorial was completed using macOS, but your experience shouldn't be much different if you are using Linux or Windows.
|
||||
|
||||
</div>
|
||||
|
||||
For this tutorial you will need:
|
||||
|
||||
- [x] Computer running Linux, macOS, or Windows
|
||||
- [x] Internet connection
|
||||
- [x] Ability to install software on this computer
|
||||
- [x] One or two YubiKeys (ideally two)
|
||||
|
||||
## :material-download-circle: Setting up KeePassXC
|
||||
|
||||
### Step 1: Download and Install KeePassXC
|
||||
|
||||
Go to KeePassXC's download page and download the application version for your operating system. If the website doesn't detect your system automatically, you can change it on the top menu, or click on the "See more options" yellow button for previous versions.
|
||||
|
||||

|
||||
|
||||
<div class="admonition success" markdown>
|
||||
<p class="admonition-title">Verifying signatures</p>
|
||||
|
||||
For ideal security, you can verify the authenticity and integrity of the file you just downloaded by verifying the file's signatures. To do this, [follow the instructions](https://keepassxc.org/verifying-signatures/) from the website to guarantee the file you downloaded was created by the KeePassXC Team and has not been tampered with.
|
||||
|
||||
</div>
|
||||
|
||||
Complete the process for your respective OS to install and open the application once verified.
|
||||
|
||||

|
||||
|
||||
On macOS, you will be prompted with a warning message saying "**“KeePassXC.app” is an app downloaded from the Internet. Are you sure you want to open it?**", click "Open".
|
||||
|
||||

|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">KeePassXC blocks screenshots by default</p>
|
||||
|
||||
Interestingly, KeePassXC has a security feature that [blocks](https://keepassxc.org/docs/KeePassXC_UserGuide#_screenshot_security) screenshots and recordings of the application window on macOS and Windows.
|
||||
|
||||
This is a great feature to prevent accidentally sharing your decrypted password database information during a meeting presentation, for example.
|
||||
|
||||
Thankfully for writing this tutorial, there is a way to disable it temporarily, but **you** should definitely keep it on.
|
||||
|
||||
</div>
|
||||
|
||||
### Step 2: Adjust the settings
|
||||
|
||||
Once you have installed and opened KeePassXC, before creating a database for your passwords, click on the "Settings" gear button on the upper-right, on the *toolbar*.
|
||||
|
||||

|
||||
|
||||
From there, you will see many options you can adjust to your preferences. The default settings are already good, but you might want to tweak a few things to your specific usage.
|
||||
|
||||
#### Keep a previous version backup (recommended)
|
||||
|
||||
Scrolling down to the "File Management" section, you might want to enable the option to "Backup database file before saving". This will ensure you always have a backup of the previous version of your database, in case you accidentally delete important information for example.
|
||||
|
||||
You can store this backup in the same or a different directory. You can change this backup's name or keep the default that will append `.old` to your database filename.
|
||||
|
||||

|
||||
|
||||
#### Add icons specific to each service (optional)
|
||||
|
||||
If you want to use icons specific to each service for your password entries, you can go to the "Security" subsection on the left-side menu, then in "Privacy" at the bottom *enable* "Use DuckDuckGo service to download website icons". This isn't enabled by default. Then click "OK" on the lower-right.
|
||||
|
||||
<div class="admonition warning" markdown>
|
||||
<p class="admonition-title">Offline only?</p>
|
||||
|
||||
Do not enable this if you wish to use KeePassXC offline only. You will still be able to use different default icons for you entries instead of downloading specific icons from the internet.
|
||||
|
||||
</div>
|
||||
|
||||

|
||||
|
||||
### Step 3: Create a database
|
||||
|
||||
A database in KeePassXC is an encrypted file that will contain all the passwords you register.
|
||||
|
||||
You can use multiple separate databases with KeePassXC. For example, you could have a database for work, a database for your family, and a database for your personal accounts. All stored in separate files with separate main passwords. In the application, each database can be opened in its own tab.
|
||||
|
||||
To create a new database, from the Welcome section click on the "Create Database" button on the lower-left.
|
||||
|
||||
If you want to create a secondary database, you can also click on the dropdown Database menu on the application menu bar, then select "New Database".
|
||||
|
||||
<div class="admonition tip" markdown>
|
||||
<p class="admonition-title">Importing an existing database</p>
|
||||
|
||||
If you already have a password database file in the format `.kdbx`, you can import it from the Welcome page by clicking on "Import File" on the lower-right.
|
||||
|
||||
</div>
|
||||
|
||||
You will see a window pop up with "General Database Information". Pick a name and description for your database and click on "Continue" at the bottom.
|
||||
|
||||

|
||||
|
||||
For the second step, an "Encryption Settings" section will pop up. From there, you will be able to change the settings to your preferences. If you are not familiar with encryption algorithms, simply keep the defaults on and click "Continue" again.
|
||||
|
||||

|
||||
|
||||
For the next step, a "Database Credentials" section will pop up. From there, you will be able to choose a main password to lock your entire password database.
|
||||
|
||||
At this step, it is very important to [choose a password](https://www.privacyguides.org/en/basics/passwords-overview/#best-practices) that is **unique, complex, and long**. This is the password that will protect all your other passwords. It should be easy to remember for you, but it must be *unique* and *long*. Ideally, pick a **passphrase**.
|
||||
|
||||
#### Generate a main password (optional)
|
||||
|
||||
If you do not feel inspired, you can use the "Generate password" dice button on the right to help you pick a strong password.
|
||||
|
||||

|
||||
|
||||
No matter if you invent or generate your main password/passphrase, **make sure to remember this main password well**. You cannot rely on your password manager for this one.
|
||||
|
||||
<div class="admonition success" markdown>
|
||||
<p class="admonition-title">This step isn't over yet!</p>
|
||||
|
||||
This is where you will be adding your YubiKey to further secure your database. Keep the "Database Credentials" application window open and **continue with the step below** :material-arrow-down-bold:
|
||||
|
||||
</div>
|
||||
|
||||
## :material-shield-key: Securing your database with a YubiKey
|
||||
|
||||
To add a YubiKey to secure your KeePassXC database, you will first need to prepare your YubiKey(s) for it, if it's not already ready to use with a [Challenge-Response](https://docs.yubico.com/yesdk/users-manual/application-otp/challenge-response.html) application.
|
||||
|
||||
<details class="note" markdown>
|
||||
<summary>Using a YubiKey will not add authentication per se (read more)</summary>
|
||||
|
||||
Technically speaking, adding a YubiKey to your KeePassXC database isn't a second factor of authentication because KeePassXC isn't a service, therefore it cannot "authenticate" you.
|
||||
|
||||
However, adding a YubiKey to secure your KeePassXC database will make decryption of your database more secure by enhancing the encryption key of your database.
|
||||
|
||||
The Challenge-Response will remain the same each time you decrypt your database, *however*, it will change each time the database is updated (each time there is a change to it, such as adding an entry, removing an entry, adding a note, etc.). Note that the previous versions of your database could get unlocked with your main password + your key's previous Challenge-Response, however.
|
||||
|
||||
If your key's Challenge-Response were to become compromised, you could update your database (by adding or changing an entry for example), then fully delete all previous versions of your database. This would effectively make all previous Challenge-Response obsolete to unlock your current database.
|
||||
|
||||
You can read more on this in KeePassXC's [documentation](https://keepassxc.org/docs/).
|
||||
|
||||
</details>
|
||||
|
||||
### Step 4: Prepare your YubiKey(s)
|
||||
|
||||
Because you cannot register two YubiKeys for this type of application, you should first make sure that you either have a secure backup for this Challenge-Response, or that you have cloned it to two YubiKeys, or more. This is important in case you were to lose your YubiKey.
|
||||
|
||||
If you do have two YubiKeys, we have a [guide on how to reset your YubiKeys entirely and set up multiple keys as a backup](yubikey-reset-and-backup.md) which you may be interested in.
|
||||
|
||||
If you only need to learn more about the Challenge-Response YubiKey application, jump to [this section](yubikey-reset-and-backup.md#step-9-create-and-clone-your-keys-challenge-response) of the tutorial directly.
|
||||
|
||||
### Step 5: Add your YubiKey
|
||||
|
||||
Once your YubiKey's Challenge-Response slot has been properly configured and backed up, return to the KeePassXC's "Database Credentials" window, and click on the "Add additional protection" button in the middle.
|
||||
|
||||
This will open a new section with "Key File" and "Challenge-Response" options. Scroll down to "Challenge-Response". Plug in your YubiKey in your computer's port (only plug one key at the time), then click on the "Add Challenge-Response" button.
|
||||
|
||||

|
||||
|
||||
<div class="admonition question" markdown>
|
||||
<p class="admonition-title">YubiKey or OnlyKey</p>
|
||||
|
||||
You can also use an OnlyKey to secure your KeePassXC database in the same way.
|
||||
|
||||
</div>
|
||||
|
||||
You should see your YubiKey's model and serial number listed, and also which YubiKey slot you have stored your Challenge-Response in. Once the correct key is selected, click on "Done" at the bottom.
|
||||
|
||||

|
||||
|
||||
A window will pop up to ask where you want to save your password database. Name your database file and save it in a secure directory on your computer. You will then be asked to touch your YubiKey.
|
||||
|
||||
Touch the gold part of your YubiKey to save your database file. You will have to touch your YubiKey each time you save this database, and the file will be saved each time you make changes to it.
|
||||
|
||||
<div class="admonition warning" markdown>
|
||||
<p class="admonition-title">Important! Unlocking your database</p>
|
||||
|
||||
Each time you unlock your KeePassXC database, make sure to first plug in your YubiKey and verify that the "Use hardware key" checkbox is checked. Then, enter your main password and touch the gold part of your YubiKey when prompted.
|
||||
|
||||
If you do not plug in your YubiKey first, an error will be triggered, and you will be unable to unlock your database.
|
||||
|
||||
</div>
|
||||
|
||||
## :fontawesome-solid-unlock-keyhole: Using KeePassXC
|
||||
|
||||
Using KeePassXC is quite simple and resembles most other password manager applications. The biggest difference is that your passwords will remain stored locally, unless you decide to back up your password database to a cloud service of your choice.
|
||||
|
||||
All the options to manage and use your entries credentials will be located on the *toolbar* at the top.
|
||||
|
||||

|
||||
|
||||
<div class="admonition tip" markdown>
|
||||
<p class="admonition-title">Locking the database</p>
|
||||
|
||||
At all time when the application is open, you can click in the "Lock Database" padlock button on the toolbar to lock your database. You can also adjust the settings to lock your database each time you minimize the application window (this is disabled by default).
|
||||
|
||||
Your database will already lock itself automatically when your laptop lid is closed, the session is locked, or if your switch user (unless you disabled these options manually in settings).
|
||||
|
||||
</div>
|
||||
|
||||
### Step 6: Create a password entry
|
||||
|
||||
To create a [new entry](https://keepassxc.org/docs/KeePassXC_GettingStarted#_entry_handling) for a password, click on the "Add a new entry" plus-shaped button on the toolbar.
|
||||
|
||||
From this section, you will be able to register a "Title", "Username", "Password" (or generate one), "URL" (this is important if you use the browser extension), "Tags", "Expires" date, "Notes", and more.
|
||||
|
||||

|
||||
|
||||
<div class="admonition tip" markdown>
|
||||
<p class="admonition-title">Keep your YubiKey plugged in when changing your database</p>
|
||||
|
||||
When adding/removing entries or changing your database in any other way, make sure your YubiKey is plugged in. You will have to touch it each time you save changes to your database.
|
||||
|
||||
</div>
|
||||
|
||||
Before saving your entry by clicking "OK" on the lower-right, explore the options on the left-side menu.
|
||||
|
||||
For example, in the "Advanced" section you can add additional attributes and store attachments, in the "Icon" section you can select an icon to represent your password entry (or download one from the web), in the "Auto-type" section you can enable/disable Auto-type, and in the "Properties" section you will see additional metadata for this entry.
|
||||
|
||||

|
||||
|
||||
Once you have set up all the information you need for this password entry, click "OK" to save it to your database. You will be prompted to touch the gold part of your YubiKey to complete the operation. You should now see your entry listed in your database.
|
||||
|
||||

|
||||
|
||||
Each time you need this information, you can select an entry and click on the "Copy username to clipboard" character-shaped button, or the "Copy password to clipboard" key-shaped button, or the "Copy URL to clipboard" earth-shaped button on the toolbar.
|
||||
|
||||
The data will stay in your computer's clipboard for 10 seconds then will get cleared (unless you changed this from the default setting). Once copied, paste this information in the appropriate field for your service.
|
||||
|
||||

|
||||
|
||||
<div class="admonition danger" markdown>
|
||||
<p class="admonition-title">Accidental deletion danger!</p>
|
||||
|
||||
Be careful not to mistakenly click on the dangerous "Delete Entry" trash-shaped button left to the "Copy username to clipboard" button on the toolbar!
|
||||
|
||||
You would have to touch your YubiKey to confirm deletion, but remain careful. If you click on it accidentally, do NOT touch your YubiKey to confirm!
|
||||
|
||||
If this accident happened to you, you might see your entry has been moved to a "Recycle Bin" directory on the left. Right-click on your entry and select "Restore Entry" at the top of the entry menu. Touch your YubiKey when prompted. You should now see your entry back in the "Root" directory on the left-side menu.
|
||||
|
||||
</div>
|
||||
|
||||
### Step 7: Back up your database
|
||||
|
||||
There are many ways to [back up](https://keepassxc.org/docs/KeePassXC_UserGuide#_database_backup_options) your KeePassXC database:
|
||||
|
||||
#### Automatic local backup
|
||||
|
||||
If you enabled this setting on [Step 2](#step-2-adjust-the-settings), you will see a second file getting saved in the same directory with the same name but with an appended `.old` to it when you make a change to your password database.
|
||||
|
||||
This is the previous version of your database. If you delete a password entry by mistake for example, you can easily restore it with this secondary database backup file.
|
||||
|
||||
#### Manual backup from the application menu
|
||||
|
||||
When your database is unlocked, you can click on the dropdown "Database" menu in the application menu bar (not the toolbar), then select "Save Database Backup".
|
||||
|
||||
You will have the option to rename this file and choose a different location. Then, you will be prompted to touch your YubiKey to confirm.
|
||||
|
||||

|
||||
|
||||
#### Manual backup from copying the database file
|
||||
|
||||
Another way to keep a backup of your password database is to simply copy the database `.kdbx` file somewhere else.
|
||||
|
||||
You can copy this file to another local directory, an external drive (ideally encrypted), or a secure [cloud service](https://www.privacyguides.org/en/cloud/) of your choice (ideally an end-to-end encrypted one). Even if your database will be encrypted, it's always better to choose secure cloud services that offer solid end-to-end encryption.
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Entry history</p>
|
||||
|
||||
Within your database, KeePassXC also maintains a history of changes made to each of your entries. You can read more about this feature from KeePassXC's [documentation](https://keepassxc.org/docs/KeePassXC_UserGuide#_history).
|
||||
|
||||
</div>
|
||||
|
||||
### Step 8: Install the browser extension (optional)
|
||||
|
||||
When you need to use KeePassXC to fill credentials in a browser or an app, you can always copy the entry field you need manually, as explained on [Step 6](#step-6-create-a-password-entry). But if you prefer, to facilitate filling credentials for web-based services, you can take advantage of KeePassXC's [browser extension](https://keepassxc.org/docs/KeePassXC_UserGuide#_browser_integration).
|
||||
|
||||
To install the extension, go to [this page](https://keepassxc.org/download/#browser) from the KeePassXC website and click on your browser's *category*.
|
||||
|
||||
This means that for any Firefox-based browser, you can click on the Firefox logo, and for any Chromium-based browser, you can click on the Chrome logo. Some browsers might not be supported, however.
|
||||
|
||||

|
||||
|
||||
<div class="admonition warning" markdown>
|
||||
<p class="admonition-title">Privacy warning</p>
|
||||
|
||||
Keep in mind that although browser extensions can be very convenient, they can also introduce some risk to your privacy.
|
||||
|
||||
Even if the KeePassXC browser extension only [runs locally](https://keepassxc.org/privacy/), it does need to collect some information for its functionalities, and any additional extension installed has the potential to [introduce](https://www.privacyguides.org/en/browser-extensions/) a new attack surface.
|
||||
|
||||
Additionally, the more unique your combination of hardware, software, and browser extensions is, the more you are vulnerable to [browser fingerprinting](https://neat.tube/w/fdszTYBKzeoE3ySQUGTzmo). Always be mindful to consider your specific threat model when installing new browser extensions.
|
||||
|
||||
</div>
|
||||
|
||||
Once you have installed the extension for your browser, go back to the KeePassXC application and click on the "Settings" gear button on toolbar. Click on "Browser Integration" on the left-side menu and check the box for "Enable browser integration" at the top of the section.
|
||||
|
||||

|
||||
|
||||
From this [section](https://keepassxc.org/docs/KeePassXC_UserGuide#_configure_keepassxc_browser), check the box for the browser(s) or browser type(s) you have installed the extension on. You can also enable the option "Search in all opened databases for matching credentials" if you are using multiple databases. Then click "OK" on the lower-right to save these options.
|
||||
|
||||
Make sure your KeePassXC database is *unlocked*, then **restart your browser**.
|
||||
|
||||
#### If you encounter an error while running the extension
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">You don't have to use the extension</p>
|
||||
|
||||
If you are not able to make the KeePassXC extension work with the browser you use, you can still use KeePassXC by manually copy-pasting your entries' credentials. It can even be a more secure and more private way to use it.
|
||||
|
||||
</div>
|
||||
|
||||
After installing the extension and enabling it from the KeePassXC settings, you might encounter an error where the KeePassXC icon in a credential field is [marked](https://keepassxc.org/docs/KeePassXC_GettingStarted#_using_the_browser_extension) with a red "**X**", a red "**!**", or a padlock icon.
|
||||
|
||||
If this happens, try the following:
|
||||
|
||||
1. Make sure your KeePassXC application is open, and your database is *unlocked*.
|
||||
|
||||
2. Check if your YubiKey is *plugged* in your computer's port.
|
||||
|
||||
3. Verify that your browser is *compatible* and does not use protections that could block the extension from working.
|
||||
|
||||
4. Follow KeePassXC's [instructions](https://keepassxc.org/docs/KeePassXC_UserGuide#_using_the_browser_extension) to connect your KeePassXC database to your KeePassXC browser extension.
|
||||
|
||||
5. Look for possible solutions from KeePassXC's [troubleshooting guide](https://github.com/keepassxreboot/keepassxc-browser/wiki/Troubleshooting-guide).
|
||||
|
||||

|
||||
|
||||
#### Filling credentials using the extension
|
||||
|
||||
<div class="admonition note" markdown>
|
||||
<p class="admonition-title">The database is connected but the logo is greyed out</p>
|
||||
|
||||
If you do not have an entry for this website, or if you have not registered a URL (or the correct one) for this entry, your will see the KeePassXC logo greyed out. This simply means your database could not find any credentials matching this website's URL.
|
||||
|
||||
</div>
|
||||
|
||||
Once configured and connected properly, you should see a green KeePassXC logo in the credential fields, when you have a corresponding entry in your database.
|
||||
|
||||
Click on the green KeePassXC logo to populate all credential fields automatically.
|
||||
|
||||

|
||||
|
||||
<div class="admonition success" markdown>
|
||||
<p class="admonition-title">Congratulation! You're in!</p>
|
||||
|
||||
You are now logged in, thanks to KeePassXC!
|
||||
|
||||
</div>
|
||||
|
||||
## :material-hand-heart: Consider supporting KeePassXC
|
||||
|
||||
KeePassXC is a free and open-source project built by the community. If you use and love this application, it's always a great idea to support the project if you can.
|
||||
|
||||
Here are a few ways you can help keep KeePassXC thriving:
|
||||
|
||||
- [Contributing on GitHub](https://github.com/keepassxreboot/keepassxc/blob/develop/.github/CONTRIBUTING.md)
|
||||
- [Following KeePassXC on Mastodon](https://fosstodon.org/@keepassxc)
|
||||
- [Donating to KeePassXC to help with the development and maintenance of the application](https://keepassxc.org/donate/)
|
||||
|
||||
For more information on KeePassXC and its many features, you can consult the official [Documentation and FAQ](https://keepassxc.org/docs/) or even have a look at KeePassXC's [code](https://github.com/keepassxreboot/keepassxc) on GitHub.
|
||||
|
||||
<small aria-hidden="true">Unless credited otherwise, all screenshots from: Privacy Guides</small>
|
219
blog/posts/privacy-means-safety.md
Normal file
@ -0,0 +1,219 @@
|
||||
---
|
||||
date:
|
||||
created: 2025-03-25T20:30:00Z
|
||||
categories:
|
||||
- News
|
||||
authors:
|
||||
- em
|
||||
description: Privacy is a human right that should be granted to everyone, no matter the reason. That being said, it's also important to remember that for millions of people around the world, data privacy is crucial for physical safety. For people in extreme situations, privacy can literally mean life or death.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# Privacy Means Safety
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Photo: Georgy Rudakov / Unsplash</small>
|
||||
|
||||
Privacy is a human right that should be granted to everyone, no matter the reason. That being said, it's also important to remember that for millions of people around the world, data privacy is crucial for physical safety. For people in extreme situations, privacy can literally mean life or death.<!-- more -->
|
||||
|
||||
Many of us have experienced moments when our privacy concerns have been minimized or even completely dismissed.
|
||||
|
||||
This general hostility towards data protection is dangerous. Yes, dangerous. **Data privacy isn't a trivial matter.**
|
||||
|
||||
There are many circumstances where inadvertently or maliciously exposed data can put someone in grave danger. Worse, sometimes this danger might not even be known at the time, but might become incredibly important later on.
|
||||
|
||||
We should never downplay the serious risk of exposing someone's data, even if this isn't a situation we personally experience, or even understand.
|
||||
|
||||
<div class="admonition warning" markdown>
|
||||
<p class="admonition-title">Content Warning: This article contains mention of sexual assault, violence, and death.</p></div>
|
||||
|
||||
## Leaked data can have grave consequences
|
||||
|
||||
This isn't a hypothetical situation. There has been many tragic events where people have been harmed and even killed because data about them was leaked, stolen, or otherwise revealed to someone hostile.
|
||||
|
||||
### Children
|
||||
|
||||
The data of children is something our society should be much more invested in protecting, yet most new legislation [proposed](the-future-of-privacy.md#chat-control-wants-to-break-end-to-end-encryption) or [passed](the-future-of-privacy.md#age-verification-wants-to-collect-your-sensitive-data) to supposedly protect the children are doing the complete *opposite*, endangering everyone's data, *including* the children's.
|
||||
|
||||
As for the data protection we already have, they are insufficient to protect most people's data, also including the children's.
|
||||
|
||||
In 2020, the Irish child and family agency, Tusla, was fined €75,000 for a breach of the General Data Protection Regulation (GDPR). Investigation [revealed](https://www.irishtimes.com/news/crime-and-law/tusla-becomes-first-organisation-fined-for-gdpr-rule-breach-1.4255692) three instances where data about children had been negligently disclosed to unauthorized parties.
|
||||
|
||||
In one case, the location and contact information of a mother and child was revealed to an alleged abuser. In another, the agency neglectfully [provided](https://www.irishtimes.com/ireland/social-affairs/2025/03/04/abusers-using-data-protection-law-to-get-details-on-victims/) the address of a child and the mother's phone number to a man accused of child sexual abuse.
|
||||
|
||||
Such data leaks should never be tolerated. Sadly, much stronger fines will be required to stop organizations from being so dangerously careless.
|
||||
|
||||
In 2018, an incredibly unfortunate 12-year-old gamer and his mother were both likely [traumatized for life](https://www.pcgamesn.com/fortnite/fortnite-stream-swatting) by a violent [swatting attack](https://en.wikipedia.org/wiki/Swatting) when the child's home address was exposed online. The outcome of this horrible attack could have ended much more tragically. The story doesn't explain how the child's address was found.
|
||||
|
||||
Swatting attacks have become such a [problem](#mistaken-identity) in the United States that the Federal Bureau of Investigation (FBI) recently [created](https://www.nbcnews.com/news/us-news/fbi-formed-national-database-track-prevent-swatting-rcna91722) a national database to help track and prevent such attacks.
|
||||
|
||||
### Victims of stalkers
|
||||
|
||||
Stalking victims are incredibly vulnerable to any data leak. People in such situation can often be gravely endangered by data broker services, data breaches, information they might have shared online recently or decades ago, and information shared about them by friends and family.
|
||||
|
||||
Unfortunately, this kind of horrifying situation isn't rare.
|
||||
|
||||
The danger to victims of online stalkers should never be minimized. Stalking and harassment are serious crimes that should be reported and severely punished. Overlooking these offenses is being ignorant to how quickly the consequences of such crimes can escalate.
|
||||
|
||||
In 2019, a 21-year-old Japanese pop star got stalked and sexually [assaulted](https://www.bbc.co.uk/news/world-asia-50000234) by a man who found her location from a picture she posted online. The photo had such high definition that the perpetrator was able to see and identify a specific train station that was visible *through a reflection in the singer's eyes*.
|
||||
|
||||
The aggressor also gathered information about the victim's home by examining the photos she posted from her apartment to determine the exact unit location. He then went to the train station he identified from the photo, waited for her, and followed her home.
|
||||
|
||||
In 2023, a podcast host and her husband were [killed](https://www.nbcnews.com/news/us-news/podcast-host-killed-stalker-deep-seated-fear-safety-records-reveal-rcna74842) by an online stalker. Despite having requested a protection order against the murderer, and despite blocking his phone number and social media accounts, after months of intense harassment online, the man eventually found the podcaster's home address, broke in, and fatally shot her and her husband.
|
||||
|
||||
### Victims of domestic violence
|
||||
|
||||
Victims of domestic violence are at an elevated risk of severe or even fatal repercussions when their data gets leaked or shared. People in this extreme situation often have to take extreme measures to protect data that could allow their abuser to find their new location.
|
||||
|
||||
Things as banal as exposing someone's license plate, or posting online a photo taken in a public space could literally get a person in such situation killed.
|
||||
|
||||
Moreover, some abusers are [weaponizing](https://www.irishtimes.com/ireland/social-affairs/2025/03/04/abusers-using-data-protection-law-to-get-details-on-victims/) subject access requests in an attempt to find the location of the victims fleeing them.
|
||||
|
||||
It is imperative to ensure that data access legislation cannot be misused in such a dangerous way. Data legally shared with a subject should never lead to the harm of someone else.
|
||||
|
||||
In another instance, a woman who was raped by a former partner was unable to safely receive counseling care because the notes from her counseling sessions could have been [shared](https://www.irishtimes.com/crime-law/courts/2025/01/17/calls-for-law-to-be-changed-to-end-access-to-rape-victims-counselling-notes/) in court with the perpetrator.
|
||||
|
||||
Data privacy regulations should protect such sensitive data from being shared without explicit and free consent from the patient.
|
||||
|
||||
### Healthcare seekers
|
||||
|
||||
People seeking essential healthcare in adverse jurisdictions can be prosecuted when their private communications or locations are intercepted.
|
||||
|
||||
In 2023, a mother from Nebraska (US) was arrested and criminally [charged](https://www.theverge.com/2023/7/11/23790923/facebook-meta-woman-daughter-guilty-abortion-nebraska-messenger-encryption-privacy) after she helped her 17-year-old daughter get an abortion.
|
||||
|
||||
The woman was arrested partly based on the Facebook messages she exchanged with her daughter discussing medication for the abortion. Police obtained a copy of the private Facebook conversation by serving a warrant to Meta, which the company quickly complied with.
|
||||
|
||||
### Whistleblowers and activists
|
||||
|
||||
Whistleblowers and activists are at especially high risk of harm, particularly if they have publicly opposed or exposed oppressive regimes or criminal groups.
|
||||
|
||||
Governments around the world, especially more authoritarian ones, have been increasingly [monitoring social media](https://privacyinternational.org/long-read/5337/social-media-monitoring-uk-invisible-surveillance-tool-increasingly-deployed) to track, identify, and persecute critics, activists, and journalists.
|
||||
|
||||
Authorities have also been mandating direct collaboration from service providers to arrest activists. In 2012, a French climate activist was [arrested](https://techcrunch.com/2021/09/06/protonmail-logged-ip-address-of-french-activist-after-order-by-swiss-authorities/) after Proton Mail was legally [compelled](https://proton.me/blog/climate-activist-arrest) by Swiss laws to log and share the activist's IP address with authorities.
|
||||
|
||||
In 2017, a 25-year-old working for the American National Security Agency (NSA) as a contractor was arrested after she was [identified](https://arstechnica.com/information-technology/2017/06/how-a-few-yellow-dots-burned-the-intercepts-nsa-leaker/) as the whistleblower who leaked a report about Russian electoral interference in the United States.
|
||||
|
||||
The whistleblower had mailed the classified document to The Intercept anonymously. However, when the news organization tried to confirm the authenticity of the document with the NSA, the agency was able to determine which printer was used to print this copy, and from there deanonymized [Reality Winner](https://en.wikipedia.org/wiki/Reality_Winner). The technique used to track the document was the reading of almost invisible [printer tracking dots](https://en.wikipedia.org/wiki/Printer_tracking_dots) that many laser printers and photocopiers produce on all printed documents.
|
||||
|
||||
This year on March 7th, community activist and whistleblower Pamela Mabini was [shot and killed](https://www.hrw.org/news/2025/03/11/activist-and-whistleblower-killed-south-africa) just outside her home in South Africa. She was an activist working with the [Maro Foundation](https://www.dailydispatch.co.za/local-heroes/2023-07-10-helping-others-is-the-reason-for-pamela-mabinis-smile/), a nonprofit organization dedicated to fighting poverty and gender-based violence.
|
||||
|
||||
Mabini's murder has sparked a debate on the importance of protections offered to whistleblowers [exposing criminals](https://www.citizen.co.za/news/another-high-profile-whistleblower-gunned-down-how-safe-speak-out/) to justice. Following the activist's death, organizations have been calling to fast-track the [Whistleblower Protection Bill](https://www.iol.co.za/news/south-africa/calls-for-government-to-fast-track-protection-bill-following-activists-murder-3e8adc20-be58-4f3d-9a55-4a5818171c92) to bring more protections to those fighting for justice in South Africa.
|
||||
|
||||
### Trans and queer activists
|
||||
|
||||
Trans and queer activists are at elevated risk of harassment online in today's political climate. In 2022, 28-year-old trans activist Clara Sorrenti was victim of a swatting attack after police believed a fake report about violent threats made by her aggressor.
|
||||
|
||||
She was arrested at gunpoint by the police, handcuffed, had her electronic devices seized, and her apartment searched for eight hours for non-existent evidence. The aggressor who made the false threats had [provided](https://www.cbc.ca/news/canada/london/trans-twitch-star-arrested-at-gunpoint-fears-for-life-after-someone-sent-police-to-her-london-ont-home-1.6546015) her name and home address to police.
|
||||
|
||||
### Journalists
|
||||
|
||||
Journalists around the world can become vulnerable to attacks even from governments when they report on oppressive regimes. This kind of situation can be extremely dangerous, considering the almost unlimited resources state-backed attackers can have to identify, track, and persecute their victims.
|
||||
|
||||
In 2018, the prominent journalist and critic of Saudi Arabia's government Jamal Khashoggi was [murdered](https://www.bbc.co.uk/news/world-europe-45812399). Despite being based in the United States, the journalist traveled to Istanbul's Saudi consulate in Turkey to pick up official documents. Khashoggi was killed inside the consulate a few days later on October 2nd.
|
||||
|
||||
Investigations revealed that people close to Khashoggi had their devices infected by NSO's [Pegasus spyware](https://freedom.press/digisec/blog/journalists-targeted-with-pegasus-yet-again/). This likely allowed the attacker to gather information about Khashoggi traveling outside the United States.
|
||||
|
||||
Many other journalists, politicians, and human rights activists have been [targeted](https://www.bbc.co.uk/news/world-57891506) by state-backed spyware such as Pegasus.
|
||||
|
||||
In 2022, Human Rights Watch [reported](https://www.hrw.org/news/2022/12/05/iran-state-backed-hacking-activists-journalists-politicians) that two of their staff members and at least 18 other activists, researchers, or journalists working on Middle East issues had been targeted by a phishing campaign coming from a group affiliated with the Iranian government. The entity succeeded in stealing emails and other sensitive data from at least three human rights defenders.
|
||||
|
||||
### Targeted harassment
|
||||
|
||||
Another danger of leaked data that shouldn't be minimized is targeted harassment. Targeted harassment can have devastating consequences ranging from silencing their victims, to suicide, to death by swatting attack.
|
||||
|
||||
A well-known example of targeted harassment is Gamergate. Gamergate was a loosely organized [harassment campaign](https://en.wikipedia.org/wiki/Gamergate_(harassment_campaign)) targeting women in the video game industry. It started in 2014 when Zoë Quinn's ex-partner published a blog post with false insinuation about Quinn, a video game developer.
|
||||
|
||||
Quinn was subsequently subjected to an incredibly intrusive [doxxing](https://en.wikipedia.org/wiki/Doxing) campaign, and even received rape threats and death threats. Attackers were able to steal an insecure password and [break into](https://time.com/4927076/zoe-quinn-gamergate-doxxing-crash-override-excerpt/) one of Quinn's account, which resulted in horrible consequences. The harassment campaign later expanded to target others who had defended Quinn online.
|
||||
|
||||
In another case, targeted harassment resulted in one death and a five years prison sentence. In 2020, Mark Herring started receiving requests asking him to give up his Twitter handle, which he refused. Herring's "crime" was to have been quick enough to secure the handle "@Tennessee" shortly after Twitter came online.
|
||||
|
||||
Over weeks, harassment escalated from sustained text messaging to random food delivery to his house. After Herring's harasser posted his home address in [a Discord chat room used by criminals](https://krebsonsecurity.com/2021/07/serial-swatter-who-caused-death-gets-five-years-in-prison/), someone used this data to direct a swatting attack at Herring's place. Police surrounded his home and demanded he crawl under a back fence, despite his health. After crawling under the fence, 60-year-old Mark Herring stoop up then collapsed from a heart attack, and died soon after.
|
||||
|
||||
### Mistaken identity
|
||||
|
||||
What is more, everyone can get victimized by exposed data, even people who are not online and even people who are not a whistleblower, a journalist, an activist, a victim of domestic violence, or someone who has committed the "unthinkable crime" of securing a cool Twitter handle.
|
||||
|
||||
In 2017, 28-year-old Andrew Finch was [shot and killed](https://edition.cnn.com/2019/09/14/us/swatting-sentence-casey-viner/index.html) by police during a swatting attack in the United States.
|
||||
|
||||
The attack was conducted after the perpetrator had an argument online over a multiplayer first-person shooter game. The perpetrator, who was later sentenced, threatened another player he was upset with to "swat" him. The perpetrator then enlisted another man to call the police and conduct the attack on the player, with the home address the player provided. This address turned out to be the previous address of the player, which was now Andrew Finch's address.
|
||||
|
||||
When police arrived at Andrew Finch's home and surrounded the place, Finch, completely unaware of what was happening, barely had the time to comply and get outside when the police shot and killed him at the front door.
|
||||
|
||||
The man who conducted the swatting attack for the perpetrator got [sentenced](https://en.wikipedia.org/wiki/2017_Wichita_swatting) to 20 years in federal prison.
|
||||
|
||||
In 2021, an Australian 15-year-old girl was [mistakenly targeted](https://www.abc.net.au/news/2021-03-26/canberra-family-doxxed-sent-death-threats-after-social-video/100014706) and later doxxed with her real information after she had been wrongly identified online as someone who had participated in a racist social media video posted on Facebook.
|
||||
|
||||
A few hours after her name was shared online, the girl started to be inundated by hateful messages and unspeakable threats from all around the world. Her phone number and home address were eventually shared online. Her family received hateful messages from strangers as well.
|
||||
|
||||
During the ordeal, her mother had to be hospitalized for heart disease. The girl, who had absolutely nothing to do with the racist video that spawned the attacks, contemplated suicide due to the violence of the harassment. She and her mother no longer felt safe.
|
||||
|
||||
Digital traces of the personal data that was exposed during the attacks will likely remain online forever, even if the girl and her family were completely innocent and unrelated to what triggered the cyber-swarming.
|
||||
|
||||
The 26-year-old American who incorrectly identified the Australian girl and shared her name and social media accounts online later apologized for his mistake.
|
||||
|
||||
## How data finds its way to an aggressor
|
||||
|
||||
### Targeted research, attack, and spyware
|
||||
|
||||
For targeted attacks, aggressors will often use simple techniques to find a victim's data from what is already leaked online, or openly shared on social media. For more sophisticated attacks, perpetrators might use criminal methods such as impersonation for [SIM swap attacks](https://en.wikipedia.org/wiki/SIM_swap_scam). When attackers have more resources, such as a state-backed attackers, more sophisticated processes might be used, like device infection with [NSO Group's spyware](https://citizenlab.ca/tag/nso-group/).
|
||||
|
||||
### Maliciously stolen or negligently leaked
|
||||
|
||||
Data can be stolen maliciously in all sort of ways, but even more often and common, data is leaked online from banal *negligence*.
|
||||
|
||||
Once data is leaked online, it will likely become accessible to anyone looking for it eventually. Additionally, any data breach happening now has the potential to endanger someone years down the line. Perhaps it's a home address that has not changed in years, a phone number used for a decade, a legal name, a photograph, or even a [medical file](https://krebsonsecurity.com/2024/04/man-who-mass-extorted-psychotherapy-patients-gets-six-years/).
|
||||
|
||||
Unfortunately, the data broker industry thrives on bundling up all this data together in neat packages to be sold to anyone looking for it, making any attacker's job much easier.
|
||||
|
||||
#### Unencrypted data
|
||||
|
||||
When the data leaked or stolen is well encrypted, the [risk is reduced](https://www.maketecheasier.com/how-secure-stolen-encrypted-data/). If the leaked data cannot be decrypted easily, this will greatly mitigate the damage done by a breach. Conversely, unencrypted leaked data will always inflict maximum damage.
|
||||
|
||||
This is why we should demand that all the services we use implement strong, *end-to-end* encryption wherever possible.
|
||||
|
||||
### Obliviously shared without consent
|
||||
|
||||
Sometimes, the data endangering someone isn't leaked negligently or stolen maliciously, but simply shared by a friend or a family member oblivious to the danger.
|
||||
|
||||
This is [a cultural problem we all need to work on](the-privacy-of-others.md).
|
||||
|
||||
Despite all the technological protections we can put on data, and despite all the regulations we can ask organizations to comply with, if our culture doesn't understand the danger of sharing the data of others, we will fail to protect the most vulnerable people in our society.
|
||||
|
||||
## Protecting data for everyone's safety is a societal, communal, and individual responsibility
|
||||
|
||||
Protecting data isn't simply a matter of preference, although it can absolutely be. But for so many people around the world, it is vital to understand how *crucial* data privacy is.
|
||||
|
||||
As explicitly demonstrated above, data protection can literally mean life or death for people in vulnerable situations. Beyond that, it is unfortunately also true for anyone unlucky enough to get mistakenly targeted when their data is shared.
|
||||
|
||||
In all of these situations, **data privacy means safety**.
|
||||
|
||||
We must demand that governments, corporations, and organizations of all kinds do better to improve data protection practices and technologies.
|
||||
|
||||
As a community, we also have a responsibility to protect the most vulnerable people from harm caused by data leaks.
|
||||
|
||||
And finally, as individuals, we share this duty of care and must all work on improving the way we protect our own data, but even more importantly, the data of everyone around us.
|
||||
|
||||
**Privacy means safety, for everyone.**
|
||||
|
||||
---
|
||||
|
||||
<div class="admonition info" markdown>
|
||||
<p class="admonition-title">Resources in the United States & Canada</p>
|
||||
|
||||
If you or someone you know is in one of the situations described above, these additional resources may help. Make sure to take [appropriate measures](https://www.privacyguides.org/en/basics/threat-modeling/) to protect your privacy if your situation is sensitive. If you are in a high risk situation, you might want to access these resources using [Tor](https://www.privacyguides.org/en/advanced/tor-overview/) or [Tails](installing-and-using-tails.md).
|
||||
|
||||
**Suicide & Crisis Support Line** :material-arrow-right-bold: [988 Lifeline](https://988lifeline.org/) Phone number: 988 (US & Canada)
|
||||
|
||||
**Trans Peer Support** :material-arrow-right-bold: [Trans Lifeline Hotline](https://translifeline.org/hotline/) Phone number US: 1-877-565-8860 / Canada: 1-877-330-6366
|
||||
|
||||
**Stalking Victim Support** :material-arrow-right-bold: US: [SafeHorizon](https://www.safehorizon.org/get-help/stalking/) / Canada: [The Canadian Resource Centre for Victims of Crime](https://crcvc.ca/wp-content/uploads/2021/09/Cyberstalking-_DISCLAIMER_Revised-Aug-2022_FINAL.pdf)
|
||||
|
||||
**Domestic Violence Victim Support** :material-arrow-right-bold: US: [The National Domestic Violence Hotline](https://www.thehotline.org/) Phone number: 1-800-799-7233 / Canada: [Canadian resources by situation and province](https://www.canada.ca/en/public-health/services/health-promotion/stop-family-violence/services.html)
|
||||
|
||||
**Reproductive Rights & Healthcare** :material-arrow-right-bold: US: [Planned Parenthood](https://www.plannedparenthood.org/) / Canada: [Action Canada for Sexual Health & Rights](https://www.actioncanadashr.org/resources/services)
|
||||
|
||||
**Journalists and Whistleblowers** :material-arrow-right-bold: US: [Freedom or the Press Foundation Guides & Resources](https://freedom.press/digisec/guides/) / Canada: [Canadian Association of Journalists](https://caj.ca/advocacy/digital-security/)
|
||||
|
||||
**Protesters** :material-arrow-right-bold: [The Protesters' Guide to Smartphone Security](activists-guide-securing-your-smartphone.md)
|
||||
|
||||
</div>
|
283
blog/posts/private-european-alternatives.md
Normal file
@ -0,0 +1,283 @@
|
||||
---
|
||||
date:
|
||||
created: 2025-03-19T21:00:00Z
|
||||
categories:
|
||||
- News
|
||||
authors:
|
||||
- jonah
|
||||
description: There is a growing sentiment that the US shouldn't be relied upon for the technologies that many people and businesses use every day. These privacy-centric recommendations come from a variety of European-based companies and organizations, that you should definitely consider checking out!
|
||||
schema_type: NewsArticle
|
||||
preview:
|
||||
color: "#003399"
|
||||
text_color: "#ffffff"
|
||||
site_logo: privacy-guides-logo-notext-colorbg-white.svg
|
||||
icon: simple/europeanunion
|
||||
---
|
||||
# Privacy-Respecting European Tech Alternatives
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Jonah Aragon / Privacy Guides</small>
|
||||
|
||||
There is a growing sentiment that the US shouldn't be relied upon for the technologies that many people and businesses use every day. Lately, the US has been unilaterally [cutting off](https://archive.ph/EJ26f) access to critical technologies to European countries, prompting [calls for "radical action"](https://techcrunch.com/2025/03/16/european-tech-industry-coalition-calls-for-radical-action-on-digital-sovereignty-starting-with-buying-local/) to bolster European tech stacks from EU lawmakers.<!-- more -->
|
||||
|
||||
At Privacy Guides, we generally value technical guarantees over matters like jurisdiction. There is simply no alternative to privacy technologies like strong *end-to-end encryption* when it comes to protecting your information.
|
||||
|
||||
That being said, the United States *certainly* does not have a monopoly on the best technologies, and many of our favorite [recommended tools](https://www.privacyguides.org/en/tools/) come from Europe and all over the world. Tools from the European Union also generally benefit from much stronger data protection laws, thanks to the EU's General Data Protection Regulation (GDPR).
|
||||
|
||||
If supporting the European tech industry is something that is important to you, here's a non-exhaustive list of some of our favorites. We have many more recommendations throughout our website if you are interested in learning more about privacy-respecting tech alternatives!
|
||||
|
||||
## :material-email: Email Services
|
||||
|
||||
Many people and businesses are tied to Google's Gmail or Microsoft's Outlook products, but there are *far* more secure and private [alternative email providers](https://www.privacyguides.org/en/email/) out there!
|
||||
|
||||
### Tuta :flag_de:
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
{ align=right }
|
||||
|
||||
Based in Hanover, Germany, **Tuta** is an email service with a focus on security and privacy through the use of encryption. Tuta has been in operation since 2011.
|
||||
|
||||
Free accounts start with 1 GB of storage.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/email/#tuta){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://tuta.com){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
### Proton Mail :flag_ch:
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
Based in Geneva, Switzerland, **Proton Mail** is an email service with a focus on privacy, encryption, security, and ease of use. They have been in operation since 2013.
|
||||
|
||||
The Proton Mail Free plan comes with 500 MB of Mail storage, which you can increase up to 1 GB for free.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/email/#proton-mail){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://proton.me){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
## :material-file-document-edit: Office Suites
|
||||
|
||||
Of course, email isn't the only thing offered by solutions like Google Workspace and Microsoft 365. Many people use their entire suite of [productivity tools](https://www.privacyguides.org/en/document-collaboration/) to manage their businesses and collaborate with others.
|
||||
|
||||
Luckily, there are plenty of alternatives that incorporate strong encryption and can even be self-hosted, which will not only decrease your reliance on the traditional Big Tech companies, but keep your data far more secure as well.
|
||||
|
||||
### CryptPad :flag_fr:
|
||||
|
||||
Developed and hosted by *XWiki* in Paris, France, **CryptPad** is a complete online office suite with applications including Documents, Rich Text, Spreadsheets, Code/Markdown, Kanban, Slides, Whiteboard and Forms.
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**CryptPad** is a private-by-design alternative to popular office tools. All content on this web service is end-to-end encrypted and can be shared with other users easily.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/document-collaboration/#cryptpad){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://cryptpad.org){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
:material-star-box: We recently did a [full review of CryptPad](cryptpad-review.md), which you should definitely check out if you might be interested in switching!
|
||||
|
||||
### Nextcloud :flag_de:
|
||||
|
||||
**Nextcloud** comes from German startup *Nextcloud GmbH*, and offers a complete cloud drive alternative to Google Drive or OneDrive.
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Nextcloud** is a suite of free and open-source client-server software for creating your own file hosting services on a private server you control.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/document-collaboration/#nextcloud){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://nextcloud.com){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
### LibreOffice :flag_de:
|
||||
|
||||
**LibreOffice** is developed by *The Document Foundation* based in Berlin, Germany. It's a free and open-source office suite with extensive functionality.
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
Web-based editors aren't for everyone. If you need a full-fledged office suite that runs locally on your computer, **LibreOffice** is a fantastic alternative to Microsoft Office.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/office-suites/#libreoffice){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://libreoffice.org){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
## :material-search-web: Search Engines
|
||||
|
||||
One of the most frequently used tools on the internet is the venerable search engine. Switching from **Google** to an [alternative](https://www.privacyguides.org/en/search-engines/) is one of the biggest impact approaches to improving your privacy that you can make.
|
||||
|
||||
### Startpage :flag_nl:
|
||||
|
||||
Headquartered and developed in the Netherlands, Startpage is one great alternative to Google you could consider:
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
{ align=right }
|
||||
|
||||
**Startpage** is a private search engine. One of Startpage's unique features is the [Anonymous View](https://startpage.com/en/anonymous-view), which puts forth efforts to standardize user activity to make it more difficult to be uniquely identified. The feature can be useful for hiding [some](https://support.startpage.com/hc/articles/4455540212116-The-Anonymous-View-Proxy-technical-details) network and browser properties. However, unlike the name suggests, the feature should not be relied upon for *total* anonymity.
|
||||
|
||||
[:octicons-info-16: Homepage](https://www.privacyguides.org/en/search-engines/#startpage){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://startpage.com){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
It is worth noting that [since 2020](relisting-startpage.md), Startpage has been a subsidiary of American company System1. Their operations and employees remain in the Netherlands, and you can choose to utilize only European servers if you wish.
|
||||
|
||||
## :material-earth: Web Browsers
|
||||
|
||||
Web browsers are historically very tricky to build, and the three major browser engines, Chromium, Gecko (Firefox), and WebKit (Safari) are all *primarily* developed by American companies. This is a space that could certainly use improvement.
|
||||
|
||||
### Mullvad Browser :flag_se:
|
||||
|
||||
One of our [recommended browsers](https://www.privacyguides.org/en/desktop-browsers/) is spearheaded by Swedish VPN company *Mullvad*, although it's worth noting that its development is somewhat reliant on American non-profits Mozilla and the Tor Project, being a Tor Browser fork.
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Mullvad Browser** is a version of Tor Browser with Tor network integrations removed. It aims to provide to VPN users Tor Browser's anti-fingerprinting browser technologies, which are key protections against mass surveillance programs. It is developed by the Tor Project and distributed by Mullvad, although it does *not* require the use of Mullvad's VPN.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/desktop-browsers/#mullvad-browser){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://mullvad.net/en/browser){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
## :material-map: Maps & Navigation
|
||||
|
||||
Mapping and location apps like Google Maps can track your every move, and that data is used by tech companies for a wide variety of purposes, including for military and defense. The best mapping apps for your privacy can be used completely offline:
|
||||
|
||||
### Organic Maps :flag_ee:
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
Based in Estonia, **Organic Maps** is an open source, community-developed map display and satnav-style navigation app for walkers, drivers, and cyclists. The app offers worldwide offline maps based on OpenStreetMap data, and navigation with privacy — no location tracking, no data collection, and no ads. The app can be used completely offline.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/maps/#organic-maps){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://organicmaps.app){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
### OsmAnd :flag_nl:
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
Based in the Netherlands, **OsmAnd** is an offline map and navigation application based on OpenStreetMap, offering turn-by-turn navigation for walking, cycling, driving, as well as public transport. It is open-source and does not collect any user data.
|
||||
|
||||
[:octicons-home-16: More Info](https://www.privacyguides.org/en/maps/#osmand){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://osmand.net){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
## :material-form-textbox-password: Password Managers
|
||||
|
||||
### KeePassXC :flag_de:
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**KeePassXC** is a community fork of KeePassX, a native cross-platform port of KeePass Password Safe, with the goal of extending and improving it with new features and bug fixes to provide a feature-rich, cross-platform, and modern open-source password manager.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/passwords/#keepassxc){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://keepassxc.org){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
:material-star-box: We recently published an article on [securely using KeePassXC with a YubiKey](installing-keepassxc-and-yubikey.md)!
|
||||
|
||||
### Proton Pass :flag_ch:
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Proton Pass** is an open-source, end-to-end encrypted password manager developed by the Swiss company Proton AG, the team behind Proton Mail. It securely stores your login credentials, generates unique email aliases, and supports and stores passkeys.
|
||||
|
||||
[:octicons-home-16: More Info](https://www.privacyguides.org/en/passwords/#proton-pass){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://proton.me/pass){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
## :material-chat-processing: Instant Messengers
|
||||
|
||||
Switching off of WhatsApp, Facebook Messenger, or iMessage in favor of a more [private instant messenger](https://www.privacyguides.org/en/real-time-communication/) is an excellent way to safeguard your chats.
|
||||
|
||||
### Element :flag_gb:
|
||||
|
||||
Element is based in the United Kingdom, which is of course no longer in the European Union. However, it is a trusted messaging platform by the [French government](https://element.io/case-studies/tchap), and the [German military](https://element.io/case-studies/bundeswehr), among many other organizations in Europe and around the world looking for sovereignty from Big Tech messaging platforms like Slack and Google Messages.
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Element** is the flagship client for the [Matrix](https://matrix.org/docs/chat_basics/matrix-for-im) protocol, an [open standard](https://spec.matrix.org/latest) for secure decentralized real-time communication.
|
||||
|
||||
Messages and files shared in private rooms (those which require an invite) are by default E2EE, as are one-to-one voice and video calls.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/real-time-communication/#element){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://element.io){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
### SimpleX :flag_gb:
|
||||
|
||||
Another open-source option from the United Kingdom, SimpleX chat has very strong security features, and can be entirely self-hosted anywhere in the world if you prefer the assurances a [custom server](https://simplex.chat/docs/server.html) can bring.
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**SimpleX Chat** is an instant messenger that doesn't depend on any unique identifiers such as phone numbers or usernames. Its decentralized network makes SimpleX Chat an effective tool against censorship.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/real-time-communication/#simplex-chat){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://simplex.chat){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
### Briar :earth_africa:
|
||||
|
||||
Briar is an open source project not legally incorporated in any jurisdiction, although it has received funding from European initiatives like [NGI](https://ngi.eu/) and the [NLnet Foundation](https://nlnet.nl/), and includes many Europeans in their voluntary board and team.
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Briar** is an encrypted instant messenger that [connects](https://briarproject.org/how-it-works) to other clients using the Tor Network, making it an effective tool at circumventing censorship. Briar can also connect via Wi-Fi or Bluetooth when in local proximity. Briar’s local mesh mode can be useful when internet availability is a problem.
|
||||
|
||||
[:octicons-info-16: More Info](https://www.privacyguides.org/en/real-time-communication/#briar){ .md-button .md-button--primary }
|
||||
[:octicons-home-16:](https://briarproject.org){ .card-link title="Homepage" }
|
||||
|
||||
</div>
|
||||
|
||||
## More Services...
|
||||
|
||||
Looking for more? Here's a short (and non-exhaustive) list of other recommendations of ours which are based in Europe:
|
||||
|
||||
- [**VPN Services**](https://www.privacyguides.org/en/vpn/): :flag_se: [Mullvad](https://www.privacyguides.org/en/vpn/#mullvad) and :flag_ch: [Proton VPN](https://www.privacyguides.org/en/vpn/#proton-vpn)
|
||||
- [**DNS Providers**](https://www.privacyguides.org/en/dns/#recommended-providers): :flag_fr: [dns0.eu](https://dns0.eu/), :flag_se: [Mullvad DNS](https://mullvad.net/en/help/dns-over-https-and-dns-over-tls), and :flag_ch: [Quad9](https://quad9.net/)
|
||||
- [**Calendars**](https://www.privacyguides.org/en/calendar/): :flag_de: [Tuta](https://tuta.com/calendar) and :flag_ch: [Proton Calendar](https://proton.me/calendar)
|
||||
- [**Notes Apps**](https://www.privacyguides.org/en/notebooks/): :flag_gb: [Joplin](https://joplinapp.org/) and :flag_ee: [Crypt.ee](https://crypt.ee/)
|
||||
- [**Pastebins**](https://www.privacyguides.org/en/pastebins/): :flag_fr: [PrivateBin](https://privatebin.info/)
|
||||
- [**Linux Distros**](https://www.privacyguides.org/en/desktop/): :flag_de: [openSUSE](https://www.opensuse.org/)
|
||||
|
||||
If you're in Europe and looking to build or host your *own* European technology, there are also plenty of alternatives to the typical American IT providers. Topics like cloud computing platforms, web analytics services, and content delivery networks are currently out of scope for what we cover here at Privacy Guides, but [European Alternatives](https://european-alternatives.eu/) is one great resource for finding more services like these.
|
||||
|
||||
At the end of the day, we trust *all* of our [recommended privacy tools](https://www.privacyguides.org/en/tools/) to keep you safe from prying eyes, but there are many valid reasons you may prefer to stick to the European market.
|
@ -2,11 +2,11 @@
|
||||
date:
|
||||
created: 2025-02-03T19:00:00Z
|
||||
categories:
|
||||
- Opinion
|
||||
- News
|
||||
authors:
|
||||
- em
|
||||
description: Privacy is intrinsically intertwined with politics. Each change in governance can have serious effects on privacy rights and privacy tools, for better or for worse. Let's examine with concrete examples how politics affect legislations that can have an immense impact on the privacy tools and features we use.
|
||||
schema_type: OpinionNewsArticle
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
|
||||
# The Future of Privacy: How Governments Shape Your Digital Life
|
||||
|
157
blog/posts/the-privacy-of-others.md
Normal file
@ -0,0 +1,157 @@
|
||||
---
|
||||
date:
|
||||
created: 2025-03-10T20:00:00Z
|
||||
categories:
|
||||
- Explainers
|
||||
authors:
|
||||
- em
|
||||
description: In privacy, we talk a lot about how to protect our own data, but what about our responsibility to protect the data of others? If you care about privacy rights, you must also care for the data of the people around you. Together, we must start building a culture of data privacy where everyone cares for the data of others.
|
||||
schema_type: NewsArticle
|
||||
---
|
||||
# Privacy is Also Protecting the Data of Others
|
||||
|
||||

|
||||
|
||||
<small aria-hidden="true">Illustration: Em / Privacy Guides | Photo: J W / Unsplash</small>
|
||||
|
||||
In privacy, we talk a lot about how to protect our own data, but what about our responsibility to protect the data of others?
|
||||
|
||||
If you care about privacy rights, you must also care for the data of the people around you. To make privacy work, we need to develop a culture that normalizes caring for everyone's data, not just our own. Privacy cannot solely be a personal responsibility, data privacy is team work.<!-- more -->
|
||||
|
||||
Whatever measures and tools you use to protect your own data, you would never be able to protect it fully without the collaboration of others.
|
||||
|
||||
In this context, the people around you might be your family or your friends, but also includes your boss, your doctor, your therapist, your school, your government, and any other person or organization that has control over some of your data.
|
||||
|
||||
Conversely, you are also in control of other people's data.
|
||||
|
||||
Even if you are not a boss, a doctor, or a therapist yourself, you probably have some photos of your friends, a list of contact information, and copies of sensitive conversations exchanged in private messages with your family. All of this data is under your guard too.
|
||||
|
||||
Once you have control over someone else's data, **you become its guardian**.
|
||||
|
||||
## Data protection is a communal responsibility
|
||||
|
||||
Now to be clear, this isn't necessarily in relationship with the law, although it can be part of it. In this context, I am referring more to ethics. Do we have a moral obligation to care for and protect others to at least the same level we wish to be protected ourselves?
|
||||
|
||||
As a connected society, we constantly exchange information with each other. This information is now mostly stored on digital mediums, and can be very easily duplicated and shared elsewhere. Actually, on a technical level, it's even *difficult* not to constantly involuntarily create duplicates of this data and send it elsewhere.
|
||||
|
||||
This is why **we must increase our vigilance** about protecting the data of others.
|
||||
|
||||
Considering the quantity of data that ends up in everyone's possession, data has become a communal responsibility.
|
||||
|
||||
## We must develop a culture that normalizes data privacy
|
||||
|
||||
Privacy is a human right, and a good starting point to protect any human right is legislation. Legislation is undeniably an aspect of data privacy that is in constant evolution, and we can hope that privacy laws will only get better over time. Well, let's not just hope, let's also work to make sure it does.
|
||||
|
||||
That being said, **laws simply aren't enough**.
|
||||
|
||||
To truly improve data privacy rights, we *must* integrate them into our *whole culture*. This might sound like an over-ambitious endeavor, but culture is flexible and evolves with people's needs.
|
||||
|
||||
In the past few decades, our culture and customs have begun to shift *against* data privacy. Some of us are old enough to remember a time when everyone didn't have a camera in their pocket. At that time, it would have been considered unacceptable in most places to suddenly point a recording camera at a stranger in the street and start filming them without any explanation and without their consent.
|
||||
|
||||
Now this kind of disrespectful behavior is a common occurrence, because everyone has the tool to do it. Our society evolved with technological tools, but **we neglected to course-correct our culture for it**.
|
||||
|
||||
We have reached a point where we need to develop a culture of individual responsibility towards each other's data.
|
||||
|
||||
This means caring not just for our own data, but **caring for everyone's data**, whether it's the data of our friends, our family, our employees, our patients, or even complete strangers in the streets, or online.
|
||||
|
||||
This will take a lot of time and effort, but we owe it to the next generations to start now.
|
||||
|
||||
## The principles we should consider in relation to privacy
|
||||
|
||||
Our society already has adopted or improved many ethical principles in the past decades that are intimately linked to data privacy.
|
||||
|
||||
Some of these principles and values have become much more prevalent in our culture recently, consent being one great example for this.
|
||||
|
||||
**Consent** in privacy is incredibly important. What one person might feel comfortable sharing publicly might be completely different from another person, for example. Privacy cannot be established on a fixed basis without considering individuality and circumstances.
|
||||
|
||||
Someone might be happy sharing their name on social media, and someone else might safeguard this information and only use pseudonyms. One person might feel safe sharing their home address online, yet another person could be killed for doing this.
|
||||
|
||||
This is why *informed* and *explicit* individual consent (with true choices) should always be the center of such decisions, for any type of personal information.
|
||||
|
||||
Other principles we must integrate in our culture of data privacy include **empathy** (my threat model isn't your threat model), **trust and respect** (secure this data properly if you must collect it), **safety** (consider someone could get severely harmed by a data breach), and **individual liberties** (sharing data must be a personal choice, even if there's no danger, it's still valid even if it's just a preference).
|
||||
|
||||
Of course, these are only a few principles indispensable to build a culture of data privacy, but since most people are already familiar with these we'll start here.
|
||||
|
||||
## How we can start building a better culture around data privacy
|
||||
|
||||
So, what concrete actions can we take *right now* to improve our culture around data privacy? What can we do today at the individual level to start better protecting the data of others?
|
||||
|
||||
Here are a few practices you can adopt in your daily life to improve the data of the people around you. However, I insist you not just demand others do this for you, but **do this for others too**. Re-shaping our culture needs to start with ourselves:
|
||||
|
||||
### :material-camera-off: Ask for consent before sharing/posting photos
|
||||
|
||||
Do not post photos of people online without their prior consent. Especially if there are children involved! Before sharing photos of others online, *always* ask for their consent first.
|
||||
|
||||
### :material-face-recognition: Be mindful when sharing photos of protests
|
||||
|
||||
Be very careful when [taking pictures during a protest](https://www.privacyguides.org/articles/2025/01/23/activists-guide-securing-your-smartphone/). There's a lot of nuance to this because it's also important to show protests and make them known (that's usually the goal!), but in some circumstances people might be put in danger if their faces are shown online associated with certain causes.
|
||||
|
||||
Be mindful and make sure no one is singled out without consent in your pictures if you post them online. When possible, try to blur/block the faces of the people you couldn't ask for consent.
|
||||
|
||||
### :material-car: Blur license plates
|
||||
|
||||
When taking photos in the streets and posting them online, be mindful to blur license plates. This might sound extreme but imagine a situation where someone is a victim of domestic violence and their abuser sees their car parked at a shelter, or at someone's place. This information could literally get someone killed. Always keep in mind different people have different [threat models](https://www.privacyguides.org/en/basics/threat-modeling/).
|
||||
|
||||
### :material-contacts: Safeguard contact information
|
||||
|
||||
Never share the contact information of someone with someone else (or something else) without their prior explicit consent. This includes email addresses, phone numbers, legal names, locations, photos, and *especially* home addresses. This information in the wrong hands could literally get someone killed. **Always ask first!**
|
||||
|
||||
Additionally, be vigilant when importing your contact list in a new application. This could get it shared further than you intended. Ideally, always keep your contact list in an end-to-end encrypted application only.
|
||||
|
||||
### :material-file-eye: Be careful when sharing files from and with others
|
||||
|
||||
If someone trusted you with a file (photo, music, video, PDF, text file, etc.), always ask for consent before sharing this file with someone else.
|
||||
|
||||
Additionally, always keep this file only locally or stored in a secure end-to-end encrypted service. If this person gives you consent to share this file, ensure that metadata has been [removed](https://www.privacyguides.org/en/data-redaction/) from it. This person might not be aware of the metadata on this file.
|
||||
|
||||
### :material-heart: Keep confidences secret
|
||||
|
||||
If someone trusts you enough to share something personal with you, do not betray that trust by talking about it with someone else, and *especially* not on unencrypted services such as Gmail or Twitter's DM. In doing so, you would expose this secret to even more unintended recipients. Respect people's trust in you. Do not share confidences.
|
||||
|
||||
### :material-message-text: Safeguard and delete private messages on social media
|
||||
|
||||
If you have private conversations on social media, be mindful not to spread this information elsewhere. If you delete your account, be mindful to also [delete](https://docs.cyd.social/docs/x/delete#delete-my-direct-messages) the information of others you have stored in your private messages. If someone wants to share sensitive information with you, always invite them to move to an end-to-end encrypted [messaging service](https://www.privacyguides.org/en/real-time-communication/) instead.
|
||||
|
||||
### :material-heart-box: Safeguard and delete intimate pictures you received
|
||||
|
||||
If someone trust you enough to send you intimate photos of themselves, take this responsibility *extremely* seriously. If they use an end-to-end encrypted service, do not move the photos out of there. If you do, you could inadvertently upload them to an unencrypted service and compromise the security of these pictures.
|
||||
|
||||
If your relationship with this person ends, you *should* delete all intimate pictures you have received. This is extremely important for their safety, and also possibly for *yours*. Things could get very problematic legally if your copies were to get accidentally leaked or stolen. No matter how difficult this might be emotionally, do the right thing and delete these pictures fully.
|
||||
|
||||
If you are still unconvinced about this one, maybe have a look at Ted Lasso season 3, [episode 8](https://screenrant.com/ted-lasso-season-3-episode-8-keeley-story-response/) which has a great story demonstrating the dangers related to this.
|
||||
|
||||
### :material-cellphone-screenshot: Avoid taking screenshot of people's posts
|
||||
|
||||
Each time you take a screenshot of someone's post to repost it somewhere else, you are effectively removing this person's ability to delete their content later. This is horrible for privacy *and* for consent. Instead, use links to other people's posts. That way, if they decide later to delete their content, the link will simply not work anymore, but their right to deletion will remain intact.
|
||||
|
||||
### :material-record-circle: Notify guests if you are using a smart speaker
|
||||
|
||||
If you are using a smart speaker device in your home such as Amazon's Echo (Alexa), Apple's HomePod (Siri), Google's Nest, inform your guests about it when they enter your home. These devices have the [capacity](https://www.makeuseof.com/tag/alexa-amazon-echo-privacy-risk/) to record all conversations, and there has already been instances of accidental privacy invasion [reported](https://www.cnet.com/home/smart-home/alexa-sent-private-audio-to-a-random-contact-portland-family-says/) about this. Even if you don't mind yourself, offer your guests to *unplug* your smart speaker while they are visiting you. The same is valid for any voice assistant on your phone.
|
||||
|
||||
### :material-eye-off: Do not use Windows Recall (or anything similar)
|
||||
|
||||
If you are a Microsoft user, make sure to [*disable*](https://www.ytechb.com/how-to-uninstall-microsoft-recall-in-windows-11/) Windows Recall from your computer. If it's enabled, this application will [continuously](https://www.theverge.com/2024/6/3/24170305/microsoft-windows-recall-ai-screenshots-security-privacy-issues) take screenshots of your computer, including the faces of anyone video-chatting with you on Signal, the email content of anyone contacting your through Tuta Mail, the secrets of anyone chatting with you on Matrix. Windows Recall completely defeats the protections of anyone using end-to-end encryption to contact you. This is a huge breach of trust! If you somehow use this feature, at least be mindful to disable it each time you communicate with others.
|
||||
|
||||
### :fontawesome-solid-glasses: Don't use Meta's Ray-Ban "AI" glasses!
|
||||
|
||||
Don't use "smart" glasses recording people.
|
||||
|
||||
Just don't.
|
||||
|
||||
Ever.
|
||||
|
||||
This is *extremely* creepy.
|
||||
|
||||
Never buy nor use this.
|
||||
|
||||
If you encounter someone in the street wearing this, run away.
|
||||
|
||||
## This is only a start, but together we can do this
|
||||
|
||||
Improving our culture around data privacy will take time and effort, but we have to start now. The best place to start is with yourself.
|
||||
|
||||
Remember:
|
||||
|
||||
"Be the change you wish to see in the world."
|
||||
|
||||
**Be the data protector you wish to see in the world.**
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
date:
|
||||
created: 2025-03-12T19:00:00Z
|
||||
created: 2025-03-08T11:00:00Z
|
||||
categories:
|
||||
- Explainers
|
||||
authors:
|
||||
|
@ -644,7 +644,7 @@ Before confirming, copy this Password in a secure local text file temporarily. T
|
||||
<div class="admonition tip" markdown>
|
||||
<p class="admonition-title">If you forgot to note your Static password</p>
|
||||
|
||||
You can trigger your **Static password** from your main key by opening a secure local text file and touch the gold part of your YubiKey. If you have configured your **Static password** in the "Short touch" slot, only tough the key for a second. If you have configured it in the "Long touch" slot, touch your key for about 3 seconds until a string is generated (make sure not to trigger a different application). You can then copy this Static password string to your spare key.
|
||||
You can trigger your **Static password** from your main key by opening a secure local text file and touch the gold part of your YubiKey. If you have configured your **Static password** in the "Short touch" slot, only touch the key for a second. If you have configured it in the "Long touch" slot, touch your key for about 3 seconds until a string is generated (make sure not to trigger a different application). You can then copy this Static password string to your spare key.
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -29,7 +29,7 @@ In addition to our core team, [many other people](about/contributors.md) have ma
|
||||
|
||||
[Job Openings :material-arrow-right-drop-circle:](about/jobs.md)
|
||||
|
||||
## Contact Us
|
||||
## :material-email-edit: Contact Us
|
||||
|
||||
[:simple-discourse: Join the Privacy Guides forum](https://discuss.privacyguides.net){ .md-button .md-button--primary }
|
||||
|
||||
@ -49,7 +49,7 @@ You can also use OpenPGP to contact us via email, if you feel comfortable with y
|
||||
|
||||
If you need an alternative secure channel, please request one via any contact method including social media, and we will work with you to establish one. Please do not share any sensitive information with us before we have established an appropriately secure discussion channel.
|
||||
|
||||
## Executive Committee
|
||||
## :material-account-tie: Executive Committee
|
||||
<!-- markdownlint-disable MD030 -->
|
||||
|
||||
The project executive committee consists of five volunteers charged with management of the [MAGIC Privacy Guides Fund](https://magicgrants.org/funds/privacy_guides), making most critical project-related decisions.
|
||||
@ -118,7 +118,7 @@ The project executive committee consists of five volunteers charged with managem
|
||||
|
||||
</div>
|
||||
|
||||
## Staff
|
||||
## :material-account-edit: Staff
|
||||
|
||||
Our staff are paid to contribute to supplemental content at Privacy Guides, like [video production](https://www.youtube.com/@privacyguides), [news articles and tutorials](https://www.privacyguides.org/articles), and our discussion communities and social media. Most are available and paid on a full-time basis to assist the organization.
|
||||
|
||||
@ -162,7 +162,32 @@ Our staff are paid to contribute to supplemental content at Privacy Guides, like
|
||||
|
||||
</div>
|
||||
|
||||
## In The Media
|
||||
## :material-check-decagram: Social Media
|
||||
|
||||
We have a general policy of avoiding links to centralized social media profiles and other websites outside our control. This means that in places like our website footer and other areas, we only link to platforms we fully control, such as our Mastodon and PeerTube accounts or Matrix channels.
|
||||
|
||||
However, Privacy Guides *does* have social media accounts on a wide variety of platforms, in the hope of reaching new users who aren't yet familiar with our content. We try to make this a "one-way street" where those accounts link to privacyguides.org, and not the other way around. However, this creates some confusion about which accounts are actually run by the Privacy Guides team. For reference, we will list all of our accounts here:
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- [:simple-discourse: **Forum**](https://discuss.privacyguides.net)
|
||||
- [:simple-matrix: **Matrix Space**](https://matrix.to/#/#privacyguides:matrix.org)
|
||||
- [:simple-mastodon: **Mastodon**](https://mastodon.neat.computer/@privacyguides)
|
||||
- [:simple-peertube: **PeerTube**](https://neat.tube/c/privacyguides)
|
||||
- [:simple-bluesky: Bluesky](https://bsky.app/profile/privacyguides.org)
|
||||
- [:simple-codeberg: Codeberg](https://codeberg.org/privacyguides)
|
||||
- [:simple-github: GitHub](https://github.com/privacyguides)
|
||||
- [:simple-gitlab: GitLab](https://gitlab.com/privacyguides)
|
||||
- [:fontawesome-brands-linkedin: LinkedIn](https://linkedin.com/company/privacyguides)
|
||||
- [:simple-reddit: Reddit](https://reddit.com/r/PrivacyGuides)
|
||||
- [:simple-x: X (Twitter)](https://x.com/privacy_guides)
|
||||
- [:simple-youtube: YouTube](https://youtube.com/@privacyguides)
|
||||
|
||||
</div>
|
||||
|
||||
To reiterate, this is not an endorsement of any platform, and we generally discourage following us on most social media platforms.
|
||||
|
||||
## :material-newspaper: 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.
|
||||
|
||||
@ -174,7 +199,7 @@ Our staff are paid to contribute to supplemental content at Privacy Guides, like
|
||||
|
||||
Also featured on: [Ars Technica](https://arstechnica.com/gadgets/2022/02/is-firefox-ok), [Wirecutter](https://nytimes.com/wirecutter/guides/practical-guide-to-securing-windows-pc) [[2](https://nytimes.com/wirecutter/guides/practical-guide-to-securing-your-mac)], [NPO Radio 1](https://nporadio1.nl/nieuws/binnenland/8eaff3a2-8b29-4f63-9b74-36d2b28b1fe1/ooit-online-eens-wat-doms-geplaatst-ga-jezelf-eens-googlen-en-kijk-dan-wat-je-tegenkomt), [Wired](https://wired.com/story/firefox-mozilla-2022), [Fast Company](https://fastcompany.com/91167564/mozilla-wants-you-to-love-firefox-again) and [404 Media](https://404media.co/privacy-service-optery-faces-backlash-after-plan-to-send-openai-user-data).
|
||||
|
||||
## History
|
||||
## :material-history: History
|
||||
|
||||
Privacy Guides was launched in September 2021 as a continuation of the [defunct](about/privacytools.md) "PrivacyTools" open-source educational project. We recognized the importance of independent, criteria-focused product recommendations and general knowledge in the privacy space, which is why we needed to preserve the work that had been created by so many contributors since 2015 and make sure that information had a stable home on the web indefinitely.
|
||||
|
||||
@ -184,7 +209,7 @@ We additionally launched our new discussion forum at [discuss.privacyguides.net]
|
||||
|
||||
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
|
||||
## :material-license: Site License
|
||||
|
||||
<div class="admonition danger" markdown>
|
||||
|
||||
|
@ -3,38 +3,110 @@ 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.
|
||||
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.
|
||||
|
||||
Privacy Guides has been a nonstop effort for over 5 years to stay up to date with the world of cybersecurity and privacy, and to promote the benefits of privacy overall. This is a **non-profit, community-driven** project that would not be possible without the generous support of all our [contributors](contributors.md).
|
||||
[:material-heart:{ .pg-red } Become a Member](https://donate.magicgrants.org/privacyguides/membership){ class="md-button md-button--primary" }
|
||||
[:material-hand-coin: Make a Donation](https://donate.magicgrants.org/privacyguides/donate/privacyguides){ class="md-button md-button--primary" }
|
||||
|
||||
## Donate
|
||||
<small markdown>
|
||||
|
||||
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**.
|
||||
MAGIC Grants is our fiscal host, and their custom, open-source donation platform allows you to donate to our project with **Monero**, **Litecoin (MWEB)**, **Bitcoin**, or **debit/credit card**. You can also donate using [:simple-github: GitHub Sponsors](https://github.com/sponsors/privacyguides).
|
||||
|
||||
[: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" }
|
||||
</small>
|
||||
|
||||
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.
|
||||
## Foundations & Organizations
|
||||
|
||||
## How We Use Donations
|
||||
=== "Current Supporters"
|
||||
|
||||
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.
|
||||
Thank you to these organizations who significantly support Privacy Guides. (1)
|
||||
{ .annotate }
|
||||
|
||||
1. Please contact <info@magicgrants.org> to inquire about giving. Privacy Guides reserves the right to rescind the membership of those who are unaligned with our mission or organization at any time. Organizational members have no ability to influence what content is recommended on the Privacy Guides website. Learn more about our [donation acceptance policy](donation-acceptance-policy.md).
|
||||
|
||||
<div class="mdx-specialthanks" markdown>
|
||||
|
||||
[![Power Up Privacy]](https://powerupprivacy.com){ rel=nofollow target=_blank title="Power Up Privacy" }
|
||||
[![DeleteMe]](https://joindeleteme.com){ rel=nofollow target=_blank title="DeleteMe" }
|
||||
|
||||
[Power Up Privacy]: ../assets/img/donors/power-up-privacy.webp
|
||||
[DeleteMe]: ../assets/img/donors/deleteme.webp
|
||||
|
||||
</div>
|
||||
|
||||
=== "Past Supporters"
|
||||
|
||||
Thank you to these organizations who have substantially supported our project in the past.
|
||||
|
||||
- [Safing](https://safing.io){ rel=nofollow target=_blank }: 2019 – 2021
|
||||
|
||||
## Active Members
|
||||
|
||||
Privacy Guides would not be possible without these individuals who generously donate on a monthly or yearly basis. (1)
|
||||
{ .annotate }
|
||||
|
||||
1. If you [become a member](https://donate.magicgrants.org/privacyguides/membership) and [link your donation](https://discuss.privacyguides.net/t/getting-your-member-flair-on-the-forum/25453) to your forum account, you're automatically added here with a link to your profile and avatar to show your support for Privacy Guides. If you don't make your membership public on the forum, you'll be a silent +1. You can change your visibility any time. This chart is updated upon each website release.
|
||||
|
||||
<div class="mdx-donors" data-mdx-component="donors">
|
||||
<div class="mdx-donors__list">
|
||||
|
||||
--8<-- "includes/members.md"
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<small markdown>
|
||||
|
||||
This is a list of our **active** [members](https://donate.magicgrants.org/privacyguides/membership), plus donors on GitHub, who have chosen to make their donation public. Hundreds more have donated in the past or privately, and their support is hugely appreciated as well.
|
||||
|
||||
</small>
|
||||
|
||||
## Merchandise
|
||||
|
||||
You can support us and share your passion for privacy by buying our merchandise from HelloTux.
|
||||
|
||||
[Buy on HelloTux.com](https://hellotux.com/privacyguides){ class="md-button" }
|
||||
|
||||
## Non-Financial Support
|
||||
|
||||
It takes a lot of [people](contributors.md) and [work](https://github.com/privacyguides/privacyguides.org/pulse/monthly) to keep Privacy Guides up to date and spread the word about privacy and mass surveillance. If you're looking for other ways to help out, consider getting involved by [editing the site](https://github.com/privacyguides/privacyguides.org), [joining our forum](https://discuss.privacyguides.net), or [contributing translations](https://crowdin.com/project/privacyguides).
|
||||
|
||||
## FAQ
|
||||
|
||||
### What is an organizational membership?
|
||||
|
||||
Organizational membership to Privacy Guides is open to any company, private foundation, or organization that donates at least $5,000 per year. While Privacy Guides does not endorse private companies or their products, we're grateful for their contributions. Your donation may be tax-deductible, and we will provide you with a receipt.
|
||||
|
||||
You can become an organizational member by reaching out to <info@magicgrants.org> for more information.
|
||||
|
||||
### How are organizational members recognized?
|
||||
|
||||
Organizational members that choose to be recognized publicly are included in our organizational members section (above), and occasionally at other opportunities where appropriate. Organizational member links include the `rel="nofollow"` attribute: We adopted this policy to screen out potential abuse of our program and site to raise the rank of third parties in search algorithms. Unfortunately, this is a growing problem for nonprofits. This was a complex decision since we know many of the sincere supporters behind these companies, but we decided that it was the best choice for us.
|
||||
|
||||
Organizational members have no ability to influence what content is recommended on the Privacy Guides website. Learn more about our [donation acceptance policy](donation-acceptance-policy.md).
|
||||
|
||||
### What is an active membership?
|
||||
|
||||
Your monthly or yearly membership sustains Privacy Guides's services and public activism for privacy and cybersecurity year round. If you become a member, we will recognize your support here on our website, our community forum, and occasionally in other areas like our videos if you choose to make your membership publicly known.
|
||||
|
||||
Our membership program is brand new, and we are still exploring other ways that we can share a token of our appreciation with you, while maintaining sustainable and ethical boundaries. Stay tuned!
|
||||
|
||||
### How does Privacy Guides use donations?
|
||||
|
||||
Privacy Guides has been a nonstop effort for over 5 years to stay up to date with the world of cybersecurity and privacy, and to promote the benefits of privacy overall. This is a **non-profit, community-driven** project that would not be possible without the generous support of all our [contributors](contributors.md), in addition to our regularly donating members above.
|
||||
|
||||
Your donation go to a [dedicated fund](https://magicgrants.org/funds/privacy_guides) within [MAGIC Grants](https://magicgrants.org), a 501(c)(3) organization and our fiscal host. The funds will **only** be used for this project specifically.
|
||||
|
||||
You may qualify for a tax deduction. When you donate to us [here](https://donate.magicgrants.org/privacyguides) with cryptocurrency or card you have the option to receive a receipt from MAGIC Grants for this purpose. If you have questions about other transactions please email <info@magicgrants.org>.
|
||||
|
||||
We use donations for a variety of purposes, including:
|
||||
|
||||
**Web Hosting**
|
||||
|
||||
: Traffic to this website uses hundreds of gigabytes of data per month, we use a variety of service providers to keep up with this traffic.
|
||||
|
||||
**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 have journalists, writers, and video creators on payroll to review products and create more educational content on a regular basis. This is a significant expense, and we are only able to create our quantity of content with your support.
|
||||
|
||||
**Domain Registrations**
|
||||
**Web Hosting and Infrastructure**
|
||||
|
||||
: We have a few domain names like `privacyguides.org` which cost us around $10 yearly to maintain their registration.
|
||||
: Traffic to this website uses hundreds of gigabytes of data per month; we use a variety of service providers to keep up with this traffic.
|
||||
|
||||
**Online Services**
|
||||
|
||||
@ -46,14 +118,4 @@ We use donations for a variety of purposes, including:
|
||||
|
||||
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.
|
||||
|
||||
## Merchandise
|
||||
|
||||
Another option to support us is by buying our merchandise from HelloTux. We get a small commission for each item sold, and you get a quality product to show for it.
|
||||
|
||||
[Buy on HelloTux.com](https://hellotux.com/privacyguides){ class="md-button" }
|
||||
|
||||
## Non-Financial Support
|
||||
|
||||
It takes a lot of [people](contributors.md) and [work](https://github.com/privacyguides/privacyguides.org/pulse/monthly) to keep Privacy Guides up to date and spread the word about privacy and mass surveillance. If you're looking for other ways to help out, consider getting involved by [editing the site](https://github.com/privacyguides/privacyguides.org), [joining our forum](https://discuss.privacyguides.net), or [contributing translations](https://crowdin.com/project/privacyguides).
|
||||
We strictly **do not** use donations to support political campaigns/candidates or attempt to influence legislation. Earnings will **not** inure to the benefit of any private shareholder or individual.
|
||||
|
@ -7,6 +7,7 @@ description: An overview of several network architectures commonly used by insta
|
||||
There are several network architectures commonly used to relay messages between people. These networks can provide different privacy guarantees, which is why it's worth considering your [threat model](../basics/threat-modeling.md) when deciding which app to use.
|
||||
|
||||
[Recommended Instant Messengers](../real-time-communication.md){ .md-button }
|
||||
[:material-movie-open-play-outline: Video: It's time to stop using SMS](https://www.privacyguides.org/videos/2025/01/24/its-time-to-stop-using-sms-heres-why/){ .md-button }
|
||||
|
||||
## Centralized Networks
|
||||
|
||||
|
@ -8,6 +8,8 @@ description: Tor is a free to use, decentralized network designed for using the
|
||||
|
||||
[**Tor**](../alternative-networks.md#tor) is a free to use, decentralized network designed for using the internet with as much privacy as possible. If used properly, the network enables private and anonymous browsing and communications. Because Tor traffic is difficult to block and trace, Tor is an effective censorship circumvention tool.
|
||||
|
||||
[:material-movie-open-play-outline: Video: Why You Need Tor](https://www.privacyguides.org/videos/2025/03/02/why-you-need-tor/){ .md-button }
|
||||
|
||||
Tor works by routing your internet traffic through volunteer-operated servers, instead of making a direct connection to the site you're trying to visit. This obfuscates where the traffic is coming from, and no server in the connection path is able to see the full path of where the traffic is coming from and going to, meaning even the servers you are using to connect cannot break your anonymity.
|
||||
|
||||
[:octicons-home-16:](https://torproject.org){ .card-link title=Homepage }
|
||||
|
@ -121,6 +121,6 @@ The [F-Droid](https://f-droid.org/en/packages) and [IzzyOnDroid](https://apt.izz
|
||||
<div class="admonition note" markdown>
|
||||
<p class="admonition-title">F-Droid Basic</p>
|
||||
|
||||
In some rare cases, the developer of an app will only distribute it through F-Droid ([Gadgetbridge](https://gadgetbridge.org) is one example of this). If you really need an app like that, we recommend using the newer [F-Droid Basic](https://f-droid.org/en/packages/org.fdroid.basic) client instead of the original F-Droid app to obtain it. F-Droid Basic supports automatic background updates without privileged extension or root, and has a reduced feature set (limiting attack surface).
|
||||
In some rare cases, the developer of an app will only distribute it through F-Droid ([Gadgetbridge](../health-and-wellness.md#gadgetbridge) is one example of this). If you really need an app like that, we recommend using the newer [F-Droid Basic](https://f-droid.org/en/packages/org.fdroid.basic) client instead of the original F-Droid app to obtain it. F-Droid Basic supports automatic background updates without privileged extension or root, and has a reduced feature set (limiting attack surface).
|
||||
|
||||
</div>
|
||||
|
@ -7,6 +7,8 @@ description: Virtual Private Networks shift risk away from your ISP to a third-p
|
||||
|
||||
Virtual Private Networks are a way of extending the end of your network to exit somewhere else in the world.
|
||||
|
||||
[:material-movie-open-play-outline: Video: Do you need a VPN?](https://www.privacyguides.org/videos/2024/12/12/do-you-need-a-vpn/){ .md-button }
|
||||
|
||||
Normally, an ISP can see the flow of internet traffic entering and exiting your network termination device (i.e. modem). Encryption protocols such as HTTPS are commonly used on the internet, so they may not be able to see exactly what you're posting or reading, but they can get an idea of the [domains you request](../advanced/dns-overview.md#why-shouldnt-i-use-encrypted-dns).
|
||||
|
||||
Using a VPN hides even this information from your ISP, by shifting the trust you place in your network to a server somewhere else in the world. As a result, the ISP then only sees that you are connected to a VPN and nothing about the activity that you're passing through it.
|
||||
|
@ -11,6 +11,8 @@ Privacy is ultimately about human information, and this is important because we
|
||||
|
||||
Many people get the concepts of **privacy**, **security**, and **anonymity** confused. You'll see people criticize various products as "not private" when really they mean it doesn't provide anonymity, for example. On this website, we cover all three of these topics, but it is important you understand the difference between them, and when each one comes into play.
|
||||
|
||||
[:material-movie-open-play-outline: Video: Stop Confusing Privacy, Anonymity, and Security](https://www.privacyguides.org/videos/2025/03/14/stop-confusing-privacy-anonymity-and-security/){ .md-button }
|
||||
|
||||
<!-- markdownlint-disable-next-line -->
|
||||
**Privacy**
|
||||
|
||||
@ -50,6 +52,8 @@ Take cookie consent forms, for example. You may encounter these dozens of times
|
||||
|
||||
Privacy is something we need to have baked into the [software and services](../tools.md) we use by default, you can't bend most apps into being private on your own.
|
||||
|
||||
[:material-movie-open-play-outline: Video: 5 Steps to Improve Your Privacy](https://www.privacyguides.org/videos/2025/02/14/5-easy-steps-to-protect-yourself-online/){ class="md-button" }
|
||||
|
||||
## Sources
|
||||
|
||||
- [Why Privacy Matters](https://amazon.com/dp/0190939044) (2021) by Neil Richards
|
||||
|
@ -53,7 +53,7 @@ We don't recommend using the [E2EE App](https://apps.nextcloud.com/apps/end_to_e
|
||||
|
||||
{ align=right }
|
||||
|
||||
**CryptPad** is a private-by-design alternative to popular office tools. All content on this web service is end-to-end encrypted and can be shared with other users easily.
|
||||
**CryptPad** is a private-by-design alternative to popular office tools. All content on this web service is end-to-end encrypted and can be shared with other users easily. [:material-star-box: Read our latest CryptPad review.](https://www.privacyguides.org/articles/2025/02/07/cryptpad-review/)
|
||||
|
||||
[:octicons-home-16: Homepage](https://cryptpad.fr){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://cryptpad.fr/pad/#/2/pad/view/GcNjAWmK6YDB3EO2IipRZ0fUe89j43Ryqeb4fjkjehE){ .card-link title="Privacy Policy" }
|
||||
|
@ -249,9 +249,31 @@ Tuta doesn't offer a digital legacy feature.
|
||||
|
||||
## Self-Hosting Email
|
||||
|
||||
Advanced system administrators may consider setting up their own email server. Mail servers require attention and continuous maintenance in order to keep things secure and mail delivery reliable.
|
||||
Advanced system administrators may consider setting up their own email server. Mail servers require attention and continuous maintenance in order to keep things secure and mail delivery reliable. In addition to the "all-in-one" solutions below, we've picked out a few articles that cover a more manual approach:
|
||||
|
||||
### Combined software solutions
|
||||
- [Setting up a mail server with OpenSMTPD, Dovecot and Rspamd](https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd) (2019)
|
||||
- [How To Run Your Own Mail Server](https://www.c0ffee.net/blog/mail-server-guide) (August 2017)
|
||||
|
||||
### Stalwart
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Stalwart** is a newer mail server written in Rust which supports JMAP in addition to the standard IMAP, POP3, and SMTP. It has a wide variety of configuration options, but it also defaults to very reasonable settings (in terms of both security and features) making it easy to use immediately. It has web-based administration with TOTP 2FA support, and it allows you to enter your public PGP key to encrypt **all** incoming messages.
|
||||
|
||||
[:octicons-home-16: Homepage](https://stalw.art){ .md-button .md-button--primary }
|
||||
[:octicons-info-16:](https://stalw.art/docs/get-started){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://github.com/stalwartlabs){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://github.com/sponsors/stalwartlabs){ .card-link title="Contribute" }
|
||||
|
||||
</div>
|
||||
|
||||
Stalwart's [PGP implementation](https://stalw.art/docs/encryption/overview) is unique among our self-hosted recommendations, and allows you to operate your own mail server with zero-knowledge message storage. If you additionally configure Web Key Directory on your domain, and if you use an email client which supports PGP and Web Key Directory for outgoing mail (like Thunderbird), then this is the easiest way to get self-hosted E2EE compatibility with all [Proton Mail](#proton-mail) users.
|
||||
|
||||
Stalwart does **not** have an integrated webmail, so you will need to use it with a [dedicated email client](email-clients.md) (or find an open-source webmail to self-host, like Nextcloud's Mail app). We use Stalwart for our own internal email at *Privacy Guides*.
|
||||
|
||||
### Mailcow
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
@ -266,6 +288,8 @@ Advanced system administrators may consider setting up their own email server. M
|
||||
|
||||
</div>
|
||||
|
||||
### Mail-in-a-Box
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
@ -278,11 +302,6 @@ Advanced system administrators may consider setting up their own email server. M
|
||||
|
||||
</div>
|
||||
|
||||
For a more manual approach we've picked out these two articles:
|
||||
|
||||
- [Setting up a mail server with OpenSMTPD, Dovecot and Rspamd](https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd) (2019)
|
||||
- [How To Run Your Own Mail Server](https://c0ffee.net/blog/mail-server-guide) (August 2017)
|
||||
|
||||
## Criteria
|
||||
|
||||
**Please note we are not affiliated with any of the providers we recommend.** In addition to [our standard criteria](about/criteria.md), we have developed a clear set of requirements for any email provider wishing to be recommended, including implementing industry best practices, modern technology and more. We suggest you familiarize yourself with this list before choosing an email provider, and conduct your own research to ensure the email provider you choose is the right choice for you.
|
||||
|
169
docs/health-and-wellness.md
Normal file
@ -0,0 +1,169 @@
|
||||
---
|
||||
meta_title: "Privacy Respecting Health and Wellness apps for Android and iOS - Privacy Guides"
|
||||
title: "Health and Wellness Apps"
|
||||
icon: material/heart-pulse
|
||||
description: These applications are what we currently recommend for all health and fitness-related activites on your phone.
|
||||
cover: health-cover.webp
|
||||
---
|
||||
<small>Protects against the following threat(s):</small>
|
||||
|
||||
- [:material-server-network: Service Providers](basics/common-threats.md#privacy-from-service-providers){ .pg-teal }
|
||||
|
||||
Keep track of your health and fitness-related goals with these apps. Unlike their mainstream alternatives, your personal health information will be kept private.
|
||||
|
||||
## Menstrual Cycle Tracking
|
||||
|
||||
Popular menstrual trackers like [Flo](https://techcrunch.com/2021/01/13/flo-gets-ftc-slap-for-sharing-user-data-when-it-promised-privacy) are notorious for collecting and sharing your user data. Depending on your jurisdiction, this may lead to [legal consequences](https://forbes.com/sites/abigaildubiniecki/2024/11/14/post-roe-your-period-app-data-could-be-used-against-you) affecting your reproductive autonomy.
|
||||
|
||||
### drip.
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**drip.** is a gender-inclusive and open source menstrual cycle tracker available on all mobile platforms. It relies on the "sympto-thermal method" to predict ovulation. All user data is stored locally on your device and can be protected with a password.
|
||||
|
||||
[:octicons-home-16: Homepage](https://bloodyhealth.gitlab.io){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://bloodyhealth.gitlab.io/privacy-policy.html){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://bloodyhealth.gitlab.io/faq){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://gitlab.com/bloodyhealth/drip){ .card-link title="Source Code" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=com.drip)
|
||||
- [:simple-appstore: App Store](https://apps.apple.com/us/app/drip/id1584564949)
|
||||
- [:simple-android: Android](https://bloodyhealth.gitlab.io)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
### Euki
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Euki** is a nonprofit-backed menstrual cycle tracker that also doubles as a medication tracker and sexual wellness knowledge base. It allows you to schedule the automatic deletion of your personal data in the app. All user data is stored locally on your device and can be protected with a password.
|
||||
|
||||
[:octicons-home-16: Homepage](https://eukiapp.org){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://eukiapp.org/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-code-16:](https://github.com/Euki-Inc/Euki-Android){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://every.org/euki-app){ .card-link title="Contribute" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=com.kollectivemobile.euki)
|
||||
- [:simple-appstore: App Store](https://apps.apple.com/app/euki/id1469213846)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
## Fitness Trackers
|
||||
|
||||
These general purpose apps can do everything from counting steps and tracking sleep to measuring your heartbeat.
|
||||
|
||||
### Apple Health
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }{ align=right }
|
||||
|
||||
**Apple Health** is the default health and fitness app for iOS. Apple Health always uses end-to-end encryption when syncing across multiple devices. Additionally, almost all measured data is processed on your device.
|
||||
|
||||
[:octicons-home-16: Homepage](https://apple.com/health){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://apple.com/legal/privacy/consumer-health-personal-data/en-ww){ .card-link title="Privacy Policy" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-appstore: App Store](https://apps.apple.com/app/apple-health/id1242545199)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
### Gadgetbridge
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }{ align=right }
|
||||
|
||||
**Gadgetbridge** is an open-source Android application which allows you to pair and manage your Bluetooth device without relying on the vendor’s application. When paired with a compatible smartwatch, it can mimic the health and wellness functionality of these watches without third-party data collection.
|
||||
|
||||
[:octicons-home-16: Homepage](https://gadgetbridge.org){ .md-button .md-button--primary }
|
||||
[:octicons-info-16:](https://gadgetbridge.org/basics){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://codeberg.org/Freeyourgadget/Gadgetbridge){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://liberapay.com/Gadgetbridge/donate){ .card-link title="Contribute" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-android: F-Droid](https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
Gadgetbridge's app functionality includes, but is not limited to: step counting, sleep tracking, heart rate monitoring, etc.
|
||||
|
||||
Make sure to review the smartwatch [compatibility list](https://gadgetbridge.org/gadgets) before purchasing a device. Some devices require you to download the vendor's app and connect the smartwatch to their servers prior to installing Gadgetbridge.
|
||||
|
||||
## Health Records
|
||||
|
||||
These apps help you collect and manage personal health data and share it with health providers, organizations, and other apps.
|
||||
|
||||
### Apple Health Records
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }{ align=right }
|
||||
|
||||
**Apple Health Records** is a built-in feature within [Apple Health](#apple-health) that allows you to view, store, and share your health records. It shares the security and privacy features of Apple Health.
|
||||
|
||||
[:octicons-home-16: Homepage](https://apple.com/health){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://apple.com/legal/privacy/consumer-health-personal-data/en-ww){ .card-link title="Privacy Policy" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-appstore: App Store](https://apps.apple.com/app/apple-health/id1242545199)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
### CommonHealth
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**CommonHealth** is a privacy-respecting Android app that allows people to access their electronic health records and securely share it to providers. All health data is stored on your device and can be protected with a passcode or biometric authentication.
|
||||
|
||||
[:octicons-home-16: Homepage](https://commonhealth.org){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://commonhealth.org/privacy){ .card-link title="Privacy Policy" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=org.thecommonsproject.android.phr)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
CommonHealth is only available in the United States. Although the app itself is closed source, the [developer SDK is open source](https://github.com/the-commons-project).
|
||||
|
||||
## 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 support automatic updates.
|
||||
- Must not store unencrypted data outside the device.
|
||||
- Must function offline.
|
@ -70,7 +70,8 @@ Trying to protect all your data from everyone all the time is impractical, expen
|
||||
<div markdown>
|
||||
**Privacy Guides** has a dedicated [community](https://discuss.privacyguides.net) independently reviewing various *privacy tools* and services. Each of our recommendations comply with a strict set of criteria to ensure they provide the most value to most people, and provide the best balance of privacy, security, and convenience. As part of a non-profit **public charity**, Privacy Guides has strict **journalistic standards** and policies to ensure our recommendations are free of conflict of interest, and we do not partner with providers or affiliate programs that could sway our reviews and recommendations.
|
||||
|
||||
[:material-heart:{.pg-red} Support Our Work](https://donate.magicgrants.org/privacyguides){ .md-button .md-button--primary }
|
||||
[:material-heart:{.pg-red} Support Our Work](about/donate.md){ class="md-button md-button--primary" }
|
||||
|
||||
</div>
|
||||
|
||||
- [x] **Ad-Free Recommendations**
|
||||
@ -82,82 +83,6 @@ Trying to protect all your data from everyone all the time is impractical, expen
|
||||
|
||||
</div>
|
||||
|
||||
### Top 3 Private Email Providers
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- { .lg .middle .twemoji loading=lazy } **Proton Mail**
|
||||
|
||||
---
|
||||
|
||||
Proton Mail is an email service with a focus on privacy, encryption, security, and ease of use. They have been in operation since 2013. Proton AG is based in Geneva, Switzerland. The Proton Mail Free plan comes with 500 MB of Mail storage, which you can increase up to 1 GB for free.
|
||||
|
||||
[:octicons-arrow-right-24: Read Full Review](email.md#proton-mail)
|
||||
|
||||
- { .lg .middle .twemoji loading=lazy } **Mailbox.org**
|
||||
|
||||
---
|
||||
|
||||
Mailbox.org is an email service with a focus on being secure, ad-free, and privately powered by 100% eco-friendly energy. They have been in operation since 2014. Mailbox.org is based in Berlin, Germany. Accounts start with up to 2 GB storage, which can be upgraded as needed.
|
||||
|
||||
[:octicons-arrow-right-24: Read Full Review](email.md#mailboxorg)
|
||||
|
||||
- { .lg .middle .twemoji loading=lazy }{ .lg .middle .twemoji loading=lazy } **Tuta**
|
||||
|
||||
---
|
||||
|
||||
Tuta (formerly *Tutanota*) is an email service with a focus on security and privacy through the use of encryption. Tuta has been in operation since 2011 and is based in Hanover, Germany. Free accounts start with 1 GB of storage.
|
||||
|
||||
[:octicons-arrow-right-24: Read Full Review](email.md#tuta)
|
||||
|
||||
</div>
|
||||
|
||||
<div class="grid" markdown>
|
||||
<div markdown>
|
||||
### Best VPN Services
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- { .twemoji loading=lazy } [Proton VPN](vpn.md#proton-vpn)
|
||||
- { .twemoji loading=lazy } [IVPN](vpn.md#ivpn)
|
||||
- { .twemoji loading=lazy } [Mullvad](vpn.md#mullvad)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div markdown>
|
||||
### Secure Cloud Storage Services
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- { .twemoji loading=lazy } [Proton Drive](cloud.md#proton-drive)
|
||||
- { .twemoji loading=lazy } [Tresorit](cloud.md#tresorit)
|
||||
- { .twemoji loading=lazy } [Peergos](cloud.md#peergos)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div markdown>
|
||||
### Best Web Browsers
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- { .twemoji loading=lazy } [Mullvad Browser](desktop-browsers.md#mullvad-browser)
|
||||
- { .twemoji loading=lazy } [Firefox](desktop-browsers.md#firefox)
|
||||
- { .twemoji loading=lazy } [Brave](desktop-browsers.md#brave)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
[:material-format-list-checkbox: More Recommended **Privacy Tools**](tools.md){ class="md-button md-button--primary" }
|
||||
[Best Mobile Browsers](mobile-browsers.md){ .md-button }
|
||||
[Top Browser Extensions](browser-extensions.md){ .md-button }
|
||||
[DNS Servers](dns.md){ .md-button }
|
||||
[Email Aliasing Services](email-aliasing.md){ .md-button }
|
||||
[Photo Organization Tools](photo-management.md){ .md-button }
|
||||
[PC Operating Systems](desktop.md){ .md-button }
|
||||
|
||||
---
|
||||
|
||||
## About Privacy Guides
|
||||
@ -170,7 +95,7 @@ Established in 2021 due to the difficulty of finding unbiased reviewers in the V
|
||||
|
||||
As seen in **WIRED**, **Tweakers.net**, **The New York Times**, and many other publications as a reliable source for privacy and security knowledge.
|
||||
|
||||
[:material-information: More About Who We Are](about.md){ class="md-button md-button--primary" } [:material-email: Join our Newsletter](https://blog.privacyguides.org/#/portal/signup){ .md-button }
|
||||
[:material-information: More About Who We Are](about.md){ class="md-button" }
|
||||
|
||||
<div class="grid" markdown>
|
||||
<div markdown>
|
||||
@ -188,6 +113,6 @@ In the modern age of digital data exploitation, your privacy has never been more
|
||||
|
||||
Many people get the concepts of privacy, security, and anonymity confused. You'll see people criticize various products as "not private" when really they mean it doesn't provide anonymity, for example. On this website, we cover all three of these topics, but it is important you understand the difference between them, and when each one comes into play.
|
||||
|
||||
[Privacy vs Security vs Anonymity](basics/why-privacy-matters.md#what-is-privacy){ class="md-button" }
|
||||
[:material-movie-open-play-outline: Video: 5 Steps to Improve Your Privacy](https://www.privacyguides.org/videos/2025/02/14/5-easy-steps-to-protect-yourself-online/){ class="md-button" }
|
||||
</div>
|
||||
</div>
|
||||
|
88
docs/maps.md
Normal file
@ -0,0 +1,88 @@
|
||||
---
|
||||
meta_title: "Recommended Maps and Navigation Apps - Privacy Guides"
|
||||
title: "Maps and Navigation"
|
||||
icon: material/map
|
||||
description: Privacy-respecting map providers and navigation apps which don't build an advertising profile based on your searches and locations.
|
||||
cover: maps.webp
|
||||
---
|
||||
<small>Protects against the following threat(s):</small>
|
||||
|
||||
- [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown }
|
||||
|
||||
Use a **map and navigation app** that doesn't build an advertising profile based on your searches and location history. Instead of using Google Maps, Apple Maps, or Waze, we recommend these privacy-respecting alternatives.
|
||||
|
||||
The recommendations here either do not collect any user data or at least do not collect personally identifying information (PII) based on each service's privacy policy. There is **no guarantee** that these privacy policies are honored.
|
||||
|
||||
## Organic Maps
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Organic Maps** is an open source, community-developed map display and satnav-style navigation app for walkers, drivers, and cyclists. The app offers worldwide offline maps based on OpenStreetMap data, and navigation with privacy — no location tracking, no data collection, and no ads. The app can be used completely offline.
|
||||
|
||||
Features include cycling routes, hiking trails and walking paths, turn-by-turn navigation with voice guidance, and public transport route planning (only available in supported regions and cities).
|
||||
|
||||
[:octicons-home-16: Homepage](https://organicmaps.app){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://organicmaps.app/privacy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-code-16:](https://github.com/organicmaps/organicmaps){ .card-link title="Source Code" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-github: GitHub](https://github.com/organicmaps/organicmaps)
|
||||
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=app.organicmaps)
|
||||
- [:simple-appstore: App Store](https://apps.apple.com/app/organic-maps/id1567437057)
|
||||
- [:simple-linux: Linux](https://flathub.org/apps/app.organicmaps.desktop)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
Please note that Organic Maps is a simple, basic app that lacks certain features many users might expect, such as satellite images, street view images, and real-time traffic information.
|
||||
|
||||
## OsmAnd
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**OsmAnd** is an offline map and navigation application based on OpenStreetMap, offering turn-by-turn navigation for walking, cycling, driving, as well as public transport. It is open-source and does not collect any user data.
|
||||
|
||||
[:octicons-home-16: Homepage](https://osmand.net){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://osmand.net/docs/legal/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://osmand.net/docs/intro){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://github.com/osmandapp){ .card-link title="Source Code" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=net.osmand)
|
||||
- [:simple-android: Android](https://osmand.net/docs/versions/free-versions)
|
||||
- [:simple-appstore: App Store](https://apps.apple.com/us/app/osmand-maps-travel-navigate/id934850257)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
Compared to Organic Maps, OsmAnd has more [features](https://wiki.openstreetmap.org/wiki/OsmAnd#Features) but is also more complicated to use. One noteworthy feature is the ability to overlay or underlay external map data, such as satellite images from Microsoft or [traffic data](https://web.archive.org/web/20211203063453/http://themm.net/public/osmand_traffic) from Google, although the latter is ignored by the automatic route planning. OsmAnd also has an optional integration of street view images provided by [Mapillary](https://mapillary.com).
|
||||
|
||||
## 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 not collect PII per their privacy policy.
|
||||
- Must not require users to create an account with them.
|
||||
- Must not require users to share location data. If the user opts in to sharing their location, this data must be anonymized.
|
||||
- Must retain core functionality when offline and allow users to download maps for offline use.
|
||||
|
||||
### Best-Case
|
||||
|
||||
Our best-case criteria represents 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.
|
||||
|
||||
- Apps should be open source.
|
||||
- Should have route planning for public transport.
|
||||
- Should have real-time traffic information for route planning.
|
||||
- Should support advanced features such as detailed shop/point of interest (POI) information and reviews, topographic maps, and satellite and street view images.
|
@ -102,18 +102,6 @@ schema:
|
||||
"@context": http://schema.org
|
||||
"@type": WebPage
|
||||
url: "./"
|
||||
-
|
||||
"@context": http://schema.org
|
||||
"@type": SoftwareApplication
|
||||
name: Strongbox
|
||||
image: /assets/img/password-management/strongbox.svg
|
||||
url: https://strongboxsafe.com
|
||||
applicationCategory: Password Manager
|
||||
operatingSystem: iOS
|
||||
subjectOf:
|
||||
"@context": http://schema.org
|
||||
"@type": WebPage
|
||||
url: "./"
|
||||
-
|
||||
"@context": http://schema.org
|
||||
"@type": SoftwareApplication
|
||||
@ -375,31 +363,6 @@ KeePassXC stores its export data as [CSV](https://en.wikipedia.org/wiki/Comma-se
|
||||
|
||||
</div>
|
||||
|
||||
### Strongbox (iOS & macOS)
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Strongbox** is a native password manager for iOS and macOS. Supporting both KeePass and Password Safe formats, Strongbox can be used in tandem with other password managers, like KeePassXC, on non-Apple platforms. By employing a [freemium model](https://strongboxsafe.com/pricing), Strongbox offers most features under its free tier, with more convenience-oriented [features](https://strongboxsafe.com/comparison)—such as biometric authentication—locked behind a subscription or perpetual license.
|
||||
|
||||
[:octicons-home-16: Homepage](https://strongboxsafe.com){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://strongboxsafe.com/privacy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://strongboxsafe.com/getting-started){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://github.com/strongbox-password-safe/Strongbox){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://github.com/strongbox-password-safe/Strongbox#supporting-development){ .card-link title="Contribute" }
|
||||
|
||||
<details class="downloads" markdown>
|
||||
<summary>Downloads</summary>
|
||||
|
||||
- [:simple-appstore: App Store](https://apps.apple.com/app/id897283731)
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
Additionally, Strongbox offers an offline-only version: [Strongbox Zero](https://apps.apple.com/app/id1581589638). This version is stripped down in an attempt to reduce attack surface.
|
||||
|
||||
### gopass (CLI)
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
@ -25,6 +25,22 @@ cover: pastebins.webp
|
||||
|
||||
</div>
|
||||
|
||||
## Paaster
|
||||
|
||||
<div class="admonition recommendation" markdown>
|
||||
|
||||
{ align=right }
|
||||
|
||||
**Paaster** is a secure and user-friendly pastebin application that prioritizes privacy and simplicity. With end-to-end encryption and paste history, Paaster ensures that your pasted code remains confidential and accessible.
|
||||
|
||||
[:octicons-home-16: Homepage](https://paaster.io){ .md-button .md-button--primary }
|
||||
[:octicons-eye-16:](https://paaster.io/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://github.com/WardPearce/paaster#security){ .card-link title="Documentation" }
|
||||
[:octicons-code-16:](https://github.com/WardPearce/paaster){ .card-link title="Source Code" }
|
||||
[:octicons-heart-16:](https://github.com/sponsors/WardPearce){ .card-link title="Contribute" }
|
||||
|
||||
</div>
|
||||
|
||||
## 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.
|
||||
|
@ -12,9 +12,9 @@ cover: real-time-communication.webp
|
||||
- [:material-eye-outline: Mass Surveillance](basics/common-threats.md#mass-surveillance-programs){ .pg-blue }
|
||||
- [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown }
|
||||
|
||||
These are our recommendations for encrypted **real-time communication**.
|
||||
These are our recommendations for encrypted **real-time communication**. These come in the form of many [types of communication networks](./advanced/communication-network-types.md).
|
||||
|
||||
[Types of Communication Networks :material-arrow-right-drop-circle:](./advanced/communication-network-types.md)
|
||||
[:material-movie-open-play-outline: Video: It's time to stop using SMS](https://www.privacyguides.org/videos/2025/01/24/its-time-to-stop-using-sms-heres-why/){ .md-button }
|
||||
|
||||
## Encrypted Messengers
|
||||
|
||||
|
@ -44,8 +44,6 @@ Brave Search includes unique features such as [Discussions](https://search.brave
|
||||
[:octicons-eye-16:](https://search.brave.com/help/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://search.brave.com/help){ .card-link title=Documentation}
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
Note that if you use Brave Search while logged in to a Premium account, it may make it easier for Brave to correlate queries with specific users.
|
||||
@ -67,8 +65,6 @@ DuckDuckGo is the default search engine for the [Tor Browser](tor.md#tor-browser
|
||||
[:octicons-eye-16:](https://duckduckgo.com/privacy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://help.duckduckgo.com){ .card-link title=Documentation}
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
DuckDuckGo offers two [other versions](https://help.duckduckgo.com/features/non-javascript) of their search engine, both of which do not require JavaScript. These versions do lack features, however. These versions can also be used in conjunction with their Tor hidden address by appending [/lite](https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/lite) or [/html](https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/html) for the respective version.
|
||||
@ -87,8 +83,6 @@ DuckDuckGo offers two [other versions](https://help.duckduckgo.com/features/non-
|
||||
[:octicons-eye-16:](https://startpage.com/en/privacy-policy){ .card-link title="Privacy Policy" }
|
||||
[:octicons-info-16:](https://support.startpage.com/hc/categories/4481917470356-Startpage-Search-Engine){ .card-link title=Documentation}
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
Startpage's majority shareholder is System1 who is an adtech company. We don't believe that to be an issue as they have a distinctly separate [privacy policy](https://system1.com/terms/privacy-policy). The Privacy Guides team reached out to Startpage [back in 2020](https://blog.privacyguides.org/2020/05/03/relisting-startpage) to clear up any concerns with System1's sizeable investment into the service, and we were satisfied with the answers we received.
|
||||
@ -111,8 +105,6 @@ A [metasearch engine](https://en.wikipedia.org/wiki/Metasearch_engine) aggregate
|
||||
[:octicons-server-16:](https://searx.space){ .card-link title="Public Instances"}
|
||||
[:octicons-code-16:](https://github.com/searxng/searxng){ .card-link title="Source Code" }
|
||||
|
||||
</details>
|
||||
|
||||
</div>
|
||||
|
||||
SearXNG is a proxy between you and the search engines it aggregates from. Your search queries will still be sent to the search engines that SearXNG gets its results from.
|
||||
|
@ -168,13 +168,13 @@ If you're looking for added **security**, you should always ensure you're connec
|
||||
|
||||
---
|
||||
|
||||
- [x] **45+ Countries**
|
||||
- [x] **49+ Countries**
|
||||
- [x] WireGuard Support
|
||||
- [x] Monero & Cash Payments
|
||||
- [ ] No Port Forwarding
|
||||
- [x] IPv6 Support
|
||||
|
||||
[Read Full Review :material-arrow-right-drop-circle:](vpn.md#ivpn)
|
||||
[Read Full Review :material-arrow-right-drop-circle:](vpn.md#mullvad)
|
||||
|
||||
</div>
|
||||
|
||||
@ -226,8 +226,9 @@ If you're looking for added **security**, you should always ensure you're connec
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- { .twemoji loading=lazy } [Mailcow](email.md#self-hosting-email)
|
||||
- { .twemoji loading=lazy } [Mail-in-a-Box](email.md#self-hosting-email)
|
||||
- { .twemoji loading=lazy } [Stalwart](email.md#stalwart)
|
||||
- { .twemoji loading=lazy } [Mailcow](email.md#mailcow)
|
||||
- { .twemoji loading=lazy } [Mail-in-a-Box](email.md#mail-in-a-box)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -498,6 +499,21 @@ For encrypting your OS drive, we typically recommend using the encryption tool y
|
||||
|
||||
[Learn more :material-arrow-right-drop-circle:](frontends.md)
|
||||
|
||||
### Health and Wellness Apps
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- { .twemoji loading=lazy } [drip.](health-and-wellness.md#drip)
|
||||
- { .twemoji loading=lazy } [Euki](health-and-wellness.md#euki)
|
||||
- { .twemoji loading=lazy } { .twemoji loading=lazy }[Apple Health](health-and-wellness.md#apple-health)
|
||||
- { .twemoji loading=lazy }{ .twemoji loading=lazy } [Gadgetbridge](health-and-wellness.md#gadgetbridge)
|
||||
- { .twemoji loading=lazy } { .twemoji loading=lazy }[Apple Health Records](health-and-wellness.md#apple-health-records)
|
||||
- { .twemoji loading=lazy } [CommonHealth](health-and-wellness.md#commonhealth)
|
||||
|
||||
</div>
|
||||
|
||||
[Learn more :material-arrow-right-drop-circle:](health-and-wellness.md)
|
||||
|
||||
### Language Tools
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
@ -508,6 +524,17 @@ For encrypting your OS drive, we typically recommend using the encryption tool y
|
||||
|
||||
[Learn more :material-arrow-right-drop-circle:](language-tools.md)
|
||||
|
||||
### Maps and Navigation Apps
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- { .twemoji loading=lazy } [Organic Maps](maps.md#organic-maps)
|
||||
- { .twemoji loading=lazy } [OsmAnd](maps.md#osmand)
|
||||
|
||||
</div>
|
||||
|
||||
[Learn more :material-arrow-right-drop-circle:](maps.md)
|
||||
|
||||
### Multi-Factor Authentication Tools
|
||||
|
||||
**Note:** [Hardware security keys](#security-keys) have been moved to their own category.
|
||||
@ -571,7 +598,6 @@ For encrypting your OS drive, we typically recommend using the encryption tool y
|
||||
- { .twemoji loading=lazy } [Psono](passwords.md#psono)
|
||||
- { .twemoji loading=lazy } [KeePassXC](passwords.md#keepassxc)
|
||||
- { .twemoji loading=lazy } [KeePassDX (Android)](passwords.md#keepassdx-android)
|
||||
- { .twemoji loading=lazy } [Strongbox (iOS & macOS)](passwords.md#strongbox-ios-macos)
|
||||
- { .twemoji loading=lazy } [gopass (CLI)](passwords.md#gopass-cli)
|
||||
|
||||
</div>
|
||||
@ -583,6 +609,7 @@ For encrypting your OS drive, we typically recommend using the encryption tool y
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- { .twemoji loading=lazy } [PrivateBin](pastebins.md#privatebin)
|
||||
- { .twemoji loading=lazy } [Paaster](pastebins.md#paaster)
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -30,7 +30,8 @@ schema:
|
||||
|
||||
**Tor** is a group of volunteer-operated servers that allows you to connect for free and improve your privacy and security on the Internet. Individuals and organizations can also share information over the Tor network with ".onion hidden services" without compromising their privacy. Because Tor traffic is difficult to block and trace, Tor is an effective censorship circumvention tool.
|
||||
|
||||
[Detailed Tor Overview :material-arrow-right-drop-circle:](advanced/tor-overview.md){ .md-button }
|
||||
[Detailed Tor Overview :material-arrow-right-drop-circle:](advanced/tor-overview.md){ .md-button .md-button--primary }
|
||||
[:material-movie-open-play-outline: Video: Why You Need Tor](https://www.privacyguides.org/videos/2025/03/02/why-you-need-tor/){ .md-button }
|
||||
|
||||
<div class="admonition tip" markdown>
|
||||
<p class="admonition-title">Tip</p>
|
||||
|
16
docs/vpn.md
@ -92,11 +92,11 @@ Proton VPN [recommends](https://protonvpn.com/blog/wireguard) the use of WireGua
|
||||
|
||||
#### :material-alert-outline:{ .pg-orange } Limited IPv6 Support
|
||||
|
||||
Proton [now supports IPv6](https://protonvpn.com/support/prevent-ipv6-vpn-leaks) in their browser extension but only 80% of their servers are IPv6-compatible. On other platforms, the Proton VPN client will block all outgoing IPv6 traffic, so you don't have to worry about your IPv6 address being leaked, but you will not be able to connect to any IPv6-only sites, nor will you be able to connect to Proton VPN from an IPv6-only network.
|
||||
Proton [now supports IPv6](https://protonvpn.com/support/prevent-ipv6-vpn-leaks) in their browser extension and Linux client, but only 80% of their servers are IPv6-compatible. On other platforms, the Proton VPN client will block all outgoing IPv6 traffic, so you don't have to worry about your IPv6 address being leaked, but you will not be able to connect to any IPv6-only sites, nor will you be able to connect to Proton VPN from an IPv6-only network.
|
||||
|
||||
#### :material-information-outline:{ .pg-info } Remote Port Forwarding
|
||||
|
||||
Proton VPN currently only supports ephemeral remote [port forwarding](https://protonvpn.com/support/port-forwarding) via NAT-PMP, with 60 second lease times. The Windows app provides an easy-to-access option for it, while on other operating systems you'll need to run your own [NAT-PMP client](https://protonvpn.com/support/port-forwarding-manual-setup). Torrent applications often support NAT-PMP natively.
|
||||
Proton VPN currently only supports ephemeral remote [port forwarding](https://protonvpn.com/support/port-forwarding) via NAT-PMP, with 60 second lease times. The official Windows and Linux apps provide an easy-to-access option for it, while on other operating systems you'll need to run your own [NAT-PMP client](https://protonvpn.com/support/port-forwarding-manual-setup). Torrent applications often support NAT-PMP natively.
|
||||
|
||||
#### :material-information-outline:{ .pg-blue } Anti-Censorship
|
||||
|
||||
@ -106,7 +106,7 @@ Unfortunately, it does not work very well in countries where sophisticated filte
|
||||
|
||||
#### :material-check:{ .pg-green } Mobile Clients
|
||||
|
||||
In addition to providing standard OpenVPN configuration files, Proton VPN has mobile clients for [App Store](https://apps.apple.com/app/id1437005085), [Google Play](https://play.google.com/store/apps/details?id=ch.protonvpn.android), and [GitHub](https://github.com/ProtonVPN/android-app/releases) allowing for easy connections to their servers.
|
||||
Proton VPN has published [App Store](https://apps.apple.com/app/id1437005085) and [Google Play](https://play.google.com/store/apps/details?id=ch.protonvpn.android) clients, both supporting an easy-to-use interface as opposed to requiring you to manually configure your WireGuard connection. The Android client is also available on [GitHub](https://github.com/ProtonVPN/android-app/releases).
|
||||
|
||||
#### :material-information-outline:{ .pg-blue } Additional Notes
|
||||
|
||||
@ -180,11 +180,11 @@ IVPN previously supported port forwarding, but removed the option in [June 2023]
|
||||
|
||||
#### :material-check:{ .pg-green } Anti-Censorship
|
||||
|
||||
IVPN has obfuscation modes using [v2ray](https://v2ray.com/en/index.html) which helps in situations where VPN protocols like OpenVPN or WireGuard are blocked. Currently, this feature is only available on Desktop and [iOS](https://ivpn.net/knowledgebase/ios/v2ray). It has two modes where it can use [VMess](https://guide.v2fly.org/en_US/basics/vmess.html) over QUIC or TCP connections. QUIC is a modern protocol with better congestion control and therefore may be faster with reduced latency. The TCP mode makes your data appear as regular HTTP traffic.
|
||||
IVPN has obfuscation modes using [V2Ray](https://v2ray.com/en/index.html) which helps in situations where VPN protocols like OpenVPN or WireGuard are blocked. Currently, this feature is only available on Desktop and [iOS](https://ivpn.net/knowledgebase/ios/v2ray). It has two modes where it can use [VMess](https://guide.v2fly.org/en_US/basics/vmess.html) over QUIC or TCP connections. QUIC is a modern protocol with better congestion control and therefore may be faster with reduced latency. The TCP mode makes your data appear as regular HTTP traffic.
|
||||
|
||||
#### :material-check:{ .pg-green } Mobile Clients
|
||||
|
||||
In addition to providing standard OpenVPN configuration files, IVPN has mobile clients for [App Store](https://apps.apple.com/app/id1193122683), [Google Play](https://play.google.com/store/apps/details?id=net.ivpn.client), and [GitHub](https://github.com/ivpn/android-app/releases) allowing for easy connections to their servers.
|
||||
IVPN has published [App Store](https://apps.apple.com/app/id1193122683) and [Google Play](https://play.google.com/store/apps/details?id=net.ivpn.client) clients, both supporting an easy-to-use interface as opposed to requiring you to manually configure your WireGuard connection. The Android client is also available on [GitHub](https://github.com/ivpn/android-app/releases).
|
||||
|
||||
#### :material-information-outline:{ .pg-blue } Additional Notes
|
||||
|
||||
@ -218,12 +218,12 @@ IVPN clients support two-factor authentication. IVPN also provides "[AntiTracker
|
||||
|
||||
</div>
|
||||
|
||||
#### :material-check:{ .pg-green } 45 Countries
|
||||
#### :material-check:{ .pg-green } 49 Countries
|
||||
|
||||
Mullvad has [servers in 45 countries](https://mullvad.net/servers).(1) Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (fewer hops) to the destination.
|
||||
Mullvad has [servers in 49 countries](https://mullvad.net/servers).(1) Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (fewer hops) to the destination.
|
||||
{ .annotate }
|
||||
|
||||
1. Last checked: 2024-08-06
|
||||
1. Last checked: 2025-03-10
|
||||
|
||||
We also think it's better for the security of the VPN provider's private keys if they use [dedicated servers](https://en.wikipedia.org/wiki/Dedicated_hosting_service), instead of cheaper shared solutions (with other customers) such as [virtual private servers](https://en.wikipedia.org/wiki/Virtual_private_server).
|
||||
|
||||
|
102
generate-members.py
Normal file
@ -0,0 +1,102 @@
|
||||
import requests
|
||||
import os
|
||||
|
||||
GITHUB_API_URL = "https://api.github.com/graphql"
|
||||
GITHUB_TOKEN = os.getenv("GH_TOKEN")
|
||||
ORG_NAME = "privacyguides"
|
||||
|
||||
# Fetch members from the API
|
||||
members_api_url = "https://discuss.privacyguides.net/g/members/members.json?offset=0&order=added_at&asc=true"
|
||||
headers = {
|
||||
"Api-Key": os.getenv("DISCOURSE_API_KEY"),
|
||||
"Api-Username": "system"
|
||||
}
|
||||
members_response = requests.get(members_api_url, headers=headers)
|
||||
members_data = members_response.json()
|
||||
|
||||
if 'members' not in members_data:
|
||||
raise KeyError("Response JSON does not contain 'members' key")
|
||||
|
||||
members = members_data['members']
|
||||
public_members_count = 0
|
||||
private_members_count = 0
|
||||
|
||||
html_output = ""
|
||||
for member in members:
|
||||
flair_name = member.get('flair_name')
|
||||
title = member.get('title')
|
||||
if flair_name == "members" or title == "Member":
|
||||
username = member['username']
|
||||
avatar_template = member['avatar_template']
|
||||
avatar_url = f"https://discuss.privacyguides.net{avatar_template.replace('{size}', '128')}"
|
||||
profile_url = f"https://discuss.privacyguides.net/u/{username}"
|
||||
html_output += f'<a href="{profile_url}" target="_blank" title="@{username}" class="mdx-donors__item"><img loading="lazy" src="{avatar_url}"></a>'
|
||||
public_members_count += 1
|
||||
|
||||
# print(html_output)
|
||||
|
||||
query = """
|
||||
{
|
||||
organization(login: "%s") {
|
||||
sponsorshipsAsMaintainer(first: 100) {
|
||||
nodes {
|
||||
sponsorEntity {
|
||||
... on User {
|
||||
login
|
||||
avatarUrl
|
||||
url
|
||||
}
|
||||
... on Organization {
|
||||
login
|
||||
avatarUrl
|
||||
url
|
||||
}
|
||||
}
|
||||
createdAt
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
""" % ORG_NAME
|
||||
|
||||
headers = {
|
||||
"Authorization": f"Bearer {GITHUB_TOKEN}",
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
|
||||
response = requests.post(GITHUB_API_URL, json={'query': query}, headers=headers)
|
||||
data = response.json()
|
||||
|
||||
if 'errors' in data:
|
||||
raise Exception(f"GraphQL query failed with errors: {data['errors']}")
|
||||
if 'data' not in data:
|
||||
raise KeyError(f"Response JSON does not contain 'data' key: {data}")
|
||||
|
||||
sponsors = data['data']['organization']['sponsorshipsAsMaintainer']['nodes']
|
||||
|
||||
# Sort sponsors by the date they began their sponsorship
|
||||
sponsors.sort(key=lambda x: x['createdAt'])
|
||||
|
||||
for sponsor in sponsors:
|
||||
sponsor_entity = sponsor['sponsorEntity']
|
||||
login = sponsor_entity['login']
|
||||
avatar_url = sponsor_entity['avatarUrl']
|
||||
url = sponsor_entity['url']
|
||||
html_output += f'<a href="{url}" title="@{login}" rel="ugc nofollow" target="_blank" class="mdx-donors__item"><img loading="lazy" src="{avatar_url}&size=120"></a>'
|
||||
|
||||
# Fetch the number of active members from the Magic Grants API
|
||||
magic_grants_url = "https://donate.magicgrants.org/api/active-members?fund=privacyguides"
|
||||
magic_grants_response = requests.get(magic_grants_url)
|
||||
magic_grants_data = magic_grants_response.json()
|
||||
|
||||
if 'members_count' not in magic_grants_data:
|
||||
raise KeyError("Response JSON does not contain 'members_count' key")
|
||||
|
||||
private_members_count += magic_grants_data['members_count']
|
||||
private_members_count -= public_members_count
|
||||
|
||||
# Append the count of private members
|
||||
if private_members_count > 0:
|
||||
html_output += f'<a href="https://donate.magicgrants.org/privacyguides" class="mdx-donors__item mdx-donors__item--private">+{private_members_count}</a>'
|
||||
|
||||
print(html_output)
|
@ -59,7 +59,7 @@
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N"><img src="https://avatars.githubusercontent.com/u/30232065?v=4" width="100px;" loading=lazy /><br /><sub><b>C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/Strappazzon"><img src="https://avatars.githubusercontent.com/u/19752093?v=4" width="100px;" loading=lazy /><br /><sub><b>Alberto Strappazzon</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=Strappazzon" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://victorhckinthefreeworld.com/"><img src="https://avatars.githubusercontent.com/u/1514206?v=4" width="100px;" loading=lazy /><br /><sub><b>Victorhck</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=victorhck" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/taivlam"><img src="https://avatars.githubusercontent.com/u/47955724?v=4" width="100px;" loading=lazy /><br /><sub><b>Tai Lam</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=taivlam" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/taivlam"><img src="https://avatars.githubusercontent.com/u/47955724?v=4" width="100px;" loading=lazy /><br /><sub><b>Tai Lam</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=taivlam" title="Documentation">📖</a> <a href="#maintenance-taivlam" title="Maintenance">🚧</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="20%"><a rel="nofollow noopener noreferrer" href="https://github.com/NinebitX"><img src="https://avatars.githubusercontent.com/u/26626722?v=4" width="100px;" loading=lazy /><br /><sub><b>NinebitX</b></sub></a><br /><a href="https://github.com/privacyguides/privacyguides.org/commits?author=NinebitX" title="Documentation">📖</a></td>
|
||||
|
@ -56,9 +56,6 @@ extra:
|
||||
- icon: simple/mastodon
|
||||
link: https://mastodon.neat.computer/@privacyguides
|
||||
name: !ENV [SOCIAL_MASTODON, "Mastodon"]
|
||||
- icon: simple/bluesky
|
||||
link: https://bsky.app/profile/privacyguides.org
|
||||
name: !ENV [SOCIAL_BLUESKY, "Bluesky"]
|
||||
- icon: simple/peertube
|
||||
link: https://neat.tube/c/privacyguides
|
||||
name: !ENV [SOCIAL_PEERTUBE, "PeerTube"]
|
||||
|
@ -23,7 +23,7 @@ site_url: "https://www.privacyguides.org/videos/"
|
||||
site_dir: "site/videos"
|
||||
|
||||
site_name: Privacy Guides
|
||||
site_description: "Privacy Guides is the most popular & trustworthy non-profit privacy resource to find privacy tools and learn about protecting your digital life."
|
||||
site_description: "This is our home for the latest video content from the Privacy Guides team. Privacy Guides is the most popular & trustworthy non-profit privacy resource to find privacy tools and learn about protecting your digital life."
|
||||
edit_uri_template: blob/main/videos/{path}?plain=1
|
||||
|
||||
extra:
|
||||
@ -56,9 +56,6 @@ extra:
|
||||
- icon: simple/mastodon
|
||||
link: https://mastodon.neat.computer/@privacyguides
|
||||
name: !ENV [SOCIAL_MASTODON, "Mastodon"]
|
||||
- icon: simple/bluesky
|
||||
link: https://bsky.app/profile/privacyguides.org
|
||||
name: !ENV [SOCIAL_BLUESKY, "Bluesky"]
|
||||
- icon: simple/peertube
|
||||
link: https://neat.tube/c/privacyguides
|
||||
name: !ENV [SOCIAL_PEERTUBE, "PeerTube"]
|
||||
|
21
mkdocs.yml
@ -111,9 +111,6 @@ extra:
|
||||
- icon: simple/mastodon
|
||||
name: !ENV [HOMEPAGE_CTA_MASTODON_NAME, "Follow us on Mastodon"]
|
||||
link: https://mastodon.neat.computer/@privacyguides
|
||||
- icon: simple/bluesky
|
||||
name: !ENV [HOMEPAGE_CTA_BLUESKY_NAME, "Follow us on Bluesky"]
|
||||
link: https://bsky.app/profile/privacyguides.org
|
||||
- icon: simple/github
|
||||
name: !ENV [HOMEPAGE_CTA_GITHUB_NAME, "Contribute on GitHub"]
|
||||
link: https://github.com/privacyguides/privacyguides.org
|
||||
@ -170,9 +167,6 @@ extra:
|
||||
- icon: simple/mastodon
|
||||
link: https://mastodon.neat.computer/@privacyguides
|
||||
name: !ENV [SOCIAL_MASTODON, "Mastodon"]
|
||||
- icon: simple/bluesky
|
||||
link: https://bsky.app/profile/privacyguides.org
|
||||
name: !ENV [SOCIAL_BLUESKY, "Bluesky"]
|
||||
- icon: simple/peertube
|
||||
link: https://neat.tube/c/privacyguides
|
||||
name: !ENV [SOCIAL_PEERTUBE, "PeerTube"]
|
||||
@ -287,11 +281,11 @@ theme:
|
||||
- search.highlight
|
||||
|
||||
extra_css:
|
||||
- assets/stylesheets/extra.css?v=20240802
|
||||
- assets/stylesheets/extra.css?v=20250306
|
||||
extra_javascript:
|
||||
- path: assets/javascripts/randomize-element.js?v=20240801
|
||||
- path: assets/javascripts/randomize-element.js?v=20250306
|
||||
defer: true
|
||||
- path: assets/javascripts/feedback.js?v=20240801
|
||||
- path: assets/javascripts/feedback.js?v=20250306
|
||||
defer: true
|
||||
|
||||
watch:
|
||||
@ -424,7 +418,9 @@ nav:
|
||||
- "encryption.md"
|
||||
- "file-sharing.md"
|
||||
- "frontends.md"
|
||||
- "health-and-wellness.md"
|
||||
- "language-tools.md"
|
||||
- "maps.md"
|
||||
- "multi-factor-authentication.md"
|
||||
- "news-aggregators.md"
|
||||
- "notebooks.md"
|
||||
@ -449,13 +445,15 @@ nav:
|
||||
- "device-integrity.md"
|
||||
- !ENV [NAV_BLOG, "Articles"]: "/articles/"
|
||||
- !ENV [NAV_VIDEOS, "Videos"]: /videos/
|
||||
- !ENV [NAV_FORUM, "Forum"]:
|
||||
!ENV [NAV_FORUM_LINK, "https://discuss.privacyguides.net/"]
|
||||
- !ENV [NAV_ABOUT, "About"]:
|
||||
- "about.md"
|
||||
- "about/donate.md"
|
||||
- !ENV [NAV_ABOUT_TEAM_MEMBERS, "Team Members"]:
|
||||
https://discuss.privacyguides.net/u?group=team&order=solutions&period=all
|
||||
- "about/criteria.md"
|
||||
- !ENV [NAV_ABOUT_POLICIES, "Policies"]:
|
||||
- "about/criteria.md"
|
||||
- "about/donation-acceptance-policy.md"
|
||||
- "about/executive-policy.md"
|
||||
- "privacy.md"
|
||||
@ -476,9 +474,6 @@ nav:
|
||||
- "meta/uploading-images.md"
|
||||
- "meta/git-recommendations.md"
|
||||
- "meta/commit-messages.md"
|
||||
- !ENV [NAV_DONATE, "Donate"]: https://donate.magicgrants.org/privacyguides
|
||||
- !ENV [NAV_FORUM, "Forum"]:
|
||||
!ENV [NAV_FORUM_LINK, "https://discuss.privacyguides.net/"]
|
||||
|
||||
validation:
|
||||
nav:
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit db75785763ddcbf2790000a5a18b9d937dbdfeb7
|
||||
Subproject commit e567eb3f0e6cb54242a809661d78d884caa05b72
|
BIN
theme/assets/img/cover/health-cover.webp
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
theme/assets/img/cover/maps.webp
Normal file
After Width: | Height: | Size: 150 KiB |
BIN
theme/assets/img/donors/deleteme.webp
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
theme/assets/img/donors/power-up-privacy.webp
Normal file
After Width: | Height: | Size: 4.2 KiB |
1
theme/assets/img/email/stalwart.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.2118 0 0 .2118 -9.7639 -9.7745)" fill="#db2d54"><path d="m130.1 56.6h-8.1l-75.9 43.8v14l75.9 43.8h8.1l75.9-43.8v-14zm55.7 50.8h-59.7v-34.5zm-59.7 34.5-59.7-34.5 45.7-26.4v34.2l10.7 6.2h38.8z"/><path d="m46.1 133.1v18.6l75.9 43.9h8.1l75.9-43.9v-18.6l-79.9 46.1z"/><path d="m194.8 195.6 11.2-6.5v-18.7l-43.5 25.2z"/><path d="m46.1 189.1 11.2 6.5h32.4l-43.6-25.2z"/></g></svg>
|
After Width: | Height: | Size: 503 B |
@ -0,0 +1 @@
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="SVGID_1_" x1="166.22" x2="166.22" y1="758.59" y2="757.09" gradientTransform="matrix(28 0 0 -24.5 -4594.5 18606)" gradientUnits="userSpaceOnUse"><stop stop-color="#FF61AD" offset="0"/><stop stop-color="#FF2719" offset="1"/></linearGradient></defs><g id="Symbols_1_" transform="matrix(.3763 0 0 .3763 -1.8815 -1.8815)"><path id="Background" class="st3" d="m63.6 5c9 0 13.5 0 18.4 1.5 5.3 1.9 9.5 6.1 11.4 11.4 1.6 4.9 1.6 9.5 1.6 18.5v27.2c0 9 0 13.5-1.5 18.4-1.9 5.3-6.1 9.5-11.4 11.4-5 1.6-9.5 1.6-18.5 1.6h-27.2c-9 0-13.5 0-18.4-1.5-5.4-2-9.5-6.1-11.5-11.5-1.5-4.8-1.5-9.3-1.5-18.4v-27.2c0-9 0-13.5 1.5-18.4 2-5.3 6.1-9.5 11.5-11.4 4.8-1.6 9.3-1.6 18.4-1.6z" fill="#fff"/><path class="st5" d="m80.7 32c0-6.8-5.2-12-11.2-12-4.2 0-7.6 1.4-9.7 4.5-2.1-3.1-5.5-4.5-9-4.5-6.8 0-12 5.2-12 12v0 0c0 10.1 9.7 20.3 21 24.7 8.8-2.9 20.9-14.6 20.9-24.7v0 0z" fill="url(#SVGID_1_)"/></g></svg>
|
After Width: | Height: | Size: 1016 B |
1
theme/assets/img/health-and-wellness/apple-health.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="c-5" x1="512" x2="512" y2="1024" gradientUnits="userSpaceOnUse"><stop stop-color="#313131" offset="0"/><stop stop-color="#141414" offset="1"/></linearGradient><linearGradient id="d-9" x1="674.52" x2="674.52" y1="160.14" y2="596.75" gradientTransform="matrix(.98167 0 0 .98167 -32.187 2.9351)" gradientUnits="userSpaceOnUse"><stop stop-color="#ff5fa9" offset="0"/><stop stop-color="#ff281d" offset="1"/></linearGradient></defs><g transform="matrix(.033073 0 0 .033073 2.25e-6 3.75e-7)"><path d="m1024 703.67c0 12.244 0 24.466-0.092 36.687-0.061 10.307-0.1779 20.614-0.4453 30.9-0.2837 22.534-2.2629 45.016-5.9213 67.253-3.8067 22.262-10.908 43.811-21.081 63.958-20.619 40.481-53.528 73.391-94.007 94.012-20.138 10.16-41.678 17.258-63.911 21.06-22.261 3.6732-44.744 5.6545-67.272 5.9217-10.297 0.2661-20.597 0.4218-30.898 0.4669-12.244 0.0714-24.465 0.0714-36.686 0.0714h-383.37c-12.221 0-24.442 0-36.686-0.061-10.301-0.04-20.6-0.1866-30.898-0.4453-22.541-0.2877-45.029-2.2745-67.272-5.944-22.238-3.7846-43.787-10.908-63.911-21.06-40.474-20.616-73.383-53.518-94.007-93.99-10.17-20.159-17.275-41.724-21.081-63.981-3.6583-22.23-5.6377-44.704-5.9213-67.231-0.26726-10.307-0.40038-20.614-0.44544-30.922-0.092159-12.244-0.092159-24.444-0.092159-36.688v-383.35c0-12.244 0-24.488 0.092159-36.732 0.04096-10.285 0.17817-20.592 0.44544-30.877 0.28365-22.527 2.2633-45.001 5.9213-67.231 3.8066-22.262 10.908-43.811 21.081-63.98 20.619-40.481 53.528-73.391 94.007-94.012 20.132-10.154 41.664-17.252 63.888-21.06 22.261-3.651 44.744-5.6322 67.272-5.9216 10.307-0.26726 20.614-0.40038 30.898-0.44544 12.243-0.07168 24.487-0.07168 36.686-0.07168h383.37c12.243 0 24.487 0 36.708 0.07168 10.301 0.04096 20.6 0.18637 30.898 0.44544 22.528 0.28979 45.011 2.2706 67.25 5.9216 22.261 3.8068 43.787 10.908 63.933 21.06 40.489 20.614 73.407 53.526 94.029 94.012 10.161 20.153 17.259 41.71 21.059 63.958 3.6587 22.237 5.638 44.718 5.9214 67.253 0.2674 10.307 0.4002 20.614 0.4453 30.899 0.092 12.244 0.092 24.466 0.092 36.687z" fill="url(#c-5)"/><path d="m532.07 160.24c-20.075 0-37.294 3.9892-53.083 11.074-15.904 7.1368-29.621 17.248-40.67 28.916-12.332 12.867-21.89 28.307-28.873 46.203-13.486 34.728-13.972 77.488-0.79062 117.4 3.9359 11.918 9.1299 24.125 15.652 36.362 16.713 31.207 40.352 61.701 70.671 91.281 15.16 14.716 31.48 29.03 49.227 43.093 17.748 14.063 36.975 27.775 57.311 41.086 5.0286 3.4017 10.179 6.4335 15.355 9.0957s9.079 3.9922 13.212 3.9922c3.6975 0 7.9349-1.33 13.111-3.9922s10.329-5.694 15.357-9.0957c20.336-13.311 39.528-27.023 57.275-41.086 17.748-14.063 34.202-28.477 49.361-43.193 30.319-29.58 53.934-60.174 70.646-91.381 6.5225-12.237 11.718-24.244 15.654-36.162 6.4458-19.517 9.5156-39.73 9.5156-58.445 0-20.898-3.1513-40.59-10.283-58.955-6.9834-17.896-16.541-33.336-28.873-46.203-11.048-11.668-24.764-21.779-40.668-28.916-15.789-7.0852-33.21-11.129-53.285-11.129-23.268 0-42.45 6.0435-58.867 17.432-6.8489 4.732-14.992 11.847-21.328 19.045-7.5867 8.6189-12.591 16.046-17.617 25.338-5.0266-9.2916-10.029-16.719-17.615-25.338-6.336-7.198-14.681-14.313-21.53-19.045-16.417-11.388-35.599-17.377-58.867-17.377z" fill="url(#d-9)"/></g></svg>
|
After Width: | Height: | Size: 3.2 KiB |
BIN
theme/assets/img/health-and-wellness/commonhealth.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
theme/assets/img/health-and-wellness/drip.png
Normal file
After Width: | Height: | Size: 19 KiB |
1
theme/assets/img/health-and-wellness/euki.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="paint0_linear_9963_56592" x1="1180" x2="1180" y1="1355" y2="2034" gradientTransform="matrix(.014344 0 0 .014344 -1.4598e-6 -6.59e-7)" gradientUnits="userSpaceOnUse"><stop stop-color="#018464" offset="0"/><stop stop-color="#FA8675" offset="1"/></linearGradient><filter id="filter0_f_9963_56592" x="0" y="0" width="2361" height="2361" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_9963_56592" stdDeviation="200"/></filter></defs><g transform="matrix(.014344 0 0 .014344 -1.4598e-6 -6.59e-7)" filter="url(#filter0_f_9963_56592)"><circle cx="1180.5" cy="1180.5" r="780.5" fill="#c7b9ff"/></g><path d="m16.926 29.176c-0.30395 0-0.6508-0.21774-0.6508-0.5217 0-0.3041 0.05738-0.33824 0.05738-1.2154 0-0.87715-0.60891-1.6176-1.4789-1.7288-1.5457-0.19752-3.0232-0.61293-4.4007-1.2145-2.7754-1.1401-4.7298-3.8699-4.7298-7.0562 0-1.7412 0.58362-3.3461 1.5659-4.6297 1.5288-2.0239 4.6914-4.0272 9.4879-6.0099 0.09539-0.039418 0.20254-0.039275 0.29778 3.849e-4 4.8582 2.023 8.0583 4.0682 9.5999 6.1355 0.90784 1.2619 1.4542 2.819 1.4542 4.5037 0 3.1874-1.9558 5.9181-4.7329 7.0573-1.3778 0.60145-2.8519 1.0161-4.3978 1.2134-0.86998 0.11088-1.4787 0.85104-1.4787 1.728 0 0.87686 0.05738 0.912 0.05738 1.2161 0 0.30395-0.34684 0.5217-0.6508 0.5217z" clip-rule="evenodd" fill="url(#paint0_linear_9963_56592)" fill-rule="evenodd" stroke-width=".014344"/><g fill="#fff" stroke-width=".014344"><path d="m23.459 16.518c0.41813 0 0.63114 0.19723 0.63114 0.60748 0 0.11834-0.02367 0.59959-0.02367 0.68637 0 0.48914 0.09467 0.90727 0.09467 1.3333 0 0.52858-0.10256 0.83627-0.67848 0.83627-0.50492 0-0.61537-0.25246-0.61537-0.72582 0-0.26824 0.071-0.52858 0.071-0.78893 0-0.37869-0.071-0.74948-0.071-1.1282 0-0.41024 0.11045-0.82049 0.5917-0.82049zm0.05523-1.9171c0.43391 0 0.71793 0.29979 0.71793 0.70215 0 0.41813-0.29061 0.78391-0.71793 0.78391-0.45758 0-0.71793-0.32633-0.71793-0.77602 0-0.49703 0.24457-0.71004 0.71793-0.71004z"/><path d="m18.603 16.913c0-0.69426-0.08678-1.2228-0.08678-1.6883 0-0.47336 0.19723-0.76526 0.67848-0.76526 0.38658 0 0.61537 0.25246 0.61537 0.62326 0 0.30768-0.05523 0.61537-0.06312 0.92305-0.01578 0.4418-0.0079 0.8836-0.01578 1.3175 0.45758-0.3708 0.8126-0.95461 1.3017-1.2702 0.11834-0.071 0.26035-0.12623 0.39447-0.12623 0.29979 0 0.56014 0.27613 0.56014 0.56014 0 0.55225-1.4359 1.2465-1.4359 1.357 0 0.09467 0.67848 0.63904 0.78104 0.72582 0.30768 0.2209 0.82049 0.3708 0.82049 0.80471 0 0.38658-0.2919 0.5917-0.65481 0.5917-0.41813 0-0.71004-0.38658-0.9625-0.6627-0.29979-0.33135-0.56014-0.69426-0.84416-1.0256 0.01578 0.36291 0.06312 0.72582 0.06312 1.0887 0 0.43391-0.18146 0.63114-0.62326 0.63114-0.3708 0-0.60748-0.26035-0.60748-0.63114 0-0.41024 0.0079-0.78893 0.03156-1.2071 0.03156-0.41813 0.04734-0.82838 0.04734-1.2465z"/><path d="m15.283 16.534c0 0.52069-0.11045 0.73371-0.11045 1.428 0 0.51281 0.16568 0.92305 0.65481 0.92305 0.62326 0 0.71004-0.76526 0.71004-1.1992 0-0.34713-0.06311-0.67059-0.06311-1.0177 0-0.43391 0.12623-0.71793 0.60748-0.71793s0.62326 0.32346 0.62326 0.74948c0 0.4418-0.10256 0.86782-0.10256 1.3175 0 0.69426 0.15779 1.1518 0.15779 1.4674 0 0.36291-0.30768 0.53647-0.64692 0.53647-0.50492 0-0.58381-0.47336-0.67059-0.47336-0.1499 0-0.29979 0.46547-1.0572 0.46547-1.0493 0-1.3175-0.84416-1.3175-1.7041 0-0.19723 0.02368-0.49703 0.02368-0.68637 0-0.30768-0.06313-0.64692-0.06313-0.95461 0-0.45758 0.18145-0.69426 0.62324-0.69426 0.27613 0 0.63114 0.11834 0.63114 0.56014z"/><path d="m12.426 14.68c0.38658 0 0.85205 0.09467 0.85205 0.57592 0 0.31557-0.17356 0.5917-0.52069 0.5917-0.41813 0-0.89149-0.08678-1.3175-0.08678-0.40236 0-0.63903 0.05523-0.63903 0.5207 0 0.36291 0.13412 0.46547 0.49703 0.46547 0.30768 0 0.6627-0.08678 0.97827-0.08678 0.35502 0 0.64692 0.12623 0.64692 0.52858 0 0.56014-0.29979 0.64692-0.78893 0.64692-0.26824 0-0.59959-0.03945-0.85994-0.03945-0.32346 0-0.46547 0.1499-0.46547 0.47336 0 0.4418 0.18934 0.60748 0.62326 0.60748 0.46547 0 1.0256-0.15778 1.4911-0.15778 0.34713 0 0.45758 0.24457 0.45758 0.56803 0 0.62326-0.50492 0.68637-1.0098 0.69426-0.22879 0-0.6627-0.03945-0.78893-0.03945-0.35502 0-0.56803 0.03156-0.92305 0.03156-0.78893 0-1.0019-0.53647-1.0019-1.3096 0-0.40236 0.063114-0.82049 0.063114-1.2307 0-0.48914-0.094672-0.94672-0.094672-1.4359 0-0.43391 0.078893-1.0493 0.57592-1.2071 0.23668-0.071 0.69426-0.07889 1.0729-0.07889 0.61537 0 0.8836-0.03156 1.1518-0.03156z"/></g></svg>
|
After Width: | Height: | Size: 4.6 KiB |
@ -0,0 +1 @@
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.21651 0 0 .21651 5.1234 .00096615)"><path d="m84.356 149.9 0.272 6.517h-59.316l0.6575-6.927c0.9371 0.327 1.9458 0.505 2.9967 0.505h54.069c0.4489 0 0.8901-0.032 1.3213-0.095zm-0.7769-31.889c1.4753-12.043 7.8724-23.1 13.804-33.351 4.0523-7.0033 7.8863-13.631 9.7863-19.941-1.525 1.4561-3.508 4.4294-5.83 7.9112-5.974 8.9575-14.193 21.281-22.635 19.796-6.5388-2.1963-8.6025-5.274-11.253-10.858-8.7844 1.7113-15.766-3.479-18.301-9.7439l0.5045 25.308-11.448-32.834c-8.9473-2.8953-17.154-16.632-8.9312-15.059l14.764 2.8251c10.108 2.1275 15.8-11.543 6.7529-18.638-1.9246-1.3642-21.227-10.373-24.859-11.397-3.2588-0.9191-7.1371 0.373-9.6249 3.2065l-15.037 27.926c-1.5616 2.1541-1.5698 4.4081-0.64812 6.3917l27.517 55.218c0.4017 0.758 0.531 1.985 0.5532 3.228 0.0904-3e-3 0.1812-4e-3 0.2722-4e-3h54.069c0.1828 0 0.3643 5e-3 0.5444 0.016zm16.008-76.442c3.8132-4.5627 13.052 11.175 8.0642 16.832l-19.763 26.183c-0.4562 0.5989-0.8139 0.9323-1.4085 1.4865-0.0457 0.0426-0.0929 0.0866-0.1415 0.132-7.7411 5.5399-18.638-3.3444-11.416-12.333zm-16.14-16.588c0.9927-0.3809 8.487 5.1386 12.155 8.9417 1.0624 1.3104 1.4896 3.323 0.2287 4.9524l-28.656 37.032c-0.6941 0.6458-1.0892 0.8609-2.2031 1.1885-8.0897 0.8494-16.427-7.7713-9.0137-15.002zm-17.49-13.456c0.9401-1.2144 13.043 8.5418 13.316 10.444l-28.922 38.044c-2.8419 3.7382-12-1.3584-13.532-6.274 12.226 6.9846 32.822-4.9606 15.176-24.175zm-21.504-11.107c4.7603-1.814 15.311 2.4618 17.969 8.0878l-14.103 18.363-18.966-7.8415z" fill="#fff"/><path d="m31.845 122h47.31c4.3326 0 7.8448 2.964 7.8448 6.621v10.758c0 3.657-3.5122 6.621-7.8448 6.621h-47.31c-4.3326 0-7.8448-2.964-7.8448-6.621v-10.758c0-3.657 3.5122-6.621 7.8448-6.621zm11.593 3.064h24.325c2.8165 0 5.0997 2.284 5.0997 5.1v8.287c0 2.816-2.2832 5.1-5.0997 5.1h-24.325c-2.8165 0-5.0997-2.284-5.0997-5.1v-8.287c0-2.816 2.2832-5.1 5.0997-5.1z" clip-rule="evenodd" fill="#ff5000" fill-rule="evenodd"/></g></svg>
|
After Width: | Height: | Size: 2.0 KiB |
1
theme/assets/img/health-and-wellness/gadgetbridge.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.21651 0 0 .21651 5.1234 .00096615)"><path d="m84.356 149.9 0.272 6.517h-59.316l0.6575-6.927c0.9371 0.327 1.9458 0.505 2.9967 0.505h54.069c0.4489 0 0.8901-0.032 1.3213-0.095zm-0.7769-31.889c1.4753-12.043 7.8724-23.1 13.804-33.351 4.0523-7.0033 7.8863-13.631 9.7863-19.941-1.525 1.4561-3.508 4.4294-5.83 7.9112-5.974 8.9575-14.193 21.281-22.635 19.796-6.5388-2.1963-8.6025-5.274-11.253-10.858-8.7844 1.7113-15.766-3.479-18.301-9.7439l0.5045 25.308-11.448-32.834c-8.9473-2.8953-17.154-16.632-8.9312-15.059l14.764 2.8251c10.108 2.1275 15.8-11.543 6.7529-18.638-1.9246-1.3642-21.227-10.373-24.859-11.397-3.2588-0.9191-7.1371 0.373-9.6249 3.2065l-15.037 27.926c-1.5616 2.1541-1.5698 4.4081-0.64812 6.3917l27.517 55.218c0.4017 0.758 0.531 1.985 0.5532 3.228 0.0904-3e-3 0.1812-4e-3 0.2722-4e-3h54.069c0.1828 0 0.3643 5e-3 0.5444 0.016zm16.008-76.442c3.8132-4.5627 13.052 11.175 8.0642 16.832l-19.763 26.183c-0.4562 0.5989-0.8139 0.9323-1.4085 1.4865-0.0457 0.0426-0.0929 0.0866-0.1415 0.132-7.7411 5.5399-18.638-3.3444-11.416-12.333zm-16.14-16.588c0.9927-0.3809 8.487 5.1386 12.155 8.9417 1.0624 1.3104 1.4896 3.323 0.2287 4.9524l-28.656 37.032c-0.6941 0.6458-1.0892 0.8609-2.2031 1.1885-8.0897 0.8494-16.427-7.7713-9.0137-15.002zm-17.49-13.456c0.9401-1.2144 13.043 8.5418 13.316 10.444l-28.922 38.044c-2.8419 3.7382-12-1.3584-13.532-6.274 12.226 6.9846 32.822-4.9606 15.176-24.175zm-21.504-11.107c4.7603-1.814 15.311 2.4618 17.969 8.0878l-14.103 18.363-18.966-7.8415z"/><path d="m31.845 122h47.31c4.3326 0 7.8448 2.964 7.8448 6.621v10.758c0 3.657-3.5122 6.621-7.8448 6.621h-47.31c-4.3326 0-7.8448-2.964-7.8448-6.621v-10.758c0-3.657 3.5122-6.621 7.8448-6.621zm11.593 3.064h24.325c2.8165 0 5.0997 2.284 5.0997 5.1v8.287c0 2.816-2.2832 5.1-5.0997 5.1h-24.325c-2.8165 0-5.0997-2.284-5.0997-5.1v-8.287c0-2.816 2.2832-5.1 5.0997-5.1z" clip-rule="evenodd" fill="#ff5000" fill-rule="evenodd"/></g></svg>
|
After Width: | Height: | Size: 2.0 KiB |
2
theme/assets/img/maps/organic-maps.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><path d="m861.36 256.91c18.221 48.437-79.259 166.2-172.18 196.42-168.08-58.215-173.55 39.55-311.11 132.43 162.61 112.43 332.97 24.886 329.78-85.767-128 73.325-208.17 81.324-254.17 79.103 154.87-30.664 322.04-125.76 357.07-165.76 0.032202 1.775 0.049863 3.5523 0.049863 5.3346 0 191.09-295.17 474.61-295.17 474.61s-154.51-147.95-239.95-302.47c-11.944-0.16144-83.823 25.963-110.33-9.0514-29.608-39.105 80.169-170.2 175.37-209.31 170.36 77.326 263.74-123.1 317.03-134.21-158.97-94.214-316.12-55.549-333.88 84.435 88.368-50.217 196.78-78.658 246.88-76.435-140.76 28.762-302 132.88-350.28 172.43 0-159.04 132.15-287.97 295.17-287.97 96.402 0 182.01 45.086 235.87 114.83 0.00335 0 96.188-31.283 109.85 11.379zm-33.706 14.219c-12.661-17.229-56.734 2.8937-56.734 2.8937 6.1678 10.345 11.7 21.096 16.535 32.208 4.8995 11.262 9.0867 22.895 12.504 34.838 0 0 45.004-46.386 27.694-69.94zm-629.57 294.38c13.686 18.619 61.326-3.1309 61.326-3.1309-6.6717-11.18-12.648-22.803-17.876-34.814-5.2966-12.173-9.8214-24.745-13.517-37.655 0 0-48.643 50.14-29.933 75.599z" fill="#006c35"/></svg>
|
After Width: | Height: | Size: 1.2 KiB |
2
theme/assets/img/maps/osmand.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg viewBox="0 0 999.98 999.98" xmlns="http://www.w3.org/2000/svg"><linearGradient id="a" x1="502.06" x2="499.52" y1="5e-6" y2="1000.2" gradientUnits="userSpaceOnUse"><stop stop-color="#ffa033" offset="0"/><stop stop-color="#f80" offset="1"/></linearGradient><path d="m598.33 913.71-84.95 80.979a19.593 19.593 0 0 1-26.784 0l-84.947-80.978c-207.9-45.1-363.67-230.09-363.67-451.55 0-255.24 206.85-462.15 462.01-462.15s462.01 206.92 462.01 462.15c0 221.47-155.77 406.45-363.67 451.55zm-98.318-715.65c-145.79 0-263.97 118.21-263.97 264.04s118.18 264.04 263.97 264.04 263.98-118.22 263.98-264.04-118.19-264.04-263.98-264.04z" fill="url(#a)" fill-rule="evenodd"/></svg>
|
After Width: | Height: | Size: 705 B |
@ -1,2 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="127.99" height="128" version="1.1" viewBox="0 0 33.864 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="translate(-48.383 -89.279)"><g transform="matrix(.083544 0 0 .083551 36.799 77.694)"><path d="m220.51 504.06 120.82 39.937 1.2e-4 4e-5 -143.92-5e-5zm323.49-162.73c0 111.93-90.737 202.67-202.67 202.67-111.93-1e-5 -202.67-90.737-202.67-202.67s90.737-202.67 202.67-202.67c111.93 0 202.67 90.737 202.67 202.67z" fill="#7663f0"/><g transform="translate(-5.1601e-6,-4.0973)"><circle cx="341" cy="433.47" r="23.536" fill="#f9f8fe" stroke-width=".64448"/><circle cx="439.19" cy="375.64" r="23.536" fill="#aaa4ce" stroke-width=".64448"/><circle cx="242.81" cy="375.64" r="23.536" fill="#cba1fe" stroke-width=".64447"/><g stroke-width=".64448"><circle cx="439.19" cy="433.47" r="23.536" fill="#f9f8fe"/><circle cx="439.19" cy="317.82" r="23.536" fill="#aacdf4"/><circle cx="242.81" cy="260" r="23.536" fill="#4b0f9f"/></g><circle cx="242.81" cy="317.82" r="23.536" fill="#aaa4ce" stroke-width=".64447"/><g stroke-width=".64448"><circle cx="242.81" cy="433.47" r="23.536" fill="#f9f8fe"/><circle cx="341" cy="317.82" r="23.536" fill="#4b0f9f"/><circle cx="341" cy="375.64" r="23.536" fill="#aacdf4"/></g><circle cx="439.19" cy="260" r="23.536" fill="#4b0f9f" stroke-width=".64447"/></g></g></g></svg>
|
||||
<svg width="470" height="470" viewBox="0 0 470 470" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_274_276)">
|
||||
<path d="M240.667 0.0671319C109.04 -3.0483 1.10113 101.345 -1.6504e-05 232.999C-0.470016 288.956 18.6523 340.414 50.8674 381.009L21.8214 431.809C12.0857 448.823 24.3728 470 43.9786 470H233.053C363.767 470 471.423 363.041 469.96 232.328C468.577 105.669 366.949 3.0617 240.667 0.0671319Z" fill="url(#paint0_linear_274_276)"/>
|
||||
<path d="M133.628 179.379C151.405 179.379 165.816 164.968 165.816 147.191C165.816 129.413 151.405 115.002 133.628 115.002C115.851 115.002 101.439 129.413 101.439 147.191C101.439 164.968 115.851 179.379 133.628 179.379Z" fill="#A98DFF"/>
|
||||
<path d="M336.547 179.379C354.324 179.379 368.735 164.968 368.735 147.191C368.735 129.413 354.324 115.002 336.547 115.002C318.77 115.002 304.359 129.413 304.359 147.191C304.359 164.968 318.77 179.379 336.547 179.379Z" fill="#A98DFF"/>
|
||||
<path d="M133.628 267.188C151.405 267.188 165.816 252.777 165.816 235C165.816 217.223 151.405 202.812 133.628 202.812C115.851 202.812 101.439 217.223 101.439 235C101.439 252.777 115.851 267.188 133.628 267.188Z" fill="#CABAFF"/>
|
||||
<path d="M336.547 267.188C354.324 267.188 368.735 252.777 368.735 235C368.735 217.223 354.324 202.812 336.547 202.812C318.77 202.812 304.359 217.223 304.359 235C304.359 252.777 318.77 267.188 336.547 267.188Z" fill="#CABAFF"/>
|
||||
<path d="M133.628 354.998C151.405 354.998 165.816 340.587 165.816 322.809C165.816 305.032 151.405 290.621 133.628 290.621C115.851 290.621 101.439 305.032 101.439 322.809C101.439 340.587 115.851 354.998 133.628 354.998Z" fill="white"/>
|
||||
<path d="M336.547 354.998C354.324 354.998 368.735 340.587 368.735 322.809C368.735 305.032 354.324 290.621 336.547 290.621C318.77 290.621 304.359 305.032 304.359 322.809C304.359 340.587 318.77 354.998 336.547 354.998Z" fill="white"/>
|
||||
<path d="M235 267.188C252.777 267.188 267.188 252.777 267.188 235C267.188 217.223 252.777 202.812 235 202.812C217.223 202.812 202.812 217.223 202.812 235C202.812 252.777 217.223 267.188 235 267.188Z" fill="#CABAFF"/>
|
||||
<path d="M235 354.998C252.777 354.998 267.188 340.587 267.188 322.809C267.188 305.032 252.777 290.621 235 290.621C217.223 290.621 202.812 305.032 202.812 322.809C202.812 340.587 217.223 354.998 235 354.998Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_274_276" x1="395.494" y1="513.011" x2="74.4582" y2="-42.9782" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.13" stop-color="#553BFF"/>
|
||||
<stop offset="0.86" stop-color="#9064FF"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_274_276">
|
||||
<rect width="470" height="470" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2.6 KiB |
@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="svg" version="1.1" viewBox="0 0 400 400"><g id="svgg" fill-rule="evenodd"><path fill="#f4f5f5" d="m192.97 62.129c-26.656 3.317-47.983 19.882-57.565 44.71-3.853 9.982-4.545 15.747-4.545 37.851v17.306l-6.738 0.232c-14.347 0.494-22.587 5.938-26.729 17.659l-1.103 3.121v29.492c0 32.127 0.031 32.689 2.391 43.3 7.874 35.404 34.139 64.851 68.117 76.367 64.962 22.019 132.51-23.702 137.13-92.819 0.687-10.284 0.297-55.379-0.502-58.008-3.668-12.066-12.845-18.84-25.525-18.84-2.61 0-5.562-0.112-6.558-0.248l-1.813-0.249v-16.507c0-21.046-0.486-25.958-3.516-35.535-9.734-30.76-41.753-51.726-73.046-47.832m15.537 24.046c16.237 2.877 30.363 15.383 35.396 31.336 2.023 6.411 2.192 8.514 2.192 27.267v17.331h-45.899-45.898v-17.331c0-13.608 0.125-18.05 0.582-20.673 4.48-25.69 28.165-42.442 53.627-37.93m-2.898 121.87c16.242 4.187 21.698 24.248 9.976 36.683-4.224 4.481-4.355 4.975-3.637 13.767 0.717 8.774 0.689 10.256-0.241 12.743-3.982 10.643-19.039 10.643-23.021 0-0.93-2.485-0.959-3.97-0.244-12.722 0.716-8.755 0.61-9.191-3.224-13.329-15.541-16.775-1.291-42.732 20.391-37.142"/><path fill="#1444b4" d="m66.797 0.623c-34.231 4.974-61.413 32.288-66.186 66.507-0.93 6.668-0.93 259.07 0 265.74 4.796 34.385 32.134 61.723 66.519 66.519 6.668 0.93 259.07 0.93 265.74 0 34.385-4.796 61.723-32.134 66.519-66.519 0.93-6.668 0.93-259.07 0-265.74-4.795-34.376-32.143-61.724-66.519-66.519-6.215-0.867-260.1-0.855-266.07 0.012m147.07 62.252c28.834 6.201 50.351 28.799 55.107 57.871 0.535 3.274 0.698 7.656 0.843 22.669l0.18 18.61 7.091 0.164c13.738 0.317 22.526 6.264 26.147 17.694 1.083 3.416 1.371 60.296 0.341 67.187-9.283 62.11-67.941 102.56-127.69 88.048-42.787-10.389-75.15-47.632-79.396-91.368-0.9-9.268-0.357-61.056 0.672-64.062 3.924-11.473 12.498-17.212 26.144-17.502l7.092-0.15 0.179-18.616c0.281-29.073 2.88-38.928 14.315-54.268 15.529-20.833 43.951-31.661 68.979-26.277m-20.508 23.266c-18.263 2.85-33.014 16.445-37.53 34.59-1.16 4.66-1.519 10.98-1.526 26.828l-6e-3 14.55h45.898 45.899l-6e-3 -14.55c-7e-3 -15.848-0.367-22.168-1.527-26.828-5.762-23.154-28.041-38.204-51.202-34.59m3.259 121.69c-17.389 3.099-23.811 23.765-11.46 36.877 4.079 4.331 4.177 4.691 3.58 13.041-0.882 12.331-0.586 14.057 3.034 17.681 4.868 4.873 11.978 4.873 16.847 0 3.62-3.624 3.916-5.35 3.034-17.681-0.598-8.35-0.499-8.71 3.58-13.041 14.6-15.5 1.959-40.543-18.615-36.877"/><path fill="#6884c7" d="m273.03 307.72-1.346 1.465 1.465-1.346c0.805-0.741 1.464-1.4 1.464-1.465 0-0.299-0.33-0.018-1.583 1.346"/><path fill="#4c6cc4" d="m150.95 82.129-1.147 1.269 1.269-1.147c1.184-1.069 1.449-1.392 1.148-1.392-0.068 0-0.639 0.572-1.27 1.27m-20.305 64.16c0 8.809 0.051 12.468 0.114 8.132 0.063-4.337 0.063-11.544 0-16.016-0.062-4.472-0.114-0.925-0.114 7.884m139.06 3.32c0 6.983 0.053 9.839 0.118 6.348 0.064-3.491 0.064-9.204 0-12.695-0.065-3.491-0.118-0.635-0.118 6.347"/><path fill="#8c9ccc" d="m274.12 162.4c1.343 0.076 3.54 0.076 4.883 0 1.343-0.077 0.244-0.139-2.441-0.139-2.686 0-3.785 0.062-2.442 0.139m29.892 75.882c0 0.967 0.076 1.363 0.169 0.879 0.093-0.483 0.093-1.274 0-1.758-0.093-0.483-0.169-0.088-0.169 0.879m-109.97 99.495c0.483 0.093 1.274 0.093 1.758 0 0.483-0.093 0.088-0.17-0.879-0.17s-1.362 0.077-0.879 0.17m10.547 0c0.483 0.093 1.274 0.093 1.758 0 0.483-0.093 0.088-0.17-0.879-0.17s-1.363 0.077-0.879 0.17"/><path fill="#3c62ba" d="m269.67 133.79c-1e-3 1.934 0.065 2.774 0.147 1.867 0.082-0.906 0.083-2.488 2e-3 -3.515s-0.148-0.286-0.149 1.648"/></g></svg>
|
Before Width: | Height: | Size: 3.4 KiB |
1
theme/assets/img/pastebins/paaster.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.99949 0 0 .99949 0 -4.3461e-6)" stroke-width=".17657"><path d="m18.887 33.875h-18.887v-33.884h33.867v33.884h-14.98m-11.23-6.4496v2.2541c0.52144-0.0234 0.91072-0.0407 1.3471-0.0603v-3.7967-3.7795c0.41355 0 0.72916 5.3e-4 1.0448-8e-5 2.8536-5e-3 5.7092 0.0554 8.5603-0.0316 4.4217-0.13491 7.8995-3.3228 8.4823-7.6524 0.5747-4.2695-1.9094-8.0926-6.177-9.378-0.97178-0.29269-2.0196-0.43877-3.036-0.45784-3.1467-0.059-6.2952-0.0252-9.443-0.0239-0.2281 9e-5 -0.45618 0.0282-0.77834 0.0495 0 7.5979 0 15.15-1.6e-5 22.877z" fill="#1a1824"/><path d="m7.657 27.338c8e-6 -7.6394 8e-6 -15.191 8e-6 -22.789 0.32216-0.0213 0.55024-0.0494 0.77834-0.0495 3.1478-1e-3 6.2963-0.0351 9.443 0.0239 1.0164 0.0191 2.0642 0.16514 3.036 0.45783 4.2676 1.2854 6.7517 5.1085 6.177 9.378-0.58279 4.3296-4.0606 7.5175-8.4823 7.6524-2.8511 0.087-5.7067 0.0263-8.5603 0.0316-0.31561 5.2e-4 -0.63122 8e-5 -1.0448 8e-5v3.7795 3.7967c-0.43638 0.0195-0.82566 0.0369-1.3471 0.0603 0-0.80413 0-1.5291 8e-6 -2.3416m5.6677-6.6578c1.7344-8e-3 3.4703 0.0274 5.2029-0.0332 3.9836-0.1393 7.0762-3.1038 7.2512-6.8959 0.18838-4.0816-2.4594-7.4006-6.5589-7.7594-3.1812-0.27844-6.4002-0.1252-9.6025-0.15673-0.19145-2e-3 -0.38352 0.0593-0.55944 0.0886v14.757h4.2667z" fill="#bdb9ba"/><path d="m13.236 20.68h-4.1784v-14.757c0.17592-0.0292 0.36799-0.0904 0.55944-0.0886 3.2023 0.0316 6.4214-0.12172 9.6025 0.15673 4.0994 0.35881 6.7472 3.6778 6.5589 7.7594-0.17502 3.792-3.2676 6.7566-7.2512 6.8959-1.7326 0.0606-3.4685 0.025-5.2912 0.0332z" fill="#1a1825"/></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 344 B |
@ -527,3 +527,75 @@ path[d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-
|
||||
list-style-type: disc;
|
||||
padding-inline-start: 1em;
|
||||
}
|
||||
|
||||
/* Donations */
|
||||
.md-typeset .mdx-specialthanks p {
|
||||
margin:2em 0;
|
||||
text-align:center
|
||||
}
|
||||
.md-typeset .mdx-specialthanks img {
|
||||
height:3.25rem
|
||||
}
|
||||
.md-typeset .mdx-specialthanks p:last-child {
|
||||
display:flex;
|
||||
flex-wrap:wrap;
|
||||
justify-content:center
|
||||
}
|
||||
.md-typeset .mdx-specialthanks p:last-child>a {
|
||||
display:block;
|
||||
flex-shrink:0
|
||||
}
|
||||
.md-typeset .mdx-donors__list {
|
||||
margin:2em 0
|
||||
}
|
||||
.md-typeset .mdx-donors__list:after {
|
||||
clear:both;
|
||||
content:"";
|
||||
display:block
|
||||
}
|
||||
[dir=ltr] .md-typeset .mdx-donors__item {
|
||||
float:left
|
||||
}
|
||||
[dir=rtl] .md-typeset .mdx-donors__item {
|
||||
float:right
|
||||
}
|
||||
.md-typeset .mdx-donors__item {
|
||||
border-radius:100%;
|
||||
display:block;
|
||||
height:3rem;
|
||||
margin:.2rem;
|
||||
overflow:hidden;
|
||||
transform:scale(1);
|
||||
transition:color 125ms,transform 125ms;
|
||||
width:3rem
|
||||
}
|
||||
.md-typeset .mdx-donors__item:focus,
|
||||
.md-typeset .mdx-donors__item:hover {
|
||||
transform:scale(1.1)
|
||||
}
|
||||
.md-typeset .mdx-donors__item:focus img,
|
||||
.md-typeset .mdx-donors__item:hover img {
|
||||
filter:grayscale(0)
|
||||
}
|
||||
.md-typeset .mdx-donors__item--private {
|
||||
background:var(--md-default-fg-color--lightest);
|
||||
color:var(--md-default-fg-color--lighter);
|
||||
font-size:.8rem;
|
||||
font-weight:700;
|
||||
line-height:2.9rem;
|
||||
text-align:center
|
||||
}
|
||||
.md-typeset .mdx-donors__item img {
|
||||
display:block;
|
||||
filter:grayscale(100%) opacity(75%);
|
||||
height:auto;
|
||||
transition:filter 125ms;
|
||||
width:100%
|
||||
}
|
||||
.md-typeset .mdx-donors-button {
|
||||
font-weight:400
|
||||
}
|
||||
.md-typeset .mdx-donors-count,
|
||||
.md-typeset .mdx-donors-total {
|
||||
font-weight:700
|
||||
}
|
||||
|
@ -14,7 +14,9 @@ definitions:
|
||||
{% endif %}
|
||||
|
||||
- &page_icon >-
|
||||
{%- if not page.meta.preview or not page.meta.preview.logo -%}
|
||||
{%- if page.meta.preview and page.meta.preview.icon -%}
|
||||
{{- page.meta.preview.icon -}}
|
||||
{%- else -%}
|
||||
material/book-open-page-variant
|
||||
{%- endif -%}
|
||||
|
||||
|
@ -92,23 +92,3 @@
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% if config.theme.language == "en" and config.extra.context == "production" %}
|
||||
{% block announce %}
|
||||
<span>
|
||||
<strong>We don't run ads, we don't use affiliate links, and we don't have paywalls.</strong> We rely on our readers to build this community and spread the word.<br>
|
||||
If you've received $3 worth of knowledge here, please donate today if you're able to. It really helps.
|
||||
<a href="https://donate.magicgrants.org/privacyguides" target="_blank">
|
||||
<span class="twemoji pg-red">
|
||||
{% include ".icons/material/heart.svg" %}
|
||||
</span>
|
||||
<span class="pg-red">
|
||||
Donate now
|
||||
</span>
|
||||
<span class="twemoji pg-red">
|
||||
{% include ".icons/material/arrow-right.svg" %}
|
||||
</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
|
8
theme/partials/donate.html
Normal file
@ -0,0 +1,8 @@
|
||||
<div class="md-header__option">
|
||||
<div class="">
|
||||
{% set icon = "material/heart" %}
|
||||
<a href="/en/about/donate/" class="md-header__button md-icon pg-red" title="Donate">
|
||||
{% include ".icons/" ~ icon ~ ".svg" %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
@ -136,6 +136,8 @@
|
||||
{% if not config.theme.palette is mapping %}
|
||||
{% include "partials/javascripts/palette.html" %}
|
||||
{% endif %}
|
||||
|
||||
{% include "partials/donate.html" %}
|
||||
</nav>
|
||||
|
||||
<!-- Navigation tabs (sticky) -->
|
||||
|
@ -25,6 +25,10 @@
|
||||
|
||||
{% import "partials/nav-item.html" as item with context %}
|
||||
|
||||
{% block htmltitle %}
|
||||
<title>[Video] {{ page.title | striptags }} - {{ config.site_name }}</title>
|
||||
{% endblock %}
|
||||
|
||||
{% block extrahead %}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
@ -35,11 +39,11 @@
|
||||
"thumbnailUrl": [
|
||||
"{{ page.meta.thumbnail }}"
|
||||
],
|
||||
"uploadDate": "{{ page.meta.date.created }}Z",
|
||||
"uploadDate": "{{ page.meta.date.created }}",
|
||||
"embedUrl": "{{ page.meta.embed }}"
|
||||
}
|
||||
</script>
|
||||
<link rel="alternate" type="application/json+oembed" href="https://neat.tube/services/oembed?url={{ page.meta.peertube | urlencode |replace('/', '%2F')}}" title="It's time to stop using SMS, here's why!" />
|
||||
<link rel="alternate" type="application/json+oembed" href="https://neat.tube/services/oembed?url={{ page.meta.peertube | urlencode |replace('/', '%2F')}}">
|
||||
{% endblock %}
|
||||
|
||||
<!-- Page content -->
|
||||
|
@ -1,5 +1,6 @@
|
||||
---
|
||||
description: Privacy-related news stories, product reviews, opinion pieces, and other important articles from Privacy Guides contributors.
|
||||
description: >-
|
||||
This is our home for the latest video content from the Privacy Guides team. Be sure you are subscribed to find out about our latest uploads, and share these videos with your family and friends if you find them helpful!
|
||||
template: video.html
|
||||
hide:
|
||||
- footer
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 5 Easy Steps to Protect Yourself Online
|
||||
date:
|
||||
created: 2025-02-14T17:00:00
|
||||
created: 2025-02-14T17:00:00Z
|
||||
authors:
|
||||
- jordan
|
||||
description: Worried about hackers and data breaches? You're not alone. In this video we outline 5 simple yet crucial steps you can take today to dramatically improve your online security and protect your personal information.
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Do you need a VPN?
|
||||
date:
|
||||
created: 2024-12-12T20:00:00
|
||||
created: 2024-12-12T20:00:00Z
|
||||
authors:
|
||||
- jordan
|
||||
description: Commercial Virtual Private Networks are a way of extending the end of your network to exit somewhere else in the world. This can have substantial privacy benefits, but not all VPNs are created equal.
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: It's time to stop using SMS, here's why!
|
||||
date:
|
||||
created: 2025-01-24T20:00:00
|
||||
created: 2025-01-24T20:00:00Z
|
||||
authors:
|
||||
- jordan
|
||||
description: Text messaging has been a staple of communication for decades, but it's time to move on. In this video, we'll explore why SMS is an outdated and insecure technology and discuss better alternatives.
|
||||
|
@ -0,0 +1,27 @@
|
||||
---
|
||||
title: |
|
||||
Stop Confusing Privacy, Anonymity, and Security
|
||||
date:
|
||||
created: 2025-03-14T02:00:00Z
|
||||
authors:
|
||||
- jordan
|
||||
description: |
|
||||
Are you mixing up privacy, security, and anonymity? Don't worry, it's more common than you might think! In this week's video we break down each term, so you can make educated decisions on what tools are best for you.
|
||||
readtime: 7
|
||||
thumbnail: https://neat.tube/lazy-static/previews/35388c84-1dc5-4e09-867e-0badf6ea75fa.jpg
|
||||
embed: https://neat.tube/videos/embed/1f5361c6-2230-4466-9390-659e0a0692ad
|
||||
peertube: https://neat.tube/w/4SmJxn7Q2XRp7ZGDCxvNUV
|
||||
youtube: https://www.youtube.com/watch?v=RRt08MvK4tE
|
||||
links:
|
||||
- Common Threats: https://www.privacyguides.org/en/basics/common-threats/#security-and-privacy
|
||||
- Recommended Tools: https://www.privacyguides.org/en/tools/
|
||||
- Why Privacy Matters: https://www.privacyguides.org/en/basics/why-privacy-matters/
|
||||
- VPN Overview: https://www.privacyguides.org/en/basics/vpn-overview/
|
||||
- Do You Need a VPN?: https://www.privacyguides.org/videos/2024/12/12/do-you-need-a-vpn/
|
||||
---
|
||||
Are you mixing up privacy, security, and anonymity? Don't worry, it's more common than you might think! In this week's video we break down each term, so you can make educated decisions on what [privacy tools](https://www.privacyguides.org/en/tools/) are best for you.
|
||||
|
||||
## Sources
|
||||
|
||||
- <https://apnews.com/article/google-incognito-mode-tracking-lawsuit-settlement-8b30c9397f678bc4c546ab84191f7a9d>
|
||||
- <https://cloud.google.com/blog/products/chrome-enterprise/chromeos-the-platform-designed-for-zero-trust-security>
|
@ -2,7 +2,7 @@
|
||||
title: |
|
||||
Anonymity for Everyone: Why You Need Tor
|
||||
date:
|
||||
created: 2025-03-02T18:00:00
|
||||
created: 2025-03-02T18:00:00Z
|
||||
authors:
|
||||
- jordan
|
||||
description: Tor is an invaluable tool for bypassing censorship and browsing privately, in this week's video we dive into the details and explain how it works. Plus we cover some things you should avoid when using Tor to make sure you maintain your anonymity.
|
||||
|