diff --git a/.all-contributorsrc b/.all-contributorsrc index 8aded99ad..7b510b924 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -250,6 +250,45 @@ "ideas" ] }, + { + "login": "jordan-warne", + "name": "jordan warne", + "avatar_url": "https://avatars.githubusercontent.com/u/154663344?v=4", + "profile": "https://jordanwarne.net/", + "contributions": [ + "doc", + "video", + "research", + "ideas", + "question", + "promotion" + ] + }, + { + "login": "EmAtPrivacyGuides", + "name": "Em", + "avatar_url": "https://avatars.githubusercontent.com/u/194856901?v=4", + "profile": "https://github.com/EmAtPrivacyGuides", + "contributions": [ + "blog", + "promotion", + "ideas" + ] + }, + { + "login": "kpham42", + "name": "Kevin Pham", + "avatar_url": "https://avatars.githubusercontent.com/u/123699355?v=4", + "profile": "https://github.com/kpham42", + "contributions": [ + "blog", + "promotion", + "question", + "research", + "ideas", + "doc" + ] + }, { "login": "actions", "name": "GitHub Actions", @@ -1955,15 +1994,6 @@ "doc" ] }, - { - "login": "aghorler", - "name": "Aaron Horler", - "avatar_url": "https://avatars.githubusercontent.com/u/13065365?v=4", - "profile": "https://aaronhorler.com/", - "contributions": [ - "doc" - ] - }, { "login": "Commenter25", "name": "Commenter", @@ -2767,15 +2797,6 @@ "translation" ] }, - { - "login": "jordan-warne", - "name": "jordan warne", - "avatar_url": "https://avatars.githubusercontent.com/u/154663344?v=4", - "profile": "https://jordanwarne.net/", - "contributions": [ - "doc" - ] - }, { "login": "dzenan", "name": "Dženan", @@ -2986,6 +3007,117 @@ "promotion", "question" ] + }, + { + "login": "Spirizer", + "name": "Spirizer", + "avatar_url": "https://avatars.githubusercontent.com/u/51120100?v=4", + "profile": "https://github.com/Spirizer", + "contributions": [ + "translation" + ] + }, + { + "login": "jordbm", + "name": "jordbm", + "avatar_url": "https://avatars.githubusercontent.com/u/160433264?v=4", + "profile": "https://github.com/jordbm", + "contributions": [ + "doc", + "maintenance", + "security" + ] + }, + { + "login": "austinhuang0131", + "name": "Austin Huang", + "avatar_url": "https://avatars.githubusercontent.com/u/16656689?v=4", + "profile": "https://austinhuang.me/", + "contributions": [ + "doc", + "question" + ] + }, + { + "login": "WardPearce", + "name": "Ward", + "avatar_url": "https://avatars.githubusercontent.com/u/27844174?v=4", + "profile": "https://github.com/WardPearce", + "contributions": [ + "doc" + ] + }, + { + "login": "oilmaint", + "name": "oilmaint", + "avatar_url": "https://avatars.githubusercontent.com/u/79659024?v=4", + "profile": "https://github.com/oilmaint", + "contributions": [ + "doc" + ] + }, + { + "login": "headdirt", + "name": "headdirt", + "avatar_url": "https://avatars.githubusercontent.com/u/37009392?v=4", + "profile": "https://github.com/headdirt", + "contributions": [ + "doc" + ] + }, + { + "login": "qmcree", + "name": "Quentin McRee", + "avatar_url": "https://avatars.githubusercontent.com/u/7796024?v=4", + "profile": "https://github.com/qmcree", + "contributions": [ + "doc" + ] + }, + { + "login": "sv3nnie", + "name": "Sven", + "avatar_url": "https://avatars.githubusercontent.com/u/67653224?v=4", + "profile": "https://github.com/sv3nnie", + "contributions": [ + "doc" + ] + }, + { + "login": "tomhonour", + "name": "Tom Honour", + "avatar_url": "https://avatars.githubusercontent.com/u/132141431?v=4", + "profile": "https://git.sr.ht/~tomhonour/", + "contributions": [ + "doc" + ] + }, + { + "login": "brog-io", + "name": "Brogio", + "avatar_url": "https://avatars.githubusercontent.com/u/141176104?v=4", + "profile": "https://brog.io/", + "contributions": [ + "doc" + ] + }, + { + "login": "nathany", + "name": "Nathan Youngman", + "avatar_url": "https://avatars.githubusercontent.com/u/4566?v=4", + "profile": "https://nathany.com/", + "contributions": [ + "doc" + ] + }, + { + "login": "blanchardjeremy", + "name": "Jeremy", + "avatar_url": "https://avatars.githubusercontent.com/u/32290?v=4", + "profile": "https://github.com/blanchardjeremy", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 5, diff --git a/.devcontainer/Caddyfile b/.devcontainer/Caddyfile new file mode 100644 index 000000000..92000e0e0 --- /dev/null +++ b/.devcontainer/Caddyfile @@ -0,0 +1,6 @@ +:1337 { + reverse_proxy /articles/* http://127.0.0.1:8001 + reverse_proxy /videos/* http://127.0.0.1:8002 + reverse_proxy /en/* http://127.0.0.1:8000 + redir / /en/ +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 4aab37145..1e18b550e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,8 +1,135 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/python +// For format details, see https://aka.ms/devcontainer.json. { - "name": "Privacy Guides", - "image": "ghcr.io/squidfunk/mkdocs-material:9.5.17", - "forwardPorts": [8000], - "postCreateCommand": "git submodule init; git submodule update theme/assets/brand; apk add bash; /bin/bash run.sh --cmd=mkdocs --cmd_flags=--dev-addr=0.0.0.0:8000" + "name": "Privacy Guides", + "image": "ghcr.io/privacyguides/privacyguides.org:sha-55c050b", + // "build": { + // "dockerfile": "../Dockerfile", + // "context": ".." + // }, + "overrideCommand": true, + "portsAttributes": { + "1337": { + "label": "Website Live Preview", + "onAutoForward": "notify" + }, + "8000": { + "label": "Main", + "onAutoForward": "silent" + }, + "8001": { + "label": "Articles", + "onAutoForward": "silent" + }, + "8002": { + "label": "Videos", + "onAutoForward": "silent" + } + }, + "otherPortsAttributes": { + "onAutoForward": "ignore" + }, + "mounts": [ + "source=${env:HOME}${env:USERPROFILE}/.config,target=/root/.config,type=bind" + ], + "updateContentCommand": "git submodule update --init theme/assets/brand", + "customizations": { + "vscode": { + "settings": { + "tasks": { + "version": "2.0.0", + "tasks": [ + { + "label": "Articles", + "type": "shell", + "command": "mkdocs serve --config-file=mkdocs.blog.yml --dev-addr=localhost:8001", + "group": "test", + "runOptions": { + "runOn": "folderOpen" + }, + "presentation": { + "reveal": "always", + "panel": "dedicated", + "group": "Live server" + } + }, + { + "label": "Videos", + "type": "shell", + "command": "mkdocs serve --config-file=mkdocs.videos.yml --dev-addr=localhost:8002", + "group": "test", + "runOptions": { + "runOn": "folderOpen" + }, + "presentation": { + "reveal": "always", + "panel": "dedicated", + "group": "Live server" + } + }, + { + "label": "Main", + "type": "shell", + "command": "./run.sh --cmd=mkdocs --insiders --production", + "group": "test", + "runOptions": { + "runOn": "folderOpen" + }, + "presentation": { + "reveal": "always", + "panel": "dedicated", + "group": "Live server", + "focus": true + } + }, + { + "label": "Caddy", + "type": "shell", + "command": "caddy run --config .devcontainer/Caddyfile", + "group": "test", + "runOptions": { + "runOn": "folderOpen" + }, + "presentation": { + "reveal": "never", + "panel": "dedicated" + } + } + ] + } + }, + "extensions": [ + "EditorConfig.EditorConfig", + "DavidAnson.vscode-markdownlint", + "wholroyd.jinja", + "mikestead.dotenv", + "redhat.vscode-yaml", + "ecmel.vscode-html-css", + "yzhang.markdown-all-in-one", + "bierner.markdown-checkbox", + "bierner.markdown-emoji", + "bierner.markdown-footnotes", + "bierner.markdown-preview-github-styles", + "esbenp.prettier-vscode", + "ltex-plus.vscode-ltex-plus", + "ms-python.python", + "github.vscode-github-actions", + "matthewpi.caddyfile-support", + "ms-vsliveshare.vsliveshare" + ] + }, + "codespaces": { + "repositories": { + "privacyguides/mkdocs-material-insiders": { + "permissions": { + "content": "read" + } + }, + "privacyguides/brand": { + "permissions": { + "content": "read" + } + } + } + } + } } diff --git a/.devcontainer/team/devcontainer.json b/.devcontainer/team/devcontainer.json deleted file mode 100644 index d828e7070..000000000 --- a/.devcontainer/team/devcontainer.json +++ /dev/null @@ -1,8 +0,0 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/python -{ - "name": "Privacy Guides Team", - "image": "ghcr.io/privacyguides/privacyguides.org:main", - "forwardPorts": [8000], - "postCreateCommand": "git submodule init; git submodule update theme/assets/brand; ./run.sh --cmd=mkdocs --insiders --production --cmd_flags=--dev-addr=0.0.0.0:8000" -} diff --git a/.github/workflows/build-blog.yml b/.github/workflows/build-blog.yml index 5d39e7905..ca6773f3d 100644 --- a/.github/workflows/build-blog.yml +++ b/.github/workflows/build-blog.yml @@ -82,6 +82,18 @@ jobs: pip install mkdocs-material mkdocs-rss-plugin mkdocs-glightbox mkdocs-macros-plugin sudo apt install pngquant + - name: Set base navigation URLs for production build + if: inputs.context == 'production' + run: | + { + echo "MAIN_SITE_BASE_URL=https://www.privacyguides.org/en/" + echo "MAIN_SITE_ABOUT_URL=https://www.privacyguides.org/en/about/" + echo "MAIN_SITE_RECOMMENDATIONS_URL=https://www.privacyguides.org/en/tools/" + echo "MAIN_SITE_KNOWLEDGE_BASE_URL=https://www.privacyguides.org/en/basics/why-privacy-matters/" + echo "ARTICLES_SITE_BASE_URL=https://www.privacyguides.org/articles/" + echo "VIDEOS_SITE_BASE_URL=https://www.privacyguides.org/videos/" + } >> "$GITHUB_ENV" + - name: Build Website (Privileged) if: inputs.privileged run: | diff --git a/.github/workflows/build-container.yml b/.github/workflows/build-container.yml index ebc1db618..04d30b5ed 100644 --- a/.github/workflows/build-container.yml +++ b/.github/workflows/build-container.yml @@ -1,9 +1,7 @@ name: ☁️ Build Container -# Configures this workflow to run every time a change is pushed to the branch called `release`. +# Configures this workflow to run every release. on: - push: - branches: ["main"] release: types: [published] workflow_dispatch: @@ -75,6 +73,12 @@ jobs: flavor: | latest=${{ github.event_name == 'release' }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + # This step uses the `docker/build-push-action` action to build the image, based on your repository's `Dockerfile`. If the build succeeds, it pushes the image to GitHub Packages. # It uses the `context` parameter to define the build's context as the set of files located in the specified path. For more information, see "[Usage](https://github.com/docker/build-push-action#usage)" in the README of the `docker/build-push-action` repository. # It uses the `tags` and `labels` parameters to tag and label the image with the output from the "meta" step. @@ -85,6 +89,9 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + platforms: linux/amd64,linux/arm64 + cache-from: type=gha + cache-to: type=gha,mode=max cleanup: if: ${{ always() }} diff --git a/.github/workflows/build-videos.yml b/.github/workflows/build-videos.yml index e8764fec1..2d24dc633 100644 --- a/.github/workflows/build-videos.yml +++ b/.github/workflows/build-videos.yml @@ -82,6 +82,18 @@ jobs: pip install mkdocs-material mkdocs-rss-plugin mkdocs-glightbox mkdocs-macros-plugin sudo apt install pngquant + - name: Set base navigation URLs for production build + if: inputs.context == 'production' + run: | + { + echo "MAIN_SITE_BASE_URL=https://www.privacyguides.org/en/" + echo "MAIN_SITE_ABOUT_URL=https://www.privacyguides.org/en/about/" + echo "MAIN_SITE_RECOMMENDATIONS_URL=https://www.privacyguides.org/en/tools/" + echo "MAIN_SITE_KNOWLEDGE_BASE_URL=https://www.privacyguides.org/en/basics/why-privacy-matters/" + echo "ARTICLES_SITE_BASE_URL=https://www.privacyguides.org/articles/" + echo "VIDEOS_SITE_BASE_URL=https://www.privacyguides.org/videos/" + } >> "$GITHUB_ENV" + - name: Build Website (Privileged) if: inputs.privileged run: | diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9468eca86..be92650ff 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,6 +57,18 @@ jobs: echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --production"" } >> "$GITHUB_ENV" + - name: Set base navigation URLs for production build + if: inputs.context == 'production' + run: | + { + echo "MAIN_SITE_BASE_URL=https://www.privacyguides.org/en/" + echo "MAIN_SITE_ABOUT_URL=https://www.privacyguides.org/en/about/" + echo "MAIN_SITE_RECOMMENDATIONS_URL=https://www.privacyguides.org/en/tools/" + echo "MAIN_SITE_KNOWLEDGE_BASE_URL=https://www.privacyguides.org/en/basics/why-privacy-matters/" + echo "ARTICLES_SITE_BASE_URL=https://www.privacyguides.org/articles/" + echo "VIDEOS_SITE_BASE_URL=https://www.privacyguides.org/videos/" + } >> "$GITHUB_ENV" + - name: Set Metadata for Privileged Builds if: inputs.privileged run: | diff --git a/.github/workflows/publish-immediate.yml b/.github/workflows/publish-immediate.yml index a1f08cf3b..c2d97f5e9 100644 --- a/.github/workflows/publish-immediate.yml +++ b/.github/workflows/publish-immediate.yml @@ -59,6 +59,7 @@ jobs: repo: ${{ github.repository }} ref: ${{ github.ref }} continue-on-error: false + context: production build_videos: needs: submodule @@ -69,6 +70,7 @@ jobs: repo: ${{ github.repository }} ref: ${{ github.ref }} continue-on-error: false + context: production deploy: needs: [build_blog, build_videos] diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 066ac2b11..3a5b12a81 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -75,6 +75,7 @@ jobs: repo: ${{ github.repository }} ref: ${{ github.ref }} continue-on-error: false + context: production build_videos: needs: submodule @@ -85,6 +86,7 @@ jobs: repo: ${{ github.repository }} ref: ${{ github.ref }} continue-on-error: false + context: production release: name: Create release notes diff --git a/.gitmodules b/.gitmodules index 4ce9522eb..bc561bf9b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,4 +3,4 @@ url = https://github.com/privacyguides/brand.git [submodule "modules/mkdocs-material"] path = modules/mkdocs-material - url = git@github.com:privacyguides/mkdocs-material-insiders.git + url = https://github.com/privacyguides/mkdocs-material-insiders.git diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 95992a2b8..7d8a9d10d 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -27,11 +27,15 @@ "redhat.vscode-yaml", "ecmel.vscode-html-css", "yzhang.markdown-all-in-one", - "valentjn.vscode-ltex", "bierner.markdown-checkbox", "bierner.markdown-emoji", "bierner.markdown-footnotes", "bierner.markdown-preview-github-styles", - "esbenp.prettier-vscode" + "esbenp.prettier-vscode", + "ltex-plus.vscode-ltex-plus", + "ms-python.python", + "github.vscode-github-actions", + "ms-vscode-remote.remote-containers", + "github.codespaces" ] } diff --git a/.vscode/ltex.dictionary.en-US.txt b/.vscode/ltex.dictionary.en-US.txt index 2a392fe3e..5a2c68aed 100644 --- a/.vscode/ltex.dictionary.en-US.txt +++ b/.vscode/ltex.dictionary.en-US.txt @@ -545,3 +545,27 @@ Codeberg simple-codeberg simple-reddit fontawesome-brands-linkedin +simple-keepassxc +OnlyKey +fontawesome-solid-unlock-keyhole +KeeShare +KeePassium +MWEB +Cyd +Semiphemeral +Dangerzone +simple-activitypub +ActivityPub +pseudorandom +Chaum +unlinkability +Kagi +Secureblue +pseudonymity +TrueNAS +Arti +Tailscale +allowlisted +MyMonero +Monero-LWS +OkCupid diff --git a/Dockerfile b/Dockerfile index d05c98d8a..ce086535c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,72 +1,84 @@ -FROM python:3.13-alpine as base +FROM python:3.12-slim-bookworm AS base LABEL org.opencontainers.image.source="https://github.com/privacyguides/privacyguides.org" -# Setup env -ENV LANG C.UTF-8 -ENV LC_ALL C.UTF-8 -ENV PYTHONDONTWRITEBYTECODE 1 -ENV PYTHONFAULTHANDLER 1 +# Setup environment +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONFAULTHANDLER=1 +#################################################### +# Stage: python-deps +# Install pipenv and compilation dependencies +#################################################### FROM base AS python-deps -# Install pipenv and compilation dependencies -RUN pip install pipenv -RUN \ - apk upgrade --update-cache -a \ -&& \ - apk add --no-cache \ - gcc \ - libffi-dev \ - musl-dev +# Install pipenv +RUN pip install --no-cache-dir pipenv -# Install python dependencies in /.venv +# Install build tools and libraries needed to compile any Python packages +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + gcc \ + libffi-dev \ + build-essential \ + && rm -rf /var/lib/apt/lists/* + +# Copy Pipfile, Pipfile.lock, and any local modules needed for dependency resolution COPY modules/mkdocs-material ./modules/mkdocs-material COPY Pipfile . COPY Pipfile.lock . + +# Install all Python dependencies into a project‐local virtual environment at /.venv RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy +#################################################### +# Stage: nodejs-deps +# Install nodejs/npm and compilation dependencies +#################################################### +FROM node:24-bookworm-slim AS nodejs-deps + +RUN npm i -g all-contributors-cli +RUN npm install -g pkg + +RUN cd /usr/local/lib/node_modules/all-contributors-cli && \ + pkg dist/cli.js -t node18-linux -o /usr/local/bin/all-contributors-cli + +#################################################### +# Stage: runtime +# Install runtime dependencies and copy runtime artifacts +#################################################### FROM base AS runtime -# Install runtime dependencies -RUN \ - apk upgrade --update-cache -a \ -&& \ - apk add --no-cache \ - cairo \ - freetype-dev \ - git \ - git-fast-import \ - jpeg-dev \ - openssh \ - pngquant \ - tini \ - zlib-dev \ - libffi-dev \ - musl-dev \ - bash +# Install runtime packages (GTK/Cairo, image processing libraries, Git, etc.) +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + libcairo2-dev \ + libfreetype6-dev \ + git \ + libjpeg-dev \ + libpng-dev \ + openssh-client \ + pngquant \ + tini \ + zlib1g-dev \ + libffi-dev \ + bash \ + caddy \ + && rm -rf /var/lib/apt/lists/* -# Copy virtual env from python-deps stage +# Copy virtual environment and local mkdocs-material module from python-deps stage COPY --from=python-deps /.venv /.venv COPY --from=python-deps /modules/mkdocs-material /modules/mkdocs-material + +# Copy all-contributors-cli from nodejs-deps stage +COPY --from=nodejs-deps /usr/local/bin/all-contributors-cli /usr/local/bin/all-contributors-cli + +# Ensure the virtual environment’s bin directory is first in PATH ENV PATH="/.venv/bin:$PATH" -# Create and switch to a new user -RUN mkdir /site -WORKDIR /site - -COPY docs docs -COPY theme theme -COPY includes includes -COPY *.yml . -COPY .cache/plugin/social/fonts .cache/plugin/social/fonts -COPY run.sh . - -EXPOSE 8000 - -ENV MKDOCS_INHERIT mkdocs-production.yml - HEALTHCHECK NONE -ENTRYPOINT ["./run.sh"] -CMD ["--cmd=mkdocs", "--insiders", "--cmd_flags=--dev-addr=0.0.0.0:8000"] +# Entry point script and default cmd for running mkdocs +ENTRYPOINT ["/bin/bash"] diff --git a/Pipfile.lock b/Pipfile.lock index caa0de8e7..98e228665 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -41,11 +41,11 @@ "filecache" ], "hashes": [ - "sha256:7d47d19f866409b98ff6025b6a0fca8e4c791fb31abbd95f622093894ce903a2", - "sha256:ebad2091bf12d0d200dfc2464330db638c5deb41d546f6d7aca079e87290f3b0" + "sha256:73e7efec4b06b20d9267b441c1f733664f989fb8688391b670ca812d70795d11", + "sha256:b35e44a3113f17d2a31c1e6b27b9de6d4405f84ae51baa8c1d3cc5b633010cae" ], - "markers": "python_version >= '3.8'", - "version": "==0.14.2" + "markers": "python_version >= '3.9'", + "version": "==0.14.3" }, "cairocffi": { "hashes": [ @@ -64,11 +64,11 @@ }, "certifi": { "hashes": [ - "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", - "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe" + "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", + "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3" ], "markers": "python_version >= '3.6'", - "version": "==2025.1.31" + "version": "==2025.4.26" }, "cffi": { "hashes": [ @@ -145,109 +145,109 @@ }, "charset-normalizer": { "hashes": [ - "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", - "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa", - "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a", - "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", - "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b", - "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", - "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", - "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", - "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", - "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", - "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", - "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", - "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", - "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", - "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", - "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", - "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", - "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", - "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", - "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", - "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e", - "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a", - "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4", - "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca", - "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", - "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", - "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", - "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", - "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", - "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", - "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", - "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", - "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", - "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", - "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", - "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd", - "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c", - "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", - "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", - "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", - "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", - "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824", - "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", - "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf", - "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487", - "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d", - "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd", - "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", - "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534", - "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", - "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", - "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", - "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd", - "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", - "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9", - "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", - "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", - "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d", - "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", - "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", - "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", - "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", - "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", - "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", - "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8", - "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", - "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", - "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", - "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", - "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", - "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", - "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", - "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", - "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", - "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", - "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", - "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", - "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e", - "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6", - "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", - "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", - "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e", - "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", - "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", - "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c", - "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", - "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", - "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089", - "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", - "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e", - "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", - "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616" + "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", + "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45", + "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", + "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", + "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", + "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", + "sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d", + "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", + "sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184", + "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", + "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b", + "sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64", + "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", + "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", + "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", + "sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344", + "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58", + "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", + "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", + "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", + "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", + "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", + "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", + "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", + "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", + "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1", + "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01", + "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", + "sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58", + "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", + "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", + "sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2", + "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a", + "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", + "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", + "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5", + "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb", + "sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f", + "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", + "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", + "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", + "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", + "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7", + "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", + "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455", + "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", + "sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4", + "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", + "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", + "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", + "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", + "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", + "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", + "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", + "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", + "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", + "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", + "sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa", + "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", + "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", + "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", + "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", + "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", + "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", + "sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02", + "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", + "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", + "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", + "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", + "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", + "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", + "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", + "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681", + "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", + "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", + "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a", + "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", + "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", + "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", + "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", + "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027", + "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", + "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", + "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", + "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", + "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", + "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", + "sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da", + "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", + "sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f", + "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", + "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f" ], "markers": "python_version >= '3.7'", - "version": "==3.4.1" + "version": "==3.4.2" }, "click": { "hashes": [ - "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", - "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" + "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", + "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b" ], - "markers": "python_version >= '3.7'", - "version": "==8.1.8" + "markers": "python_version >= '3.10'", + "version": "==8.2.1" }, "colorama": { "hashes": [ @@ -275,10 +275,11 @@ }, "filelock": { "hashes": [ - "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", - "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e" + "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", + "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de" ], - "version": "==3.17.0" + "markers": "python_version >= '3.9'", + "version": "==3.18.0" }, "ghp-import": { "hashes": [ @@ -335,11 +336,11 @@ }, "markdown": { "hashes": [ - "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", - "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803" + "sha256:794a929b79c5af141ef5ab0f2f642d0f7b1872981250230e72682346f7cc90dc", + "sha256:7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f" ], - "markers": "python_version >= '3.8'", - "version": "==3.7" + "markers": "python_version >= '3.9'", + "version": "==3.8" }, "markupsafe": { "hashes": [ @@ -434,21 +435,21 @@ }, "mkdocs-git-authors-plugin": { "hashes": [ - "sha256:77f97c321e08a8757beb866293eb257070b11cd5a080976bc6696b249cbade4f", - "sha256:f6cefc4dc832865d26f7f9f944c0a8c7dc852742d79320f3800e0d97814e2a84" + "sha256:acdacc8452db90a94d9c395a230b16965a9f2f51e0a6eef182ac7d3e02e394fb", + "sha256:e19f0252ead3d626fd73e15bb56d6675704c3b62aa569ebc363f791291b8f60e" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==0.9.2" + "version": "==0.9.5" }, "mkdocs-git-revision-date-localized-plugin": { "hashes": [ - "sha256:364d7c4c45c4f333c750e34bc298ac685a7a8bf9b7b52890d52b2f90f1812c4b", - "sha256:bb1eca7f156e0c8a587167662923d76efed7f7e0c06b84471aa5ae72a744a434" + "sha256:056c0a90242409148f1dc94d5c9d2c25b5b8ddd8de45489fa38f7fa7ccad2bc4", + "sha256:10a49eff1e1c3cb766e054b9d8360c904ce4fe8c33ac3f6cc083ac6459c91953" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.4.1" + "version": "==1.4.7" }, "mkdocs-glightbox": { "hashes": [ @@ -484,12 +485,12 @@ }, "mkdocs-rss-plugin": { "hashes": [ - "sha256:9371d30afb0eda7288c946a89b419aa7a0b8e212d2219584c2dbd23ece93a991", - "sha256:ff81f0ece33befd5a0152c196132e15eb93b4b9f7f53644c6d3db8e9a529e186" + "sha256:0a5b3e03dd68cc6b94feb50fc2e47fd427d39c452affe0fc3135289da9810a6d", + "sha256:15b99c6b3370f50503fe189e814600b375e5a0d8f99d19f6d8d9b80c1aa56f5c" ], "index": "pypi", "markers": "python_version >= '3.9' and python_version < '4'", - "version": "==1.17.1" + "version": "==1.17.3" }, "msgpack": { "hashes": [ @@ -563,11 +564,11 @@ }, "packaging": { "hashes": [ - "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", - "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f" + "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", + "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" ], "markers": "python_version >= '3.8'", - "version": "==24.2" + "version": "==25.0" }, "paginate": { "hashes": [ @@ -671,11 +672,11 @@ }, "platformdirs": { "hashes": [ - "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", - "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb" + "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", + "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4" ], - "markers": "python_version >= '3.8'", - "version": "==4.3.6" + "markers": "python_version >= '3.9'", + "version": "==4.3.8" }, "pycparser": { "hashes": [ @@ -706,16 +707,15 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==2.9.0.post0" }, "pytz": { "hashes": [ - "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", - "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e" + "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", + "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00" ], - "markers": "python_version < '3.9'", - "version": "==2025.1" + "version": "==2025.2" }, "pyyaml": { "hashes": [ @@ -778,11 +778,11 @@ }, "pyyaml-env-tag": { "hashes": [ - "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb", - "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069" + "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", + "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff" ], - "markers": "python_version >= '3.6'", - "version": "==0.1" + "markers": "python_version >= '3.9'", + "version": "==1.1" }, "requests": { "hashes": [ @@ -797,7 +797,7 @@ "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==1.17.0" }, "smmap": { @@ -818,11 +818,11 @@ }, "termcolor": { "hashes": [ - "sha256:37b17b5fc1e604945c2642c872a3764b5d547a48009871aea3edd3afa180afb8", - "sha256:998d8d27da6d48442e8e1f016119076b690d962507531df4890fcd2db2ef8a6f" + "sha256:591dd26b5c2ce03b9e43f391264626557873ce1d379019786f99b0c2bee140aa", + "sha256:6a6dd7fbee581909eeec6a756cff1d7f7c376063b14e4a298dc4980309e55970" ], "markers": "python_version >= '3.9'", - "version": "==2.5.0" + "version": "==3.1.0" }, "tinycss2": { "hashes": [ @@ -834,11 +834,11 @@ }, "urllib3": { "hashes": [ - "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", - "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" + "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", + "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813" ], "markers": "python_version >= '3.9'", - "version": "==2.3.0" + "version": "==2.4.0" }, "watchdog": { "hashes": [ diff --git a/README.md b/README.md index 36493a374..74b6fc5a1 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,8 @@ The current list of team members can be found [here](https://www.privacyguides.o ## Contributing +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/privacyguides/privacyguides.org?devcontainer_path=.devcontainer%2Fdevcontainer.json) + - 💬 [Start a discussion or suggest an idea](https://discuss.privacyguides.net) - 💖 [Sponsor the project](https://github.com/sponsors/privacyguides) - 🈴 [Help translate the site](https://crowdin.com/project/privacyguides) [[Matrix chat](https://matrix.to/#/#pg-i18n:aragon.sh)] @@ -72,18 +74,6 @@ All contributors to the site are listed [here](#contributors). If you have contr - **Tor/onion:** [xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion](http://www.xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion) -- **IPFS:** `/ipns/ipfs.privacyguides.org` (**not** anonymous) - - Please help us out by pinning a copy: [Learn more](https://github.com/privacyguides/webserver/blob/main/ipfs/README.md) - - via Cloudflare: [cloudflare-ipfs.com/ipns/ipfs.privacyguides.org](https://cloudflare-ipfs.com/ipns/ipfs.privacyguides.org/en/) - - via 4everland: [ipfs-privacyguides-org.ipns.4everland.io](https://ipfs-privacyguides-org.ipns.4everland.io/) - - via [@jonaharagon](https://github.com/jonaharagon): [ipfs.jonaharagon.net/ipns/ipfs.privacyguides.org](https://ipfs.jonaharagon.net/ipns/ipfs.privacyguides.org/en/) - - via [peer](https://docs.ipfs.tech/how-to/peering-with-content-providers/): `/dnsaddr/node-1.ipfs.jonaharagon.net/p2p/12D3KooWMwqzuApCKxYfo66zq5BrTjCoz9naJ1rrMEBCnwuGGqWB` - -- **I2P:** [privacyguides.i2p](http://privacyguides.i2p/?i2paddresshelper=fvbkmooriuqgssrjvbxu7nrwms5zyhf34r3uuppoakwwsm7ysv6q.b32.i2p) - -- **Yggdrasil:** [http://[200:f3a6:4922:e067:770d:ac57:fcb1:8dbf]](http://[200:f3a6:4922:e067:770d:ac57:fcb1:8dbf]/en/) (**not** anonymous) - - via public peer: `tcp://5.161.245.8:45454` - ### Git Mirrors [![GitHub](https://img.shields.io/static/v1?logo=github&label=&message=GitHub&color=000&style=for-the-badge)](https://github.com/privacyguides/privacyguides.org) @@ -110,42 +100,18 @@ When you contribute to this repository you are doing so under the above licenses ## Developing -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/privacyguides/privacyguides.org?devcontainer_path=.devcontainer%2Fdevcontainer.json) +The only supported method of building and previewing this website locally is by running the automatic dev container. The easiest way to do this in your web browser without installing any software is to use [GitHub Codespaces](https://codespaces.new/privacyguides/privacyguides.org). To build the website locally, you will need the following software: + +- macOS/Windows: [Docker Desktop](https://www.docker.com/products/docker-desktop/) +- Linux: [Docker CE](https://docs.docker.com/get-started/get-docker/#supported-platforms) +- [VS Code](https://code.visualstudio.com/) +- [Dev Containers for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension +- [GitHub Desktop](https://github.com/apps/desktop) (optional) + +You can technically use any IDE which supports [development containers](https://containers.dev/), but YMMV. Docker Desktop has an experimental Dev Environments option which allows you to use any text editor under Settings > Features in development. We are only testing with the combination of software above. Committing to this repository requires [signing your commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) (`git config commit.gpgsign true`) unless you are making edits via the GitHub.com text editor interface. As of August 2022 the preferred signing method is [SSH commit signatures](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification#ssh-commit-signature-verification), but GPG signing is also acceptable. You should add your signing key to your GitHub profile. -### With `mkdocs-material` - -1. Install required packages: `pip install mkdocs-material` -2. Run a local preview of the English site: `./run.sh --cmd=mkdocs` - -### With `mkdocs-material-insiders` - -This website uses [`mkdocs-material-insiders`](https://squidfunk.github.io/mkdocs-material/insiders) which offers additional functionality over the open-source `mkdocs-material` project. For obvious reasons we cannot distribute access to the insiders repository. - -**Team members** should clone the repository with `mkdocs-material-insiders` directly. This method is identical to production: - -1. Clone this repository and submodules: `git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org.git` -2. Enable SSH commit verification with our local [`.allowed_signers`](/.allowed_signers) file: `git config gpg.ssh.allowedSignersFile .allowed_signers` -3. Install Python **3.12**. -4. Install **pipenv**: `pip install pipenv` -5. Install dependencies: `pipenv install --dev` (install [Pillow and CairoSVG](https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#dependencies) as well to generate social cards) -6. Serve the site locally: `./run.sh --insiders` (set `CARDS=true` to generate social cards) - - The site will be available at `http://localhost:8000` - - You can build the site locally with `./run.sh --insiders --build` - - This version of the site should be identical to the live, production version - -If you commit to `main` with commits signed with your SSH key, you should add your SSH key to [`.allowed_signers`](/.allowed_signers) in this repo. - -### Local Translated Site Builds - -1. Install the [Crowdin CLI Tool](https://developer.crowdin.com/cli-tool) (`brew install crowdin`) -2. Set the `CROWDIN_PERSONAL_TOKEN` environment variable to your Crowdin personal access token -3. Run `crowdin download` in the root of this repo -4. Serve the site locally: `./run.sh --insiders --lang=fr` (replacing fr with the appropriate language in [/config](/config)) - -Translations downloaded from Crowdin are [.gitignore](/.gitignore)'d, so any local changes to the translated site cannot be committed to this repo. Actual modifications need to be made on Crowdin. As an alternative to steps 1-3, you can copy the folders from [privacyguides/i18n](https://github.com/privacyguides/i18n) to the root of this repo to obtain the translated files. - ## Releasing It is required to create a GitHub release to publish the current site to privacyguides.org. The current `main` branch can be previewed at [https://main.staging.privacyguides.dev](https://main.staging.privacyguides.dev) prior to release. @@ -190,427 +156,446 @@ Privacy Guides wouldn't be possible without these wonderful people ([emoji key](
matchboxbananasynergy

📖 🔬 🤔 👀 📝
fria

📖 👀 🔬 💬 🐛 🤔 +
jordan warne

📖 📹 🔬 🤔 💬 📣 +
Em

📝 📣 🤔 +
Kevin Pham

📝 📣 💬 🔬 🤔 📖 + +
GitHub Actions

🚇
Triplebit

🚇
MAGIC Grants

💼 - -
Netlify

🚇
Dependabot

💻 🚇 + +
Hetzner Cloud

🚇
Cloudflare

🚇
Open Collective

💼 - -
Safing

💵
Dan Arel

📝 📖 🔬 + +
Techlore

💵
elitejake

📖
samsepi0l

📖 - -
rollsicecream

📖 💬 🌍 👀
Henry Fisher

📖 + +
Nate Bartram

📝
Sam Howell

📝
asddsaz

📖 - -
Hugo Costa

📖
C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N

📖 + +
Alberto Strappazzon

📖
Victorhck

📖
Tai Lam

📖 🚧 - -
NinebitX

📖
Alexander Antukh

📖 + +
Gusted

📖
redoomed1

👀 📖
Offpics

📖 - -
kimg45

📖
djoate

📖 + +
afighttilldeath

📖
Paul Verbeke

📖 🌍 🐛 🧑‍🏫
Mitchell Cash

📖 - -
NeverDucky

📖
efb4f5ff-1298-471a-8973-3d47447115dc

📖 + +
Stephen Karl Larroque

📖
0rdinant

📖
Zenithium

📖 - -
Jordan Gwyn

📖
Guru

📖 + +
datoshkr

📖
Kcchouette

📖
Jacob Neplokh

📖 - -
Leonardo Mazzon

📖 🐛 💵 📣 💬 🌍
Andrew Chong

📖 + +
Wok

📖
nopeitsnothing

📖
Lynn Stephenson

📖 - -
Cory Solovewicz

📖
noClaps

📖 + +
Brian

📖
SkewedZeppelin

📖 💬
Arcadius3D

📖 - -
vpnarea

📖
namazso

📖 💬 + +
cYDN48

📖
gjhklfdsa

📖
Pavel Zolotarevskiy

📖 - -
quiddity-wp

📖
Nikhil Jha

📖 + +
Subatomic Honda Civic

📖
ticklemyIP

📖
jermanuts

📖 - -
conorohiggins

📖
TechFanTheo

📖 + +
Ryan Taylor

📖
Positron832

📖
JustLuckNoSkill

📖 - -
Arkadiy

📖
Jack Chou

📖 + +
ave

📖
Boo

📖
IDKwhattoputhere

📖 - -
idkrn

📖
ggg27

📖 + +
WalterKlosse

📖
Tom Hacohen

📖
Paul Feuvraux

📖 - -
Scott Bennett

📖
Federico Ariel Castagnini

📖 + +
jslawler-gh

📖
spaceoden

📖
xe3

📖 - -
Andrew Morgan

📖
Caleb King

📖 + +
Eduardo

📖
NafeezJS

📖
Sloofy

📖 - -
Sam Schlinkert

📖
Gabor Luk

📖 + +
DeiAsPie

📖
Davide Taviani

📖
spanishharlem

📖 - -
Jacob Gonzales

📖
Kaede

📖 + +
LABB

📖
Raviu8

📖
Peter Dave Hello

📖 - -
Rose

📖
Oskar Sharipov

📖 + +
Samuel Lucas

📖
NylaTheWolf

📖
Matthew Davis

📖 - -
Mark Cohen

📖
Mad Scientist

📖 + +
Maarten

📖
William Davis

📖
William Thomas Wilkins

📖 - -
wylel

📖
Will Browning

📖 + +
Yi Cao

📖
Yusuf Daglioglu

📖
Zack

📖 - -
ZH王

📖
ansuz

📖 + +
archeite

📖
asdfghjz

📖
ayaen

📖 - -
b-harper

📖
Loic Vourch

📖 + +
crasm

📖
eagerto-learn

📖
egecelikci

📖 - -
elleybean

📖
Evan Song

📖 + +
pynixis

📖
Seirdy

📖
Ryan Huang

📖 - -
Sascha P.

📖
Securified

📖 + +
Sergey Musiyenko

📖
Spydar007

📖
Steven Bach

📖 - -
Steven Lehn

📖
Steven van de Graaf

📖 + +
Sven Kortekaas

📖
Tejas Gupta

📖
Tebowy Seba

📖 - -
Ted Gravlin

📖
TheFrenchGhosty

📖 + +
TheNoobWar

📖
Thomas Rientjes

📖
Tim Vergenz

📖 - -
Tom Sullivan

📖
Tony Tan

📖 + +
TroubleDog54

📖
User486375

📖
Nicholas Christensen

📖 - -
oppressor1761

📖
pbbob

📖 + +
pdjpdjpdj

📖
Stella Polaris

📖 🔬 📣 💬 👀
regaldude

📖 - -
rusty-snake

📖
sacha

📖 + +
schwukas

📖
sh-dv

📖
szTheory

📖 - -
Thunderbolt Digital

📖
E. S. Leonesco

📖 + +
titanism

📖
tomac4t

📖
virustotalop

📖 - -
wintr

📖
xelarate86

📖 + +
yeoneer

📖
foxt

📖
Freddie

📖 - -
ghbjklhv

📖
Raymond Hill

📖 + +
luke crouch

📖
fd1f744993de14178e6c

📖
habitualname

📖 - -
hook

📖
nein

📖 + +
jkhgvfgvsth

📖
joaonsg

📖
johnnyburnaway

📖 - -
jus9

📖
kc1212

📖 + +
kryptish

📖
m3t

📖
macau23

📖 - -
mat1th

📖
MWM

📖 -
Michael Plews

📖 -
moritztk

📖 -
Aaron Horler

📖 +
Michael Plews

📖 +
moritztk

📖
Commenter

📖
Cédric Laubacher

📖
Daniel Peukert

📖 -
David Breese

📖 -
Dimitris Apostolou

📖 +
David Breese

📖 +
Dimitris Apostolou

📖
Dyrimon

📖
Ikel Atomig

📖
Elias Ojala

📖 -
Feni Brian

📖 -
Filip Š

📖 +
Feni Brian

📖 +
Filip Š

📖
Felix Albroscheit

📖
GReagle

📖
Gamma

📖 -
GetBoz

📖 -
GrimPixel

📖 +
GetBoz

📖 +
GrimPixel

📖
Guillem L. Jara

📖
HxxxxxS

📖
Himanshu Chandola

📖 -
Issam Maghni

📖 -
ItsDonny

📖 +
Issam Maghni

📖 +
ItsDonny

📖
Abdullah Atta

📖
Adam Sroka

📖
criadoperez

📖 -
Alex Amiryan

📖 -
Alex Shoup

📖 +
Alex Amiryan

📖 +
Alex Shoup

📖
Alex Thomassen

📖
Amolith

📖
Andrea Scarpino

📖 -
Armando Lüscher

📖 -
Ash T

📖 +
Armando Lüscher

📖 +
Ash T

📖
Bernd Eichelberger

📖
BionicBison05

📖
Brent Gervais

📖 -
Brian Cooper

📖 -
Caboose700

📖 +
Brian Cooper

📖 +
Caboose700

📖
Cadel Watson

📖
trosel

📖
Carl

📖 -
Chad Birch

📖 -
Chris Barry

📖 +
Chad Birch

📖 +
Chris Barry

📖
Júlio Ferraz

📖
Jack Hill

📖
Mathias Oterhals Myklebust

📖 -
Mats Estensen

📖 -
Matt Baer

📖 +
Mats Estensen

📖 +
Matt Baer

📖
Mehdi Chaouch

📖
Mike Perrone

📖
Mitch Wilkins

📖 -
Mo

📖 -
Morten Linderud

📖 +
Mo

📖 +
Morten Linderud

📖
natzim

📖
Douglas

📖
Nick

📖 -
NielDB

📖 -
Nihal Raj

📖 +
NielDB

📖 +
Nihal Raj

📖
Noah

📖
Panagiotis "Ivory" Vasilopoulos

📖
Patrick R

📖 -
Fart Attorney

📖 -
Pilou

📖 +
Fart Attorney

📖 +
Pilou

📖
PoorPockets McNewHold

📖 🌍
PrinceKael

📖
Richard

📖 -
Jaden Site

📖 -
Jake Zeal

📖 +
Jaden Site

📖 +
Jake Zeal

📖
James Kerrane

📖
Sell

📖
YMHuang

📖 -
Jonathan Vansina

📖 -
jorgeluiscarrillo

📖 +
Jonathan Vansina

📖 +
jorgeluiscarrillo

📖
Julian

📖
Kefaku

📖
Kevin Brennan

📖 -
Kyle Spearrin

📖 -
Leon Allen

📖 +
Kyle Spearrin

📖 +
Leon Allen

📖
LisaWilbourn

📖
Lord Shedy

📖
Louis Wolfers

📖 -
Lunush

📖 -
MMR

📖 +
Lunush

📖 +
MMR

📖
Mads Peter Rommedahl

📖
Manuel Quarneti

📖
Marco Menzel

📖 -
Mario

📖 -
skye

💬 +
Mario

📖 +
skye

💬
r2fo

🌍
LamTrinh.Dev

📖 🐛 💬
frostlike

💬 -
Merlin Scholz

🌍 -
jordan warne

📖 +
Merlin Scholz

🌍
Dženan

🌍
jx tsai

🌍
backstab5983

📖
antgig

📖 -
Ákos Nikházy

📖 +
Ákos Nikházy

📖
Francois Marier

📖
5-tom

📖
Ralphie0511

📖
aleksejs1

📖 -
Martin

📖 +
Martin

📖
Overwatch

📖
Kieran Colfer

📖
Triple T

📖
IDON-TEXIST

📖 -
Yusuf Daglioglu

📖 +
Yusuf Daglioglu

📖
Yi Cao

📖
Sayf Dhū al-Faqār

📖
eylenburg

📖
Kieran Colfer

📖 -
Justin Ehrenhofer

📖 💼 🔍 +
Justin Ehrenhofer

📖 💼 🔍
Alex Bruch

🌍
qiyongzheng

📖
Sam K

📖 📣 💬 +
Spirizer

🌍 + + +
jordbm

📖 🚧 🛡️ +
Austin Huang

📖 💬 +
Ward

📖 +
oilmaint

📖 +
headdirt

📖 + + +
Quentin McRee

📖 +
Sven

📖 +
Tom Honour

📖 +
Brogio

📖 +
Nathan Youngman

📖 + + +
Jeremy

📖 @@ -634,17 +619,17 @@ This project follows the [all-contributors](https://github.com/all-contributors/ CLI to generate this table: ```bash -npx --package all-contributors-cli -- npx all-contributors generate +all-contributors-cli generate ``` CLI to add a contributor: ```bash -npx --package all-contributors-cli -- npx all-contributors add +all-contributors-cli add ``` -See [this table](https://allcontributors.org/docs/en/emoji-key) for valid contribution reasons, comma-separated. Do **not** use the `content` code for contributors to the website, use `docs` instead (this way it will automatically link to their commits). Example: +See [this table](https://allcontributors.org/docs/en/emoji-key) for valid contribution reasons, comma-separated. Do **not** use the `content` code for contributors to the website, use `doc` instead (this way it will automatically link to their commits). Example: ```bash -npx --package all-contributors-cli -- npx all-contributors add jonaharagon docs,research,question +all-contributors-cli add jonaharagon doc,research,question ``` diff --git a/blog/.authors.yml b/blog/.authors.yml index 74b0d5980..ca43e8c73 100644 --- a/blog/.authors.yml +++ b/blog/.authors.yml @@ -1,4 +1,8 @@ authors: + aprilfools: + name: Anita Key + description: Government Liaison + avatar: https://github.com/privacyguides.png contributors: type: Organization name: Privacy Guides @@ -36,6 +40,13 @@ authors: name: fria description: Team Member avatar: https://github.com/friadev.png + jordan: + name: Jordan Warne + description: Video Producer + avatar: https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/jordan/288/7793_2.png + mastodon: + username: jw + instance: social.lol jonah: name: Jonah Aragon description: Project Director @@ -45,6 +56,13 @@ authors: instance: neat.computer twitter: jonaharagon bluesky: jonaharagon.com + justin: + name: Justin Ehrenhofer + description: Guest Contributor + avatar: https://github.com/SamsungGalaxyPlayer.png + mastodon: + username: sgp + instance: neat.computer kaitebay: name: Kai Tebay description: Former Team Member diff --git a/blog/assets/images/age-verification-wants-your-face/ageverification-cover.webp b/blog/assets/images/age-verification-wants-your-face/ageverification-cover.webp new file mode 100644 index 000000000..d209772f5 Binary files /dev/null and b/blog/assets/images/age-verification-wants-your-face/ageverification-cover.webp differ diff --git a/blog/assets/images/digital-provenance/cardiff-giant.jpg b/blog/assets/images/digital-provenance/cardiff-giant.jpg new file mode 100644 index 000000000..130e5a4cf Binary files /dev/null and b/blog/assets/images/digital-provenance/cardiff-giant.jpg differ diff --git a/blog/assets/images/digital-provenance/cover.jpg b/blog/assets/images/digital-provenance/cover.jpg new file mode 100644 index 000000000..fbda7ad82 Binary files /dev/null and b/blog/assets/images/digital-provenance/cover.jpg differ diff --git a/blog/assets/images/digital-provenance/geese1.jpeg b/blog/assets/images/digital-provenance/geese1.jpeg new file mode 100644 index 000000000..44e30b9eb Binary files /dev/null and b/blog/assets/images/digital-provenance/geese1.jpeg differ diff --git a/blog/assets/images/digital-provenance/geese2.jpeg b/blog/assets/images/digital-provenance/geese2.jpeg new file mode 100644 index 000000000..529059685 Binary files /dev/null and b/blog/assets/images/digital-provenance/geese2.jpeg differ diff --git a/blog/assets/images/digital-provenance/geese3.jpeg b/blog/assets/images/digital-provenance/geese3.jpeg new file mode 100644 index 000000000..ecab07a36 Binary files /dev/null and b/blog/assets/images/digital-provenance/geese3.jpeg differ diff --git a/blog/assets/images/digital-provenance/geese4.jpeg b/blog/assets/images/digital-provenance/geese4.jpeg new file mode 100644 index 000000000..f10fd3ebf Binary files /dev/null and b/blog/assets/images/digital-provenance/geese4.jpeg differ diff --git a/blog/assets/images/digital-provenance/manifest.svg b/blog/assets/images/digital-provenance/manifest.svg new file mode 100644 index 000000000..8c2647c6b --- /dev/null +++ b/blog/assets/images/digital-provenance/manifest.svg @@ -0,0 +1,40 @@ + + + + + + + + + C2PA Manifest + + + + + + + + Assertions + + + + + + + + + + + Claim + + + + + + + + Claim Signature + + + + \ No newline at end of file diff --git a/blog/assets/images/encryption-is-not-a-crime/encryption-is-not-a-crime-cover.webp b/blog/assets/images/encryption-is-not-a-crime/encryption-is-not-a-crime-cover.webp new file mode 100644 index 000000000..6e75e5609 Binary files /dev/null and b/blog/assets/images/encryption-is-not-a-crime/encryption-is-not-a-crime-cover.webp differ diff --git a/blog/assets/images/importance-of-privacy-for-the-queer-community/pride-cover.webp b/blog/assets/images/importance-of-privacy-for-the-queer-community/pride-cover.webp new file mode 100644 index 000000000..9ad0a5509 Binary files /dev/null and b/blog/assets/images/importance-of-privacy-for-the-queer-community/pride-cover.webp differ diff --git a/blog/assets/images/in-praise-of-tor/tor-cover.webp b/blog/assets/images/in-praise-of-tor/tor-cover.webp new file mode 100644 index 000000000..7fb0c6782 Binary files /dev/null and b/blog/assets/images/in-praise-of-tor/tor-cover.webp differ diff --git a/blog/assets/images/in-praise-of-tor/tor-darkweb.webp b/blog/assets/images/in-praise-of-tor/tor-darkweb.webp new file mode 100644 index 000000000..84ce4cac4 Binary files /dev/null and b/blog/assets/images/in-praise-of-tor/tor-darkweb.webp differ diff --git a/blog/assets/images/in-praise-of-tor/tor-diagram.webp b/blog/assets/images/in-praise-of-tor/tor-diagram.webp new file mode 100644 index 000000000..c3c057191 Binary files /dev/null and b/blog/assets/images/in-praise-of-tor/tor-diagram.webp differ diff --git a/blog/assets/images/in-praise-of-tor/tor-privacyguides.webp b/blog/assets/images/in-praise-of-tor/tor-privacyguides.webp new file mode 100644 index 000000000..abe99c1ac Binary files /dev/null and b/blog/assets/images/in-praise-of-tor/tor-privacyguides.webp differ diff --git a/blog/assets/images/in-praise-of-tor/tor-safestsetting.webp b/blog/assets/images/in-praise-of-tor/tor-safestsetting.webp new file mode 100644 index 000000000..f15321c51 Binary files /dev/null and b/blog/assets/images/in-praise-of-tor/tor-safestsetting.webp differ diff --git a/blog/assets/images/in-praise-of-tor/tor-torbrowser.webp b/blog/assets/images/in-praise-of-tor/tor-torbrowser.webp new file mode 100644 index 000000000..c65be9e4c Binary files /dev/null and b/blog/assets/images/in-praise-of-tor/tor-torbrowser.webp differ diff --git a/blog/assets/images/in-praise-of-tor/tor-torcircuit.webp b/blog/assets/images/in-praise-of-tor/tor-torcircuit.webp new file mode 100644 index 000000000..ea132a17a Binary files /dev/null and b/blog/assets/images/in-praise-of-tor/tor-torcircuit.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-1-download.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-1-download.webp new file mode 100644 index 000000000..f339d6a29 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-1-download.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-10-challengeresponse.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-10-challengeresponse.webp new file mode 100644 index 000000000..3bf61ce31 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-10-challengeresponse.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-11-selectyubikey.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-11-selectyubikey.webp new file mode 100644 index 000000000..2f7c4793a Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-11-selectyubikey.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-12-databasenew.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-12-databasenew.webp new file mode 100644 index 000000000..81837d24c Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-12-databasenew.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-13-newentry.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-13-newentry.webp new file mode 100644 index 000000000..eaa3b87c7 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-13-newentry.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-14-entryicons.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-14-entryicons.webp new file mode 100644 index 000000000..be8ab80bc Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-14-entryicons.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-15-entrycreated.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-15-entrycreated.webp new file mode 100644 index 000000000..6027dc4e4 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-15-entrycreated.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-16-useentry.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-16-useentry.webp new file mode 100644 index 000000000..d0f86b809 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-16-useentry.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-17-savedatabase.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-17-savedatabase.webp new file mode 100644 index 000000000..569b071bb Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-17-savedatabase.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-18-downloadextension.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-18-downloadextension.webp new file mode 100644 index 000000000..8f9e2ad8b Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-18-downloadextension.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-19-browserintegration.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-19-browserintegration.webp new file mode 100644 index 000000000..85187d683 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-19-browserintegration.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-2-install.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-2-install.webp new file mode 100644 index 000000000..66fbe10f9 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-2-install.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-20-errorconnection.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-20-errorconnection.webp new file mode 100644 index 000000000..5a91d3e67 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-20-errorconnection.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-21-credentialsextension.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-21-credentialsextension.webp new file mode 100644 index 000000000..f98d0d9e8 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-21-credentialsextension.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-3-installwarning.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-3-installwarning.webp new file mode 100644 index 000000000..c75ae80da Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-3-installwarning.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-4-settings.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-4-settings.webp new file mode 100644 index 000000000..76e8c2c76 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-4-settings.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-5-backupprevious.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-5-backupprevious.webp new file mode 100644 index 000000000..a586b6408 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-5-backupprevious.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-6-duckduckgo.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-6-duckduckgo.webp new file mode 100644 index 000000000..f55255f5c Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-6-duckduckgo.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-7-databasecreation.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-7-databasecreation.webp new file mode 100644 index 000000000..4893df267 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-7-databasecreation.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-8-databaseencryption.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-8-databaseencryption.webp new file mode 100644 index 000000000..aeb1d2fe0 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-8-databaseencryption.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-9-passwordgenerate.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-9-passwordgenerate.webp new file mode 100644 index 000000000..ed2bb793c Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-9-passwordgenerate.webp differ diff --git a/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-cover.webp b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-cover.webp new file mode 100644 index 000000000..bb6a5b286 Binary files /dev/null and b/blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-cover.webp differ diff --git a/blog/assets/images/interview-with-micah-lee/micah-lee-cover.webp b/blog/assets/images/interview-with-micah-lee/micah-lee-cover.webp new file mode 100644 index 000000000..aac3fd342 Binary files /dev/null and b/blog/assets/images/interview-with-micah-lee/micah-lee-cover.webp differ diff --git a/blog/assets/images/interview-with-micah-lee/social-preview-cover.webp b/blog/assets/images/interview-with-micah-lee/social-preview-cover.webp new file mode 100644 index 000000000..9205049a7 Binary files /dev/null and b/blog/assets/images/interview-with-micah-lee/social-preview-cover.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-applelabel.webp b/blog/assets/images/keepassium-review/keepassium-applelabel.webp new file mode 100644 index 000000000..665161a00 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-applelabel.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-appprotection.webp b/blog/assets/images/keepassium-review/keepassium-appprotection.webp new file mode 100644 index 000000000..0915e9225 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-appprotection.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-appstoremac.webp b/blog/assets/images/keepassium-review/keepassium-appstoremac.webp new file mode 100644 index 000000000..483465bcd Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-appstoremac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-attachmentmac.webp b/blog/assets/images/keepassium-review/keepassium-attachmentmac.webp new file mode 100644 index 000000000..eafcc1d7c Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-attachmentmac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-autofill.webp b/blog/assets/images/keepassium-review/keepassium-autofill.webp new file mode 100644 index 000000000..8e95c1aaf Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-autofill.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-autofillmac.webp b/blog/assets/images/keepassium-review/keepassium-autofillmac.webp new file mode 100644 index 000000000..cf81e5ff5 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-autofillmac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-backup.webp b/blog/assets/images/keepassium-review/keepassium-backup.webp new file mode 100644 index 000000000..b97d0a543 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-backup.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-cover.webp b/blog/assets/images/keepassium-review/keepassium-cover.webp new file mode 100644 index 000000000..551bbcc46 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-cover.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-databaseoptions.webp b/blog/assets/images/keepassium-review/keepassium-databaseoptions.webp new file mode 100644 index 000000000..6dc031b42 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-databaseoptions.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-dataprotection.webp b/blog/assets/images/keepassium-review/keepassium-dataprotection.webp new file mode 100644 index 000000000..85002d8e5 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-dataprotection.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-encryptionoptions.webp b/blog/assets/images/keepassium-review/keepassium-encryptionoptions.webp new file mode 100644 index 000000000..eff591530 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-encryptionoptions.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-entries.webp b/blog/assets/images/keepassium-review/keepassium-entries.webp new file mode 100644 index 000000000..4949650cb Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-entries.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-entrymac.webp b/blog/assets/images/keepassium-review/keepassium-entrymac.webp new file mode 100644 index 000000000..fb7a4d22f Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-entrymac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-fileinfo.webp b/blog/assets/images/keepassium-review/keepassium-fileinfo.webp new file mode 100644 index 000000000..58c59bceb Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-fileinfo.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-fileinfomac.webp b/blog/assets/images/keepassium-review/keepassium-fileinfomac.webp new file mode 100644 index 000000000..cb2ffcf49 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-fileinfomac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-generator.webp b/blog/assets/images/keepassium-review/keepassium-generator.webp new file mode 100644 index 000000000..352f7c3f0 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-generator.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-generatormac.webp b/blog/assets/images/keepassium-review/keepassium-generatormac.webp new file mode 100644 index 000000000..dd3d48bb3 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-generatormac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-groups.webp b/blog/assets/images/keepassium-review/keepassium-groups.webp new file mode 100644 index 000000000..b8f1b7063 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-groups.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-largeindexedfont.webp b/blog/assets/images/keepassium-review/keepassium-largeindexedfont.webp new file mode 100644 index 000000000..bb0d4d30e Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-largeindexedfont.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-loginappmac.webp b/blog/assets/images/keepassium-review/keepassium-loginappmac.webp new file mode 100644 index 000000000..f9d16ffc0 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-loginappmac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-loginsafarimac.webp b/blog/assets/images/keepassium-review/keepassium-loginsafarimac.webp new file mode 100644 index 000000000..a8718e3e2 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-loginsafarimac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-movedatabase.webp b/blog/assets/images/keepassium-review/keepassium-movedatabase.webp new file mode 100644 index 000000000..718c0fe84 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-movedatabase.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-moveentry.webp b/blog/assets/images/keepassium-review/keepassium-moveentry.webp new file mode 100644 index 000000000..037c864e7 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-moveentry.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-newdatabase.webp b/blog/assets/images/keepassium-review/keepassium-newdatabase.webp new file mode 100644 index 000000000..b3ad2d18d Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-newdatabase.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-newdatabasemac.webp b/blog/assets/images/keepassium-review/keepassium-newdatabasemac.webp new file mode 100644 index 000000000..07530cc70 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-newdatabasemac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-newentry.webp b/blog/assets/images/keepassium-review/keepassium-newentry.webp new file mode 100644 index 000000000..3acc52dc3 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-newentry.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-offline.webp b/blog/assets/images/keepassium-review/keepassium-offline.webp new file mode 100644 index 000000000..78674bfc0 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-offline.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-otp.webp b/blog/assets/images/keepassium-review/keepassium-otp.webp new file mode 100644 index 000000000..34630f8e0 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-otp.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-otpentry.webp b/blog/assets/images/keepassium-review/keepassium-otpentry.webp new file mode 100644 index 000000000..0d6e5c61c Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-otpentry.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-pdfviewer.webp b/blog/assets/images/keepassium-review/keepassium-pdfviewer.webp new file mode 100644 index 000000000..f18b92591 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-pdfviewer.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-pricing.webp b/blog/assets/images/keepassium-review/keepassium-pricing.webp new file mode 100644 index 000000000..102d9dfb3 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-pricing.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-print.webp b/blog/assets/images/keepassium-review/keepassium-print.webp new file mode 100644 index 000000000..61105322c Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-print.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-startdatabase.webp b/blog/assets/images/keepassium-review/keepassium-startdatabase.webp new file mode 100644 index 000000000..5ef3a0d06 Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-startdatabase.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-startwelcome.webp b/blog/assets/images/keepassium-review/keepassium-startwelcome.webp new file mode 100644 index 000000000..d33f78e6a Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-startwelcome.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-startwelcomemac.webp b/blog/assets/images/keepassium-review/keepassium-startwelcomemac.webp new file mode 100644 index 000000000..da2837f6d Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-startwelcomemac.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium-textsize.webp b/blog/assets/images/keepassium-review/keepassium-textsize.webp new file mode 100644 index 000000000..6fe62e1bc Binary files /dev/null and b/blog/assets/images/keepassium-review/keepassium-textsize.webp differ diff --git a/blog/assets/images/keepassium-review/keepassium.svg b/blog/assets/images/keepassium-review/keepassium.svg new file mode 100644 index 000000000..7d83b2cc6 --- /dev/null +++ b/blog/assets/images/keepassium-review/keepassium.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/blog/assets/images/mastodon-privacy-and-security/mastodon-choosing-instance.webp b/blog/assets/images/mastodon-privacy-and-security/mastodon-choosing-instance.webp new file mode 100644 index 000000000..5c9dd26aa Binary files /dev/null and b/blog/assets/images/mastodon-privacy-and-security/mastodon-choosing-instance.webp differ diff --git a/blog/assets/images/mastodon-privacy-and-security/mastodon-cover.webp b/blog/assets/images/mastodon-privacy-and-security/mastodon-cover.webp new file mode 100644 index 000000000..97f25c0d3 Binary files /dev/null and b/blog/assets/images/mastodon-privacy-and-security/mastodon-cover.webp differ diff --git a/blog/assets/images/mastodon-privacy-and-security/mastodon-private-mention-encryption.webp b/blog/assets/images/mastodon-privacy-and-security/mastodon-private-mention-encryption.webp new file mode 100644 index 000000000..289ec901e Binary files /dev/null and b/blog/assets/images/mastodon-privacy-and-security/mastodon-private-mention-encryption.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-authorized-apps.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-authorized-apps.webp new file mode 100644 index 000000000..ed6a75af6 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-authorized-apps.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-login-history.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-login-history.webp new file mode 100644 index 000000000..171df7391 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-login-history.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-sessions-list.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-sessions-list.webp new file mode 100644 index 000000000..5000f61ea Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-sessions-list.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-account-privacy-options.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-account-privacy-options.webp new file mode 100644 index 000000000..a56a253f3 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-account-privacy-options.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-account-privacy-reach.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-account-privacy-reach.webp new file mode 100644 index 000000000..6f9109b55 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-account-privacy-reach.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-csv.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-csv.webp new file mode 100644 index 000000000..0279052a5 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-csv.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-file.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-file.webp new file mode 100644 index 000000000..3e6301a7f Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-file.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-import.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-import.webp new file mode 100644 index 000000000..17b2623c4 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-import.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-instance.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-instance.webp new file mode 100644 index 000000000..5978afb6a Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-instance.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-user.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-user.webp new file mode 100644 index 000000000..b294f6b4f Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-user.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-deletion-account.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-deletion-account.webp new file mode 100644 index 000000000..fb1ce7d09 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-deletion-account.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-deletion.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-deletion.webp new file mode 100644 index 000000000..c54e0ffbe Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-deletion.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-export.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-export.webp new file mode 100644 index 000000000..a630de8e8 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-export.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-account-alias.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-account-alias.webp new file mode 100644 index 000000000..0ca2c7fe1 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-account-alias.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-account-migration.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-account-migration.webp new file mode 100644 index 000000000..26f4b02f5 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-account-migration.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-export.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-export.webp new file mode 100644 index 000000000..ac079130c Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-export.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-import.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-import.webp new file mode 100644 index 000000000..7d8d8d081 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-import.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-enabled.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-enabled.webp new file mode 100644 index 000000000..96a3195d9 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-enabled.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-mac-popup.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-mac-popup.webp new file mode 100644 index 000000000..afa7fb1b6 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-mac-popup.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-qrcode.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-qrcode.webp new file mode 100644 index 000000000..ee85e974a Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-qrcode.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey-added.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey-added.webp new file mode 100644 index 000000000..fcab02c01 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey-added.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey-prompted.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey-prompted.webp new file mode 100644 index 000000000..c09adab46 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey-prompted.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey.webp new file mode 100644 index 000000000..692ef16b7 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-setup.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-setup.webp new file mode 100644 index 000000000..9b49688cb Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-setup.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-personal-note.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-personal-note.webp new file mode 100644 index 000000000..50fc2c831 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-personal-note.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-account-page.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-account-page.webp new file mode 100644 index 000000000..5d3e0bc65 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-account-page.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-default.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-default.webp new file mode 100644 index 000000000..0c5b83495 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-default.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-quote-posts.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-quote-posts.webp new file mode 100644 index 000000000..8e3517d1b Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-quote-posts.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-visibility-types.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-visibility-types.webp new file mode 100644 index 000000000..69e02ae43 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-visibility-types.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-private-mention.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-private-mention.webp new file mode 100644 index 000000000..d3b79cc53 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-private-mention.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-report.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-report.webp new file mode 100644 index 000000000..cddc5a5b3 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-report.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-tutorial-cover.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-tutorial-cover.webp new file mode 100644 index 000000000..eeb993003 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-tutorial-cover.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-author-setup.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-author-setup.webp new file mode 100644 index 000000000..17a30d295 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-author-setup.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-link-setup.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-link-setup.webp new file mode 100644 index 000000000..491788ccb Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-link-setup.webp differ diff --git a/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-links.webp b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-links.webp new file mode 100644 index 000000000..bbb83e882 Binary files /dev/null and b/blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-links.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/01-datasets.webp b/blog/assets/images/monero-server-using-truenas/01-datasets.webp new file mode 100644 index 000000000..ab86b11b6 Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/01-datasets.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/02-edit-acl.webp b/blog/assets/images/monero-server-using-truenas/02-edit-acl.webp new file mode 100644 index 000000000..7dfe0eb22 Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/02-edit-acl.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/03-arti-shell.webp b/blog/assets/images/monero-server-using-truenas/03-arti-shell.webp new file mode 100644 index 000000000..427d41eaa Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/03-arti-shell.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/04-arti-shell.webp b/blog/assets/images/monero-server-using-truenas/04-arti-shell.webp new file mode 100644 index 000000000..4be0d895e Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/04-arti-shell.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/05-i2p-install.webp b/blog/assets/images/monero-server-using-truenas/05-i2p-install.webp new file mode 100644 index 000000000..a67ac21a4 Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/05-i2p-install.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/06-i2p-settings.webp b/blog/assets/images/monero-server-using-truenas/06-i2p-settings.webp new file mode 100644 index 000000000..9014493d4 Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/06-i2p-settings.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/07-monero-shell.webp b/blog/assets/images/monero-server-using-truenas/07-monero-shell.webp new file mode 100644 index 000000000..7b79c8582 Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/07-monero-shell.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/08-monero-shell.webp b/blog/assets/images/monero-server-using-truenas/08-monero-shell.webp new file mode 100644 index 000000000..63c0abe48 Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/08-monero-shell.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/09-monero-install.webp b/blog/assets/images/monero-server-using-truenas/09-monero-install.webp new file mode 100644 index 000000000..8186ae2ed Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/09-monero-install.webp differ diff --git a/blog/assets/images/monero-server-using-truenas/cover.webp b/blog/assets/images/monero-server-using-truenas/cover.webp new file mode 100644 index 000000000..542840502 Binary files /dev/null and b/blog/assets/images/monero-server-using-truenas/cover.webp differ diff --git a/blog/assets/images/privacy-is-like-broccoli/broccoli-cover.webp b/blog/assets/images/privacy-is-like-broccoli/broccoli-cover.webp new file mode 100644 index 000000000..bfb1c9819 Binary files /dev/null and b/blog/assets/images/privacy-is-like-broccoli/broccoli-cover.webp differ diff --git a/blog/assets/images/privacy-means-safety/privacy-means-safety-cover.webp b/blog/assets/images/privacy-means-safety/privacy-means-safety-cover.webp new file mode 100644 index 000000000..5be0fed0e Binary files /dev/null and b/blog/assets/images/privacy-means-safety/privacy-means-safety-cover.webp differ diff --git a/blog/assets/images/privacy-pass/blind-signatures.webp b/blog/assets/images/privacy-pass/blind-signatures.webp new file mode 100644 index 000000000..99d6637a4 Binary files /dev/null and b/blog/assets/images/privacy-pass/blind-signatures.webp differ diff --git a/blog/assets/images/privacy-pass/cover.webp b/blog/assets/images/privacy-pass/cover.webp new file mode 100644 index 000000000..758784278 Binary files /dev/null and b/blog/assets/images/privacy-pass/cover.webp differ diff --git a/blog/assets/images/privacy-pass/google-vpn.webp b/blog/assets/images/privacy-pass/google-vpn.webp new file mode 100644 index 000000000..b8ffec620 Binary files /dev/null and b/blog/assets/images/privacy-pass/google-vpn.webp differ diff --git a/blog/assets/images/privacy-pass/private-access-tokens.webp b/blog/assets/images/privacy-pass/private-access-tokens.webp new file mode 100644 index 000000000..bb7e1fbb6 Binary files /dev/null and b/blog/assets/images/privacy-pass/private-access-tokens.webp differ diff --git a/blog/assets/images/private-european-alternatives/eu-alternatives.svg b/blog/assets/images/private-european-alternatives/eu-alternatives.svg new file mode 100644 index 000000000..35e927a57 --- /dev/null +++ b/blog/assets/images/private-european-alternatives/eu-alternatives.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blog/assets/images/private-european-alternatives/eu-alternatives.webp b/blog/assets/images/private-european-alternatives/eu-alternatives.webp new file mode 100644 index 000000000..2affec0ce Binary files /dev/null and b/blog/assets/images/private-european-alternatives/eu-alternatives.webp differ diff --git a/blog/assets/images/queer-dating-apps-beware-who-you-trust/dating-cover.webp b/blog/assets/images/queer-dating-apps-beware-who-you-trust/dating-cover.webp new file mode 100644 index 000000000..533ebfec1 Binary files /dev/null and b/blog/assets/images/queer-dating-apps-beware-who-you-trust/dating-cover.webp differ diff --git a/blog/assets/images/sam-altman-wants-your-eyeball/orb-cover.webp b/blog/assets/images/sam-altman-wants-your-eyeball/orb-cover.webp new file mode 100644 index 000000000..c6b33fda6 Binary files /dev/null and b/blog/assets/images/sam-altman-wants-your-eyeball/orb-cover.webp differ diff --git a/blog/assets/images/selling-surveillance-as-convenience/surveillance-cover.webp b/blog/assets/images/selling-surveillance-as-convenience/surveillance-cover.webp new file mode 100644 index 000000000..c4a3e3269 Binary files /dev/null and b/blog/assets/images/selling-surveillance-as-convenience/surveillance-cover.webp differ diff --git a/blog/assets/images/stay-safe-but-stay-connected/stay-connected-cover.webp b/blog/assets/images/stay-safe-but-stay-connected/stay-connected-cover.webp new file mode 100644 index 000000000..b5ff67e3a Binary files /dev/null and b/blog/assets/images/stay-safe-but-stay-connected/stay-connected-cover.webp differ diff --git a/blog/assets/images/the-dangers-of-end-to-end-encryption/cover.webp b/blog/assets/images/the-dangers-of-end-to-end-encryption/cover.webp new file mode 100644 index 000000000..11d30fe74 Binary files /dev/null and b/blog/assets/images/the-dangers-of-end-to-end-encryption/cover.webp differ diff --git a/blog/assets/images/the-dangers-of-end-to-end-encryption/fire.svg b/blog/assets/images/the-dangers-of-end-to-end-encryption/fire.svg new file mode 100644 index 000000000..ce4942671 --- /dev/null +++ b/blog/assets/images/the-dangers-of-end-to-end-encryption/fire.svg @@ -0,0 +1,4 @@ + + + + diff --git a/blog/assets/images/tor-security-slider-flaw/cover.png b/blog/assets/images/tor-security-slider-flaw/cover.png new file mode 100644 index 000000000..8369eeef6 Binary files /dev/null and b/blog/assets/images/tor-security-slider-flaw/cover.png differ diff --git a/blog/assets/images/tor-security-slider-flaw/safer-level-after-restart-jetstream2.png b/blog/assets/images/tor-security-slider-flaw/safer-level-after-restart-jetstream2.png new file mode 100644 index 000000000..b2070ff54 Binary files /dev/null and b/blog/assets/images/tor-security-slider-flaw/safer-level-after-restart-jetstream2.png differ diff --git a/blog/assets/images/tor-security-slider-flaw/safer-level-before-restart-jetstream2.png b/blog/assets/images/tor-security-slider-flaw/safer-level-before-restart-jetstream2.png new file mode 100644 index 000000000..ededca271 Binary files /dev/null and b/blog/assets/images/tor-security-slider-flaw/safer-level-before-restart-jetstream2.png differ diff --git a/blog/assets/images/tor-security-slider-flaw/standard-level-jetstream2.png b/blog/assets/images/tor-security-slider-flaw/standard-level-jetstream2.png new file mode 100644 index 000000000..e5053c6c0 Binary files /dev/null and b/blog/assets/images/tor-security-slider-flaw/standard-level-jetstream2.png differ diff --git a/blog/assets/images/you-can-say-no/no-cover.webp b/blog/assets/images/you-can-say-no/no-cover.webp new file mode 100644 index 000000000..c1e2ef161 Binary files /dev/null and b/blog/assets/images/you-can-say-no/no-cover.webp differ diff --git a/blog/assets/images/your-online-life-is-irl/irl-cover.webp b/blog/assets/images/your-online-life-is-irl/irl-cover.webp new file mode 100644 index 000000000..757b35b67 Binary files /dev/null and b/blog/assets/images/your-online-life-is-irl/irl-cover.webp differ diff --git a/blog/posts/activists-guide-securing-your-smartphone.md b/blog/posts/activists-guide-securing-your-smartphone.md index 17635027d..8fbb3a55d 100644 --- a/blog/posts/activists-guide-securing-your-smartphone.md +++ b/blog/posts/activists-guide-securing-your-smartphone.md @@ -8,6 +8,8 @@ authors: - jonah description: Your phone is an essential tool, but it also represents a huge risk to your privacy and security. Understanding these best practices when it comes to securing your smartphone will help keep you and your data safe. schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/activists-guide-securing-your-smartphone/cover.webp --- # The Protesters' Guide to Smartphone Security diff --git a/blog/posts/age-verification-wants-your-face.md b/blog/posts/age-verification-wants-your-face.md new file mode 100644 index 000000000..4d0bf6ae7 --- /dev/null +++ b/blog/posts/age-verification-wants-your-face.md @@ -0,0 +1,112 @@ +--- +date: + created: 2025-05-06T21:45:00Z +categories: + - News +authors: + - em +description: Age verification laws and propositions forcing platforms to restrict content accessed by children and teens have been multiplying in recent years. The problem is, implementing such measure necessarily requires identifying each user accessing this content, one way or another. This is bad news for your privacy. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/age-verification-wants-your-face/ageverification-cover.webp +--- + +# Age Verification Wants Your Face, and Your Privacy + +![A stylized photo showing a person holding a printed photo of their face in front of their actual face.](../assets/images/age-verification-wants-your-face/ageverification-cover.webp) + + + +Age verification laws and propositions forcing platforms to restrict content accessed by children and teens have been multiplying in recent years. The problem is, implementing such measures necessarily requires identifying each user accessing this content, one way or another. This is bad news for your privacy. + +For a few years now, several legislators in North America, Europe, and Australia have expressed concern about children and teens accessing certain types of content online. While there is no doubt some online content can be worrisome, implementing a technological solution for this is [extremely problematic](https://www.jonaharagon.com/posts/age-verification-is-incompatible-with-the-internet/). + +By mandating platforms to be legally responsible to verify a user's age, regulators effectively force them to identify each user requesting access to content deemed inappropriate under a certain age threshold. + +If these regulations continue to proliferate, this could lead to the end of pseudonymity online. + +## How can age be verified online + +Verifying age online is [difficult](https://www.woodhullfoundation.org/fact-checked/online-age-verification-is-not-the-same-as-flashing-your-id-at-a-liquor-store/). There isn't any magical solution to it, it's either recording how a user looks or scanning official documents. + +Conducting verification "on-device" offers only few additional protections considering this information still has to be checked and reported with an external service, somehow. + +Moreover, processes used to keep this data "on-device" are often opaque. Taking into account how valuable this information is, it becomes very difficult to trust any for-profit third-party services which such a sensitive task. + +Users' faces and official documents are two types of very sensitive information. Who becomes responsible to collect, process, store, and safeguard this data? With whom does this data get shared, and for which other purposes? And how accurate is this data anyway? + +### Facial scans + +Some platforms and third-party providers of the rapidly growing "[identity verification industry](https://www.businessresearchinsights.com/market-reports/digital-identity-verification-market-118180)" have started to use facial recognition and face scan systems in order to determine a user's age. + +The problem is, the systems are [horrible for everyone's privacy](https://www.liberties.eu/en/stories/facial-recognition-privacy-concerns/44518), extremely problematic to use due to [racist and gendered biases](https://www.aclu-mn.org/en/news/biased-technology-automated-discrimination-facial-recognition), [inaccurate](https://www.eff.org/deeplinks/2025/01/face-scans-estimate-our-age-creepy-af-and-harmful) to determine the correct age, and on top of all that, [can be cheated](https://www.theregister.com/2022/05/22/ai_in_brief/). + +### Official documents + +The second solution is to require users to provide an official piece of ID. Considering an official ID often contain a photo, full legal name, date of birth, home address, and government specific codes, this is even worse. + +All this sensitive data then gets collected by either the platform itself or a third-party provider with little oversight or incentive to protect this data at all. Leaks and breaches for this enormous data trove are just around the corner. Unfortunately, this isn't speculative, [data leaks have already occurred](https://www.404media.co/id-verification-service-for-tiktok-uber-x-exposed-driver-licenses-au10tix/). + +The more copies of your official documents exist online, the greater the risk this data *will get exposed*, and the less value this document has to actually identify you when it's *truly* needed. + +And again, this sort of verification is easy to cheat. Any determined teenager will soon learn how to either create a fake ID, use someone else's ID, or go around this verification system in another way. + +Age verification laws will *without a doubt* support a flourishing criminal industry to provide fake or stolen IDs even more easily online. + +## Where age verification is (or will be) required + +In April this year, [Discord started to test age verification systems](https://www.theverge.com/news/650493/discord-age-verification-face-id-scan-experiment) using facial or ID scans, as a way to comply with [Australia](https://www.bbc.co.uk/news/articles/c89vjj0lxx9o)'s and [UK](https://www.theverge.com/2023/10/26/23922397/uk-online-safety-bill-law-passed-royal-assent-moderation-regulation)'s new laws. + +This measure only applies to access certain protected posts for users located in Australia and the United Kingdom and at this time, but don't be surprised if it soon gets implemented at the account level for users everywhere. + +In the [United States](https://action.freespeechcoalition.com/age-verification-resources/state-avs-laws/), many states have already passed some types of age verification laws, and several others have proposed such laws. In [Canada](https://www.eff.org/deeplinks/2024/09/canadas-leaders-must-reject-overbroad-age-verification-bill) and [Europe](https://digital-strategy.ec.europa.eu/en/funding/call-tenders-development-consultancy-and-support-age-verification-solution), legislators have also been pushing for similar regulations to block content online subject to age verification. + +There is no doubt the more countries pass similar prohibitive laws, the more other countries will soon follow. + +Some hope however, this month a US federal judge ruled an age verification [law in Arkansas unconstitutional](https://thehill.com/homenews/state-watch/5228836-judge-blocks-social-media-age-verification-law-in-arkansas/). + +## Who decides what is sensitive content + +When talking about age verification, most assume this only applies to obvious pornographic content. However, many of these laws have [much wider reach](https://www.eff.org/deeplinks/2025/01/impact-age-verification-measures-goes-beyond-porn-sites). + +For example, the Australian law prohibits access to social media altogether for anyone under the age of 16. This means that, once the law comes into full effect after its transitional period, anyone who uses social media in Australia will have to prove they are older than this age. It is likely that all Australian users will have to provide some form of identifying data to continue using their social media accounts. **This is a privacy nightmare.** + +When laws target specific content, definition of what is appropriate and what isn't is often too broad. Moreover, this definition is subject to change from one administration to another. + +There are also wide differences from one country to another. For example, some countries sadly consider simple discussions of gender identity or sexual orientation to be sensitive content. What is deemed inappropriate to children in one culture might not be the same in another. + +Automating this sort of censorship leads to a lot of misfiring. There has already been numerous instances of [breastfeeding photos mislabelled](https://www.cbc.ca/news/world/facebook-clarifies-breastfeeding-pics-ok-updates-rules-1.2997124) for nudity. Important educational material for sex education could get censored and inaccessible to children, who critically need access to it *before* adulthood. + +Who will decide which content should be censored and which shouldn't? Will countries hosting the big tech platforms end up having a greater decision power in the matter? Will platforms simply decide to apply the strongest level of restriction worldwide? + +## Age verification isn't effective + +Even if we could somehow find a global consensus that is perfectly ethical and never misfires on which content children shouldn't access, it will likely fail. + +Children, and teenagers especially, are and have always been incredibly effective at going around such limitation to feed their curious minds. + +First, there are technical tools such as VPNs and proxies of all sort to go around location-based restrictions. Then, there's the classic fake ID, and its modern evolution: deepfake face. There will also be without a doubt a growing market of pre-verified "adult" accounts up for sale online. + +Perhaps age verification measures will work for a couple of months, until products to evade it get the word out, then they'll become useless. Only leaving the ashes of your social media legal consenting adult pseudonymity in its path. + +## Why it's bad news for everyone's privacy + +Age verification will require all platforms and/or third-party identification service providers to collect an enormous trove of sensitive data on everyone. + +This goes against all principles of data minimization, generally a vital part of data protection regulations. + +Daily occurrences of data breach incidents have taught us we cannot trust these services to safeguard our data. Data breaches for this sensitive information are only a matter of time. + +The concentration of such valuable data will likely be monetized and resold either by the platforms themselves, by the for-profit third-party "age assurance" providers they use, or eventually by the criminals who stole it from them. + +This data trove will include face scans of children with their location (trying to pass as adults), and faces and official documents from every adult in the world using social media, if this kind of regulation gets implemented at large. + +**The privacy and safety implications of this are absolutely disastrous**. + +## Age verification is not the solution + +Sadly, age verification legislation will not help safeguard children from harmful content online, but it will effectively remove protection for anyone needing pseudonymity online to [stay safe](privacy-means-safety.md). Moreover, it will put everyone at a much greater risk of victimization by identify theft, impersonation, stalking, and worse. + +Despite the perhaps well-intended legislators, technological solutions aren't always adequate to solve every problem we have. Here again, education and content moderation are likely much better ways to deal with this sort of issues. + +In the meantime, don't be surprised if you cross a teenager on the street suddenly pointing their phone to scan *your* adult face, or a young relative looking in your wallet. They probably won't be looking for your money, but most likely for your adult ID. diff --git a/blog/posts/biometrics-explained.md b/blog/posts/biometrics-explained.md index 244a17c4d..b1e436553 100644 --- a/blog/posts/biometrics-explained.md +++ b/blog/posts/biometrics-explained.md @@ -11,6 +11,8 @@ license: BY-SA schema_type: BackgroundNewsArticle description: | Biometrics are a convenient and secure way to authenticate our devices. Many of us use and trust the biometrics of our devices without much thought, but are they really secure? With so many options, which ones are the best? +preview: + cover: blog/assets/images/biometrics-explained/biometrics.webp --- # Biometrics Explained diff --git a/blog/posts/choosing-the-right-messenger.md b/blog/posts/choosing-the-right-messenger.md index cbf2e291f..01bb566e0 100644 --- a/blog/posts/choosing-the-right-messenger.md +++ b/blog/posts/choosing-the-right-messenger.md @@ -13,6 +13,8 @@ tags: license: BY-SA description: Choosing an instant messenger is a challenge. How can you be sure you’re using the most secure, privacy respecting platform? schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/choosing-the-right-messenger/cover.webp --- # Choosing the Right Messenger diff --git a/blog/posts/clearing-browsing-data.md b/blog/posts/clearing-browsing-data.md index bb2857f8c..6fdf517ec 100644 --- a/blog/posts/clearing-browsing-data.md +++ b/blog/posts/clearing-browsing-data.md @@ -13,6 +13,8 @@ tags: license: BY-SA description: A beginner's guide to clearing browsing data — such as cookies, website cache, and browsing history — on Chrome, Firefox, Safari, Edge, and Brave. schema_type: BackgroundNewsArticle +preview: + cover: blog/assets/images/clearing-your-browsing-data/dimmis-vart-JPu345g_OYM-unsplash.webp --- # How to Clear Your Browser History on Chrome, Firefox, and Other Browsers diff --git a/blog/posts/delisting-startpage.md b/blog/posts/delisting-startpage.md index 81ac9a128..57e651885 100644 --- a/blog/posts/delisting-startpage.md +++ b/blog/posts/delisting-startpage.md @@ -12,6 +12,8 @@ tags: - Search Engines description: Startpage has been removed from Privacy Guides' recommendations following their acquisition by System1. schema_type: NewsArticle +preview: + cover: blog/assets/images/delisting-startpage/cover.webp --- # Delisting Startpage From Privacy Guides diff --git a/blog/posts/digital-provenance.md b/blog/posts/digital-provenance.md new file mode 100644 index 000000000..0821a8216 --- /dev/null +++ b/blog/posts/digital-provenance.md @@ -0,0 +1,240 @@ +--- +date: + created: 2025-05-19T20:15:00Z +categories: + - Opinion +authors: + - fria +tags: + - AI + - Content Credentials +preview: + cover: blog/assets/images/digital-provenance/cover.jpg +--- +# The Power of Digital Provenance in the Age of AI + +![Article cover showing a painterly background with cool colors and the Content Credentials logo](../assets/images/digital-provenance/cover.jpg) + + + +With the popularity of generative AI, it's becoming more and more difficult to [distinguish](https://uwaterloo.ca/news/media/can-you-tell-ai-generated-people-real-ones) reality from fiction. Can this problem be solved using cryptography? What are the privacy implications of the currently proposed systems? + +## The Problem + +Can you tell which of these images are AI generated? + +
+ +![Group of geese by some water](../assets/images/digital-provenance/geese1.jpeg) + +![Group of geese by some water](../assets/images/digital-provenance/geese2.jpeg) + +![Group of geese by some water](../assets/images/digital-provenance/geese3.jpeg) + +![Group of geese by some water](../assets/images/digital-provenance/geese4.jpeg) + +
+ +...Have a guess? + +--- + +Actually, they're all real. But the fact that you may have believed some of them were AI generated poses a problem: How can we tell where an image came from, if it was AI generated, and whether it was edited? + +## Provenance + +[Provenance](https://youtu.be/K56EhgfCDjs) is the history of ownership of an object, typically used when referring to antiques or art. Knowing the history of a piece of art can affect the value a lot, but you need a way to prove it's an original piece by the artist instead of a reproduction, or was owned by a famous person. + +Provenance can take many [forms](https://artbusiness.com/provwarn.html), from an original receipt or documentation from the artist themselves to stickers from a gallery attached to it. Typically, you want a signed [certificate](https://www.artcertificate.co.uk/?id_article=2267) from an expert on the artist in order to verify its authenticity. + +## Hoaxes + +It's important for historical preservation as well to know that an object is really from a certain time period. There's no shortage of [historical hoaxes](https://www.history.com/articles/7-historical-hoaxes). These can distort our view of history and make us all a bit dumber. + +### Cardiff Giant + +One of the most famous hoaxes was that of the [Cardiff Giant](https://www.history.com/articles/the-cardiff-giant-fools-the-nation-145-years-ago). + +An atheist named George Hull got into an argument with a preacher. Hull was frustrated with the preacher's literal interpretation of the bible, particularly his belief that giants were real. + +Hull devised a plan to trick the religious and make some money at the same time. He would have a statue of a giant man constructed and pass it off as a petrified human. + +After securing the materials needed, specifically a soft material called gypsum, he convinced a marble dealer to help him with his scheme. A pair of sculptors carved out the visage of a giant 10-foot man, with Hull posing as a model. They even poured sulfuric acid over it to give it an aged look. + +He settled on burying the giant in Cardiff, New York, where he cut a deal with a distant relative and farmer named William "Stub" Newell. + +On October 16, 1869, Newell hired an unsuspecting pair of workers to dig a well on his property. After they inevitably uncovered the giant, it wasn't long before the whole town was in a frenzy. + +![men surrounding a stone sculpture of a man in a hole in the ground doffing their hats](../assets/images/digital-provenance/cardiff-giant.jpg) + + + +Speculation that the sculpture was an ancient, petrified man quickly began to spread. Eventually, a syndicate of businessmen offered Newell $30,000 (worth $[705,438.97](https://www.in2013dollars.com/us/inflation/1869?amount=30000) in today's money) for a three-fourths stake, and he took them up on that offer. + +P.T. Barnum even tried to buy the sculpture, and after being turned down, he had a replica built and displayed it in a Manhattan museum. Several other copies were made afterward, and soon, there were petrified giants being exhibited all over the country. + +In a way that seems familiar to us now, you couldn't even be sure you were looking at the *real* hoax. Misinformation can so easily mutate and spread when left unchecked. + +A famed Yale paleontologist named Othniel Charles Marsh declared it "of very recent origin, and a most decided humbug." Unfortunately, as is so often the case, Hull had already cashed in on the fervor by the time experts had properly debunked his hoax. + +### AI Hoaxes + +Many modern hoaxes tend to make use of social media and focus on getting views and clicks over selling a physical object. + +[Miniminuteman](https://youtu.be/Pc2psN0PFTk) is a great YouTube channel covering misinformation on the internet, specifically about archaeology. Misinformation can spread quickly, especially now with the rise of generative AI that can make convincing fake images and videos. + +[Here](https://www.mediamatters.org/media/4016186/embed/embed) you can see an example of AI being used to make a fake Joe Rogan podcast clip. Now, whether or not you view Joe Rogan as a reliable source of information is another topic, but as one of the [most popular podcasts](https://podcastcharts.byspotify.com), his reach could be leveraged to spread dangerous misinformation like that a meteor is going to hit earth and kill everyone. + +The effort required is low, and the return is high. With TikTok's [Creator Rewards Program](https://www.tiktok.com/creator-academy/en/article/creator-rewards-program), content that's at least 60 seconds long and has high engagement will be rewarded. That means longer videos with alarming content like conspiracy theory videos will do very well since they will have lots of comments from people either fooled by the content posting about how scared they are or people debunking the claims. The insidious thing is the creators get rewarded either way. + +[Several](https://youtu.be/E4I6K8OEyho?si=wbWAUcLsjOA7yDnO) [history](https://youtu.be/cqrHmjGD1ds?si=k60RTO9MH177ASTS) [channels](https://youtu.be/HG1324unhcA?si=MuwglKd52FQ7iKU3) on YouTube have expressed their concerns about misinformation being spread about history through AI generated images and videos and how they can distort our view of the past. There's even the possibility that these AI generated images could end up polluting the historical record. + +## Content Authenticity Initiative + +In 2019, [Adobe announced](https://contentauthenticity.org/blog/test) that it was partnering with the New York Times and Twitter on a project to develop an industry standard for digital content attribution called the Content Authenticity Initiative. + +Twitter has since dropped out of the partnership. + +## Project Origin + +At the same time, [Project Origin](https://www.originproject.info) was designing their system for content transparency. This started as a partnership between Microsoft and the BBC. + +## C2PA + +The Coalition for Content Provenance and Authenticity, or [C2PA](https://c2pa.org), combines the efforts of Project Origin and the Content Authenticity Initiative. Together, they created the [C2PA standard](https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html) used to add verifiable provenance data to files, which they dub "Content Credentials." + +## Content Credentials + +[Content Credentials](https://contentcredentials.org) are the implementation of digital provenance by the C2PA, the culmination of years of research and development by major tech companies, from camera manufacturers to photo editing software and AI companies to social media sites. + +The way Content Credentials work draws on concepts both familiar and alien. The standard is designed to be flexible and cover the myriad ways media is used online. + +It's important to note that Content Credentials aren't attempting to determine "truth"; that's a much more complex and philosophical topic. Rather, they're trying to show where an image came from, edits made to it, its constituent parts, etc. so that you can decide for yourself if you trust the source. It's trying to show you that an image came from the BBC, rather than whether you should trust the BBC. + +### Manifest + +Content Credentials are contained in what's called the **manifest**. The manifest consists of the claim, claim signature, and assertions. + +![Example of a Manifest, with the Claim, Claim Signature, and Assertions inside](../assets/images/digital-provenance/manifest.svg) + + + +The manifest is created by hardware or software called a "claim generator." + +Files can have multiple manifests, and the set of manifests comprise its provenance data. + +#### Assertions + +An assertion is labelled data such as the type of camera used, actions performed on the image such as color corrections, a thumbnail image, or other types of data. + +#### Claim + +The claim gathers together all the assertions and then hashes and cryptographically signs them. The claim is the part that backs up the assertions with cryptography; without it, there wouldn't be a way to verify the authenticity of the data. + +### Signatures + +The foundation is based around cryptographic signatures, similar to how you'd cryptographically sign software or text with a PGP signature. + +The parts of a file that are cryptographically verified are called "hard bindings." This allows programs to detect tampering. + +#### Certificate Authorities + +There are certificate authorities similar to how HTTPS works, which allow only signatures from trusted sources. Non-trusted signatures will give a warning in whatever C2PA-enabled software you're using. + +Content Credentials allow for each application to provide its own *trust lists*: lists of certificate authorities trusted by the application. + +The C2PA gives a few examples to illustrate. A news organization might rely on a non-profit organization that verifies the authenticity of sources through real-world due diligence. An insurance company might operate its own internal CA to verify only its own employees handled the images. + +### Ingredients + +However, what's interesting is Content Credentials can cover multiple assets being [combined](https://contentcredentials.org/verify?source=https%3A%2F%2Fcontentcredentials.org%2F_app%2Fimmutable%2Fassets%2Fhome2.91ab8f2d.jpg) and still be able to verify each element of the image. Each element is called an "ingredient." When the ingredients come together, the result is called a "composed asset," with "asset" referring to a digital media file or data stream. + +### Chain of Provenance + +It also supports a chain of provenance, showing all steps in the life cycle of the file that change its contents such as edits. These are referred to as "actions." + +The specification supports a list of pre-defined actions such as edits, changing the color, translating to a different language, etc. It's really quite flexible, but the flexibility of information that can be provided allows for more opportunities for errors and means you need to trust the entity providing the information more. + +An issue I noticed is when making edits using software that doesn't support Content Credentials, they will be corrupted and can't be read by verification programs. This poses a problem for the "unbroken chain of provenance" that the standard promises. + +These verification programs tend to offer a way to check against a database of images with Content Credentials, so you can find an image with unbroken provenance data. They use "soft bindings" or a type of fingerprinting of the image in order to find similar images in the database. + +I think this problem will be less and less of an issue when more software supports the standard. It will need to be so ubiquitous that image viewing programs don't trust images without provenance data, similar to how browsers don't trust websites without HTTPS. But for now with its very limited availability, that's not the case. + +### Privacy + +Since Content Credentials are all about attaching extra data to images, concerns about privacy are reasonable. + +However, it's important to remember that metadata has always existed in relation to digital files. Just like the metadata we've always had, Content Credentials are optional. + +Of course, it'll be up to programs we use to mediate what data is included. In order for the system to work as intended, certain things like "this photo was edited in Adobe Photoshop" will need to be automatically applied. Clear lines between personal data such as names, location, etc. need to be kept up to the user to add. + +Privacy was one of the stated goals when the C2PA was designing Content Credentials, and I think they've done a good job giving users control over their information. + +## Support + +There are several online verification tools you can use to try out Content Credentials. [ContentCredentials.org](https://contentcredentials.org) offers a [verification tool](https://contentcredentials.org/verify) that lets you upload a media file and check its Content Credentials. They have some example images on their site you can try, or you can upload images from elsewhere and see where Content Credentials are supported, for example you can upload any image generated in ChatGPT. + +Content Credentials also offers an official [command line tool](https://github.com/contentauth/c2pa-rs/releases?q=c2patool), so you can view exactly what data is being stored in the image. They provide some samples as well that you can play around with. To view the content credentials, just run + +```sh +c2patool sample/C.jpg +``` + +for any image you want to inspect, replacing sample/C.jpg with a path to your image. + +### BBC + +The BBC is doing a limited trial run of Content Credentials with [BBC Verify](https://www.bbc.com/news/bbcverify). Not all media in these articles have Content Credentials attached. [This article](https://www.bbc.com/news/world-latin-america-68462851) has Content Credentials for the video at the bottom. They also ask for feedback, so feel free to provide some. I'd like to see more Content Credentials show up in news reporting, so please add your voice. + +### OpenAI + +OpenAI has embraced Content Credentials, with images generated using ChatGPT identifying themselves using Content Credentials. Try [generating an image](https://chatgpt.com) and upload it to the verification tool. You should see it identify the origin as OpenAI. + +### TikTok + +[TikTok](https://newsroom.tiktok.com/en-us/partnering-with-our-industry-to-advance-ai-transparency-and-literacy) became the first video sharing platform to support Content Credentials. For now, it's limited to being able to read Content Credentials from certain AI platforms. They say in the future they'll start labeling all content from TikTok with Content Credentials, but it seems they haven't enabled that yet, as if you download a video from TikTok, the C2PA verify tool will say it doesn't have any Content Credentials. + +### Leica + +Leica's [M11-P camera](https://leica-camera.com/en-US/photography/cameras/m/m11-p-black) is the first camera in the world to support Content Credentials. That's a huge step toward adoption; camera manufacturers need to support Content Credentials if they're going to be included from the creation of the image. + +### Nikon + +Nikon is planning to release a firmware update for their [Z6III](https://www.nikon.co.uk/en_GB/learn-and-explore/magazine/gear/nikon-z6iii-firmware-update-to-feature-content-verification) camera that will support Content Credentials. + +### Adobe + +Much of Adobe's [software](https://helpx.adobe.com/creative-cloud/help/content-credentials.html) supports Content Credentials, including Photoshop, Lightroom, and Adobe Camera Raw as well as Adobe's Firefly AI. + +### Qualcomm + +With the Snapdragon 8 Gen 3 chipset, Qualcomm is embedding Content Credential capabilities into the Trusted Execution Environment, allowing for Content Credentials to be added right as the photo is produced. + +## Limitations + +### Lack of Support + +Content Credentials will need widespread support at every level, from hardware OEMs to photo editing software vendors and AI generators to sites that host and display images. The rollout of Content Credentials will be slow, although more and more companies are starting to support them. + +There are still major players missing support like Apple and Android, which is a big problem considering how many images are taken, edited, and shared on smartphones. Once photos taken from your phone can be imbued with Content Credentials in the default camera app, we'll see much wider adoption I think. + +### Easy to Remove + +In my testing, any edits from a program that doesn't support Content Credentials will render them unreadable after that point. This problem won't be as bad if and when support for Content Credentials becomes widespread, since you can just decide not to trust images without them, sort of like not trusting a website without HTTPS. Platforms could even display a warning. + +But for now, removing Content Credentials won't be noticed. + +### Reliant on Certificate Authorities + +The system shares a flaw with HTTPS in that you need to rely on trusted Certificate Authorities to verify the validity of the information, except that Content Credentials are trying to verify a lot more information than just who originally made the image. + +Since anyone can add their own Content Credentials to an image, a warning is displayed similar to a certificate warning in your browser that the Content Credentials come from an untrusted entity. + +### Complexity + +One of the issues I ran into while researching was just how complex the standard is, since it needs to cover so many use cases and situations. This is pure speculation, but I can imagine the sheer complexity makes it unattractive for platforms to implement and maintain, which could be contributing to the very slow and partial rollout we're seeing on the platforms of even founding members of the project like the BBC. + +I think this will be less of an issue as it rolls out however, as platforms will likely be able to use each other's implementations, or at least reference them when implementing it on their platform. + +The standard is still in early stages and there's plenty of room to shape it and improve it in the future, so make your voice heard about how you want to see it implemented. I think with more awareness about Content Credentials, platforms will feel more pressure to support them, so if you want to see this feature on your favorite platform, speak up and gather support. diff --git a/blog/posts/encryption-is-not-a-crime.md b/blog/posts/encryption-is-not-a-crime.md new file mode 100644 index 000000000..27d35c54d --- /dev/null +++ b/blog/posts/encryption-is-not-a-crime.md @@ -0,0 +1,183 @@ +--- +date: + created: 2025-04-11T16:00:00Z +categories: + - Opinion +authors: + - em +description: Encryption is not a crime, encryption protects all of us. Encryption, and especially end-to-end encryption, is an essential tool to protect everyone online. Attempts to undermine encryption are an attack to our fundamental right to privacy and an attack to our inherent right to security and safety. +schema_type: OpinionNewsArticle +preview: + cover: blog/assets/images/encryption-is-not-a-crime/encryption-is-not-a-crime-cover.webp +--- +# Encryption Is Not a Crime + +![Photo of a red key on an all black background.](../assets/images/encryption-is-not-a-crime/encryption-is-not-a-crime-cover.webp) + + + +Contrary to what some policymakers seem to believe, whether naively or maliciously, encryption is not a crime. Anyone asserting encryption is a tool for crime is either painfully misinformed or is attempting to manipulate legislators to gain oppressive power over the people. + +Encryption is not a crime, encryption is a shield. + +Encryption is the digital tool that protects us against all sorts of attacks. It is the lock on your digital door preventing harmful intruders from entering your home. Encryption is also the door itself, protecting your privacy and intimacy from creepy eavesdroppers while you go about your life. + +It's not a crime to lock your home's door for protection, **why would it be a crime to lock your digital door?** + +[Encryption protects you](privacy-means-safety.md) from cyberattack, identity theft, discrimination, doxxing, stalking, sexual violence, physical harm, and much more. + +## Who says encryption is a crime + +Anyone who is well-informed will find it hard to believe someone could want to sabotage such fantastic protection. + +Yet, [year](https://www.wired.com/1993/02/crypto-rebels/) after [year](https://www.wired.com/story/a-new-era-of-attacks-on-encryption-is-starting-to-heat-up/), oppressive regimes and lazy or greedy [law enforcement](https://www.techradar.com/computing/cyber-security/anonymity-is-not-a-fundamental-right-experts-disagree-with-europol-chiefs-request-for-encryption-back-door) entities around the world have attempted to [undermine encryption](https://www.howtogeek.com/544727/what-is-an-encryption-backdoor/) using the pretext this is needed to "solve crime", despite all the experts *repeatedly* warning on how [unnecessary](https://arstechnica.com/tech-policy/2019/08/post-snowden-tech-became-more-secure-but-is-govt-really-at-risk-of-going-dark/) and [dangerous](https://www.globalencryption.org/2020/11/breaking-encryption-myths/) this would be. And this is without accounting for all the countries where encryption is *already* [severely restricted](https://www.gp-digital.org/world-map-of-encryption/), such as Russia, China, India, Iran, Egypt, Cuba, and others. + +Whether breaking encryption is brought up naively by misinformed authorities, or as a disguised excuse for mass surveillance is up for debate. + +Nevertheless, the result is the same: An attempt to destroy **a tool we all need to stay safe**. + +## Encryption is a protective shield + +Encryption, moreover end-to-end encryption, is a tool we all use in our digital life to stay safe. + +In today's world, the boundary between online and offline life is largely dissolved. Almost everything we do "offline" has a record of it "online". Online life is regular life now. It's not just your browsing history. + +Your medical record from a visit at the clinic, your purchase transaction from a trip to the store, your travel photos saved in the cloud, your text conversations with your friends, family, and children, are all likely protected with encryption, perhaps even with *end-to-end* encryption. + +Such a large trove of personal data needs to be protected against eavesdropping and malicious attacks for everyone to stay safe. + +Encryption offers this protection. End-to-end encryption all the more. + +## What is end-to-end encryption, and what is the war against it + +End-to-end encryption is a type of encryption where only the intended recipient(s) have the ability to decrypt (read) the encrypted data. + +This means that if you send a message through [Signal](https://signal.org/) for example, only the participants to this conversation will be able to read the content of this conversation. Even Signal cannot know what is being discussed on Signal. + +This greatly annoys some over-controlling authorities who would like to be granted unlimited power to spy on anyone anytime they wish, for vaguely defined purposes that could change at any moment. + +End-to-end encryption can also mean a situation where you are "both ends" of the communication. + +For example, when enabling Apple's [Advanced Data Protection for iCloud](https://support.apple.com/en-ca/guide/security/sec973254c5f/web) (ADP), it activates end-to-end encryption protection for almost all of iCloud data, including photos. This means that even Apple could not see your photos, or be forced to share your photos with a governmental entity. + +Without ADP, Apple can read or share your photos (or other data) if they are legally compelled to, or if they feel like it. The same is true for Google's services, Microsoft's services, and any other online services that aren't end-to-end encrypted. + +This is at the root of the latest attack on encryption: + +In February this year, it was reported that [Apple was served with a notice](uk-forced-apple-to-remove-adp.md) from the UK's Home Office to force it to break ADP's end-to-end encryption. In response, Apple removed access to ADP from the UK entirely, making this protection unavailable to UK residents. + +Do not mistakenly think this attack is limited to the UK and Apple users, however. If this regulation notice or a similar one gets enforced, it would **impact the whole world.** Other countries would likely soon follow, and other services would likely soon get under attack as well. + +Moreover, do not feel unaffected just because you use end-to-end encryption with [Signal](https://www-svt-se.translate.goog/nyheter/inrikes/signal-lamnar-sverige-om-regeringens-forslag-pa-datalagring-klubbas?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp) or [Proton](https://www.techradar.com/vpn/vpn-privacy-security/secure-encryption-and-online-anonymity-are-now-at-risk-in-switzerland-heres-what-you-need-to-know) services instead of Apple, they are both **under attack** as well in this war. + +Just in recent years, the war against encryption has affected the [US](https://www.eff.org/deeplinks/2023/04/earn-it-bill-back-again-seeking-scan-our-messages-and-photos), the [UK](https://www.bbc.co.uk/news/articles/cgj54eq4vejo), [Sweden](https://www.globalencryption.org/2025/04/joint-letter-on-swedish-data-storage-and-access-to-electronic-information-legislation/), [France](https://www.laquadrature.net/en/warondrugslaw/), [Australia, New Zealand, Canada, India, Japan](https://www.theverge.com/2020/10/12/21513212/backdoor-encryption-access-us-canada-australia-new-zealand-uk-india-japan), and all the European Union countries with proposals such as [Chat Control](the-future-of-privacy.md/#chat-control-wants-to-break-end-to-end-encryption). + +## The arguments given to break encryption make no sense + +Authoritarian entities generally use the same populist excuses to justify their senseless demands. "Protecting the children" is always a fashionable disingenuous argument. + +Because no one would disagree that protecting the children is important, it is often used as an attempt to deceitfully make an irrefutable argument to justify breaking encryption. + +The problem is, **breaking encryption doesn't protect the children**, it [endangers](https://www.theguardian.com/technology/2022/jan/21/end-to-end-encryption-protects-children-says-uk-information-watchdog) them. + +When law enforcement officials claim they need to be able to read everyone's messages and see everyone's personal photos to be able to fight child predators, they seem to neglect that: + +- This means they will expose the children's messages, contact information, locations, and photos in the process, potentially *endangering the children further*. + +- Exposing everyone's data will make this data much more likely to be found and exploited by criminals, making *everyone* more vulnerable to attacks. + +- Predators will simply move to underground channels, [unbothered](https://www.schneier.com/blog/archives/2015/07/back_doors_wont.html). + +They use the same kind of deceptive argument trying to justify weakening the protections we have to supposedly catch "criminals" and "terrorists". + +Of course the exact definition of what is a "criminal" or a "terrorist" is always vague and subject to change. In the past, human rights activists and authoritarian regime dissidents have been labeled as such, climate change activists as well, LGBTQ+ people even in some countries. Maybe next year this label will include "DEI advocates", who knows where they draw the line and what can be considered a "criminal" worth spying on. + +You *cannot* remove everyone's right to privacy and protection from harm while pretending it is to protect them. No one who is well-informed and well-intended could possibly consider this a smart thing to do. + +**An attack on end-to-end encryption isn't an attack on criminals, it's an attack on all of us.** + +## Magical backdoor only for "the good guys" is a complete fantasy + +Let's say the strategy is akin to creating a MagicalKey that unlocks every door (a magical key because thinking encryption backdoors would only be used by "the good guys" is a great example of [magical thinking](https://www.britannica.com/science/magical-thinking)). + +Imagine, for the sake of this exercise, the MagicalLock for this MagicalKey is impossible to pick, and imagine only police officers have MagicalKeys. Let's say one thousand police officers each have a MagicalKey. + +They argue they need to be able to unlock anyone's door if they suspect a crime is happening inside. "It's for safety!" + +Overtime, let's say only 1% of the police officers accidentally lose their MagicalKey. This kind of things happen. Now 10 MagicalKeys are lost in the wild and could be used by anyone else, for any purposes, including crime. + +Then, let's say only 0.1% of police officers get corrupted by a crime gang. That's just one right? This corrupted "good guy" lets the gang create a double of the MagicalKey. Which crime gang wouldn't want a key that can magically open any door? They pay the police officer good money for this. It's an investment. + +Now, the gang creates doubles of the MagicalKey they have. They obfuscate its serial number, so it cannot be traced back to them. They use it subtly at first to avoid detection. They make sure they never leave traces behind, so victims have no idea their door got unlocked. + +During this time, they steal your data, they sell it, they use it to impersonate you, they use it to harm you and your loved ones. + +Then, another criminal figures out on their own how to emulate a MagicalKey without even having access to one. The criminal creates a reproducible mold for this Emulated-MagicalKey and sells it to other criminals on the criminal market. Now, the MagicalKey™️ is available to any criminals looking for it. Restrictions on the backdoor are off. **Your personal data is up for grabs.** + +This is what is going to happen if backdoors are implemented in end-to-end encryption. But don't worry they say, "it's only for the good guys!". + +At least, the criminals' data will also be up for grabs, right? + +Nope! The criminals knew about this, so they just started using different channels that weren't impacted. Criminals will have their privacy intact, they don't care about using illegal tools, but **your legal privacy protections will be gone**. + +*Backdoored* end-to-end encryption isn't end-to-end anymore, it's just open-ended encryption. This offers pretty much no protection at all. + +## Ignoring experts doesn't make facts disappear + +Where is the opposition to this? Where are the experts pushing against this nightmare? Everywhere. + +Thankfully, opposition has been strong, despite the relentless ignorance or malevolence from authoritarian authorities repeatedly pushing against encryption. + +Many people and groups have been fighting valiantly to defend our collective right to privacy and security. Countless experts have patiently taken the time to explain [again](https://signal.org/blog/uk-online-safety-bill/) and [again](https://www.globalencryption.org/2020/10/cdt-gpd-and-internet-society-reject-time-worn-argument-for-encryption-backdoors/) and [again](https://www.schneier.com/wp-content/uploads/2016/09/paper-keys-under-doormats-CSAIL.pdf) how an encryption backdoor only for "the good guys" is simply impossible. + +Weakening encryption to let "the good guys" enter, lets *anyone* enter, including criminals. There is no way around this. + +Seemingly ignoring warnings and advice from the most respected specialists in the field, authoritarian officials continue to push against encryption. So much so that it has become difficult to assume good intent misguided by ignorance at this point. + +Unfortunately, ignoring the experts or silencing the debate will not make the facts magically disappear. + +In an encouraging development this week, Apple [won a case](https://www.bbc.co.uk/news/articles/cvgn1lz3v4no) fighting an attempt from the UK Home Office to hide from the public details of their latest attack on encryption. + +This battle and all battles to protect our privacy rights, *must* be fought is broad daylight, for all to see and to support. + +## Fight for encryption rights everywhere you can + +The war against encryption isn't anything new, it has been happening for decades. However, the quantity of data, personal and sensitive data, that is collected, stored, and shared about us is much larger today. It is essential we use the proper tools to secure this information. + +This is what have changed, and what is making encryption and end-to-end encryption even more indispensable today. + +Mass surveillance will not keep us safe, it will endanger us further and damage our democracies and freedoms in irreparable ways. + +We must fight to keep our right to privacy, and use of strong end-to-end encryption to protect ourselves, our friends, our family, and yes also to protect the children. + +### How can you support the right to encryption? + +- [x] Use end-to-end encryption everywhere you can. + +- [x] Talk about the benefits of end-to-end encryption to everyone around you, especially your loved ones less knowledgeable about technology. Talk about how it is essential to protect everyone's data, including the children's. + +- [x] Use social media to promote the benefits of end-to-end encryption and post about how it protects us all. + +- [x] Write or call your government representatives to let them know you care about end-to-end encryption and are worried about dangerous backdoors or chat control proposals. + +- [x] Support organizations fighting for encryption, such as: + + - [Global Encryption Coalition](https://www.globalencryption.org/) + + - [Open Rights Group](https://www.openrightsgroup.org/campaign/save-encryption/) + + - [Fight For The Future](https://www.makedmssafe.com/) + + - [Signal app](https://signal.org/donate/) + + - [Internet Society](https://www.internetsociety.org/open-letters/fix-the-take-it-down-act-to-protect-encryption/) + + - [Electronic Frontier Foundation](https://www.eff.org/issues/end-end-encryption) + + - [Privacy Guides](https://www.privacyguides.org/en/about/donate/) 💛 + +Finally, have a look at our [recommendations](https://www.privacyguides.org/en/tools/) if you want to start using more tools protecting your privacy using end-to-end encryption. + +This is a long war, but the importance of it doesn't allow us to give up. + +We must continue fighting for the right to protect our data with end-to-end encryption, **we owe it to ourselves, our loved ones, and the future generations.** diff --git a/blog/posts/firefox-privacy-2021-update.md b/blog/posts/firefox-privacy-2021-update.md index 2ef533ce1..9d42d393d 100644 --- a/blog/posts/firefox-privacy-2021-update.md +++ b/blog/posts/firefox-privacy-2021-update.md @@ -12,6 +12,8 @@ tags: - Firefox license: CC0 schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/firefox-privacy/cover.webp --- # Firefox Privacy: 2021 Update diff --git a/blog/posts/firefox-privacy.md b/blog/posts/firefox-privacy.md index 087355b6c..f12cc29a1 100644 --- a/blog/posts/firefox-privacy.md +++ b/blog/posts/firefox-privacy.md @@ -12,6 +12,8 @@ tags: - Firefox license: BY-SA schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/firefox-privacy/cover.webp --- # Firefox Privacy: Tips and Tricks for Better Browsing diff --git a/blog/posts/hide-nothing.md b/blog/posts/hide-nothing.md index 2d5d5f082..e297377b2 100644 --- a/blog/posts/hide-nothing.md +++ b/blog/posts/hide-nothing.md @@ -24,7 +24,7 @@ On the surface, this seems true to many people – but the reality is very diffe In the end it only convicted one person. -Now, many have argued that stopping one terrorist might be worth giving up some security for, but [according](https://www.aclu.org/issues/national-security/privacy-and-surveillance/surveillance-under-patriot-act) to the ACLU, the conviction would have occurred without the Patriot Act. +Now, many have argued that stopping one terrorist might be worth giving up some security for, but [according](https://web.archive.org/web/20230318132243/https://www.aclu.org/issues/national-security/privacy-and-surveillance/surveillance-under-patriot-act) to the ACLU, the conviction would have occurred without the Patriot Act. Many legal actions you take today could be deemed illegal by future laws or future government. In the US today there is discussion around the possibility of Roe v. Wade being overturned, allowing states to outlaw abortions. You may not currently feel the need to hide internet searches, menstrual cycle apps, or donations to women's health clinics today because it's not illegal, but tomorrow that information could be used against you. diff --git a/blog/posts/importance-of-privacy-for-the-queer-community.md b/blog/posts/importance-of-privacy-for-the-queer-community.md new file mode 100644 index 000000000..5b7850ae7 --- /dev/null +++ b/blog/posts/importance-of-privacy-for-the-queer-community.md @@ -0,0 +1,353 @@ +--- +date: + created: 2025-06-03T17:00:00Z +categories: + - News +tags: + - Pride Month +authors: + - em +description: Data privacy is important for everyone. But for some marginalized populations, data privacy is indispensable for social connection, access to information, and physical safety. For Pride month this year, we will discuss topics at the intersection of data privacy and experiences specific to the LGBTQ+ community. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/importance-of-privacy-for-the-queer-community/pride-cover.webp +--- +# The Importance of Data Privacy For The Queer Community + +![Photo of a Progress Pride Flag with a semi-transparent padlock icon over it.](../assets/images/importance-of-privacy-for-the-queer-community/pride-cover.webp) + + + +Data privacy is important for everyone. But for some marginalized populations, data privacy is indispensable for social connection, access to information, and physical safety. For [Pride month](../tags.md#tag:pride-month) this year, we will discuss topics at the intersection of data privacy and experiences specific to the LGBTQ+ community. + +While it's difficult to get a complete estimate on this, due to fear of discrimination and other factors, a 2021 [survey](https://www.ipsos.com/sites/default/files/ct/news/documents/2021-06/LGBT%20Pride%202021%20Global%20Survey%20Report_3.pdf) conducted by Ipsos in 27 countries revealed that only 80% of the population surveyed identified as heterosexual. Additionally, about 1% of adults identified as a gender different from the one they were assigned at birth. This percentage is even higher for Gen Z and Millennials. + +In the United States alone, it's [estimated](https://www.lgbttech.org/_files/ugd/d77b01_0e1e02c938e94ae3aad4ce21312bdde4.pdf) there are 20 million adults who are part of the LGBTQ+ community. That's a lot of people! + +Despite the progress of the past decades, the queer population still faces many challenges to being free and safe from discrimination. + +Discrimination online, at work, at school, at the national or even the familial level, can put LGBTQ+ individuals in dangerous situations, where data privacy may be the only shield available for protection. + +In this context, it's essential for the queer community to be well-informed on the tools and practices that can help mitigate the risks, so that information, services, and support can still be accessed safely. + +## Higher risk when data gets exposed + +Unfortunately, LGBTQ+ people are still at a higher risk when their personal data gets exposed. + +First, for people living in environments hostile to their sexual orientation or gender identity, keeping personal information private can literally mean life or death. Tragically, even today many countries still criminalize homosexuality and gender identities different from cisgender. When this personal information gets exposed, people might lose support from their family, lose their job, get arrested, or even be [executed](https://en.wikipedia.org/wiki/Capital_punishment_for_homosexuality) in some countries. + +People in these very vulnerable situations have to be *extremely* careful about protecting their data in order to stay safe, online and offline. + +Moreover, organizations collecting data that could put anyone at risk of getting accidentally or maliciously outed should feel a *strong responsibility* to protect this data fiercely, and be held legally accountable when they fail. + +### Being outed against one's will + +For a queer person, deciding when, how, and to whom to reveal their sexuality or gender identity is a very important and intimate moment. It *must* be a personal choice, and only on the person's own terms. + +Even in countries where queer identities and sexualities are legal and accepted, [being outed against one's will can have devastating consequences](https://www.pridecorner.org/post/how-to-support-someone-who-has-been-outed-against-their-will). + +If someone lives with family members who do not accept who they are, getting outed against their will could mean losing their home and familial support. In other situations, perhaps their family is supportive, but their employer isn't, or maybe some of their friends or co-workers are hostile. They might want to keep this information from them in order to avoid conflicts at work, or avoid losing friendships. Further, there is of course the risk for discrimination, online harassment, and worse. + +No matter the situation, coming out as queer should always be an individual and intentional choice. + +It is an act of violence to out someone against their consent, even when performed by the intermediary of an algorithm or a neglectful data leak. + +Each time there is a data breach that includes information about gender identity, sexuality, browsing history, location history, installed applications, or legal names, this data leak risks outing people against their will. + +For all these reasons, it is vital that information be safeguarded so that a queer person is empowered to choose when, how, and to whom to come out on their own terms. + +In today's political climate, this is unfortunately even truer for trans people, who are at a greater risk of getting outed against their will when data about their gender, sex, or legal name leaks. Sadly, there are still too many online forms and software that needlessly collect gender data when it's completely unnecessary. Similarly, requiring full *legal* name is completely irrelevant in many situations where it is currently asked. + +Developers must take responsibility and design software and forms considering these risks. As data scientist and civic technologist Soren Spicknall explains brilliantly, gender data [should never be collected](https://medium.com/@SorenSpicknall/protecting-queer-communities-through-data-4707ae0cb562) unless *absolutely* necessary and *absolutely* protected, which in most instances it really isn't: + +> "Is the danger to your LGBT+ users worth the ability to roughly guess whether somebody is buying a purse for themselves or as a gift, or to assume you know what kind of movie they want to watch?" + +Algorithms shouldn't be able to target sexuality and gender identity as markers for advertising purposes. Unfortunately, there have already been reported incidents where [people were outed against their will by Facebook](https://www.dailydot.com/irl/facebook-ads-lgbtq/) spitting around rainbow ads everywhere, because of Facebook secretly tying someone's browsing activity back to their profile. + +Facebook (and most other commercial platforms) uses cookies and other tracking technologies to follow users online and [build an advertising profile](https://www.makeuseof.com/tag/facebook-tracking-stop/) based on their online activity, even outside of Facebook. Then, it shows ads on Facebook related to that activity, no matter if this information was shared or not on the platform. + +This kind of non-consensual outing can have devastating consequences, and should be forbidden by law. Everyone should be able to come out when and how they see fit, and not be aggressively outed by some Facebook or Google ad algorithm, or by some negligent data leak. + +### Online harassment and extortion + +The risk of having data about one's sexuality or gender identity revealed against one's will can be very dangerous for some people. + +With online harassment on the rise, this intimate information can be weaponized by bigots and extortionists to cause severe harm. Unfortunately, this isn't a rare occurrence, even in countries where the LGBTQ+ community is well accepted. Regrettably, some platforms have even started to [roll back previous protections against hate speech](https://apnews.com/article/social-media-lgbtq-tiktok-x-facebook-instagram-glaad-f790bda1bc3f169ef28ca3f441ea8447) and harassment. This will have a severely detrimental impact on the safety of the queer community online. + +This year, the LGBTQ advocacy organization GLAAD produced a [Social Media Safety Index](https://glaad.org/smsi/2025/platform-scorecard/) rating six major platforms: TikTok, Facebook, Instagram, YouTube, Threads, and X. X (formerly Twitter) received the worst safety score of them all. + +### Seeking health information + +People questioning their gender identity or sexuality might seek information online about the health procedures or treatments they need. + +This sensitive search history can reveal a lot of personal details that should never be exposed against one's will. Sadly, browsing the internet without any tracking is a task that becomes harder every year, and many people aren't aware of the protections they can use against this tracking. + +People can suffer from severe harm when sensitive data related to their gender-affirming care or sexual health is exposed, ranging from non-consensual outing to imprisonment. Discrimination related to this type of health information is still rampant in every country in the world. + +### Seeking community online + +Seeking the support of online communities is common for queer people who can more easily feel isolated. This is especially true for youth living in hostile or rural environments, where smaller population density often means less supportive local resources and venues. + +For people in these situations, finding community online can be essential to survival. + +Despite all its flaws, the internet still offers a wonderful way to connect with others regardless of physical distances, and this is doubly true for the queer community. + +The need for social connection and support from peers is a fundamental human need. No matter how dangerous this can be, not sharing information online is simply not a viable option for many queer people. + +## Privacy-invasive practices that are exponentially worse for queer people + +### Real-name policies + +Many privacy-invasive practices and policies are significantly more dangerous for LGBTQ+ people. For example, [the "real-name" policies](https://en.wikipedia.org/wiki/Real-name_system) on Facebook and other platforms are absolutely horrendous for transgender people. + +If a trans person uses an older account, or has not changed their name on official documentation, a real-name policy could either out them against their will, force them to keep their [deadname](https://en.wikipedia.org/wiki/Deadnaming) online, or even lock them out of their account if official ID is requested for account recovery and doesn't match the name they used for the account. + +For many people around the world, the use of pseudonyms or chosen names online means safety, and this is even truer for trans people and other queer people. + +### Single-account policies + +Thankfully, most platforms aren't using such policies yet. But unfortunately, it does seem there could be a push to implement single-account policies in the near future. + +With the multiplication of age verification laws and the proliferation of unregulated AI systems, there has been some talk of using unique identifiers to prevent the creation of multiple accounts. This is **a horrible idea for everyone**, and should never be allowed, but it's even worse for LGBTQ+ people. + +Creating multiple accounts for different purposes, for example to separate work life from personal life, is a great privacy practice for anyone. + +Multiple accounts on a same platform, or "alt accounts", are regularly used by queer people in order to be their full selves online, when they aren't fully out in their public or personal life, or just because they prefer to keep their queer identity and activities separated. + +Sadly, if single-account policies begin to be implemented on platforms, this great privacy protection could soon disappear. + +### Facial recognition + +Facial recognition is an especially problematic technology for transgender people. Many times, these algorithms will not only create a faceprint from the data, but will also try to infer gender from it. + +These systems are deeply flawed and have discrimination biases built-in. They can't even reliably identify the correct gender of cisgender people. Because of the way these algorithms were developed, the use of this technology is [worse for transgender people](https://www.theswaddle.com/how-facial-recognition-ai-reinforces-discrimination-against-trans-people), and [exponentially worse](https://sciencepolicy.hsites.harvard.edu/blog/racial-discrimination-face-recognition-technology) for transgender people of color. + +Tragically, privacy legislation is lagging behind at protecting us by regulating this biased, invasive, and inaccurate technology that is spreading faster and further every year. + +### Public photos during events + +These days, it's pretty much impossible to attend many events without having our photo intrusively taken by a stranger and posted on Instagram without our consent. + +This is a generally bad behavior that we should all work on improving culturally. Posting photos of strangers online without their consent can be much more harmful for queer people. + +For example, taking photos at a Pride event and posting it online can out people against their will. While it's perhaps fair to assume most people *performing* in a Pride parade or on a stage might implicitly be comfortable with it, this isn't necessarily the case for people in the *audience*. + +This non-consensual practice, coupled with the corporate social media tendency to use facial recognition to tag everyone's faces, can cause harm in all sorts of ways. + +We should all [develop more respectful practices](the-privacy-of-others.md) when taking photos at events, and be mindful not to post anything online which could identify anyone in the audience who did not give their explicit consent. + +### Background checks and algorithmic biases + +Even for people who are publicly out and live in regions that are supportive, discrimination and biases are still there. Despite new legislations and a more progressive culture, data remnants of previous oppressive times can still have a severe negative impact on someone's life. Too few efforts are made by institutions to correct records properly after legislation has passed. + +This is especially problematic with opaque systems where embedded discrimination might not be obvious. Algorithmic decision-making is a growing danger for this, considering there is often no way to trace back the reasons a decision was made, and no accountability for whomever fed biased data to the black-box algorithm, whether negligently or maliciously. + +There are also older systems of decision-making, such as background checks. Last year, a 78-year-old woman from West Sussex [learned](https://www.bbc.co.uk/news/articles/c3v5pwnpnvko) that she had a criminal record for 56 years for being a lesbian in the military (at a time when it was illegal). Completely unaware of this outdated data trail, this woman spent her whole life with this discriminatory tag attached to her records. This likely cost her countless opportunities throughout the decades, without her ever knowing the cause. + +Unfortunately, this kind of incident is likely to multiply by millions with the increased use of algorithmic decision-making using closed systems, often impossible to audit. + +### Dating apps data + +Last but not least, data collected by dating apps is an especially sensitive issue for the queer population. + +Regrettably, there have already been numerous data breaches showing this risk is very real. Intimate photos have been leaked, location data has been leaked, health data has been leaked, and even private messages have been [leaked](https://www.pride.com/think-your-privacy-is-safe-on-the-gay-dating-apps-this-data-leak-could-change-your-mind). + +The harm caused by these leaks and breaches have consequences ranging from accidental outing, to loss of employment, extortion by criminals, imprisonment, and even *death*. + +In countries where homosexuality is criminalized, cruel state authorities and homophobic bigots are [weaponizing dating apps to entrap](https://www.article19.org/resources/apps-traps-dating-apps-must-protect-communities-middle-east-north-africa/) LGBTQ+ people to attack or arrest them. Weighing the need for support, love, and affection, with the very real risk of physical aggression is a dreadful challenge many queer people face. + +## Things to keep in mind to stay safe + +Despite the increased risks the queer community is exposed to, staying offline and disconnected from the world isn't a viable option. + +Indeed, disconnection and isolation can be a *worse* risk for many LGBTQ+ people, especially younger people. Tragically, queer youth are more than four times as likely to attempt suicide. Disconnecting from the internet communities that accept them isn't an option, and would pose dangers of its own. + +Thankfully, there are many tools and practices that can be adopted to improve privacy online, and reduce the risk of sensitive data getting exposed. Here are a few ideas that might help yourself or your loved ones to stay safer online: + +### Using better social media + +Social media usage leaves *a lot* of digital footprints online, and some platforms are worse than others for this. Staying mindful about which platform to choose, and how to use it, can greatly improve one's experience and security. + +Favoring alternative social media platforms that do not have a commercial incentive to monetize data can really help. + +For example, platforms that are developed and managed by a community of volunteers, rather than a for-profit corporation, tend to keep their users' benefits and safety in mind much more. + +If you are ready to make a change, [Mastodon](https://joinmastodon.org/) is a non-profit platform that [we recommend](https://www.privacyguides.org/en/social-networks/#mastodon). + +Mastodon is a social media platform that somewhat resembles Twitter prior to its rebranding. It is composed of multiple servers you can choose from, which makes it easier to move your account if you aren't satisfied with the moderation on one particular server. + +To get started, you can choose the server administrated by the team who develops the Mastodon software ([mastodon.social](https://mastodon.social/about)), or you can choose a smaller server run by volunteers (you can also self-host, but that's a longer story). + +Don't let this choice intimidate you too much though, these servers connect with each other, and you can always move later on. Just pick one you like. Some servers will have a focus on a region, a topic, a hobby, and there are even servers focused on LGBTQ+ communities, such as [tech.lgbt](https://tech.lgbt/about), [lgbtqia.space](https://lgbtqia.space/about), and [more](https://joinmastodon.org/servers). + +All the servers listed on the Mastodon website have [committed](https://joinmastodon.org/covenant) to hold active moderation against racism, sexism, homophobia, and transphobia. + +Additionally, Mastodon connects with other social media platforms that are also part of the larger [Fediverse](https://fediverse.info/) network. + +If you prefer something similar to Instagram, you can replace it with [Pixelfed](https://pixelfed.org/). For something similar to Facebook, look for [Friendica](https://friendi.ca/). For something more like TikTok, try [Loops](https://loops.video/). For a replacement to YouTube, check videos on [PeerTube](https://joinpeertube.org/), and [more](https://fediverse.info/explore/projects)! + +These alternative platforms often benefit from stronger moderation and better respect for their users' data. Because they aren't for-profit corporations, they have no interest in collecting your data, tracking you, or imposing invasive "real-name" policies. Additionally, they run **no ads**! + +#### Secure any social media you use + +No matter what social media platform(s) you choose to use, the first step should always be to make sure you go through all the settings to secure your account ([enable multifactor authentication](https://www.privacyguides.org/en/basics/multi-factor-authentication/)!), and adjust the available privacy options to your needs and preferences (consider [locking](https://www.privacyguides.org/en/social-networks/#public-profile) your account if you wish to restrict visibility to your followers). + +This is true for Mastodon as well, but you should make adjusting all the privacy and security options an *absolute priority* for *any* corporate social media, especially [if you stay on Facebook](https://www.digitaltrends.com/social-media/how-to-opt-out-of-targeted-ads-on-facebook/). + +Additionally, keep in mind that many platforms, including X, Facebook, and Reddit, will now use all your posted content to train their AI systems, making this information and embedded biases likely impossible to delete in the future. + +Developing an awareness of what data is shared, who can access it, how it is secured, and how it is used is very important for staying safe online. + +### Securing data when communicating + +Outside of social media platforms, many tools are available to help you secure your intimate and private communications. + +While chatting on dating apps may be the first step to meeting new people, moving early to end-to-end encrypted channels is likely a good idea for data security and privacy. + +That being said, also take into account that because your communications there will be fully end-to-end encrypted (only visible by its intended sender and recipient), there will be no moderation with it. Make sure you trust a person enough before moving the discussion to an end-to-end encrypted, more personal channel. + +#### Instant messaging communication + +[Signal](https://www.privacyguides.org/en/real-time-communication/#signal) is a wonderful end-to-end encrypted and free-to-use instant messaging app. Signal will collect your phone number to create the account, but nothing else. + +When using Signal, you should [enable the username feature](https://support.signal.org/hc/en-us/articles/6712070553754-Phone-Number-Privacy-and-Usernames). That way, you can (and should) share your *username* only, instead of sharing your phone number to connect with others. + +Additionally, you should [enable the disappearing messages](https://support.signal.org/hc/en-us/articles/360007320771-Set-and-manage-disappearing-messages) feature from Signal, to help clean up the data you no longer need as time goes, and reduce the risk of leaks. + +
+

Only send sensitive information to people you genuinely trust!

+ +Keep in mind that even when using end-to-end encrypted apps and a disappearing message features, this will not prevent a malicious person from downloading this data on their device or taking a screenshot of it. + +Be especially careful when sending very sensitive information, such as intimate photos for example. No matter how secure the application is, you should only send sensitive information and pictures to people you know and sincerely trust. + +
+ +#### Email communication + +For email communication, migrating to an end-to-end encrypted alternative can make a big difference for your privacy. + +For example, services like Gmail (Google) and Hotmail (Microsoft) could access the content of all your communications, and often use this information in various ways to build advertising profiles. Because email content isn't end-to-end encrypted, this data could get requested by authorities as well, and handed to them in plain text (unencrypted). + +For secure and more private end-to-end encrypted email services, we recommend [Proton Mail](https://www.privacyguides.org/en/email/#proton-mail) or [Tuta](https://www.privacyguides.org/en/email/#tuta). These services will not make you anonymous when you email someone (email address, IP address, and subject line, could still identify you), but the content of your communication will be encrypted end-to-end (if used with a compatible service), and only visible to its intended recipient(s). + +
+

Encrypted email service limitations

+ +Stay aware that if you email someone who is not using the same end-to-end encrypted email service as you, and you aren't using any additional measures to encrypt the message, this email will likely be accessible to the service you sent it to. + +For example, if you send an email from a Proton Mail address, to someone using a Gmail address, without asking the recipient to use your encryption key or use any additional services, then the email you sent will be stored on Google's servers, and could get accessed by Google. + +If you send a Proton Mail email to another Proton Mail user, the *content* of the message will be fully end-to-end encrypted and Proton could not access it. + +The same is true for any other email providers. Make sure to verify compatibility fully before sending any sensitive information that way. + +
+ +### Securing data when traveling + +When traveling, keep in mind that different countries or regions might have different laws related to LGBTQ+ people. + +Your marriage might not be recognized in the location you are visiting. Your new legal name might also not get the same recognition, sadly. The first step to take when planning a trip should always be to gather information on the legal and cultural differences between your own region and the one you are visiting. + +If you are visiting a country hostile to your sexuality or gender identity, make sure to take the proper precautions to secure your data *before* you cross the border. + +This could mean leaving your phone at home and only bringing a burner phone with you. It could also mean bringing additional (or different) types of official ID that are less likely to get you in trouble, and more likely to get accepted by the authorities of your visiting country. + +Be extremely careful when connecting to Wi-Fi services from a foreign country. If you were to connect to a service or website that is illegal there, and could accidentally out yourself as queer, you could get in trouble with few recourses. Using a [trustworthy VPN](https://www.privacyguides.org/en/vpn/) can help mitigate some of this risk. + +### Securing data when protesting + +For this month of Pride, you might feel the need to join a protest more than a parade. + +If you decide to join the action, make sure to secure your data properly to stay safe. Prepare your devices adequately to be ready and resist surveillance targeted at protesters. Consult our [Protesters' Guide to Smartphone Security](activists-guide-securing-your-smartphone.md), and make sure you understand well the level of risk of this particular protest. **Different protests in different regions require different levels of data protection.** + +If you are organizing actions, try to stay away from corporate platforms who will willingly and quickly share your data with authorities (even private messages). If you must use corporate platforms, then make sure to limit the personal data you share there, and ensure attendees have alternative ways to contact you that do not require them to create an account, to register, or to use their legal name. + +Having an independent website, or using a Fediverse-connected platform that will be accessible to everyone even without an account, are better ways to organize. + +For example, if you create a Mastodon account for your organization, people will not need to create a Mastodon account to read your posts and event announcements. All your posts will be accessible just like any independent website would be (if you leave your posts' visibility public). + +Setting up an end-to-end encrypted email address and using an [alias email address](https://www.privacyguides.org/en/email-aliasing/) are also good ways to stay accessible without requiring attendees to use a Facebook account. + +Additionally, there are federated platforms, such as [Mobilizon](https://mobilizon.org/), that can be a great non-commercial way to organize in a safer and more accessible space. + +Data shared on federated platforms isn't necessarily end-to-end encrypted, and could also get shared with authorities if requested. But by using non-commercial platforms, this data will not be compiled and attached to an account the same way this would happen on a for-profit corporate platform such as Facebook. Using alternative not-for-profit platforms isn't perfect nor anonymous, but it's still a great improvement from the corporate default. + +### Protections for extreme situations + +Finally, if you are living in an extreme situation where being yourself is dangerous to your physical safety, caution must be a priority. + +There isn't a single solution that can protect all your data at once, and anyone telling you there is one is lying to sell you something. Remain skeptical of such claims. + +However, there are a *multitude* of practices and tools that can help *reduce* your data trails, and improve your privacy greatly. The tools and practices you need to adopt will depend on the [threat model](https://www.privacyguides.org/en/basics/threat-modeling/) specific to your situation. + +Take the time to evaluate well which data could put you in danger, and focus on protecting this first. + +If you are in a situation where someone hostile to you has access to your device, for example because you are living with an unsupportive family and need to browse the internet on a family device, Tails may be a tool that can help you. If you can use this computer unobserved, by [using the live system Tails](installing-and-using-tails.md) installed on a USB stick, you can keep your browsing activity hidden from this device. Your Internet Service Provider (ISP) could still know you have been visiting a special network, however. Make sure to read our tutorial thoroughly if you decide to use Tails. + +If the information stored on your computer isn't a risk to you, but visiting LGBTQ+ websites from your country could be dangerous, perhaps [using Tor](in-praise-of-tor.md) with a Bridge or through a [trustworthy VPN](https://www.privacyguides.org/en/vpn/) could be another solution to allow you to access this information in a safer way. + +It's impossible to cover every specific situation, but know that there are [many solutions](https://www.privacyguides.org/en/tools/) to reduce the risks greatly, and improve data protection to allow you to **stay connected, stay yourself, and stay safe** 💛 + +
+

Caution: This isn't an exhaustive list!

+ +This is only a short introduction to some practices and tools that *can* improve your privacy online. Not one solution will be enough to be anonymous online. + +It's important to stay aware of what data will still be shared and which will be better protected, but nothing will make you 100% anonymous. + +For more information on how to improve further your data protection online, you can consult our various guides. If you are just starting in your privacy-improving journey, be patient. Adopt one small improvement at the time, then add another one. Each additional step you take will slowly but surely reduce your data trails, and improve your privacy overtime. + +
+ +## Improving data privacy is vital for everyone, but critical for the queer community + +Every situation is different and requires different protections. While data privacy is important for everyone, it's also essential to acknowledge that marginalized populations are often at a heightened risk when their data gets exposed. + +Protection *cannot* be only an individual responsibility. **Protecting vulnerable and marginalized populations is a societal responsibility that concerns everyone.** + +We *all* have a **duty of care** to protect the data of others. Whether it's from the photos we take at public events, or the discussions we have about others on Facebook or X-Twitter's direct messages, *everyone* must improve their practices on this. + +Moreover, anyone in a position to improve how data is collected from users *must* be held accountable, and must feel morally liable on the decisions taken that could endanger anyone, but especially marginalized groups like the queer community. + +In an ideal world, laws and cultures would protect everyone and particularly the most vulnerable *by default*. + +But until we get there, we have to empowered ourselves to bring change and stop predatory data collection, prevent negligent data security, and educate everyone on the tools we can use to help ourselves and the most vulnerable to stay safe. + +## Additional resources + +### Helplines + +- [Mindline Trans+ (UK)](https://www.mindinsomerset.org.uk/our-services/adult-one-to-one-support/mindline-trans/): A confidential emotional, mental health support helpline for people who identify as Trans, Agender, Gender Fluid or Non-Binary. + +- [Trans Lifeline Hotline (US and Canada)](https://translifeline.org/hotline/): Trans peer support over the phone. + +- [Suicide & Crisis Helpline (US and Canada)](https://988lifeline.org/): General support 24/7 phone number 988. + +- [Suicide & Crisis Helpline (International)](https://en.wikipedia.org/wiki/List_of_suicide_crisis_lines): List of suicide crisis lines around the world. + +### Supportive organizations + +- [Egale (Canada, International)](https://egale.ca/asylum/): Resources for LGBTQ+ asylum and immigration requests from outside and inside Canada. + +- [SOS Homophobie (France)](https://www.sos-homophobie.org/international-content): Non-profit, volunteer-run organization committed to combatting hate-motivated violence and discrimination against LGBTI people. + +- [The Trevor Project (US)](https://www.thetrevorproject.org/): Suicide prevention and crisis intervention non-profit organization for LGBTQ+ young people. + +- [Trans Rescue (International)](https://transrescue.org/): Organization assisting trans and queer individuals in relocating from dangerous areas to safer places. + +- [Twenty10 (Australia)](https://twenty10.org.au/): Sydney-based organization providing a broad range of free support programs to the LGBTIQA+ community. + +### International advocacy + +- [Amnesty International](https://www.amnesty.org/en/what-we-do/discrimination/lgbti-rights/): Human rights organization running campaigns to protect and uphold the rights of LGBTI people globally. + +- [Human Rights Watch](https://www.hrw.org/topic/lgbt-rights): Human rights non-profit who documents and exposes abuses based on sexual orientation and gender identity worldwide, and advocate for better protective laws and policies. + +
+

Stay aware of your data trail

+ +If the traces of this article in your browsing history could put you at risk, visit [our guide](clearing-browsing-data.md) to properly delete this data from your device. + +
diff --git a/blog/posts/in-praise-of-tor.md b/blog/posts/in-praise-of-tor.md new file mode 100644 index 000000000..b7a47078a --- /dev/null +++ b/blog/posts/in-praise-of-tor.md @@ -0,0 +1,420 @@ +--- +date: + created: 2025-04-30T20:30:00Z + updated: 2025-05-06T18:00:00Z +categories: + - Explainers +tags: + - Tor +authors: + - em +description: You might have heard of Tor in the news a few times, yet never dared to try it yourself. Despite being around for decades, Tor is still a tool too few people know about. Today, Tor is easy to use for anyone. It not only helps journalists and activists, but anybody who seeks greater privacy online or access to information regardless of location. But what is Tor exactly? How can Tor help you? And why is it such an important tool? +schema_type: OpinionNewsArticle +preview: + cover: blog/assets/images/in-praise-of-tor/tor-cover.webp +--- + +# In Praise of Tor: Why You Should Support and Use Tor + +![The Tor Project logo over a series of Tor icons on a purple background.](../assets/images/in-praise-of-tor/tor-cover.webp) + + + +You might have heard of Tor in the news a few times, yet never dared to try it yourself. Despite being around for decades, Tor is still a tool too few people know about. + +Today, Tor is easy to use for anyone. It helps not only journalists and activists, but anybody who seeks greater privacy online or access to information regardless of location. But what is Tor exactly? How can Tor help you? And why is it such an important tool? + +## :simple-torbrowser: What is Tor + +Tor is an overlay network that was specifically designed to protect the privacy of its users. The Tor Network uses multiple layers of encryption and relays in order to protect a person's location and other potential identifiers, such as an IP address. + +Its name comes from the acronym for **The Onion Router**, a [routing system](https://en.wikipedia.org/wiki/Onion_routing) using multiple layers that can get peeled off at each step, like an onion 🧅 + +This special network can be easily accessed by anyone, for free, through the Tor Browser. The Tor Browser is as easy to use as any other browser you are familiar with already. + +Both the tools for the Tor Network and the Tor Browser are maintained by a nonprofit organization called the Tor Project. + +### The Tor Network + +The [Tor Network](https://en.wikipedia.org/wiki/Tor_(network)) was deployed in 2002, although its core principle was developed in the mid 1990s. It was first created at the United States Naval Research Laboratory in order to protect intelligence communication online. + +In 2004, the laboratory released the project's code under a free and open source license, and the Electronic Frontier Foundation (EFF) began funding its development. A few years later, the onion routing project officially became the Tor Project. + +Today, Tor is one of the [largest](https://metrics.torproject.org/) anonymity networks, with thousands of relays and millions of users worldwide. + +#### How does it work + +The Tor Network is run by a community of volunteers who operate the relays required for the network to function. + +Each time someone uses the Tor Network, the communication passes through at least 3 relays: A Guard Relay, a Middle Relay, and an Exit Relay. Each relay has a different function to protect the communication. + +**The Guard Relay** knows where the communication is from (IP address), but doesn't know where it's going (which website is visited, for example). This relay only knows that you want to access the Tor Network. Its task is to send your encrypted communication to a Middle Relay, but it cannot read it. + +**The Middle Relay** doesn't really know anything. It doesn't know who you are nor where you are going. It only knows a Guard Relay wants to send encrypted data to an Exit Relay. The Middle Relay transfers this communication from one relay to another, and it cannot read it either. + +**The Exit Relay** has no idea who you are. It only knows someone, somewhere, wants to access this website (or other content). The Exit Relay will get the information from the website, then send it back to the Middle Relay, so that you can receive it from the Guard Relay. If you only visit pages using HTTPS, the Exit Relay can know someone is visiting this website, but cannot know what they are doing on it. Visiting *non-onion* websites using HTTPS instead of just HTTP is **[very important](https://support.torproject.org/https/https-1/)** for security and privacy. + +
+

Onion service websites

+ +Onion service websites are special websites that can only be accessed using the Tor Network. + +They are easy to recognize because they use the .onion domain at the end, and are often composed of a long string of seemingly random characters. Onion websites offer protections equivalent to HTTPS. + +You can see this represented by the [onion padlock icon](https://support.torproject.org/onionservices/onionservices-5/) in the Tor Browser. + +
+ +#### How Tor works using a letter and envelopes analogy + +Tor works a bit as if you put a letter (request) into an envelope with someone's address. Then, you put this envelope in another envelope addressed to someone else, with instructions. Finally, you put this second envelope in yet another one. + +Each envelope protects the content of the other, and can only be opened one at the time by each recipient. In this analogy, each recipient (relay) has a key that can only open the envelope addressed to them, and not the others. + +![Graphic representation of a Tor Circuit composed of a Guard Relay, a Middle Relay, and an Exit Relay using a letter and envelopes analogy.](../assets/images/in-praise-of-tor/tor-diagram.webp) + + +#### What is a Tor Circuit + +The network of randomly selected relays to complete a request on the Tor Network is called a Tor Circuit. This circuit changes each time a new connection is established. + +From the Tor Browser, you can see each relay that was selected for a circuit, and even change it manually. To generate a new circuit, click on the "Tor Circuit" button on the upper-left of the browser, then on "New Tor circuit for this site" at the bottom. + +![Screenshot from the Tor Browser showing a popup window from the Tor Circuit button.](../assets/images/in-praise-of-tor/tor-torcircuit.webp) + +### The Tor Browser + +The [Tor Browser](https://www.torproject.org/download/) was created in 2008 to facilitate access to the Tor Network. It is a modified version of Mozilla's Firefox browser, and can be installed on Linux, macOS, Windows, and Android systems. + +The Tor Browser start configuration is private by default. No additional extensions are required to make it more secure or more private. Actually, it's even discouraged to install any additional extensions, as this would weaken its [fingerprinting resistance](https://blog.torproject.org/browser-fingerprinting-introduction-and-challenges-ahead/). + +
+

Highest security settings

+ +Even if the Tor Browser is configured to be private by default, if you are in an especially sensitive situation, for example if you are using Tor as a whistleblower or a dissident activist, you might want to adjust the Tor Browser security level to "Safest". + +For this, click on the shield icon on the upper-right, then on the "Settings" button in blue, and select "Safest" instead of the default "Standard". + +**Important:** Each time you change the security level, you **must** make sure to restart the browser to ensure all changes have taken effect. Otherwise, [some changes](tor-security-slider-flaw.md) might not have been applied yet. + +
+ +![Screenshot from the Tor Browser showing a warning from the SecureDrop website to adjust Tor security level to Safest.](../assets/images/in-praise-of-tor/tor-safestsetting.webp) + +The default search engine is the privacy-focused [DuckDuckGo](https://www.privacyguides.org/en/search-engines/#duckduckgo). You will not even find Google in the options for the default search engine. More browsers should follow this good practice. + +The first page opening with the Tor Browser will give the option to Connect to Tor. From there, you can click on "Connect" to start browsing through Tor, or on "Configure Connection" if you need additional settings. For example, if you need to set up a [Bridge](https://bridges.torproject.org/) because Tor is blocked from your country. + +
+

Only connect to Tor if it is safe for you

+ +Be careful when using Tor from a country where Tor might be blocked or perceived as suspicious. Similarly, be careful if you connect from a location where revealing you have been using Tor [could](#depending-on-where-you-are-using-tor-is-likely-safe) be dangerous to you. + +
+ +![Screenshot from the Tor Browser showing the "Connect to Tor" welcome page.](../assets/images/in-praise-of-tor/tor-torbrowser.webp) + +Once connected to the Tor Network, you will be directed to the DuckDuckGo welcome page, and you can search or type any URLs in the address bar, like you would with any other browser. + +If you know an organization has an onion site (a website that is only accessible through Tor), you can type this onion address directly in the address bar. + +If you don't know if an organization has an onion site, you might find it from its regular URL. For example, if you visit privacyguides.org from the Tor Browser, you will notice a purple button on the right informing you that an onion version of this website is available, click on it to get redirected to it. + +![Screenshot from the Tor Browser showing the Privacy Guides website with an onion available purple button right to the address bar.](../assets/images/in-praise-of-tor/tor-privacyguides.webp) + +
+

Mullvad Browser and the Tor Project

+ +If you are familiar with the Mullvad Browser, know that the Mullvad Browser was developed by the Tor Project team! + +The Mullvad Browser was born of a [collaboration](https://blog.torproject.org/releasing-mullvad-browser/) between Mullvad VPN and the Tor Project, to build a browser that offers similar privacy features to the Tor Browser, but while using it through a VPN instead of through the Tor Network (both offering different benefits). + +The Mullvad Browser can also be used without a VPN, and will still provide better privacy protections than most other browsers. It cannot be used to access the Tor Network, however. + +
+ +### The Tor Project + +The [Tor Project](https://www.torproject.org/) is the US-based nonprofit organization maintaining the software and community for the Tor Network, and developing and maintaining the Tor Browser. It's also a privacy advocacy organization, with a mission to advance human rights and freedoms around the world through the free technology it creates. + +The nonprofit was founded in 2006 and gets its funding from [various sources](https://www.torproject.org/about/supporters/) including government grants, independent contributors, and individual [donations](https://donate.torproject.org/). + +## :octicons-lock-16: What Tor can do + +### Improve Privacy + +Tor is not magical, but it's by far one of the best privacy tool we have. Using Tor will not make you perfectly anonymous online, but it will greatly reduce the traces your leave online. + +Here are a few benefits Tor can provide for your privacy: + +- Tor can prevent the websites you are visiting from collecting your IP address (and your IP address can indeed lead to identifying *you*). + +- Tor can prevent your Internet Service Provider (ISP), Virtual Private Network (VPN) provider, or authorities requesting information from them to collect a list of the websites you have visited. They will know however that you have been using Tor. + +- The Tor Browser isolates each website you visit. This prevents ads and trackers from following you around, potentially popping up later in your [Facebook ads and accidentally outing you](https://www.intomore.com/culture/you/facebook-ads-outed-me/). + +- The Tor Browser is fingerprinting resistant. This reduces the ways you can be tracked and identified online, even without your IP address. + +- When keeping the default settings, the Tor Browser only uses private windows and will not keep any traces of your browsing history. It will also delete all cookies and site data when closing. + +### Circumvent censorship + +Because of how the Tor Network redirects traffic, it's a perfect tool to resist censorship. Using Tor can give access to websites or services that aren't accessible from a country blocking them. + +Even from a region where Tor itself is actively blocked, the network can still be accessed using [pluggable transports](https://tb-manual.torproject.org/circumvention/). + +Using this type of measures to circumvent government censorship will make Tor accessible even from countries with heavily censored internet, such as [China](https://support.torproject.org/censorship/connecting-from-china/), [Russia](https://blog.torproject.org/call-for-webtunnel-bridges/), [Iran](https://forum.torproject.org/t/iran-circumventing-censorship-with-tor/4590), and many others. + +
+

If you can't download the Tor Browser from your country

+ +If you cannot download the Tor Browser because of your country's censorship, and **if it is safe for you to do**, you can try downloading the browser from a proxy website such as the [EFF website](https://tor.eff.org/), the [Calyx Institute website](https://tor.calyxinstitute.org/). + +You can even directly email **** and send the name of your operating system (Linux, macOS, Windows) to get a direct link to download the Tor Browser. + +
+ +If you want to help people around the world access the internet freely, you can volunteer to run a [Tor Snowflake](https://snowflake.torproject.org/) proxy. For more tech-savvy volunteers, you can also help by running a [Tor Bridge](https://community.torproject.org/relay/setup/bridge/), or even a [WebTunnel Bridge](https://community.torproject.org/relay/setup/webtunnel/). + +## :octicons-heart-16: Why Tor is so important + +### Tor is vital for human rights and democracy + +Tor is an essential tool for journalists, activists, whistleblowers, dissidents, and people in vulnerable situations everywhere. It is one of the best tool we have to increase privacy online, and to resist censorship from oppressive regimes. + +Thanks to Tor, activists have a safe way to continue fighting for human rights. + +Some of the most respected human rights organizations use Tor to offer safe access to their services and information. This includes organizations such as [Amnesty International](https://www.amnesty.org/en/latest/news/2023/12/global-amnesty-international-website-launches-on-tor-network-to-help-universal-access/), [Electronic Frontier Foundation](https://www.eff.org/deeplinks/2023/04/eff-now-has-tor-onions), Freedom of The Press Foundation, and of course the Tor Project. + +Without Tor, journalists would lose invaluable sources of information provided by courageous whistleblowers reporting in the public interest. + +Without Tor, brave citizens fighting against authoritarian governments would be at much greater risk when organizing and bringing vital information to the public's attention. + +Without Tor, victims of domestic violence and LGBTQ+ people living in hostile environments could be in much greater danger when researching life-saving information online. + +Without Tor, people living in oppressive regimes would not have access to the crucial information they need to fight for freedom, democracy, and peace. + +
+

Add an onion service for your organization's website

+ +If you would like to add this service for your website to help more people access it safely, you can [read more](https://blog.torproject.org/more-onions-porfavor/) about onion services on the Tor Project Blog. As of 2021, you can even [get](https://blog.torproject.org/tls-certificate-for-onion-site/) domain-validated certificates for your onion site using HARICA, an operator founded by a nonprofit civil society from Greece. + +
+ +### Tor is for everyone to use + +Tor is a tool that can help so many people. But Tor isn't *only* for people in highly sensitive situations like whistleblowers and journalists, Tor is for everyone! + +Of course, people in more dangerous situations will *need* Tor to stay safe, but everyone can benefit from Tor's privacy protections in their daily lives. I personally use Tor when I am forced to visit Google Map. Not because it's dangerous to me, but just because I greatly dislike the idea of Google tracking my location activities. + +Tor can also help fighting surveillance capitalism! + +Moreover, you can considerably help people in dangerous situations by using Tor for trivial reasons like I do. + +By using Tor for banal activities, when you aren't in any danger worse than a nasty ad-attack, you help to normalize the use of Tor and add more noise to the traffic. The more people do this, the more using Tor becomes just something people do when they care about privacy online, and nothing more. + +### Who uses Tor? + +- Anyone who cares about privacy! +- Journalists who need to conduct research and protect their sources. +- Whistleblowers using special websites to communication information to newspapers anonymously. +- Democracy activists fighting against authoritarian governments who require anonymity online to stay safe from persecution. +- People living under oppressive regimes who need to circumvent their country's censorship to access information freely. +- Victims of domestic violence who need to research safe shelters and supportive resources without raising suspicion from their aggressor. +- LGBTQ+ people living in hostile environments who need to access information online and stay connected with their community. +- Generous people who want to [help and support](https://blog.torproject.org/support-tor-project-share-your-story/) all the above 💜 + +The Tor community has gathered this [wonderful collection of anonymous user stories](https://community.torproject.org/outreach/stories/) from people describing why they use Tor. + +### Tor is critical public infrastructure + +To keep Tor strong for everyone, it's essential to support and grow the network of volunteer-operated relays forming the Tor Network. + +Thousands of journalists and activists rely on the Tor Network every day to stay safe and to continue their important work. + +Furthermore, **countless privacy-oriented projects depend on the Tor Network**. + +To name only a few, the messaging applications [Briar](https://briarproject.org/), [Cwtch](https://docs.cwtch.im/), and [SimpleX](https://simplex.chat/) all use Tor to harden some of their privacy-preserving features. + +For whistleblowers to stay safe, both [SecureDrop](https://securedrop.org/) and [Hush Line](https://hushline.app/) use the Tor Network. Many [newsrooms around the world](https://securedrop.org/directory/) host onion services to protect sources, such as The Guardian in the UK, CBC in Canada, ProPublica in the US, and many more. + +There's also all the applications protecting people with the highest needs such as [Tails](https://tails.net/), [OnionShare](https://onionshare.org/), and [more](https://github.com/Polycarbohydrate/awesome-tor). + +**Losing the Tor Network would mean losing all the applications and features relying on it.** + +This would be disastrous for the privacy community, journalists, activists, dissidents, victims of domestic violence, LGBTQ+ population, and so many worldwide. + +From a human rights perspective, **we simply cannot afford to lose Tor**. + +## :octicons-question-16: Things to consider when using Tor + +### Tor compared to VPN protections + +When using a VPN, your ISP will not know which websites you visit online (or other activities). Your ISP will see that you are connecting to a VPN, but will not know what you do from there. Your VPN however *could* know which websites you visit. Using a VPN is a transfer of trust from your ISP. When using a VPN, you should always trust your VPN provider more than your ISP. + +The websites you visit will see the IP address of your VPN provider instead of yours. This can help protect your identity and location, but they will know this connection uses a VPN. + +VPNs can offer great benefits for your privacy. However, if your VPN provider was compelled by law to provide the logs of the websites you visited (or will visit), it is *technically* possible to do for them. + +When using the Tor Network correctly, no one knows which websites *you visited*, or other services you accessed. Your ISP or VPN provider will only know you have accessed Tor, but will not know which websites you have visited from there. Even if compelled by law, they could only share that you have accessed Tor, at this specific time. + +The websites you have visited also won't know who you are (unless you tell them). They will only know someone accessed their websites through Tor, at this specific time. + +The relays used for a Tor Circuit cannot alone re-recreate the link between your IP address and the websites you visit either. This offers much stronger protection for your privacy than a VPN does. + +### Who knows you are using Tor + +When using the Tor Network, your ISP and the Guard Relay will both know you (the IP address you are using) are using Tor. + +To prevent this, you [could](https://www.privacyguides.org/en/advanced/tor-overview/#safely-connecting-to-tor) use Tor from a [trustworthy VPN](https://www.privacyguides.org/en/vpn/). + +If you do so, your VPN provider will know you are using Tor, but your ISP will not. Your ISP will only see you are accessing your VPN, and the Tor Guard Relay will see your VPN's IP address instead of yours. + +### HTTPS for non-onion websites + +The Exit Relay from the Tor Circuit will see someone is accessing this website (or other service). + +If you were to use Tor to visit a non-onion website that isn't protected with HTTPS, and log in with your credentials, this Exit Relay *could* technically read this information. Using HTTPS with non-onion websites is *very* important when using Tor. Onion sites offer protections that are equivalent to HTTPS. + +### Be careful with files when using Tor + +While it's safe to visit secured websites through Tor, be careful when downloading files or opening documents. + +Depending on what kind of files it is, there are a number of problems that could arise. For example, it's a [bad idea](https://blog.torproject.org/blog/bittorrent-over-tor-isnt-good-idea) to download torrent files over Tor. Additionally, Tor will not protect you from downloading malware or exposing metadata with shared files. + +If you need to share files through Tor with a *trusted* contact, [OnionShare](https://www.privacyguides.org/en/file-sharing/#onionshare) is a good option. + +## :octicons-stop-16: Addressing misconceptions + +There has been misconceptions floating around about Tor. Most of them repeat similar misinformation attributed to many other privacy tools: Why using this if you have nothing to hide? But this argument is incredibly flawed and comes from a naive understanding of privacy rights and needs. + +Most people use privacy tools for protection, and everyone needs protection. Moreover, [privacy is a fundamental right](https://www.privacyguides.org/videos/2025/04/17/is-privacy-dead/) intrinsically connected to democracy and civil liberties. + +### The dark web, the deep web, and the surface web + +Some misconceptions have spread from confusion on what the *deep* web and the *dark* web are. Because yes, Tor is part of the dark web. + +While using the term "dark web" might make for great sensationalist news title, the dark web isn't anything to fear. + +It's not "dark" as in "dark intent" or the "dark side of the Force". It's really just dark as in "it's so dark on this road, I can't read the addresses around". + +This dark web needs special software, configuration, or authorization to access it. For example, **the Tor Browser is the streetlight you need to navigate on the Onion roads**. + +If you use Tor to visit the Privacy Guides onion site, you will be using the dark web. It's a website (or website version) that can only be accessed using a specialized tool. That's it! + +The dark web is part of the deep web, which is simply all the online information that isn't indexed by any standard web search engines. Aren't you happy your bank account is on the deep web? + +![Illustration of an iceberg where the tip above water represents the surface web, the part underwater represents the deep web, and the part under the iceberg represents the dark web.](../assets/images/in-praise-of-tor/tor-darkweb.webp) + + +### Criminals use envelopes, doors, and clothing too + +Some fear that Tor is used by criminals. While that might be true some criminals use Tor, a lot of people who aren't criminals at all also use Tor. + +This kind of argument really leads nowhere. Criminals also use Google, Facebook, and Twitter (a lot actually). Criminals use envelopes to hide their ransom letters, closed doors to hide their crimes, and clothing to conceal weapons! Are we going to forbid clothing because some (all?) criminals use clothing to hide their weapons? + +**We shouldn't ban clothing, and we shouldn't ban Tor either.** There are other better ways to catch criminals than removing a tool millions use to stay safe online. + +### Tor receives government funding + +Yes, Tor does receive government funding, and that's a good thing. A lot of nonprofit organizations receive government funding as a stable ([usually](https://www.privacyguides.org/articles/2025/02/03/the-future-of-privacy/#the-tools-you-use-might-depend-on-government-funding)) source of income. Our governments *should* be contributing financially to the tools we all use to improve our security and privacy for free, moreover if they are using it themselves. + +While any organization should thrive to diversify its sources of income to reduce its dependency on large contributors, it's not always easy to do. + +If you feel uneasy about a privacy tool you use receiving government funding, the best thing you can do to fight this is to [donate](https://donate.torproject.org/) directly to reduce its dependence to it. + +### Depending on where you are, using Tor is likely safe + +If you are not living under an oppressive regime with heavy censorship, it's likely that using Tor is safe for you, and will not put you on "a list". Even if it was putting you on "a list", it likely is a list full of great people working to defend human rights and privacy rights online. + +That being said, **if you are living in a region where using Tor is dangerous**, and could put you on a list of anti-regime dissidents, you *should absolutely* be careful and take special measures to hide your usage of Tor. + +Additionally, **if you are in a vulnerable situation** where an aggressor has access to your device or ISP information, and could hurt you if they knew you have used Tor, you should use a Tor Bridge and only [access Tor through Tails](https://www.privacyguides.org/articles/2025/01/29/installing-and-using-tails/). + +### Tor is fantastic for your privacy, but is not magical + +Tor is a great tool to improve your privacy online and make it much harder to identify you, your location, and the content you access online. However, it will not make you magically anonymous. + +If you use Tor with files containing metadata about you, this metadata can still identify you. + +If you use Tor to log in your Facebook account, then of course Facebook still knows it's you, and now also knows you are using Tor. + +If you use Tor to create a new account, but use an email address, phone number, username, or profile picture you used elsewhere when not connected through Tor, then your Tor activity can get linked to your previous activity. + +If you use Tor to reveal information so specific that only you, or only someone at your company, or only someone in this small government department could know, then of course authorities can identify you this way. + +You should also consider correlation in time when using Tor. If your activity is so specific that it can be narrowed down to only a few people, and your ISP or VPN knows you have accessed Tor at this specific time (and shares this information with authorities), a correlation in time could be enough to de-anonymize you. + +### Misconceptions are very detrimental to Tor, and other privacy tools + +We need to be extremely careful when spreading information that could be inaccurate or hasn't been verified when talking about Tor (or any other privacy tools). + +Misinformation can create mistaken fears and stop people from using a tool they would greatly benefit from. + +If someone is so scared of Tor because of some rumor they heard, that they continue their activism from the surface web instead, they could needlessly put themselves at risk. + +Furthermore, unjustified bad reputations can severely hurt funding for tools like Tor. This leads to less resources to continue developing the browser, the network, and to advocate for privacy everywhere. + +We all have a responsibility to verify which information we share with others, make sure we stop misinformation at its root, and correct harmful misconceptions everywhere we hear them. + +## :material-hand-heart-outline: Tor needs our support + +**Tor is at risk, and needs our help.** Despite its strength and history, Tor isn't safe from the same attacks oppressive regimes and misinformed legislators direct at encryption and many other privacy-enhancing technologies. + +Moreover, due to its US government funding, Tor has already been on the destruction path of the recent hectic government cuts. Thankfully, the US Agency for Global Media finally [rescinded the grant termination](https://www.theregister.com/2025/03/25/otf_tor_lets_encrypt_funding_lawsuit/?td=rt-3a) it had announced on March 15th to the Open Technology Fund, which the Tor Project benefits from. Sadly, considering the unpredictability of the current US administration, this doesn't mean the Tor Project is safe from cuts later on. + +As much as the Tor Network relies on generous volunteers to run it, the nonprofit Tor Project relies on grants and donations to survive. + +The good news is, we can help with both! + +The more individuals donate to the Tor Project, the less it depends on government funding, and the more stable its donation income becomes. + +Similarly, the more people volunteer to run a Tor relay, the more stable and reliable the Tor Network becomes. + +Tor is a privacy tool so many people, organizations, and applications need to stay safe and secure. It is **our collective responsibility to contribute what we can** to keep Tor strong and thriving for all of us. + +### How to support Tor + +There are many ways to help Tor survive and thrive! You can help by: + +- [Donating to the Tor Project (includes really neat merch!)](https://donate.torproject.org/) + +- [Spreading the word about Tor](https://community.torproject.org/outreach/) + +- [Joining the Tor community](https://community.torproject.org/) + +- [Making your website accessible as an onion service](https://community.torproject.org/onion-services/setup/) + +- [Asking your university to run a Tor relay](https://toruniversity.eff.org/) + +- [Running a Tor relay yourself](https://community.torproject.org/relay/) + +- [Running a Snowflake proxy to help fight censorship](https://community.torproject.org/relay/setup/snowflake/) + +- Using Tor for anything from important to trivial + +- Sharing this article 💜 + +## :octicons-bookmark-16: Onion sites you can visit using the Tor Browser + +- [Privacy Guides website](http://www.xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion/en/) 💛 +- [Privacy Guides forum](http://discuss.6xotdxvg7pexnean3xu6b7ivs7g52zcwsdbnz4mdm4byivc3yfv65aid.onion/) +- [Amnesty International](https://www.amnestyl337aduwuvpf57irfl54ggtnuera45ygcxzuftwxjvvmpuzqd.onion) +- [Electronic Frontier Foundation](https://www.iykpqm7jiradoeezzkhj7c4b33g4hbgfwelht2evxxeicbpjy44c7ead.onion/) +- [Freedom of the Press Foundation](http://fpfjxcrmw437h6z2xl3w4czl55kvkmxpapg37bbopsafdu7q454byxid.onion/) +- [Secure Drop directory (for whistleblowers)](http://sdolvtfhatvsysc6l34d65ymdwxcujausv7k5jk4cy5ttzhjoi6fzvyd.onion/directory/) +- [ProPublica](http://p53lf57qovyuvwsc6xnrppyply3vtqm7l6pcobkmyqsiofyeznfu5uqd.onion/) +- [Internet Archive](https://archivep75mbjunhxc6x4j5mwjmomyxb573v42baldlqu56ruil2oiad.onion/) +- [OnionShare (file sharing)](http://lldan5gahapx5k7iafb3s4ikijc4ni7gx5iywdflkba5y2ezyg6sjgyd.onion/) +- [Proton Mail](https://protonmailrmez3lotccipshtkleegetolb73fuirgj7r4o4vfu7ozyd.onion/) +- [Tor Project](http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion) + +*** + +For more in-depth information about Tor, you can consult our [Tor Overview](https://www.privacyguides.org/en/advanced/tor-overview/). + + + +--- + +**Update (5/6):** This article was updated to note [the importance of restarting Tor Browser](tor-security-slider-flaw.md) when changing security level settings. diff --git a/blog/posts/installing-and-using-tails.md b/blog/posts/installing-and-using-tails.md index 98f2e8b5d..9a5daa8ba 100644 --- a/blog/posts/installing-and-using-tails.md +++ b/blog/posts/installing-and-using-tails.md @@ -7,6 +7,8 @@ authors: - em description: When browsing the web at home becomes dangerous to your safety, there are tools that can help minimizing your digital traces to stay safe. Tails is one of these tools. Here's why, when, and how you can install and use Tails. schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/installing-and-using-tails/cover.webp --- # Using Tails When Your World Doesn't Feel Safe Anymore diff --git a/blog/posts/installing-keepassxc-and-yubikey.md b/blog/posts/installing-keepassxc-and-yubikey.md new file mode 100644 index 000000000..2a700fdcf --- /dev/null +++ b/blog/posts/installing-keepassxc-and-yubikey.md @@ -0,0 +1,426 @@ +--- +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 +preview: + cover: blog/assets/images/installing-keepassxc-and-yubikey/keepassxc-cover.webp +--- +# KeePassXC + YubiKey: How to set up a local-only password manager + +![Illustration showing a laptop computer with the KeePassXC logo on it. On the right is a green plus sign and a photo of a YubiKey.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-cover.webp) + + +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. + +## :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 + +
+

Operating systems

+ +This tutorial was completed using macOS, but your experience shouldn't be much different if you are using Linux or Windows. + +
+ +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. + +![Screenshot of the KeePassXC website download page.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-1-download.webp) + +
+

Verifying signatures

+ +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. + +
+ +Complete the process for your respective OS to install and open the application once verified. + +![Screenshot of the application installation window for KeePassXC on macOS.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-2-install.webp) + +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". + +![Screenshot of a macOS warning popup before opening an application that was downloaded from the Internet.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-3-installwarning.webp) + +
+

KeePassXC blocks screenshots by default

+ +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. + +
+ +### 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*. + +![Screenshot of the KeePassXC application showing the Settings section.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-4-settings.webp) + +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. + +![Screenshot of the KeePassXC application showing the Settings General section with the Backup database file before saving checkbox checked.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-5-backupprevious.webp) + +#### 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. + +
+

Offline only?

+ +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. + +
+ +![Screenshot of the KeePassXC application showing the Settings Security section with the checkbox for DuckDuckGo checked.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-6-duckduckgo.webp) + +### 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". + +
+

Importing an existing database

+ +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. + +
+ +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. + +![Screenshot of the KeePassXC application showing the popup to Create a new KeePassXC database.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-7-databasecreation.webp) + +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. + +![Screenshot of the KeePassXC application showing the popup to Create a new KeePassXC database in the Encryption Settings.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-8-databaseencryption.webp) + +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. + +![Screenshot of the KeePassXC application showing the popup to Generate Password.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-9-passwordgenerate.webp) + +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. + +
+

This step isn't over yet!

+ +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: + +
+ +## :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. + +
+Using a YubiKey will not add authentication per se (read more) + +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/). + +
+ +### 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. + +![Screenshot of the KeePassXC application showing the popup to Create a new KeePassXC database in the Database Credentials section and highlighting the Add Challenge-Response button.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-10-challengeresponse.webp) + +
+

YubiKey or OnlyKey

+ +You can also use an OnlyKey to secure your KeePassXC database in the same way. + +
+ +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. + +![Screenshot of the KeePassXC application showing the popup to Create a new KeePassXC database in the Database Credentials section when a YubiKey is plugged in.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-11-selectyubikey.webp) + +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. + +
+

Important! Unlocking your database

+ +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. + +
+ +## :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. + +![Screenshot of the KeePassXC application showing an empty database section.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-12-databasenew.webp) + +
+

Locking the database

+ +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). + +
+ +### 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. + +![Screenshot of the KeePassXC application showing the Add entry section filled with information.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-13-newentry.webp) + +
+

Keep your YubiKey plugged in when changing your database

+ +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. + +
+ +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. + +![Screenshot of the KeePassXC application showing the Add entry section in the Icon subsection.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-14-entryicons.webp) + +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. + +![Screenshot of the KeePassXC application showing the database section with one password entry filled.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-15-entrycreated.webp) + +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. + +![Screenshot of the KeePassXC application showing the database section with all three buttons Username, Password, and URL for entry pointed at with arrows.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-16-useentry.webp) + +
+

Accidental deletion danger!

+ +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. + +
+ +### 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. + +![Screenshot of the KeePassXC application showing the application menu with the Database dropdown menu rolled down and the Save Database Backup option selected.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-17-savedatabase.webp) + +#### 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. + +
+

Entry history

+ +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). + +
+ +### 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. + +![Screenshot of the KeePassXC website page to download the browser extension.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-18-downloadextension.webp) + +
+

Privacy warning

+ +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. + +
+ +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. + +![Screenshot of the KeePassXC application showing the Settings section in the Browser Integration subsection with the checkbox for Enable browser integration checked.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-19-browserintegration.webp) + +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 + +
+

You don't have to use the extension

+ +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. + +
+ +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). + +![Screenshot of the CryptPad website login page showing in the Username field the KeePassXC logo greyed out and marked with a red "X".](../assets/images/installing-keepassxc-and-yubikey/keepassxc-20-errorconnection.webp) + +#### Filling credentials using the extension + +
+

The database is connected but the logo is greyed out

+ +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. + +
+ +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. + +![Screenshot of the CryptPad website login page showing in the Username field the KeePassXC logo in green and both the credentials for Username and Password are filled.](../assets/images/installing-keepassxc-and-yubikey/keepassxc-21-credentialsextension.webp) + +
+

Congratulation! You're in!

+ +You are now logged in, thanks to KeePassXC! + +
+ +## :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. + + diff --git a/blog/posts/interview-with-micah-lee.md b/blog/posts/interview-with-micah-lee.md new file mode 100644 index 000000000..a00859285 --- /dev/null +++ b/blog/posts/interview-with-micah-lee.md @@ -0,0 +1,165 @@ +--- +date: + created: 2025-03-28T17:00:00Z +categories: + - News +authors: + - em +description: 'This article is an interview with Micah Lee, the creator of Cyd and OnionShare, founder of Lockdown Systems, and author of Hacks, Leaks, and Revelations: The Art of Analyzing Hacked and Leaked Data.' +schema_type: NewsArticle +preview: + cover: blog/assets/images/interview-with-micah-lee/social-preview-cover.webp +--- +# Interview with Micah Lee: Cyd, Lockdown Systems, OnionShare, and more + +![Photo of Micah Lee over a yellow and purple graphic background, and with the name Micah Lee written on the right.](../assets/images/interview-with-micah-lee/micah-lee-cover.webp) + + + +If you don't know who Micah Lee is yet, here's why you should: Micah is an information security engineer, a software engineer, a journalist, and an author who has built an impressive career developing software for the public good, and working with some of the most respected digital rights organizations in the United States. + +If you have been following software development related to data privacy and security for a while, you probably already know one of Micah's projects such as [OnionShare](https://onionshare.org/), [Dangerzone](https://dangerzone.rocks/), the [Tor Browser Launcher](https://github.com/torproject/torbrowser-launcher), and more recently [Cyd](https://cyd.social/) (a rebirth of Semiphemeral). Additionally, he is also a core contributor to the [Tor Project](https://www.torproject.org/) and a contributor to [Hush Line](https://hushline.app/). + +Besides software development, Micah is a board member for [Science & Design](https://scidsg.org/) and [Distributed Denial of Secrets](https://ddosecrets.com/), a former board member and cofounder of [Freedom of the Press Foundation](https://freedom.press), and has been a Staff Technologist for the [Electronic Frontier Foundation](https://www.eff.org/). + +You might have already read some of Micah's articles when he worked at [The Intercept](https://theintercept.com/staff/micah-lee/), or even read his new [book](https://hacksandleaks.com/) Hacks, Leaks, and Revelations: The Art of Analyzing Hacked and Leaked Data. + +We spoke with Micah over email and are delighted that he decided to talk with us at Privacy Guides. Let's get into it! + +***Em:*** *Hi Micah! We're thrilled that you have accepted to give us this interview at Privacy Guides. Thank you for taking time off your busy schedule to talk with us.* + +## Cyd: The app to claw back your data from Big Tech + +***Em:*** *Let's start with your newest project. [Cyd](https://cyd.social) is an application you have created in 2024 to help people backing up and deleting their tweets on X-(Twitter). This app emerged from the ashes of [Semiphemeral](https://micahflee.com/2024/07/like-a-phoenix-semiphemeral-will-rise-from-the-ashes/), a great tool that was unfortunately rendered unusable when Twitter decided to [shut off its API](https://mashable.com/article/twitter-ending-free-api-tier-elon-musk-worst-decision). I personally loved Semiphemeral and used it to delete thousands of my tweets before eventually deleting my whole Twitter account later on. Can you tell us more about how Cyd works despite not using X's API?* + +**Micah:** + +APIs make it way simpler for programmers to interact with online services, but they're not the only way. As long as social media platforms like X still run websites, and it's still possible for you, the human, to manually scroll through your tweets and delete them, it's possible to write a program that can do this for you. + +This is basically how Cyd works. It's a desktop app that includes an embedded web browser. When you add an X account to it, you login to your account in the browser, and then Cyd takes over. You can tell it that you want to delete your tweets, or likes, or bookmarks, or unfollow everyone, or save a backup of your DMs, or plenty of other things, and it does this by automating the embedded browser on your behalf. No API required. + +Cyd uses open APIs when they're available and make sense. For example, if you want to quit X but you don't want your old tweets to disappear forever, Cyd can migrate them to Bluesky using Bluesky's API -- soon we'll add support for migrating to Mastodon too. But for closed platforms that suck (like X, and Facebook too, which we're adding support for right now), we're forced to do it the hard way. + +***Em:*** *Talking about openness, recently this year you have decided to [make Cyd open source](https://infosec.exchange/@micahflee/113885066507235250). This is fantastic news! What did you take into consideration before making this decision and what kind of [contributions](https://github.com/lockdown-systems/cyd) or feedback are you hoping to receive from the community?* + +**Micah:** + +I'm extremely happy that Cyd is now open source. I've open-sourced most code that I've ever written, so it honestly felt kind of weird starting out making Cyd proprietary. + +My biggest concern with making it open was that I want Cyd to be a sustainable business, where some of the features are free and some of the features are premium and cost money -- enough so that me, and eventually other people working on it, could get paid a decent wage. And as an open source app, it would be easy for someone to fork it and remove the bits of code that check if you've paid for premium access. + +But after talking it through with some other people who are very experienced open source devs, I decided that this isn't that big of a deal, and that the benefits of being open source far outweigh the costs. + +Now when you use Cyd, you can now *confirm* that it doesn't have access to your social media accounts or any of the data in it. Having an open issue tracker on GitHub is great too, because people in the community can open issues, post comments, and track the progress of features they're looking forward to. Also being open source means we have the ability to accept grants and donations, in addition to selling premium accounts. You can check out our Open Collective page at [https://opencollective.com/lockdown-systems](https://opencollective.com/lockdown-systems). + +I'm hoping that members of the community will discuss features we're making, or even contribute code directly to our project. Right now, Cyd is only available in English, but we're also hoping to translate it into many different languages going forward, so I'm hoping that people will eventually chip in it to help translate Cyd to their native languages. + +***Em:*** *Having access to Cyd in multiple languages would really be wonderful. Likewise for multiple social media, when additional ones will be added later on. But at the moment, Cyd definitely seems to be [focusing](https://cyd.social/want-to-quit-x-in-2025-heres-how-to-do-it-the-right-way-with-cyd/) on X. You have personally been on the receiving end of Elon Musk's vengeful whims before when your Twitter account got [banned](https://micahflee.com/2023/05/elon-banned-me-from-twitter-for-doing-journalism-good-riddance/) in 2022 for criticizing him. I would say this qualifies as a badge of honor. Do you think you could still be on his radar with Cyd focusing on [data deletion for X](https://cyd.social/delete-all-your-tweets-for-free-with-cyd/) even though X has shut off its API? Have you taken any specific measures about this?* + +**Micah:** + +I think it's actually more likely that I'll be on Elon Musk's radar because of my [recent work](https://www.youtube.com/live/APHo7bea_p4?si=stSrkmo1MWy5_iVX&t=3338) with the Tesla Takedown movement than with Cyd... Right now, Musk is spending all of his time purging the US government of critics and consolidating executive power under Trump. So maybe he's too distracted on his fascism project to care about what we're doing with deleting tweets? + +But that said, Musk is litigious and we're definitely concerned about legal threats. We've consulted lawyers and we're trying to be as safe as possible. + +## Lockdown Systems: The new organization developing Cyd + +***Em:*** *Cyd is a project of [Lockdown Systems](https://lockdown.systems), a new organization you have created with colleagues just a few months ago. Can you tell us more about the structure of this organization and who else is involved?* + +**Micah:** + +We're still finalizing the paperwork, but Lockdown Systems is a new worker-owned collective! At the moment there are five of us: + +- me +- Jen, a former SecureDrop engineer who was the technical editor of my book and, for several years, my Dungeons & Dragons dungeon master +- Saptak, a talented human-rights-focused open source developer who I work with on OnionShare +- Yael, an investigative journalist friend who, among other things, broke a story with me about how Zoom had lied about supporting end-to-end encryption just as everyone started using it during the pandemic +- Akil, a talented newsroom engineer I worked closely with at The Intercept + +Most companies are owned by investors who only care about profit. They don't care about the workers, and they definitely don't care about the end-users of the software they make. This is why it's so common for tech companies to end up spying on their users and selling that data: it's an additional way to make a profit for their investors. + +We're different. Lockdown Systems is owned by its workers, and we don't have outside investors. We have all agreed to the explicit goals of: ensuring the well-being of our members; making tools that help fight fascism and authoritarianism; and prioritizing impact over profit. + +We make decisions by coming to consensus, and everyone in the collective gets paid the same wage. Even though I started Cyd, I don't have more say than anyone else. + +***Em:*** *That is such a great organizational structure for software development. Lockdown Systems really has an impressive team of skilled and dedicated people. Presently, it seems from the website and [GitHub page](https://github.com/lockdown-systems) that Lockdown Systems is focusing on developing and growing Cyd only. Are you planning on using Lockdown Systems mainly for Cyd or are you envisaging other applications getting added to Lockdown Systems in the near (or far) future?* + +**Micah:** + +So far, Cyd is our only product. There are many features we plan on building, and we also need to get it the point where it can fund our continued work. Most likely, this will be our main project for the near future. + +That said, we're definitely open to branching out. We make software that directly empowers individuals, helping them reclaim their autonomy and privacy. So if we see an opportunity to build something that will directly help people who are facing fascist threats -- whether it's supporting abortion access, keeping immigrants safe, helping communities organize mutual aid, etc. -- we will absolutely do it. + +***Em:*** *If one day some generous millionaire (let's keep it at millionaire, we all know what happens at billionaire) decided to give Lockdown Systems a huge budget bump no string attached, how would you like to grow the organization with this money?* + +**Micah:** + +One cool thing about being a member of a collective is that if this happened, the whole collective would brainstorm together and we'd come up with ideas that are far better than what I could come up with alone. But that said, I definitely have some thoughts. + +Right now, everyone is working part time, between about 10 and 30 hours a week each. If we had the resources, many of us would work on Cyd full-time, and we'd be able to offer benefits like health care and retirement contributions. We could also increase how many people are part of the collective, and build out new features at a much faster rate. + +In my mind, future Cyd will be a single app (possible available on mobile devices, not just desktop) where you can have total control over all of your data that's currently stored by tech companies (X, Facebook, Instagram, TikTok, LinkedIn, Reddit, Bluesky, Mastodon, Discord, Slack, Telegram, Amazon, Airbnb, Substack, and on and on). You can backup all your data and then have choice over where you want the rest of it: you can delete *everything*, or you can choose to keep your online presence that you're proud of. You can easily cross-post to multiple platforms, and also automatically delete your older posts from the corporate platforms, while keeping them live on the open ones. Or, however else you choose to do it. + +If we had a bigger team to pay for more labor, there's a lot that we could get done. + +***Em:*** *In the meantime, I imagine one million $1 donations could also help. If our readers would like to support the development of Lockdown Systems, they can make a [donation on this page](https://opencollective.com/lockdown-systems).* + +## OnionShare: The app to share files, host websites, and chat anonymously through Tor + +***Em:*** *Our community is likely familiar with this great application included in so many security and privacy-focused projects, including [Tails](https://tails.net/), [Qubes OS](https://www.qubes-os.org/), [Whonix](https://www.whonix.org/), and [Parrot OS](https://parrotsec.org/). What motivated you to create [OnionShare](https://onionshare.org) more than 10 years ago, and what do you think is the best way to use it now?* + +**Micah:** + +I made OnionShare in 2014 while I was helping journalists report on the Snowden documents. The big motivation was a border search: Glenn Greenwald's partner, David, traveled from Berlin, where he was visiting Laura Poitras, back to his home in Rio de Janeiro. He was carrying an encrypted hard drive, on an assignment for The Guardian. During his layover at Heathrow airport in London, UK authorities detained him and searched him. + +None of this was necessary. Using the internet, encryption, and Tor, it's possible to securely move documents around the world without putting anyone at risk at a border crossing. In fact, I was already doing something similar with journalists I was collaborating with on Snowden stories myself. To send someone secret documents, I'd first encrypt them using PGP, and then place them in a folder on my laptop. I'd start up a web server with a simple directory listing for that folder, and then make that web server accessible as a Tor onion service. + +While this wasn't too hard for me, an experienced Linux nerd, to set up, it would be very challenging for most people. I made OnionShare basically as a user-friendly way for anyone to be able to securely share files, peer-to-peer, without needing to first upload them to some third party service like Dropbox. + +Today, OnionShare has more features. It's basically like a graphical interface to do cool things with Tor onion services -- you can send files, but you can also turn your laptop into an anonymous dropbox so people can upload files to you, and you can quickly host onion websites and spin up temporary chatrooms too. And there are Android and iPhone apps! + +The last time I used OnionShare myself was last week. On my personal newsletter, I'm writing a [series of posts](https://micahflee.com/exploring-the-paramilitary-leaks/) exploring the Paramilitary Leaks, 200 GB of data from the American militia movement, obtained by an infiltrator name John Williams. While working on one of my posts, John used OnionShare to send me some additional documents. + +## Other projects and thoughts + +***Em:*** *You have been a prolific writer as a journalist for [The Intercept](https://theintercept.com/staff/micah-lee/), your own [Blog](https://micahflee.com/), and in January 2024 you [released](https://micahflee.com/2023/12/hacks-leaks-and-revelations-the-art-of-analyzing-hacked-and-leaked-data/) a book called Hacks, Leaks, and Revelations: The Art of Analyzing Hacked and Leaked Data. What is this book about, and who is it written for?* + +**Micah:** + +I spent many years reporting on hacked and leaked datasets, starting with the Snowden archive. Since then, I've seen the amount of hacked and leaked data grow exponentially. And at the same time, journalists and researchers -- the people who really need to dig through this data and find the good stories -- don't even know where to start. + +So that's what my book is, an interactive guide to downloading and exploring datasets. It doesn't require any prior knowledge, but it does get pretty technically, including two chapters teaching Python programming. If you're following along, near the beginning of the book you'll encrypt a USB hard drive and then download a copy of BlueLeaks to it -- hundreds of gigabytes of hacked police documents from the middle of the Black Lives Matter uprising in 2020. You'll use this dataset, along with several others, as examples as you learn how to make sense of data like this. + +You should definitely buy the book if you're interested and you can, but information wants to be free, so I also released the whole book under a Creative Commons license. You can read the whole thing online at [hacksandleaks.com](https://hacksandleaks.com/). + +***Em:*** *I can see how much of a valuable skill this is to learn for journalists and researchers in this day and age. Even if nothing compares to having a physical paper copy (in my opinion), it's wonderful that you share your book online for people who, for various reasons, cannot order a copy. You have worked or still work with the Electronic Frontier Foundation, Freedom of the Press Foundation, Science & Design, the Tor Project, and Distributed Denial of Secrets. Your contribution and commitment to digital rights is undeniable. From your experience, what are you envisioning for the future of digital rights activism?* + +**Micah:** + +I don't have all of the answers, but I do think that it's important for digital rights activists to meet the moment. Fascist politicians are gaining power around the world. The gap between the ultra rich and everyone else is wider than it's ever been before. Elon Musk has openly bought the US government, and the Trump-supporting oligarchs control all of our critical tech infrastructure. Climate change deniers and anti-vaxxers are the ones in charge right now, at least in the US. Things are pretty bad. + +Whatever we do, we should have the goal of shifting power away from the fascists and billionaires and towards everyone else. We need alternative platforms that are not only open and democratic, but also just as easy to use as the corporate walled gardens. We need digital rights, not to mention digital security, to fully integrate itself into the rest of the mass movements going on now, whether it's to save the planet from climate change, to protect immigrants getting sent to gulags, or to stop the genocide in Gaza. + +***Em:*** *Absolutely, and digital rights advocates and organizations undeniably have a crucial role to play in these movements. Finally, is there anything else you would like to share with us that we haven't discussed yet?* + +**Micah:** + +If you want to support Lockdown Systems and you work for an organization that might be interested in offering Cyd as a benefit to their employees, check out Cyd for Teams! If we can get organizations on board this will go a long way to making sure we can continue to get paid doing this work: [https://docs.cyd.social/docs/cyd-for-teams/intro](https://docs.cyd.social/docs/cyd-for-teams/intro) + +***Em:*** *Thank you so much Micah for taking the time to answer our questions today! The new projects you are working on are fascinating, and so important in the current landscape. I'm excited for more people to discover Cyd and Lockdown Systems, and will myself be following their evolution and expansion enthusiastically.* + +## Consider supporting Micah Lee's projects + +If you would like to follow Micah Lee's work and support his projects, consider: + +- [Following Micah Lee on Mastodon](https://infosec.exchange/@micahflee) + +- [Reading Micah Lee's Blog](https://micahflee.com/) + +- [Donating to Cyd and Lockdown Systems](https://opencollective.com/lockdown-systems) + +- [Signing up for Cyd for Teams](https://docs.cyd.social/docs/cyd-for-teams/sign-up) + +- [Getting a copy of Hacks, Leaks, and Revelations](https://hacksandleaks.com/) + +- [Contributing to one of Micah Lee's software](https://github.com/micahflee) diff --git a/blog/posts/keepassium-review.md b/blog/posts/keepassium-review.md new file mode 100644 index 000000000..4c8cdcdcb --- /dev/null +++ b/blog/posts/keepassium-review.md @@ -0,0 +1,696 @@ +--- +title: "KeePassium Review: A Flexible Password Manager for iOS and macOS" +template: review-article.html +schema_type: ReviewNewsArticle +date: + created: 2025-05-13T16:30:00Z +categories: + - Reviews +authors: + - em +description: "If you need a password manager for iOS or macOS that gives you full control over your data, KeePassium is a fantastic option. KeePassium offers some synchronization features, but keeps your password database offline by default. You choose who to trust to store your passwords, and you can change it whenever you want." +preview: + logo: blog/assets/images/keepassium-review/keepassium.svg +review: + type: SoftwareApplication + category: SecurityApplication + subcategory: Password Manager + name: KeePassium + price: 0 + website: https://keepassium.com/ + rating: 4.5 + pros: + - Open source. + - Free basic plan. + - Data portability. + - Offline-only option. + - No account or personal data required. + - Easy to use, beautiful, and customizable. + - Excellent documentation. + cons: + - AutoFill might not work for some websites and browsers. + - Some important features only available on paid plans. + - No app for Linux, Android, or Windows. +--- + +![The KeePassium logo over a yellow background showing Apple devices.](../assets/images/keepassium-review/keepassium-cover.webp) + + + +If you have been looking for a password manager giving you full control over your data, KeePassium is a fantastic option. The application available for iOS and macOS keeps your password database offline by default. KeePassium still offers synchronization and backup options, but allows you to choose which storage provider to trust with your database, and change it whenever you want. + +![KeePassium logo](../assets/images/keepassium-review/keepassium.svg){align=right itemprop="image"} + +[KeePassium](https://keepassium.com/) is a commercial open-source application made by KeePassium Labs, based in Luxembourg. + +Because it's open-source, anyone can inspect and download its [code](https://github.com/keepassium/KeePassium) if they wish. Anyone could even [build](https://github.com/keepassium/KeePassium?tab=readme-ov-file#is-it-free) the entire application by themselves, and use the advanced features completely for free. + +However, if you do not want to bother with code, you can use either the basic plan for free, or pay for a premium plan to access advanced features and to support the project. + +KeePassium is a [KeePass](https://keepass.info/)-compatible project. If you are already familiar with any software from the [KeePass ecosystem](https://github.com/lgg/awesome-keepass), you will feel right at home with KeePassium. + +KeePassium's strength resides in how it integrates KeePass' security and features into a well-rounded and well-designed application, that is very instinctive to use, while not compromising on flexibility and customizability. + +
+

The KeePassium application

+ +For this review, the words "KeePassium" and "application" refer to both the KeePassium iOS and macOS applications simultaneously, unless otherwise specified. The mobile application was tested first and will be more prominent in the examples and screenshots. + +
+ +## :material-apple: Platforms and Compatibility + +KeePassium is written in Apple's Swift programming language and is available for Apple devices. + +### Mobile + +- For iPhone and iPad, KeePassium works on iOS 17.0 or later. + +### Desktop + +- For Mac computers, KeePassium works on macOS 14.0 (Sonoma) or later. +- KeePassium is compatible with both Apple Silicon and Intel hardware. +- The desktop application is new and was [released](https://keepassium.com/blog/2024/12/keepassium-2.0/) on December 17th, 2024. + +### Apple Vision + +- For Apple Vision, KeePassium works on visionOS 1.0 or later. + +### Languages + +The KeePassium application is available in the following languages: English, Arabic, Czech, Dutch, French, German, Italian, Japanese, Korean, Polish, Portuguese, Russian, Simplified Chinese, Slovak, Spanish, Swedish, Thai, Traditional Chinese, Turkish, and Ukrainian. + +### Cross-compatibility + +One great strength of any applications derivative of KeePass is compatibility with other KeePass applications. This is due to implementing of the same `.kdbx` file format for password databases, and often sharing similar features as well. + +If you use KeePassium to store your passwords, you will be able to easily transfer your password database to other KeePass-compatible applications, and vice versa. This offers powerful portability for your password database. + +
+

File formats and encryption

+ +KeePassium supports the KDB, KDBX3, and KDBX4 file formats, and implements AES, ChaCha20, Twofish, and Argon2 for encryption algorithms. + +Even if compatibility with older database formats is available, it is recommended to use the more recent and [more secure](https://keepass.info/help/kb/kdbx_4.html) KDBX4 format. This latest format will be the default when you create a new database in KeePassium. + +
+ +This cross-compatibility is so versatile that you could, for example, use KeePassium on mobile but sync it with [KeePassXC](installing-keepassxc-and-yubikey.md) on desktop. + +Similarly, if you have a Mac computer but an Android phone, you could use KeePassium on desktop but KeePassDX on mobile, and so on and so forth. You can consult KeePassium's documentation for a list of all [compatible apps](https://support.keepassium.com/kb/compatible-apps/). + +
+

Testing compatibility

+ +If you plan on using KeePassium with cloud storage and synchronization between devices, make sure to test your settings well before adding all your passwords to it. + +
+ +Depending on your usage and settings, glitches in synchronization *could* corrupt your database file. This has more chances to happen if you use a cloud storage that isn't fully supported, or a KeePass-compatible application that isn't listed in KeePassium's documentation. + +Ideally, if you use synchronization, create a dummy database at first to test that synchronization works properly with your specific cloud configuration and between all the devices you use. + +It's also advisable to enable the backup feature and even keep a backup copy of your database file in a different directory. That way, if your main synced file were to get corrupted or lost somehow, you could always rely on this secondary backup. + +This is important because there is no remote database management done by KeePassium. **You are fully in control of your own data, but you are also fully responsible to protect it.** + +## :material-wallet-bifold-outline: Pricing + +KeePassium can be used completely for free! + +That being said, if you need advanced features, you might want to [pay](https://keepassium.com/pricing/) for a [Premium](https://keepassium.com/articles/why-upgrade-to-premium/) plan (monthly or yearly), or a Pro or Business plan. Fortunately, the monthly Premium plan is very affordable, allowing users to test the Premium features one month at the time before committing to a longer subscription. + +Alternatively, if you do not need any advanced features but would like to support the project, you could use the free plan and [donate](https://keepassium.com/donate/) a fix amount to KeePassium. + +#### Rent-to-own + +Something interesting about KeePassium Premium's plan is that it offers a "[rent-to-own](https://support.keepassium.com/kb/license-rent-own/)" license. This means that if you pay for a KeePassium subscription for 12 months or more, you will always "own" the features you've paid for, even if you stop paying. + +For example, if you pay for Premium for only one year then stop, you will keep access to all the Premium features that were available while you paid for Premium, but will not have access to new features added after your stopped paying. This is an excellent model that more applications should adopt. + +![Screenshot from the KeePassium website's Pricing page with a description of which features are included in each plan.](../assets/images/keepassium-review/keepassium-pricing.webp) + +## :octicons-shield-check-16: Security and Trust + +Security and trust are without a doubt the most important characteristics of a good password manager. + +While functionality and features are also important, there is no point in having a pretty application that doesn't safeguard your passwords properly. It would defeat the whole purpose of the password manager. + +KeePassium does not neglect security for convenience, and has done its homework to earn its users' trust. The database format it uses, its transparency with open source, and its independent security audit, are all factors contributing to build trust in KeePassium. + +### Trusted database format + +The application is using an encrypted database file format developed by [KeePass](https://en.wikipedia.org/wiki/KeePass), an open-source project with a good reputation in the security and privacy community. KeePass' code and formats are trusted by many other KeePass-compatible projects, including KeePassXC, KeeWeb, OneKeePass, ModernKeePass, MacPass, Keepass2Android, and [more](https://github.com/lgg/awesome-keepass). + +Even if the KeePassium application is relatively recent with its first [launch](https://keepassium.com/blog/2019/07/introducing-keepassium-for-ios/) in 2019, the formats it uses to secure password databases had many eyes on since the initial KeePass release in 2003. The fact that so many people have inspected, used, tested, and improved the security foundation of this file format through the years contributes to KeePassium's security as well. + +### Open-source code + +KeePassium was [created](https://keepassium.com/articles/who-created-keepassium/) by [Dr. Andrei Popleteev](https://popleteev.com/), who founded KeePassium Labs, and continues as its director to develop and maintain the app with a small team of [contributors](https://github.com/keepassium/KeePassium/graphs/contributors). Like KeePass, KeePassium's code is open-source under a [GNU General Public License](https://github.com/keepassium/KeePassium/blob/master/LICENSE.txt). + +Open-source code isn't magical, but it helps to build trust by providing full transparency. Because all of KeePassium's code is publicly accessible, anyone could inspect it. This can help to detect and reporting potential vulnerabilities early on, and quickly verifying any claims made. Of course, at least *some* independent qualified people have to inspect the code in order to make this meaningful at all. But this is true for any open-source projects. + +#### A note on KeePassium's open-source commercial model + +More precisely, KeePassium is a *commercial* open-source application. This means its code is fully open and available to inspect, download, and use (within its license's limits). However, users can also purchase paid plans to access advanced features, without having to build and manage the code themselves. + +Paid plans provide a source of revenue to KeePassium, which helps to maintain the application adequately to keep it compatible and secure, providing support to customers, and adding new features down the line. + +This commercial model can actually add stability to a project, making it more likely to survive long term. This is reassuring considering all the other KeePass-compatible projects that have stopped getting maintained and are unfortunately no longer usable. + +Furthermore, there is some [conflict](https://www.engadget.com/2011-01-09-the-gpl-the-app-store-and-you.html) between certain open-source licenses and publication on Apple's App Store. Because it isn't possible to download an iOS app outside of Apple's App Store (unless you adventure in the perilous waters of [jailbreaking](https://en.wikipedia.org/wiki/IOS_jailbreaking)), KeePassium and all other iOS apps are confined to operate within the App Store's requirements. + +Also for this reason, the KeePassium projects cannot accept external contributions to its code, but can still [accept contributions](https://github.com/keepassium/KeePassium?tab=readme-ov-file#how-to-contribute) for bug reports, feature suggestions, and translations. + +### Independent security audit (iOS) + +Perhaps one of the most compelling argument for trusting KeePassium is the [independent security audit](https://support.keepassium.com/kb/security-audits/) the iOS application went through last year. + +The Berlin-based cybersecurity firm [Cure53](https://en.wikipedia.org/wiki/Cure53) conducted a full evaluation and professional pentest of the mobile application in November 2024. + +The review included an audit of the source code, application, network communications, and the implemented cryptography. The few vulnerabilities found were all fixed following reception of the report. + +It's important to note that only KeePassium for iOS was audited, and not KeePassium for macOS, which was released after the audit. However, many aspects of KeePassium for iOS that were included in the audit are likely to be similar for KeePassium for macOS. + +Interestingly, Cure53 has [audited](https://cure53.de/) many other well-known security and privacy-focused or open-source applications such as Proton Pass, 1Password, Bitwarden, Obsidian, Mullvad VPN, Onion Browser, Threema, Briar, SecureDrop, Mastodon, and much [more](https://github.com/cure53/Publications). + +### Recommended by other applications + +Finally, if you already trust KeePassXC for your desktop password manager, know that KeePassium is one of the apps [suggested](https://keepassxc.org/docs/) by KeePassXC to use on iOS. + +## :octicons-lock-16: Privacy and Encryption + +Data privacy and encryption are fundamental aspects of any password managers. Because pretty much all data stored in a password manager is highly sensitive data, all data should be protected by strong end-to-end encryption. + +### Data collection + +On this point, KeePassium delivers. First, a quick look at Apple's privacy label indicates that "the developer does not collect any data from this app". This is a good start, and this description is true for both the iOS and macOS applications. + +![Screenshot from Apple's App Store for KeePassium's App Privacy label. The label states that the "developer does not collect any data from this app".](../assets/images/keepassium-review/keepassium-applelabel.webp) + +Second, in its current version, KeePassium's [Privacy Policy](https://keepassium.com/privacy/app/) is excellent. This is never a guarantee of course, but the app's [security audit](#independent-security-audit-ios) shows the Privacy Policy statements are likely founded. + +KeePassium separates its privacy policies for the application and the website. This is an excellent practice way too rarely adopted by companies. This approach provides much more clarity for what data is collected from where, and is a positive sign that an organization understands well data privacy legal requirements. + +The Privacy Policy for the app is detailed and thorough, which are essential qualities to any respectable privacy policies. + +It starts by stating clearly that KeePassium does not send any personal data to KeePassium Labs, the company developing the app. Then, it lists all instances where data *could* be collected through the purchase or use of KeePassium, and gives clear instructions on how to opt out for each. This is the kind of privacy policy that shows an organization genuinely values and understands data privacy. I highly encourage you to have a look at it from the link above. + +Worth noting as well, KeePassium's Privacy Policy for its *website* states it [does not use any cookies](https://keepassium.com/privacy/website/#our-use-of-cookies-and-tracking). This is certainly refreshing to read. + +### Encryption + +Although the application is compatible with older formats, KeePassium by default will use the newer KDBX4 file format to encrypt password databases. + +This is important because the KDBX4 format offers [significant security improvements](https://keepass.info/help/kb/kdbx_4.html) over the previous KDBX3 format. If you import an older database in KeePassium, it is recommended to upgrade it to KDBX4 and use a different main password for the upgraded database if you keep a backup of the previous one. + +
+

Upgrade from KDB to KDBX

+ +If you need to upgrade an older database file to the newest file format to benefit from better security and KeePassium's full functionality, you can follow KeePassium's [instructions](https://support.keepassium.com/kb/convert-kdb-kdbx/). + +
+ +To secure the database, and all the content included in it, KeePassium uses AES256, ChaCha20, Twofish, HMAC, and Argon2 (for KDBX4 only). Because the [KeePass database file format](https://keepass.info/help/kb/kdbx.html) (and so KeePassium's as well) encrypts the whole database, this means that not only passwords are encrypted but also usernames, website URLs, notes, attachments, etc. + +
+

Encrypting all data, not just passwords

+ +Encrypting all user data contained in a password manager entry is *extremely* important, because encrypting passwords only just isn't enough. + +In August 2022, the password manager [LastPass suffered a security breach](https://blog.lastpass.com/posts/notice-of-recent-security-incident) where users' password vaults (databases) were stolen from LastPass' servers. + +This is bad enough even with end-to-end encrypted data (because vaults with a weak main password could get cracked), but even worse than this, some important data like website URLs were *not encrypted at all*, so this information was [stolen in plain text](https://www.pwndefend.com/2022/12/24/lastpass-breach-the-danger-of-metadata/). + +This is the perfect example of why **encrypting all data *and* metadata** input by the user is *crucial* for data privacy and security. + +Additionally, the LastPass' breach is a great argument in favor of keeping one's password database *offline,* whenever possible. Something that KeePassium makes possible even by default. + +
+ +#### Encryption algorithms used by KeePassium + +[AES256](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard): The Advanced Encryption Standard (AES) is a trusted and commonly used block cipher symmetric-key algorithm. It was established in 2001 by NIST, the American National Institute of Standards and Technology. The number following the acronym describes the key size in bits (128, 192, or 256 bits). + +[Twofish](https://en.wikipedia.org/wiki/Twofish): Twofish is another block cipher symmetric-key algorithm, which KeePassium can use to secure databases, in 256-bit key size as well. Famous cryptographer Bruce Schneier was part of the team who designed Twofish. + +[ChaCha20](https://en.wikipedia.org/wiki/Salsa20#ChaCha_variant) (KDBX4 only): The ChaCha20 algorithm is a variant of Salsa20, both stream ciphers that encrypt and decrypt data in continuous stream instead of blocks. The number refers to the number of rounds in its structure. + +[HMAC](https://en.wikipedia.org/wiki/HMAC) (Key Derivative Function): Hash-based Message Authentication Code (HMAC) is a robust hash function. In KeePass-compatible apps, it is used to [verify](https://keepass.info/help/kb/kdbx.html#hbs) the integrity and authenticity of the database before decryption. + +[Argon2](https://en.wikipedia.org/wiki/Argon2) (Key Derivative Function, for KDBX4 only): Argon2 is a memory-hard function that offers better resistance against GPU cracking attacks compared to AES-KDF. Argon2 was the winner of the Password Hashing Competition in 2015. + +[AES-KDF](https://keepass.info/help/kb/kdbx_4.html#intro) (Key Derivative Function, for KDBX3 only): AES-KDF is a key derivative function based on AES. This method was previously used for the KDBX3 database format, but has since been replaced by Argon2 for KDBX4. This is partly because AES-KDF is not memory-hard, which makes it easier to crack for an attacker using modern technologies. + +![Screenshot from the iOS app showing the Encryption Settings.](../assets/images/keepassium-review/keepassium-encryptionoptions.webp){width="400"} + +## :octicons-apps-16: Usage and Features + +Once solid security and privacy protections have been confirmed, the second important part of a good password manager is how easy it is to use and the features it offers. + +In this regard, KeePassium excels again. Not only does KeePassium offer the features users familiar with KeePass-compatible applications will recognize, but importantly, it implements these features with a polished user interface and obvious consideration for accessibility and user experience. + +### Starting with KeePassium on iOS + +Installing the app from the App Store is a smooth process. Once installed, make sure to go in Apple's "Settings" > "KeePassium" > "Siri & Search" and disable the Siri options you are not using. Apple very annoyingly puts them all on by default for each new app installed. + +Additionally, you can follow KeePassium's [instructions](https://keepassium.com/privacy/app/) from its Privacy Policy to opt out of other Apple settings related to KeePassium. + +After installing the app, KeePassium will guide you step-by-step to set up an application PIN (you can also enable application lock with biometrics), and import or create a new database. + +If you are not familiar with it already, it's a good idea to read each popup from the welcome screen. + +
+ +![Screenshot from the iOS app showing the Welcome page after installation.](../assets/images/keepassium-review/keepassium-startwelcome.webp) + +![Screenshot from the iOS app showing the page giving options to either create a new database, add an existing database, or connect to a server.](../assets/images/keepassium-review/keepassium-startdatabase.webp) + +
+ +
+

Secure the application properly

+ +When prompted to select a Passcode to lock the application (which is different from the main password to secure your database), you will have the option to switch from the numeric keypad to a full alphanumeric keyboard. This is recommended to set up a stronger Passcode to protect the application, where your database(s) might be kept unlocked if you choose this option. + +
+ +If you create a new database to store your passwords, make sure to choose a [strong main password](https://www.privacyguides.org/en/basics/passwords-overview/#passwords) (or "Master Key") that is *unique*, *complex*, and *long*. + +KeePassium will guide you to determine if your main password is sufficiently strong. However, the app cannot know if you have used this password before, so you should make sure that you haven't and this main password is unique. + +
+

Be careful to remember your main password!

+ +This is the only password that cannot be stored in your password manager, so it's important to secure it properly and also ensure you can **remember it well**. + +Due to the nature of end-to-end encryption, there is no way for KeePassium to recover a lost password. Not remembering your main password could mean **getting locked out of your password database permanently**. + +
+ +After creating a new database, you will be prompted to unlock it with your new main password ("Master Key"). + +![Screenshot from the iOS app showing the New Database section.](../assets/images/keepassium-review/keepassium-newdatabase.webp){width="400"} + +After you have either created or imported a database, you are ready to explore KeePassium's features. + +### Starting with KeePassium on macOS + +To download KeePassium on macOS, you will need to go through Apple's App Store. Alternatively, you could also [build](https://github.com/keepassium/KeePassium) the application from the source code, but that is an entirely different process. + +![Screenshot from Apple's App Store on macOS showing the KeePassium page.](../assets/images/keepassium-review/keepassium-appstoremac.webp) + +Installing the application is a breeze, and the macOS app shares the same welcome sections and features the iOS version has, with a slightly different format. + +![Screenshot from the macOS app showing the Welcome page after installation.](../assets/images/keepassium-review/keepassium-startwelcomemac.webp) + +The application will guide you to either create or import a database, then you will recognize the same features described below for the iOS version. + +![Screenshot from the macOS app showing the New Database section.](../assets/images/keepassium-review/keepassium-newdatabasemac.webp) + +### Accessibility + +There are a few great accessibility features with KeePassium. First, KeePassium fully works with Apple's VoiceOver. To enable it on iPhone, you can go in the iOS "Settings" > "Accessibility" > "VoiceOver" and enable "VoiceOver". + +Second, from the KeePassium app you can tap on the "Settings" gear button on the lower-right to access the "Appearance" menu. From there, you will see a sliding option to adjust the entry's text size. This will change the size of the text in all entries' sections. You also have the option to change the font type from there. + +Additionally, when tapping on a Password in an entry section, you can quickly tap on the magnified "a" button (while the blue "Copied" overlay appears) to display the password in large font, with each character separated in an indexed table. + +
+ +![Screenshot from the iOS app showing the Appearance page from the Settings with the Text Size option.](../assets/images/keepassium-review/keepassium-textsize.webp) + +![Screenshot from the iOS app showing an entry's password selected with the large font option, which displays each character from a password in a separate indexed box.](../assets/images/keepassium-review/keepassium-largeindexedfont.webp) + +
+ +### Security features + +In the "Access Control" category of "Settings", there are some important options to customize the app's security features: + +#### App Protection + +This section gives options to secure the application itself. It includes using the device's biometric lock instead of the app's Passcode, changing the app's Passcode, and choosing when the app gets locked. + +#### Data Protection + +This section gives options to enable or disable if the database(s)' main password(s) is remembered locally in the device's secure keychain, or if it must be re-entered each time to unlock a database. It also allows you to choose when (if remembered) the database will lock itself again, how long to keep data (including copied passwords) in the device's clipboard, and other security preferences. + +A fun (and useful) feature you will find there is that you can decide what happens when the device is "shaken". This can be an important security feature for people in sensitive situations. + +
+ +![Screenshot from the iOS app showing the App Protection page from the Settings.](../assets/images/keepassium-review/keepassium-appprotection.webp) + +![Screenshot from the iOS app showing the Data Protection page from the Settings.](../assets/images/keepassium-review/keepassium-dataprotection.webp) + +
+ +#### Protection against weak passwords + +When first creating a database, KeePassium will indicate if the main password chosen is too weak and display a warning. + +This is an important security feature because **a database is only as protected as the strength of its main password**. It goes without saying the main password for a database should always be *unique* (has never been used elsewhere), *complex* (uses a variety of character types), and *long* (is long enough to not be vulnerable to brute-force attacks). + +Passwords chosen for each entry will also display an indicator of strength under each field. + +#### YubiKey support (Premium) + +For users with Premium plans, KeePassium offers [support for YubiKey](https://www.yubico.com/works-with-yubikey/catalog/keepassium/) to add extra protection to a database using the challenge-response implementation. + +The same feature is available on KeePassXC on desktop. For more details on this, you can check our [tutorial for KeePassXC](installing-keepassxc-and-yubikey.md), or our tutorial on [how to set up and back up a YubiKey](yubikey-reset-and-backup.md)'s challenge-response. + +#### Passwords audit (Premium) + +KeePassium offers to audit database's passwords for potential leaks. This feature works by comparing an obfuscated version of a password with the [Have I Been Pwned](https://haveibeenpwned.com/) service. The password is never shared externally during this process. This is helpful information to get an early warning and change a compromised password before the exposed account is attacked. + +### Groups and Smart Groups + +Before starting to add entries to a new database, it's a good idea to explore the Groups and Smart Groups features. Groups are directories that can be created inside a database to separate categories of passwords. + +Smart Groups are simply Groups created from a search query. If you imported a database already full of passwords, you might not feel like sorting them manually. Smart Groups will help to create Groups using queries to [categorize](https://support.keepassium.com/docs/smart-groups/) entries automatically. This can be very convenient to organize larger databases. + +When creating a new database, KeePassium will suggest some Groups, which you can be used as provided, changed, or deleted. To add a new Group or Smart Group, tap on the 3-dot button on the upper-right from inside a database and select "New Group" or "New Smart Group". + +![Screenshot from the iOS app showing different groups created within a database.](../assets/images/keepassium-review/keepassium-groups.webp){width="400"} + +
+

Separate databases vs Groups

+ +Using separate databases for different categories of passwords, for example one database for personal passwords, work-related passwords, and family-shared passwords is a good idea because it takes advantage of compartmentalization to add extra security and privacy. + +Each database will have its own main password, and if one database were to get compromised, the others might still be protected. KeePassium's free plan only allow to use *one* database at the time, however. + +Groups mainly serve to organize passwords and do not provide any additional security, privacy, or portability like separate databases do. For free plan users, Groups can still be a great feature to separate passwords when it isn't a security issue to encrypt them all together using a same main password. + +
+ +### Entry options + +Once inside a database, users can add a new entry there or first create/enter a Group directory. To create a new entry, tap on the 3-dot menu on the upper-right, then select "New Entry". + +Each New Entry section will include a field for the entry's name, choice of icon (or option to download the service's favicon), "User Name", "Password", "URL", "Tags", "Notes", and option to "Set up one-time password (OTP)". + +Tapping the plus-sign button at the top will create a new custom text field for an entry. Enabling the "Protected Field" option on the lower-right will hide this field as if it was a password field. That being said, all fields from an entry will be fully encrypted with the database. + +
+ +![Screenshot from the iOS app showing a New Entry page with various empty fields.](../assets/images/keepassium-review/keepassium-newentry.webp) + +![Screenshot from the iOS app showing the page within a Group with four different entries.](../assets/images/keepassium-review/keepassium-entries.webp) + +
+ +An entry section from macOS: + +![Screenshot from the macOS app showing an entry section with the "User Name", "Password", "URL", "Tags", and "Notes" fields filled.](../assets/images/keepassium-review/keepassium-entrymac.webp) + +Finally, to edit, move, copy or delete an entry on iOS, a long press over its name from the directory will show these options. Swiping left on a password entry will also show the edit and delete options. + +![Screenshot from the iOS app showing the options Edit, Move, Copy, and Delete when long-pressing on a listed entry.](../assets/images/keepassium-review/keepassium-moveentry.webp){width="400"} + +### Password generator + +Conveniently, KeePassium includes a password generator. This is a common feature for password managers, and KeePassium implements this feature very well. + +The generator can be used from either the die-shaped button on the right of every password field, the tool-shaped button menu on the lower-left from inside a database selecting "Random Generator", or the die-shaped button on the lower-left from the "Databases" section. The latter is a nice touch if you ever need to generate a random string while your database is locked. + +Each time you open the Random Generator, it will automatically generate new random strings for all 3 modes: Basic, Expert, and Passphrase. + +
+ +![Screenshot from the iOS app showing the tool menu from within a database. The menu shows options for "Random Generator", "Password Audit", "Download Favicons", "Print", "Change Master Key", "Encryption Settings", and "Lock Database".](../assets/images/keepassium-review/keepassium-databaseoptions.webp) + +![Screenshot from the iOS app showing the Random Generator page that displays three random passwords for "Basic", "Expert", and "Passphrase".](../assets/images/keepassium-review/keepassium-generator.webp) + +
+ +The Random Generator can also be customized. To customize each mode, tap on the gears-shaped button on the upper-right of the generator and change the mode to adjust the parameters for each. The app will remember the parameters every time it is used. + +The customization for Passphrase does not include the options for "MIXED" case at this time, however, considering this option was just added to KeePassXC last month, maybe it will be added to KeePassium as well in the near future. + +![Screenshot from the macOS app showing the Random Generator page that displays the options to adjust for generated passphrase.](../assets/images/keepassium-review/keepassium-generatormac.webp) + +### One-Time Password (OTP) + +KeePassium offers the option to store one-time password codes with each entry. This can be a convenient way to manage second-factor of authentication, and keep these codes stored locally only. + +However, this can also introduce additional risks. If a database file was to get compromised at some point, it would also compromise all the OTP codes within it, making this second-factor protection useless against an attack of the whole database. + +If this isn't a risk you are concerned with, then KeePassium's OTP can be a useful feature. + +OTP codes are easy to set up and can be entered manually or using a QR code. Once set up, the code will be displayed as a field in the entry. Tap on it to copy it. + +
+ +![Screenshot from the iOS app showing an entry for Mastodon Social with all credential fields filled, and an arrow pointing at a One-Time Password code.](../assets/images/keepassium-review/keepassium-otp.webp) + +![Screenshot from the iOS app showing an Entry page with the option to "Set up one-time password (OTP)" selected at the bottom and displaying a menu with the options "Scan QR code" and "Enter manually".](../assets/images/keepassium-review/keepassium-otpentry.webp) + +
+ +### AutoFill + +Depending on your usage, AutoFill can be an important feature for a password manager. AutoFill will allow KeePassium to recognize a login page and automatically fill all in the login credentials. + +To ensure AutoFill works smoothly, it's important to enter the correct website URL for each entry, specifically the page's URL where the credentials will be required. + +Ultimately, it's possible some websites will just not work with KeePassium's AutoFill. Some [issues](https://github.com/keepassium/KeePassium/issues/405) have been experienced while testing the app for this review. If you experience the same issue with a website, you can simply copy-paste the credentials manually in each corresponding field. + +
+

AutoFill issues for some websites

+ +A possible cause of AutoFill issues can be an incorrect entry URL that isn't the proper "Caller ID". To troubleshoot this, you can consult KeePassium's helpful [instructions](https://support.keepassium.com/kb/autofill-matching/) here. + +
+ +#### AutoFill for iOS + +When set up correctly on iOS, a "Passwords" button should appear above the keyboard for websites where credentials have been stored in your database. If it doesn't, this could mean AutoFill was not set up properly from the [iOS Settings](https://support.keepassium.com/kb/autofill-setup-ios/). + +![Screenshot from a mobile browser with the login page for mastodon.social displaying empty credential fields and iOS showing a "Passwords" button over the keyboard.](../assets/images/keepassium-review/keepassium-autofill.webp){width="400"} + +#### AutoFill for macOS + +There isn't a browser extension available for KeePassium on macOS. The desktop AutoFill feature integrates with the system as a [credential provider](https://www.reddit.com/r/KeePassium/comments/1isvjjd/comment/mdsbwwc/). Browser implementation depends on how each browser integrates this function. The desktop AutoFill feature does work flawlessly with Safari. + +To set up AutoFill for KeePassium, you will have to enable it from the [macOS Settings](https://support.keepassium.com/kb/autofill-setup-macos/). KeePassium will guide you through the process with clear instructions to follow: + +![Screenshot from the macOS app showing a setting popup to "Uncheck Keychain" with the option to enable KeePassium instead.](../assets/images/keepassium-review/keepassium-autofillmac.webp) + +Once enabled, every website with a corresponding URL in your database will display a small key icon on the right of the credential fields. + +![Screenshot from Safari showing the cryptpad.fr login page and a key icon on the right of the Username empty field, with the option on the left to select either KeePassium or Keychain to fill the credentials.](../assets/images/keepassium-review/keepassium-loginsafarimac.webp) + +Despite lacking a browser extension, integration with Safari and the macOS ecosystem works smoothly, and it will work with applications that aren't browsers as well. + +![Screenshot from the ProtonDrive login popup in macOS showing a menu over the Password field to select either KeePassium or Keychain to fill the credentials.](../assets/images/keepassium-review/keepassium-loginappmac.webp) + +### Backups + +Backing up your database is essential with any KeePass-compatible app. Because there is no remote backup automatically stored by the application, you become responsible for protecting this data properly. + +KeePassium offers many options to help users back up their databases. + +#### Enable backup copies + +The option to back up local copies automatically will be enabled by default. You can disable it if you prefer (ideally not), or enable the option to "Show Backup Files" in "Settings" > "Database Backup". You can also adjust for how long you wish to keep the local backups (the default value is 2 months). + +#### Exclude from iCloud/iTunes + +There is an important feature to exclude your database file and KeePassium's backups of your database from your device's iCloud or iTunes backups. If you do not trust Apple with your encrypted database, you should enable this everywhere (excluding from iCloud/iTunes is disabled by default). + +If your database is stored locally (you might not see the option otherwise): From the "Databases" page, tap on the 3-dot button right to your database name (not the *circled* 3-dot button at the top, the one below). Then tap on "File Info" and *enable* the option "Exclude From iCloud/iTunes Backup" to make sure your database file stays outside your device's iCloud or iTunes backups. + +Secondly, to also exclude the backups created by KeePassium, inside a database tap on the "Settings" gear button on the lower-right, then "Database Backup", and *enable* "Exclude Backup Files from System Backup". + +
+ +![Screenshot from the iOS app showing the File Info page for a database, with the "Exclude From iCloud/iTunes Backup" option enabled in green.](../assets/images/keepassium-review/keepassium-fileinfo.webp) + +![Screenshot from the iOS app showing the Database backup page from Settings with the "Exclude Backup Files from System Backup" option enabled in green.](../assets/images/keepassium-review/keepassium-backup.webp) + +
+ +You will find the same option on macOS: + +![Screenshot from the macOS app showing the File Info for a database, with the "Exclude From iCloud/iTunes Backup" option enabled in yellow.](../assets/images/keepassium-review/keepassium-fileinfomac.webp) + +#### Auto-delete backup files + +You can choose the backup files to get deleted automatically after a certain period of time. For this, go to "Settings" then the "Database Backup" again, and scroll down to "Keep Backup Files". Select a retention period that is secure for your threat model. You can also tap on "Delete ALL Backup Files" below to delete all backups at any time. + +#### Manual backups + +Finally, you can simply back up your database `.kdbx` file manually. For this you have the options to transfer the file from KeePassium via cable, cloud storage, local network, AirDrop, email, or even Signal's [Note to Self](https://support.signal.org/hc/en-us/articles/360043272451-Note-to-Self)! + +To [transfer](https://support.keepassium.com/kb/database-transfer/) your database file entirely offline to another Apple device, connect your device together via USB cable and follow these [instructions](https://support.apple.com/en-gb/guide/mac-help/mchl4bd77d3a/mac). + +If you stored your database locally on iPhone, you will find the file in Apple's "Files" > "On My iPhone" > "KeePassium". From there, you can long press the file to see options to move or share it. + +![Screenshot from the iOS Files showing the menu from a long-press over the local database file with the option to "Move" the file circled.](../assets/images/keepassium-review/keepassium-movedatabase.webp){width="400"} + +#### Restore database from backup + +If you encounter any errors while managing your database, you can always restore it from a backup. Keeping multiple backup versions is a good idea to ensure you always have a functional file. Glitches and bugs are more likely to happen if you handle your database in unusual ways, with other software that may not have been tested for this usage yet. + +Restoring a database in KeePassium is a very straightforward operation. In the "Databases" section, tap on the 3-dot button on the upper-right, then select "Show Backup Files", if it isn't already on. Follow KeePassium's [instructions to restore](https://support.keepassium.com/kb/restore-backup/) a previous version. + +### Synchronization and direct connection + +While you can use KeePassium entirely offline, the app also offers options to synchronize your database with other KeePassium installations or other KeePass-compatible applications. + +There are two ways to do this. You can either simply store your database file in a cloud service of your choice and let KeePassium access this file, or you can use KeePassium's direct connection with certain cloud providers. + +You can see these two options from the app in "Settings" > "Network Access". From there, you have the option to select "Stay Offline", for maximum privacy, or "Allow Network Access", for maximum functionality. + +Whether you choose simple file synchronization or a direct connection, you can consult [this list](https://support.keepassium.com/kb/sync/) of cloud storage providers that have been tested by the KeePassium team and users to determine if your provider is supported. + +#### Stay offline, and synchronize through a cloud provider (recommended) + +This is KeePassium's [recommended method](https://keepassium.com/articles/cloud-sync-sandboxing/) to synchronize your database file(s) while maximizing privacy and minimizing external accesses. By default, KeePassium will remain offline, but you can store your database file with a cloud provider of your choice. + +This way, your cloud provider will manage the network communication, and KeePassium will only take care of decrypting your database. Because of system-enforced sandboxing, KeePassium will not have access to anything else on your cloud storage, only the database file(s) your have granted it access to. + +For example, you can store your database file on a cloud storage of your choice, then open it from KeePassium for iOS and also from KeePassXC on desktop. Both applications will access and manage the same file, therefore synchronizing your database. + +Be careful however when modifying your database. If synchronization isn't handled properly, this could cause errors that could corrupt your file. This is why it's important to test your setting first, and a good practice to keep a backup in a secure secondary location. + +![Screenshot from the iOS app showing the Network Access page with the option "Stay Offline" selected.](../assets/images/keepassium-review/keepassium-offline.webp){width="400"} + +
+Synchronization through Proton Drive + +Proton Drive isn't part of the recommended and tested list of cloud providers for KeePassium. However, it was briefly tested during this review. + +Between KeePassium iOS and KeePassXC on desktop, some synchronization was possible through Proton Drive, but with mixed results. + +To make it work, first the Proton Drive app needed to stay unprotected by a PIN or biometrics, which isn't ideal if you have other sensitive files on this drive. There was also some delay to sync the database between mobile and desktop, and a few bugs occurred while testing. + +That being said, synchronization was *possible* through Proton Drive between KeePassium for iOS and KeePassXC on desktop, but maybe not recommended. If you choose this setup for yourself, it is *strongly* recommended to conduct adequate testing first using a dummy database, and once set up with your actual database, to keep a secondary backup in a separate location. + +Testing couldn't make synchronization work between KeePassium iOS and KeePassium macOS through Proton Drive. Issues seem to come from conflict resolutions on the Proton Drive side. Of course, because Proton Drive isn't even listed by KeePassium as a supported storage, this was simply conducted as an experiment and not an expectation. + +Because many of our readers might use Proton Drive as a cloud provider, just be aware it probably isn't a usable synchronization solution at this time. + +Using Proton Drive to simply back up a password database file manually without synchronization is still a viable option, however. + +
+ +#### Allow network access, to connect directly from KeePassium + +In 2022, KeePassium added direct connection options for certain cloud storage providers as a workaround solution for providers that were not integrating well with the system. This should however be a secondary choice only, as it will have some downsides for your data privacy. + +You can find this option from the "Data Encryption" welcome window at the start where you can either create a database, import a database, or "Connect to Server". + +Although KeePassium will only use what is necessary for this functionality, it [will access](https://keepassium.com/privacy/app/#direct-connections) more data than with the "Stay Offline" synchronization option. The data used for this functionality will however remain between your device and the cloud provider. + +#### Supported cloud storage providers + +KeePassium offers full support for iCloud Drive, Box, Dropbox, Google Drive, OneDrive, Resilio Sync, Nextcloud, SFTP / WebDAV, and limited support for Mega and Cryptomator. + +You might be able to make it work with cloud providers that aren't listed here. However, if you decide to use a provider that isn't fully supported, make sure to properly test your setup with a dummy database first. + +### Additional features + +This review focused testing on the most commonly used features that are accessible from a free plan. Nonetheless, KeePassium offers many more features, and additional ones for paid plans. Here's a summary of some other interesting features that have not been covered yet: + +#### Passkeys + +Since December 2024, KeePassium added [support](https://keepassium.com/blog/2024/12/keepassium-2.0/#passkey-support) for passkeys with its 2.0 release. + +#### Family sharing (Premium) + +You can use Apple's Family Sharing feature to [share](https://support.keepassium.com/kb/family-sharing/) your KeePassium paid license with your family members. + +#### Multiple databases (Premium) + +With a paid plan, it's possible to create or import multiple databases with KeePassium. This can be very convenient if you use a separate database for work and for your personal life, for example. + +#### Printing database + +KeePassium has a quick option to print an entire database in plain text, in an easy-to-read format. If this is secure for you, it can be a convenient way to keep a backup paper copy of all your passwords in case of emergency (or for inheritance purposes). + +To do this, while inside your database tap on the tool-shaped button on the lower-left, then select "Print". Of course make sure to secure this printed data *very well*, as it could be your weakest link. + +
+

Important security warning!

+ +Depending on your printer's settings, you should be *very careful* when using the print function. This data will be sent in plain text to your printer, and even perhaps through a network (depending on your printer's settings). + +This **can represent a very high security risk**, depending on your printer setup and situation. The file with your plain text passwords could also remain stored in the printer's queue! + +The print function can be [disabled](https://support.keepassium.com/docs/mdm-appconfig/#allowDatabasePrint) for users with a Business license. + +
+ +![Screenshot from the iOS app showing a preview to print a database file in plain text. The file lists the database name at the top, then each group, and within each group all entries' credentials including usernames, passwords in plain text, URL, and notes.](../assets/images/keepassium-review/keepassium-print.webp) + +#### Read-only database + +You can protect a database from accidental changes by enabling this option. This will prevent any entries from being added, removed, or modified. + +It can be very useful if you have installed the app for someone who isn't comfortable with technology and want to make sure they cannot inadvertently delete an entry, for example. + +To enable it from KeePassium on iOS, go to the "Databases" section, long press on your database file, select "Database Settings", then enable "Read Only" at the top. + +#### File storage (attachments) + +You can use your database to store files! + +It's probably best to stay reasonable with this because files will quickly make your database very heavy. This could significantly slow down the encryption and decryption processes. + +That being said, it's a great way to store more sensitive files securely. The files will be encrypted with your database. + +You can either add files to an entry already created, or create a new entry named "Files" (or anything else you wish) to store all of your files together. + +To add a file, select the paperclip-icon tab at the top of an entry, then tap the plus-sign button at the bottom. Your files (attachments) will be accessible from any other KeePass-compatible application, like KeePassXC for example. + +![Screenshot from the macOS app showing the section tab within an Entry to add and view attachment files.](../assets/images/keepassium-review/keepassium-attachmentmac.webp) + +Interestingly, KeePassium even uses a quite decent PDF viewer on iOS: + +![Screenshot from the iOS app showing a preview for a PDF file, in this case the document for Privacy by Design by Ann Cavoukian.](../assets/images/keepassium-review/keepassium-pdfviewer.webp){width="400"} + +## :material-thumb-up-outline: Nice to have + +- You can see what was added, changed, or fixed for each KeePassium version from "Settings" in the "What's New" section. + +- You can change the KeePassium and database icons from "Settings" > "Appearance" > in "App Icon" and "Database Icons". + +- KeePassium has [excellent documentation](https://support.keepassium.com/)! This is handy to learn about features or to troubleshoot if you encounter any errors. + +- You can see the full credits for the app from "Settings" in the "About KeePassium" section. + +
+

Check the credits!

+ +KeePassium not only credits its direct contributors but also lists credits for each graphics, code, and encryption algorithms used. You will find the same list of credits on KeePassium's GitHub [page](https://github.com/keepassium/KeePassium?tab=readme-ov-file#author-and-credits). This is a wonderful idea that more software should get inspired by. + +
+ +## :material-thumb-down-outline: Downsides + +Even if KeePassium is a great secure application that is easy and pleasant to use, there are still a few downsides that should be mentioned: + +- People with older versions of iOS or macOS will unfortunately not be able to use the application at all. + +- KeePassium only works in the Apple ecosystem, and there are no versions for other systems at this time. + +- If you are using a cloud provider that doesn't work smoothly with KeePassium and you need synchronization, you will unfortunately need to synchronize your database manually or change your cloud storage provider. + +- AutoFill on iOS might not work for every account. This can be an inconvenience depending on your usage and which of your accounts (if any) are impacted. + +- AutoFill on macOS might not work with your favorite browser (if it isn't Safari). + +## :octicons-key-16: Conclusion + +Overall, KeePassium is a privacy-focused, offline-first application, that has clearly prioritized user experience and user interface, while not neglecting security and privacy. + +When used with the basic and supported settings, it works fairly smoothly and allows enough customization to adapt to a variety of user needs and situations. + +The fact that KeePassium allows full compatibility with most other KeePass-compatible applications is an immense benefit compared to proprietary password managers. + +If you already keep your database in the KeePass file format, there are no downsides in trying KeePassium. If you aren't using this database format yet, this is a great opportunity to start and free yourself from locked-in systems that secure your precious passwords with obscurity rather than with openness. + + diff --git a/blog/posts/mastodon-privacy-and-security.md b/blog/posts/mastodon-privacy-and-security.md new file mode 100644 index 000000000..c6d475149 --- /dev/null +++ b/blog/posts/mastodon-privacy-and-security.md @@ -0,0 +1,365 @@ +--- +date: + created: 2025-07-15T17:00:00Z + updated: 2025-07-22T20:00:00Z +categories: + - Explainers +authors: + - em +tags: + - Mastodon +description: While most social media rely on commercial models harvesting users' data, Mastodon offers an alternative that doesn't seek profits from your data and attention. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/mastodon-privacy-and-security/mastodon-cover.webp +--- + +# Privacy and Security on Mastodon + +![The Mastodon name and logo over a dark purple background with a large purple padlock icon under it.](../assets/images/mastodon-privacy-and-security/mastodon-cover.webp) + + + +Mastodon is an open-source and decentralized social network that has been growing in popularity for the past few years. + +While most social media rely on commercial models harvesting users' data to sell to advertisers, Mastodon offers a human-centric alternative that doesn't seek profits from your data and attention. This means better social connections, better controls, and better privacy. + +Mastodon doesn't use your data to make money. This fact alone comes with incredible benefits for data privacy and security. Because the goal isn't to collect as much information as possible on its users, Mastodon embraces data minimization and only requires providing what is truly needed to run the service for you. + +This article is the first of a **series of two** on Mastodon, covering a general overview of the privacy and security benefits of Mastodon. The [second article](mastodon-tutorial-privacy-and-security.md) will delve into specific settings you can adjust to improve your privacy as a Mastodon user. + +If you do not have a Mastodon account yet, but would like to learn more about its privacy and security practices and features before creating one, this first article will give you an overview of what they are. + +If you're still unsure about using Mastodon, [this excellent video](https://news.elenarossini.com/fediverse-video/) from Elena Rossini might convince you. + +
+

Mastodon the software vs the network vs the instance

+ +Unless otherwise specified, the word *Mastodon* in this article will refer to the Mastodon *software,* in its default version. The Mastodon *software* is different from the Mastodon.Social original *instance* (server), and is different from the Mastodon *network*. + +**Mastodon software**: The software used by people on the Mastodon network, and installed by administrators to run an instance (what you see). + +**Mastodon network**: The network of interconnected instances using the Mastodon software (all the different Mastodon instances you interact with). The Mastodon network also connects to the larger Fediverse network. + +**Mastodon.Social, the instance**: The largest Mastodon server, managed and moderated by the Mastodon nonprofit organization. + +
+ +One of the wonderful possibility Mastodon offers is to [self-host your own Mastodon instance](https://docs.joinmastodon.org/user/run-your-own/). While this is the pinnacle of control, security, and privacy for a skilled administrator, self-hosting also means more responsibilities, where more expertise and resources are required. This isn't realistically accessible to everyone. + +For this reason, this article will focus on the experience from the **user side**, not the administrator side. + +## :octicons-home-16: Choosing a Mastodon instance + +The biggest distinction of Mastodon compared to commercial social media is its true decentralization. + +The Mastodon network is composed of a [multiplicity of instances](https://joinmastodon.org/servers) that connect with each other, through a protocol called [ActivityPub](https://docs.joinmastodon.org/#fediverse). This collection of connected instances, along with other connected software using the same protocol, is called [the Fediverse](https://jointhefediverse.net/). + +![Screenshot of the official Mastodon website from the page presenting various Mastodon instances.](../assets/images/mastodon-privacy-and-security/mastodon-choosing-instance.webp) + +This article will not go deep into this topic, but it's important to mention that different instances will offer different degrees of privacy and security. Choosing an instance can have an important impact on this. + +This is because the administration team of each instance has the responsibility to configure the software properly, to keep it updated, and to safeguard the server hosting the data. This in itself implies many security duties. It's important to consider the capabilities of the administration team to secure the instance you choose to join. + +Moreover, even when the security part of hosting is well managed, the administration team is also responsible for enforcing policies and moderation. The quality of moderation can have a significant impact on the safety and privacy of a community. + +Choosing an instance where you trust the administration and moderation team is essential to have a good and secure experience on the network. This is true for any other social media as well, even the ones that sadly don't offer any option to move your account if you aren't happy with management. + +To facilitate choosing an instance, the Mastodon official website keeps a list of instances that have all agreed to follow the [Mastodon Server Covenant](https://joinmastodon.org/covenant), committing to the following: + +- Enforcing active moderation against racism, sexism, homophobia, and transphobia + +- Conducting daily backup to avoid accidental data loss + +- Having at least one other person with emergency access to the server + +- Giving at least 3 months of advance notice if the server shuts down and users have to move (this isn't frequent) + +### Changing instance + +Despite these considerations, Mastodon newcomers **shouldn't feel [analysis paralysis](https://en.wikipedia.org/wiki/Analysis_paralysis) over choosing an instance**. This decision isn't permanent, and can be changed later on, once one has acquired a better sense of the platform. + +Indeed, Mastodon makes it easy to [move an account](mastodon-tutorial-privacy-and-security.md/#moving-to-another-instance) from one instance to another! + +If trust is broken by an instance administration or moderation team, users can easily decide to migrate to another one with better practices. This account portability is quite unique to the Fediverse. + +While account content (posts) will unfortunately not get transferred through this process on Mastodon (yet), account followers *and* follows will be moved unharmed during a Mastodon account migration. + +Furthermore, this process might get improved soon! There is work currently being done to implement data portability between two ActivityPub servers (even for account content) with the [LOLA protocol](https://swicg.github.io/activitypub-data-portability/lola). This could eventually allow Mastodon's account migration process to include posts migration as well. + +
+

You can always keep a copy of your content!

+ +Even if the Mastodon migration process doesn't allow for automatic posts transfer (yet), you are still able to [keep a local copy of all your content](mastodon-tutorial-privacy-and-security.md#data-access-and-backups), before moving to another instance or for backup purposes. + +
+ +## :octicons-shield-check-16: How secure is Mastodon + +As explained previously, choosing an instance with a competent and trustworthy administration team is fundamental on Mastodon. Due to a plurality of instances, levels of security expertise can greatly vary from one server to another. + +### Server security + +As for any platform we use online (including commercial social media), it's important to evaluate properly the level of trust we are willing to give before subscribing to a service handling our data. + +In this case, it means trusting the administration team of the instance you choose to safeguard the instance's server and data properly. + +Additionally, like any other social media, Mastodon isn't immune to software vulnerability. When a problem arises, your server's security will depend on the responsiveness of your administrator(s). + +Mastodon's development team has a good track record of acting promptly to fix and transparently inform the community when a critical [vulnerability is found](https://www.theregister.com/2024/02/02/critical_vulnerability_in_mastodon_is/). However, your instance's administration team must also act quickly to implement the fix. + +Due to the decentralization of the Mastodon network, software patches cannot be automatically pushed to all instances at once. Administrators' reaction time may vary for each instance. + +### Software security + +Because the Mastodon software is open-source, anyone can inspect [its code](https://github.com/mastodon/mastodon). This *can* offer the benefit of getting more opportunities to spot and patch potential problems. + +It also allows anyone to verify privacy and security claims, which greatly improves transparency and trust. This is something that cannot be done with proprietary closed-source software like most commercial social media use. + +But open-source code isn't magically secure either. Experts still have to take the time to actually inspect the code for this to have any significant value. + +In 2023, the Mozilla Foundation funded a penetration test for Mastodon that was conducted by the German cybersecurity firm [Cure53](https://cure53.de/). Following the results, the Mastodon development team [promptly fixed](https://arstechnica.com/security/2023/07/mastodon-fixes-critical-tootroot-vulnerability-allowing-node-hijacking/) the critical vulnerabilities found, and informed instance administrators to be ready to patch the software quickly. Mastodon instances updated to the most recent software now benefit from greater security, thanks to the excellent work of Cure53 and the Mastodon development team. + +Additionally, anybody detecting a security vulnerability in Mastodon's code can [report it easily](https://github.com/mastodon/mastodon/security/policy) on the project's GitHub page. Known security vulnerabilities are also transparently reported to the public in the [security advisories](https://github.com/mastodon/mastodon/security/advisories) list. + +Since April 1st this year, the Nivenly Foundation started the Fediverse Security Fund, a [security bounty program](https://nivenly.org/docs/programs/fediverse-security-fund/) to encourage more people to contribute to securing Mastodon and other Fediverse-connected software. + +The experimental program will run **until September 30th, 2025**, and invites individual researchers and contributors to identify or patch vulnerabilities, rewarding them with a one-time sponsorship. If successful, the program could get extended, depending on member votes. + +Regarding the software itself, Mastodon [uses](https://docs.joinmastodon.org/spec/security/) public key cryptography to secure HTTP Signatures and Linked Data Signatures. From [version 4.4](https://blog.joinmastodon.org/2025/07/mastodon-4.4/), Mastodon implemented a number of [security improvements](https://blog.joinmastodon.org/2025/07/mastodon-4-4-for-devs/) to authentication and authorization mechanisms. Mastodon 4.4 now [supports](https://docs.joinmastodon.org/spec/security/#http-message-signatures) incoming HTTP requests to be signed with RFC9421-compatible signatures. Additionally, the older (less secure) OAuth password grant type has been removed, and the OAuth Client Auth with HTTP Basic Auth with SSO has been fixed. + +On the user side, Mastodon gives options to improve account security with the use of **multifactor authentication**, using an authenticator app or a physical security key. Already, this is better account security than what many (if not most) commercial social media platforms propose. + +In addition, Mastodon users can see within their account lists of all sessions open, the authentication history, and all third-party software authorized to access the account. Users can quickly revoke access to any unauthorized or unused sessions or app, as necessary. + +### Data security + +Finally, because Mastodon only requires **minimal information** to create an account, less personal data risks getting exposed, in the unfortunate eventuality of a data breach. For example, no phone number, legal name, or official ID is required. This is excellent for both privacy and security. + +Even if Mastodon has a much smaller security team than larger commercial platforms, its decentralization, transparency, and data minimization gives it significant advantages over for-profit social media. + +Users' private data is protected reasonably well at the software level, but again, this protection also relies on the server security for each specific instance. + +While security and privacy are related concepts that can enhance each other, they differ in many points. A piece of software could be very secure, yet collect and use a lot of private data, regardless of the user's consent or knowledge. Inversely, a seemingly privacy-respectful software could be collecting very little user data, yet not securing it properly. + +Both privacy and security are important to consider for users, and both must be examined when evaluating software. + +## :octicons-lock-16: How private is Mastodon + +When using social media, there are always two sides to data privacy: The data collected by the service, and the data exposed by the user posting content. + +### Data collected by the service + +On Mastodon, the platform collects only minimal information from the user. Besides the content you decide to share for your profile and posts, the software only requires an *email address,* a *username,* and a *password* to sign up. + +Starting from version 4.4, some instances might also collect a *date of birth,* if the instance implements a minimum age policy. This date of birth is only used to validate age requirements and isn't stored anywhere, but it is [checked](https://blog.joinmastodon.org/2025/07/mastodon-4-4-for-devs/) against the minimum age condition server-side. + +Additionally, Mastodon will collect your *IP address(es)*, *applications* used, and the *times* you logged in. This is necessary to provide the service to you. You can increase your account privacy by registering with an [alias email address](https://www.privacyguides.org/en/email-aliasing) (if allowed by your instance), and logging in through a [trustworthy VPN](https://www.privacyguides.org/en/vpn/). + +It's worth mentioning that Mastodon.Social, the instance administrated by the Mastodon organization, recently added to their terms of service an additional clause to [explicitly prohibit scraping](https://techcrunch.com/2025/06/17/mastodon-updates-its-terms-to-prohibit-ai-model-training/) users' data for unauthorized purposes, such as to train AI models. Many other instances might soon add similar clauses (or already have them). + +While this provides little technical protections, it does provide some interesting *legal* protections. These are protections most commercial social media do not offer, as many already exploit users' content to train their own AI models or sell it to third-parties for this purpose. + +This new Mastodon.Social policy is well aligned with the more human-centric values of the Fediverse. + +
+

Summary of data collected by Mastodon

+ +- Email address +- Username +- Password +- IP addresses (temporarily stored, may vary per instance) +- Browser and application types (temporarily stored, may vary per instance) +- Login history (temporarily stored, may vary per instance) +- Date of birth (not stored, may vary per instance) +- Optional: The data you decide to share with the service (profile information, posts, post timestamps, uploaded media, favorites, boosts, followers, follows, bookmarks, lists, blocks, mutes, personal notes) + +
+ +### Data you post on the service + +Regarding the content of your profile and posts (including private mentions), no matter how much you restrict access to your account, you should always consider that this content *can* technically be accessed by the administration and moderation team of your instance. + +Concerning people outside your instance's administration team, the privacy of the data you upload yourself will greatly vary depending on how you use and configure your account. + +We have a [dedicated tutorial](./mastodon-tutorial-privacy-and-security.md) in this Mastodon article series which provides information on how to adjust your account's configuration for better privacy in more detail. + +### Who can access your private data + +As described above, the administration team of your instance *can* always technically access *any* data related to your account, regardless of if you make it public or private. This is true for most commercial platforms as well. + +That being said, administration teams are generally much smaller on the Mastodon network, so this might not represent a lot of people. It could even mean only *one* administrator. + +This has both benefits and downsides: The benefit is that fewer people have access to your private account data. The downsides are that, due to limited resources, this data *could* get less protection. That said, large commercial platforms aren't immune to data breaches either, despite all the resources they could use in prevention. + +### Account configuration + +Outside access from the administration team, content privacy will vary per account, depending on configuration. Similarly to any other social media platforms. + +Some people might prefer to share openly with everyone, even with people who do not have a Mastodon account. While others might prefer to lock their account entirely, and reduce content visibility to their approved followers only. Both types of usage are possible on Mastodon. + +Additionally, Mastodon offers much better controls over your data. You can set up automated post deletion with specific thresholds, adjust post visibility for each post, adjust searchability and discoverability to your preferences, and allow or restrict the upcoming quote posts feature. + +All these features are fantastic for data privacy, and often absent from commercial platforms. + +### Users tracking and profiling + +Most important of all, because Mastodon has no interest in monetizing your data, there is **no tracking, no advertising, and no "Mastodon-AI" profiling you** and scanning all your posts. Mastodon doesn't collect any data from you for a reason other than providing the service *to you*. + +This is completely antithesis to commercial social media. And this alone makes Mastodon fundamentally **much more private than any other big tech platforms**. + +## :material-lock-check-outline: Privacy benefits of Mastodon + +Each Mastodon instance will have a different privacy policy that you should consult before creating an account, like for any other platforms. But unless the software was modified, data collection should be similar to what is described here, and remain minimal for the majority of connected instances. + +Here's a summary of some benefits Mastodon can offer for your data privacy: + +### Data minimization + +Mastodon only collects what's necessary. The information required to create an account is minimal. There are no "real-name" policy and no phone number required. Only the data absolutely necessary to provide the service to you is required. + +### Adjustable visibility + +While profile information will be visible publicly, post visibility can be adjusted to your preference for each post. The list of who follows you and who you follow can be visible or hidden. Account searchability, discoverability, and quote posts from unmentioned users can all be disabled. + +### Your data is yours + +On Mastodon, you have full control over accessing and deleting your data. You don't need any third-party software to get your post deleted, and you don't need to wait after a company's customer service to download your data. Those controls are accessible to any user from their own account. + +### No data monetization + +The Mastodon software is developed and maintained by a nonprofit organization, the German [Mastodon gGmbH](https://joinmastodon.org/about). This software is free and accessible to anyone. There is no incentive to generate profit from your data on Mastodon. This is an *immense* privacy advantage over *any* commercial social platforms. There is nothing tracking you around or building an advertising profile on you. Your data is not for sale. + +### Transparency and mobility + +Because the Mastodon code is open-source, anyone can inspect it. This helps quickly verifying claims, proposing new features, and allowing other developers to create their own application for Mastodon. + +With Mastodon, you are not stuck with only one app. If you don't like the official app, just use [another one](https://joinmastodon.org/apps)! Moreover, you can even move your account from one instance to another. This means you don't have to trust your administration team forever. **You can choose who you trust, and your trust (and consent) is revocable, as it should.** + +### Respects your privacy protections + +So many services and websites have adopted a hostile stance towards people using privacy protections such as a VPN server, a privacy-focused browser, or running their phone in [Lockdown Mode](https://support.apple.com/en-us/105120). But with Mastodon, you are free to use all the protections you love. **Mastodon isn't hostile to your privacy.** + +## :octicons-alert-16: What to stay careful about + +While the privacy benefits of Mastodon are numerous, there are also a few things to keep in mind when using the platform: + +### Direct messages (private mentions) + +Direct messages on Mastodon are better described at private mentions. Private mentions are like any other posts (and will sometimes show up in your feed! Don't panic!), but they will only be visible to the people you *mentioned* in it. + +However, do **not** type the handle of someone to talk "in private" about them with someone else, because this *mentioned* person *will* also get included in this thread! + +Additionally, private mentions on Mastodon, like private messages on other commercial social media, aren't end-to-end encrypted. The Mastodon interface shows this clearly: + +![Screenshot of the Mastodon interface showing a warning presented when selecting private mention visibility for a post. The message says: "Posts on Mastodon are not end-to-end encrypted. Do not share any sensitive information over Mastodon. Learn more"](../assets/images/mastodon-privacy-and-security/mastodon-private-mention-encryption.webp){width="400"} + +This means that all your private mention posts *could* be accessed by the administration and moderation team of your instance. **Never share any sensitive information using private mentions.** The same advice is applicable to any other social media. + +
+

End-to-end encryption could be coming soon!

+ +That being said, this could change soon! The ActivityPub team is currently [working on integrating end-to-end encryption](https://socialwebfoundation.org/program-protocol-e2ee/) for the protocol. This would be nothing less than revolutionary for platforms using ActivityPub, like Mastodon. + +It's difficult to estimate when this feature could be available to Mastodon users however, because implementing end-to-end encryption properly isn't a simple task. Even once the integration is completed for the ActivityPub protocol, it might take some time before the Mastodon development team implements it for the software as well. + +Nevertheless, Fediverse users can dare to hope this feature may be available relatively soon, perhaps in the next year or two. + +
+ +### The open web is open to all + +On Mastodon, you don't need an account to see people's profile page and public (or quiet-public) posts. + +This is an **immense benefit for organizations**, to share information with the public without restricting access like on commercial platforms. However, this can also mean more account visibility than some individual users may prefer. + +It's important to stay aware that your account *could* be seen by anyone on the internet visiting your Mastodon account's public page. Your account's public page address is your instance's website address followed by your account's username, in the following format: + +```html +https://YOUR_INSTANCE_ADDRESS/@YOUR_USERNAME +``` + +For example, for the Privacy Guides Mastodon account hosted on the mastodon.neat.computer Mastodon instance, this account's public page address looks like this: + +```html {.copy} +https://mastodon.neat.computer/@privacyguides +``` + +Whether you lock your account (approve followers and use followers-only posts) or not, your display name, biography, profile and header pictures, followers and follows counts, date joining the instance, and extra fields will always be visible to anyone from your account's public page. + +Your public posts can even be accessed via [RSS feed](https://fedi.tips/following-mastodon-and-fediverse-accounts-through-rss/) on Mastodon. To limit this, you can adjust the settings to restrict the visibility of your posts. + +### Connection with commercial social media + +Some Mastodon instances [connect](https://www.howtogeek.com/threads-now-connects-to-mastodon-and-other-fediverse-platforms/) with larger commercial social media like Threads (from Meta), and Bluesky ([through a bridge](https://techcrunch.com/2024/06/05/bluesky-and-mastodon-users-can-now-talk-to-each-other-with-bridgy-fed/)). + +The Fediverse community is quite [divided](https://wedistribute.org/2024/03/block-threads-to-remain-listed/) on this topic. Some people argue that more connectivity is good, while others want to stay away from commercial platforms entirely, partly due to their questionable data privacy, ethics, and [moderation practices](https://www.wired.com/story/meta-immigration-gender-policies-change/). + +If this is important to you, you can check your instance's policies to see if it allows connections with these commercial social media. If it does, and you do not want this, you can block specific instances at the account level. This isn't a complete protection for your data, but it does reduce visibility from and to these platforms. + +If this isn't enough for you, you can migrate your account to an [instance blocking Threads](https://fedipact.veganism.social/) (or other servers) at the administrator level. This offers stronger protections. + +### Connection with other instances + +It's important to remember that on Mastodon, there isn't only one centralized entity that receives your data. + +For example, if you send a private mention post to someone on a different instance than yours, this person's instance administration team will now have access to your message as well, and your data *for this post* will also be stored on that instance. + +This is very similar to how emails work. If you are a Tuta or Proton email user, and you send a message to someone using Gmail, now Google will also have a stored copy of your message. + +### Decision paralysis trusting an instance + +Finally, probably the biggest block people hit when starting to use Mastodon is *which instance to trust*. + +Sadly, this simple decision has discouraged many potential users. Yet, having to choose an instance is indeed a feature and not a bug. + +Because yes, this choice does burden you to pick who you trust, but **it also empowers you** to be able to *revoke* this trust at any time. No commercial social media gives you the option to stop trusting Mark Zuckerberg and move to another Facebook server that matches better your values, for example. + +Be careful who you trust of course, but don't get paralyzed by this choice. Even if this might feel intimidating at first, this fear of choosing isn't worth staying with possibly even less trustworthy big tech administrators. + +## :octicons-star-16: Mastodon keeps getting better + +This article only presents an overview of Mastodon's features, and focuses on the features related to privacy and security. But Mastodon is so much more. It's a social platform that truly respects its community. + +Mastodon is genuinely mindful of its users' experiences. In comparison, commercial social media are far behind in terms of customization and respect for their users. + +**On Mastodon, you are not a product, you are a *person*.** + +Moreover, the software and community keeps growing and getting even better every year. For the next Mastodon update planned later this year, we can expect Quote Posts to be fully implemented, while respecting users' consent to have their posts quoted or not. + +Perhaps next year we can hope for improvement of the migration process, allowing users to also transfer their content to a new instance, thanks to the LOLA protocol. Then, we can dream of fully private direct messaging down the road, with the integration of end-to-end encryption. + +Once again, all these features will put Mastodon and other Fediverse software well above any commercial platforms. Keep an eye on the [Mastodon roadmap for more](https://joinmastodon.org/roadmap)! + +Mastodon isn't there to exploit your data and sell it to advertisers. There is no incentive to monetize you. On Mastodon, **you are a person who is part of a community**. This makes all the difference to respect your privacy rights 💛 + +
+

What next?

+ +To continue learning about Mastodon's privacy and security features, consult the [second article](mastodon-tutorial-privacy-and-security.md) of this series, a step-by-step guide to improving your privacy and security as a Mastodon user. + +
+ +## :material-hand-heart-outline: Consider supporting Mastodon + +Mastodon doesn't sell your data, but it still needs money to survive and thrive. Mastodon is supported by its community! + +If you enjoy the platform and can contribute, consider supporting the project by: + +- [Donating to support Mastodon's development and operations](https://joinmastodon.org/sponsors) + +- Donating to your Mastodon instance (ask your administrator) + +- [Buying cute merch from the Mastodon organization](https://shop.joinmastodon.org/) + +- [Contributing to the Mastodon project on GitHub](https://github.com/mastodon/.github/blob/main/CONTRIBUTING.md) + +- [Starting your own Mastodon instance](https://docs.joinmastodon.org/user/run-your-own/) + +- [Talking to your friends and family about joining the Fediverse!](https://jointhefediverse.net/join) + + + +--- + +**Update (2025-07-22):** This article was updated to move the tutorial portion to a [separate article](mastodon-tutorial-privacy-and-security.md), to segment the information better for readers. diff --git a/blog/posts/mastodon-tutorial-privacy-and-security.md b/blog/posts/mastodon-tutorial-privacy-and-security.md new file mode 100644 index 000000000..1ed08d2e1 --- /dev/null +++ b/blog/posts/mastodon-tutorial-privacy-and-security.md @@ -0,0 +1,631 @@ +--- +date: + created: 2025-07-22T20:00:00Z +categories: + - Tutorials +authors: + - em +tags: + - Mastodon +description: This article is a tutorial on how to improve your Mastodon account's security, and how to adjust the different privacy features to your preferences. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/mastodon-tutorial-privacy-and-security/mastodon-tutorial-cover.webp +--- + +# How To Improve Your Privacy and Security on Mastodon + +![Illustration of a mastodon mascot pointing at a padlock icon in a cheerful way. Above is the Mastodon logo over a purple background.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-tutorial-cover.webp) + +{ .annotate } + +1. Mastodon mascot by [@dopatwo@mastodon.social](https://mastodon.social/@dopatwo) and Mastodon logo used with permission from Mastodon gGmbH. This site is not otherwise affiliated with Mastodon gGmbH. + +Increasingly, more and more people have joined Mastodon in recent years. The advantages provided by a decentralized network and using open-source software maintained by a nonprofit organization are undeniable. Mastodon offers much more robust protections for your privacy than commercial social media platforms do. This tutorial will show you how to make the most of it. + +This tutorial is the second of a **series of two** articles on Mastodon. If you would like to read a general overview about privacy and security on Mastodon, start with reading the [first article](mastodon-privacy-and-security.md) of this series. + +This second article will guide you on how to improve your Mastodon account's security, and how to adjust the different privacy features to your preferences. This isn't an onboarding guide to start using Mastodon, but if that's what you seek, you can first take a look at this [short guide](https://docpop.org/2025/02/how-to-get-started-with-mastodon/) from Doc Pop. + +Additionally, while self-hosting a Mastodon account offers the most freedom and control over your data, it also requires much more expertise and resources, which isn't realistically accessible to everyone. For this reason, this tutorial will focus on the experience from the **user side**, and not from the administrator side. + +
+

Who is this tutorial for?

+ +- You already have an account on Mastodon + +- You are *not* familiar with all the Mastodon settings yet + +- You are *not* self-hosting your instance + +
+ +Although many variations and versions of the Mastodon software are in use on the Fediverse, for the sake of simplification and universality, this tutorial will focus on its most recently released version (4.4). + +If your instance software version is different, you will likely still be able to follow this tutorial, but might notice some variations. + +
+

What software version is your instance running?

+ +To check which version your instance (server) is currently running, from the web interface on desktop, check the information in the lower-left corner of your instance website (e.g. [https://mastodon.social/](https://mastodon.social/)). The very last line should list something similar to `v4.4.1`. This is your instance's Mastodon version number. + +
+ +This tutorial was created from the desktop web interface (desktop browser). Experiences and setting accesses may vary greatly from a mobile app. It is recommended to **follow along from the desktop web interface** as well. + +Screenshots for the tutorial were mostly taken from an account on the Mastodon.Social instance (server), but you will be able to follow this tutorial even if your account is on a different instance. + +
+

Mastodon the software vs the network vs the instance

+ +The Mastodon *software* is different from the Mastodon.Social original *instance* (server), and is different from the Mastodon *network*. + +**Mastodon software**: The software used by people on the Mastodon network, and installed by administrators to run an instance (what you see). + +**Mastodon network**: The network of interconnected instances using the Mastodon software (all the different Mastodon instances you interact with). The Mastodon network also connects to the larger Fediverse network. + +**Mastodon.Social, the instance**: The largest Mastodon server, managed and moderated by the Mastodon nonprofit organization. + +
+ +## :octicons-shield-check-16: Improving account security + +Using a [unique email address](https://www.privacyguides.org/en/email-aliasing/) and a unique and [strong password](https://www.privacyguides.org/en/basics/passwords-overview/) are the starting points for good account security, and this is no different for Mastodon accounts. + +Additionally, you should enable multifactor authentication for your account as soon as you can. This is one of the most important step you can take to increase your account's security, and its protections against account takeover attacks. + +### Two-factor authentication + +For this, go to "Preferences" (in the right-side menu) > "Account" > "Two-factor Auth", then click on the purple "Set up" button at the bottom. + +![Screenshot of the Mastodon web interface showing the Two-factor Auth page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-setup.webp) + +#### Authenticator app + +Confirm your password when prompted. Then scan the QR code with your [authenticator app](https://www.privacyguides.org/en/multi-factor-authentication/), or enter manually the plain-text secret on the right of the QR code. Confirm with entering the two-factor code from your authenticator app, then click "Enable" at the bottom. + +![Screenshot of the Mastodon web interface showing the Two-factor Auth page in Preferences. This shows a QR code to scan or a plain-text secret to register a code for an authenticator app.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-qrcode.webp) + +**Carefully note the recovery codes** provided. You will need to use them if you lose access to your authenticator, for example if you were to lose your phone. + +If you need to change your authenticator app later, you can go back to this menu and select "Edit" on the right of "Authenticator app". You can also return to this menu to generate new recovery codes, if you have lost your older ones or if they were compromised. Generating new recovery codes will invalidate your previous ones. + +![Screenshot of the Mastodon web interface showing the Two-factor Auth page in Preferences. The page displays a confirmation message that authentication is enabled, and options to "Edit", "Add", or "Disable 2FA" methods.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-enabled.webp) + +#### Security key + +Once you have enabled two-factor authentication with an authenticator app, you will see the option to add a [security key](https://www.privacyguides.org/en/security-keys/) as well. You can add one if you want to register multiple second factors of authentication for your account. + +
+

Browser compatibility

+ +Some browsers will not support security key authentication. For example, the Mullvad Browser doesn't support it. + +
+ +To add a security key, click on "Add" on the right of the listing. Insert your security key, choose a "Nickname" for it, then click on the "Add new security key" purple button. + +![Screenshot of the Mastodon web interface showing the Security keys page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey.webp) + +On macOS, you might be prompted with an option to "Choose how to manage your passkeys". If you get this pop-up, click on "Other Options" at the bottom. + +![Screenshot of the Mastodon web interface showing the Security keys page with a macOS pop-up window over it. The pop-up gives options to "Choose how to manage your passkeys".](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-mac-popup.webp) + +On the second pop-up, select "Security key" then "Continue". When prompted with "Set Up Security Key", activate your security key (for some keys, this means touching the metal part of it). This step may differ depending on your operating system type and version. + +Once completed, you should see a confirmation that "Your security key was successfully added" on the page. + +![Screenshot of the Mastodon web interface showing the Two-factor Auth page in Preferences. The page displays a confirmation message and options to "Edit" both two-factor methods.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey-added.webp) + +From now, each time you log in your Mastodon account, you will be prompted to select one of your authentication methods after entering your email address and password: + +**To log in using your security key**, click on the "Use security key" purple button when prompted by your browser. Your operating system might present you with a pop-up to choose again between your authenticator app or your security key. On macOS, select "Security key", click "Continue", then insert and activate your key. There may be variations depending on your operating system, but it should be similar to this. + +**To log in using your authenticator app**, click on the "Enter a two-factor code from your phone or a recovery code" link at the bottom, then enter the code from your authenticator app when prompted by your browser (or recovery code if you've lost your authenticator). + +If you try to sign in from a browser that doesn't support security keys after enabling it (or if you lost access to your security key), you can still log in your account using your authenticator app as described above. + +![Screenshot of the Mastodon web interface showing the login page for the second factor of authentication. The page gives the option to "Use security key" or "Enter a two-factor code from your phone or a recovery code".](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-multifactor-securitykey-prompted.webp) + +Keep in mind that adding *more* methods of authentication to your account *doesn't* make it more secure, it's the opposite. + +If you register both an authenticator app *and* a security key, this means anyone who can access *either* your authenticator app *or* your security key could log into your account (if they already have your password). Different second factors aren't added together here, they simply provide more options to *access* your account. + +
+

When enabling multifactor authentication with any account

+ +Be careful to choose a method you will have access to easily each time you log in. In addition, make sure to note the recovery codes provided *very carefully* and store them in a secure location (ideally offline). Keep in mind these codes will allow you to recover your account, but could also allow *anyone* to bypass your multifactor authentication. + +
+ +### Account accesses + +In "Preferences" > "Account" > "Authorized apps", you can see which applications have access to your account. + +There, you will see every application you have granted access to. If you no longer use a mobile app or a service listed there, you should revoke access. + +If you do not recognize a listed service, you can ask your instance administrator to know if this is a legitimate application (some administrators might connect legitimate services to your account you may not recognize, such as Matrix). + +![Screenshot of the Mastodon web interface showing the "Your authorized applications" page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-authorized-apps.webp) + +### Sessions and login history + +Additionally, in "Preferences" > "Account" > "Account settings", in the "Sessions" section, you will find a list of authorized browser sessions. Again, you can revoke access to any sessions you no longer use, or do not recognize. + +![Screenshot of the Mastodon web interface showing the Account settings page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-sessions-list.webp) + +Just above this sessions list, you will see a link labeled "View authentication history of your account". Click on it to see a list of past logins, including applications used and IP addresses. + +If you see a login that isn't legitimate, you should *immediately* revoke accesses you aren't using, and consider changing your password. + +![Screenshot of the Mastodon web interface showing the Authentication history page from clicking on the "View authentication history of your account" link on the previous Account settings page.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-accesses-login-history.webp) + +## :octicons-lock-16: Adjusting privacy vs discovery + +When using social media, there's usually a sliding scale between privacy and discoverability. + +You might decide to enable the most restrictions on your account's visibility (more privacy), make it as public as possible (more reach), or anything in between. + +**Only you can decide what is best for your unique situation and usage.** + +On Mastodon, you have many options to adjust this to your preferences and needs. In "Preferences" > "Public profile", select the "Privacy and reach" tab at the top. + +![Screenshot of the Mastodon web interface showing the Public profile page in Preferences, from the "Privacy and reach" tab.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-account-privacy-reach.webp) + +### Reach + +- The option "Feature profile and posts in discovery algorithms" allows more people to find your account and public posts (default is unchecked). **Leave it *unchecked* for more privacy.** + +- The option "Automatically accept new followers" allows anyone to be able to follow you (default is checked). Approving each follower can increase the privacy of your follower-only posts. **If you prefer to approve each new follower (locking your account), then *uncheck* this option.** + +### Search + +- The option "Include public posts in search results" allows people to be able to find your public posts when searching for keywords in Mastodon (default is unchecked). **Leave it *unchecked* for more privacy.** + +- The option "Include profile page in search engines" allows your Mastodon profile to potentially appear in search engine results, like Google and Bing (default is checked). ***Uncheck* this option to increase your account's privacy.** + +### Privacy + +- The option "Show follows and followers on profile" allows anyone to be able to see who you follow and who follows you (default is checked). If you prefer to hide this from the public, ***uncheck* this option for more privacy.** + +- The option "Display from which app you sent a post" will display publicly which application you are posting from for each post (default is checked). If you prefer to not show which app(s) you are using, ***uncheck* this option for more privacy.** + +Once you have adjusted the account options to your preferences, click on "Save changes" at the bottom to confirm your choices. + +![Screenshot of the Mastodon web interface showing the Public profile page in Preferences, from the "Privacy and reach" tab. The page is scrolled down to the "Save changes" button at the very bottom of the six unchecked options.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-account-privacy-options.webp) + +## :material-message-lock-outline: Selecting post visibility and access + +In addition to your account's privacy preferences, you can also adjust visibility for each post. This is very handy to allow you to pick in a more granular way which information you wish to share more or less openly. + +On Mastodon, you can choose between 4 types of visibility for each post: Public, Quiet public, Followers, and Private mention. + +![Screenshot of the Mastodon web interface showing the post composition window. The image shows the drop-menu from the "Change post privacy" button, with four different post visibility options.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-visibility-types.webp){width="400"} + +### Public post + +This post is visible to anyone, whether they follow you or not. This post will also be visible from your account's public page, to people who do not necessarily have a Mastodon account. + +For example, if you log *out* of your account, then go to `https://YOUR_INSTANCE_ADDRESS/@YOUR_USERNAME`, you will see what someone outside of Mastodon could see from your public page. + +![Screenshot of a Mastodon account's public page from a browser. A yellow arrow points at the account's URL, and three red arrows point at information visible to the public such as a public post, a quiet-public post, and the fact that this account is locked.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-account-page.webp) + + +### Quiet public post + +This post is visible to anyone, and is also visible from your account's public page (like a Public post). However, it will not be featured in the "Trending" or "Live feeds" timelines. Additionally, it will not be searchable. This reduces its public exposure slightly, and is sometimes recommended for replies. + +### Followers post + +This post is only visible to your followers. If you enabled the option to approve each follower, then only people you have approved will see this post. Followers-only posts cannot be boosted (re-posted) by others, and will *not* appear on your account's public page. + +Your Followers-only posts will have significantly less reach, and potentially less engagement, but will be much more private. + +
+

Followers-only post and approving followers

+ +An important thing to keep in mind when selecting a post's visibility is who your followers are (or could be). + +If you select Followers-only, but anyone could follow you, this restriction will block boosts for this post, and remove visibility from your account's public page, but anyone who decided to follow you can see it. + +However, if you *also* enable restrictions on who can follow you, you will have more control over the visibility of your Followers-only posts, by pre-approving who can follow you and see these posts. + +
+ +### Private mention post + +This post is only visible to the people mentioned in it. This works like a "Direct message" feature, except that anyone mentioned will be included. + +Be careful not to write the handle of someone you do not want included in this conversation! Because this *will* include them. + +Additionally, always keep in mind that the administration and moderation team of your instance *could* see all your posts, including your Private mention posts (like it is the case for any other social media). Never share sensitive information in Private mention posts! + +![Screenshot of the Mastodon web interface showing the post composition window for a Private mention post. There is a warning message above saying that "Posts on Mastodon are not end-to-end encrypted. Do not share any sensitive information over Mastodon. Learn more".](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-private-mention.webp){width="400"} + +
+

End-to-end encryption for private mentions

+ +There is currently work being done to [integrate end-to-end encryption](https://socialwebfoundation.org/program-protocol-e2ee/) to the ActivityPub protocol, potentially making end-to-end encrypted private mention on Mastodon possible one day. + +Implementing end-to-end encryption properly is no small task, and understandably it could take some time for this to be ready for Mastodon users. + +However, it would make your private mentions truly private, being accessible only to its intended sender(s) and recipient(s). This could be groundbreaking for the Fediverse, and for your privacy! + +
+ +### Default post visibility + +Even if you can adjust visibility for each post, you may also want to adjust your account's *default* post visibility. + +For example, this can help by preventing accidentally sharing something publicly if posting to followers only is preferred, especially if your account is locked for more privacy. + +To adjust the default post visibility, go to "Preferences" > "Preferences" > "Other". In the "Posting privacy" section, select your preference in the "Posting privacy" drop-menu for either "Public - Everyone can see", "Unlisted - Everyone can see, but not listed on public timelines", or "Followers-only - Only show to followers". + +Confirm your choice by clicking on "Save changes" on the upper-right. + +![Screenshot of the Mastodon web interface showing the "Preferences" page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-default.webp) + +
+

Hide posted media (slighly)

+ +Additionally, you might want to check the "Always mark media as sensitive" option from the same section. This will label the media as "Sensitive content", and require others to click on it to view the image. This will **not stop anyone from clicking to view it**, including people without a Mastodon account from your account's public page, but it might *slightly* reduce the visibility for certain media. + +Depending on the content, your instance may have some rules requiring to hide certain type of content. Make sure to consult your instance's Server rules about this. + +
+ +### Quote posts + +Mastodon version 4.4 is already preparing for the implementation of a new [Quote Posts feature](https://blog.joinmastodon.org/2025/02/bringing-quote-posts-to-mastodon/) coming up in Mastodon 4.5. Quote posts have been long requested and debated on Mastodon. + +Mastodon didn't lack quote posts accidentally, it was a deliberate choice from the development team to [reduce potential abuse](https://techcrunch.com/2025/07/08/mastodons-latest-update-readies-the-app-for-quote-posts-revamps-design/). This is why the team has been very careful, taking the time to implement this new feature properly, and giving options for Mastodon users to opt out. + +Again, this shows how Mastodon differs from commercial social media, by prioritizing users' safety and control over monetizing attention. + +To give control to the users, important options have been planned out: + +1. People will be able to choose if they want their post to be quoted or not +2. People will be notified when their post is quoted +3. People will be able to **withdraw their post from being quoted** at any time + +These options greatly reduce the potential for abuse when quoting posts, a behavior we have sadly all witnessed on commercial social media with a culture of dunking on others. + +From Mastodon version 4.4, you can already decide which permission you want to allow for your posts to be quoted. This is only in preparation for the feature for now, the final implementation should be available in the [next software update](https://blog.joinmastodon.org/2025/07/mastodon-4-4-for-devs/). + +To adjust this in preparation, go to "Preferences" > "Preferences" > "Other". From the "Posting defaults" section, find the drop-menu labeled "Who can quote", and select either "Everyone", "Followers and mentioned users", or "Only mentioned users". + +Confirm your choice by clicking on "Save changes" on the upper-right. + +![Screenshot of the Mastodon web interface showing the "Preferences" page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-posts-quote-posts.webp) + +## :material-checkbox-marked-circle-outline: Verifying yourself and others + +The account verification process on Mastodon is excellent. Not only is it free, but it doesn't require you to provide any official ID or other intrusive documentation to proof your identity. It is a privacy-respectful verification feature. + +The way it functions is very simple: Verification works by providing a *proof of control* over a website, or a web page. + +For example, if you are the official Mastodon account for the privacyguides.org website, you can easily add a simple invisible link to this website to confirm that this Mastodon account is official. Once the verification process is completed, the Mastodon account profile page will display a **verified link in green with a checkmark**, confirming this account is authorized by the owner of this website (or web page). + +From a profile page, it looks like this: + +![Screenshot of the Privacy Guides Mastodon account's public page. The profile page shows multiple verified links in green with a checkmark on the left, including the official Privacy Guides website, forum, articles, videos, and donation pages.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-links.webp) + +All the links displayed in green with a checkmark have been verified from the listed websites. + +This is **a feature very important to use for organizations**. It confirms to readers and followers this Mastodon account is authorized and truly belongs to the organization. It's also important for any individuals, writers, and journalists who want to confirm their identity to the public. + +Looking for these verified links, other Mastodon users can validate if an account is legitimate, increasing trust and security. + +### Account verification + +If you would like to verify your own account, here's how you can do it yourself. + +It's easy, and it's free! + +Go to "Preferences" > "Public profile", then select the "Verification" tab at the top. From there, follow the instructions to copy the link to the web page you want to use to verify your account. + +![Screenshot of the Mastodon web interface showing the Public profile page in Preferences, from the "Verification" tab. The page shows a link to copy containing the account's address, and a confirmation of links already verified.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-link-setup.webp) + +If you prefer not to add a Mastodon link to your web page, you can simply add this HTML line in the web page's head section (replacing `https://YOUR_INSTANCE_ADDRESS/@YOUR_USERNAME` with the link to your own Mastodon account): + +```html + +``` + +### Author attribution for journalists and writers + +In addition to the verification process available to everyone, Mastodon recently [added](https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/) a feature specifically for writers and journalists! + +Since last year, journalists and bloggers alike can link their articles to their Mastodon account. This validates their identity, while also increasing their Mastodon account's discoverability from article links. This is fantastic feature! + +Popular websites like TechCrunch, ProPublica, and of course Privacy Guides have already adopted it! You might have noticed this feature previously, for example if you found this article from a Mastodon post. + +To add author attributions to your articles, scroll down the same page and simply add the provided link to each of your article's HTML page, then lists the website(s) allowed to credit you below: + +```html + +``` + +![Screenshot of the Mastodon web interface showing the Public profile page in Preferences, from the "Verification" tab. The page is scrolled down to the very bottom, showing the option and instructions to add Author attribution to articles.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-verification-author-setup.webp) + +## :material-folder-multiple-outline: Deleting and accessing your data + +Data deletion is a fundamental part of data privacy, and a protected right under many privacy laws. + +Mastodon makes data deletion effortless. You will never have to battle the insufferable BigTech™️ customer service to request your data to be deleted on Mastodon. You can control most of it just by yourself. + +### Automated post deletion + +First, you can easily set up automatic post deletion and adjust it to your precise preferences. This is a rare feature on social media, and demonstrates once again how Mastodon prioritizes users' benefits over data monetization. + +To enable it, go to "Preferences" > "Automated post deletion", then check the option "Automatically delete old posts" on the upper-left. Adjust the "Age threshold" on the upper-right to anything between 1 week and 2 years. + +In the "Exceptions" section below, you can select a number of variables to customize post deletion. Keeping your pinned posts from being deleted is likely a good idea, for example. + +You can also keep the option checked to protect from deletion your own posts that you have favorited. This is very convenient to get a more granular control over automated deletion, purposefully keeping some posts while letting others getting automatically deleted. + +![Screenshot of the Mastodon web interface showing the Automated post deletion page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-deletion.webp) + +In the "Exceptions based on interactions" section, you can select a threshold of favorites and/or boosts to protect posts from automatic deletion. + +Once you have adjusted automated deletion to your preferences, click on "Save changes" on the upper-right to confirm your choices. + +### Data access and backups + +Another important side of digital rights is access to your own data. Here again, Mastodon makes it easy. You can download a copy of your account data any time you want. + +For this, go to "Preferences" > "Import and export" > "Export". From there, you can request a compressed archive of all your posts and uploaded media once every 7 days. This archive will be readable by any ActivityPub-compatible software, or you can open it with any simple text software. + +![Screenshot of the Mastodon web interface showing the Export page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-export.webp) + +Additionally, you can download lists of your Follows, Followers, Lists, Mutes, Blocks, Domain Blocks, and Bookmarks in CSV format any time (also readable with any simple text software). + +Keeping a local copy of your data for regular backup purposes is a good idea in general, and also recommended before an account migration. + +### Account deletion + +Finally, if you decide to delete your *whole* account, this is again incredibly easy. Simply go to "Preferences" > "Account" > "Account settings", and scroll down to the bottom of this page. + +Once you are ready to delete your data (and have downloaded the data you wish to keep), click on the "proceed here" link. Read the information from the "Account deletion" page, and enter your password when you are ready to confirm. + +![Screenshot of the Mastodon web interface showing the Account deletion page, from the "proceed here" link on the previous "Account" page.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-deletion-account.webp) + +## :octicons-blocked-16: Blocking users and instances + +You have a lot of control on which information you show and see on Mastodon. Like for other social media, you can block users individually on Mastodon. But additionally, you can also block a whole instance if you aren't happy interacting with it. This, like an individual block, can benefit your privacy by restricting further who can access your posts. + +
+

Filtering content and muting users

+ +This tutorial will not discuss in details all the Mastodon features, as it focuses on privacy and security. However, it's worth mentioning briefly that there are softer options than blocking, if you simply wish not to see some content on Mastodon. + +First, you can use [Filters](https://docs.joinmastodon.org/user/moderating/#filters) to hide specific content or hashtags from your timelines. Second, you can [Mute](https://docs.joinmastodon.org/user/moderating/#mute) a user, temporarily or permanently. However, remember that muting a user will still allow them to see your posts. Since Mastodon 4.4, you can also use "Remove follower" to simply remove someone from following you, without having to block them. + +
+ +### User block + +If you block a user, this person will not be able to interact with you, and will not see your posts from their account anymore. They could however still see your public and quiet-public posts from your account's public page. + +
+

Adding a Personal Note

+ +If you want to remember why you blocked (or muted) someone, you can [add a Personal Note](https://fedi.tips/what-are-notes-on-mastodon-what-does-click-to-add-note-mean-on-mastodon-profiles/) on their profile page. They will not be able to see this note, but your notes could be read by your instance's administration or moderation team. Be careful what you write there. Notes cannot be transferred during account migration at this time. + +![Screenshot of the Mastodon web interface showing a user's profile page viewed from within a logged-in user interface. A yellow arrow points at the section to add a Personal Note on a user's profile page.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-personal-note.webp) + +
+ +To block a single user, find their profile and click on the 3-dot "Menu" button on the upper-right. From the drop-menu, select "Block `USERNAME`". + +![Screenshot of the Mastodon web interface showing a user's profile page viewed from within a logged-in user interface. A yellow arrow points at the drop-menu from the profile page's "Menu" button, with the selection to Block that user.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-user.webp) + +
+

Blocked users can still visit your account's public page

+ +Remember that blocked accounts (and instances) might still be able to see your public and quiet-public posts outside Mastodon, by visiting your account's public page. Although, they will not be able to interact with your posts anymore. + +
+ +### Instance block + +If you block an entire instance, *everyone* from this instance will stop seeing your posts, you will stop seeing theirs, and they will be removed from your followers and follows. Nobody from this instance will be able to follow you anymore, and you will not be able to follow them either. + +There are two ways to block a whole instance. The simplest way is to find a user from that instance and click on the 3-dot "Menu" button on their profile. From the drop-menu, select "Block domain `DOMAIN_NAME`". + +
+

This blocks everyone from that instance

+ +Remember this will block *everyone* using this instance at once, and you will lose *all* followers and follows you may have from this instance as well. You might not be able to recover those followers if you change your mind later. + +
+ +![Screenshot of the Mastodon web interface showing a user's profile page viewed from within a logged-in user interface. A yellow arrow points at the drop-menu from the profile page's "Menu" button, with the selection to Block domain the whole instance this user is from.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-instance.webp) + +Alternatively, you can even "pre-block" an instance on Mastodon. For example, many people used this method when Meta's Threads announced they would connect to the Fediverse, but didn't have any connected accounts yet. + +To do this, go to "Preferences" > "Import and export" > "Export", then download the "CSV" file for your "Domain blocks". + +![Screenshot of the Mastodon web interface showing the Export page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-csv.webp) + +Open the `blocked_domains.csv` file as a text file, then type each domain you wish to block. Use one line for each domain (if you want to block more than one). Save this file using the same filename. + +![Screenshot of the "blocked domains" CSV file opened with TextEdit. The file contains two different domains written on each a separate line.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-file.webp) + +Back to your account, move to the "Import" section from the left-side menu. From the "Import type", select "Domain blocking list". + +Keep the "Merge" option on if you want to *add* new domains to block, or select "Overwrite" to replace your old list with this new list. Browse to upload the file you just modified, then click "Upload". + +
+

Carefully verify the correct type!

+ +Make sure to select "Domain blocking list" in the "Import type" or you could accidentally overwrite other important data! For safety, always save a backup of your existing data before doing any modifications like this. + +
+ +![Screenshot of the Mastodon web interface showing the Import page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-block-domains-import.webp) + +You will be prompted to confirm. Verify the information is correct, then click "Confirm". You should see a confirmation message with "Your data was successfully uploaded and will be processed in due time". You can now leave this page. + +### User report + +Reporting users isn't necessarily directly linked to privacy and security (although it can be), but it's still an important mechanism to address the overall safety of the network. + +Because moderators have less resources on the Fediverse, they rely on users reporting problematic posts in order to enforce moderation policies. + +As a member of your instance's community, it's important to report posts violating your instance's Server rules, but it's also important not to misuse report mechanisms when there are no violations. + +To report a post, click on the 3-dot "More" button on the lower-right of the problematic post, then select "Report `USERNAME`". + +Answer the form to the best of your knowledge, and **try to be as helpful to your instance's moderation team as you can, without overwhelming them**. + +![Screenshot of the Mastodon web interface showing a user's profile page viewed from within a logged-in user interface. A red arrow points at the "More" button of a post, and another red arrow points at the "Report" selection from the drop-menu.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-report.webp) + +
+

Do not report if there are no policy violations

+ +People who volunteer to moderate an instance are doing it for the community. It's important to respect their time, to stay kind, and to not abuse reporting mechanisms. + +Only report content that violates the policies of your instance, or theirs. Do not report users simply because you dislike their posts. There are better mechanisms to hide the content you simply dislike, such as Filters, Mutes, or Blocks. + +
+ +## :fontawesome-solid-hashtag: Opting out with hashtags + +Data privacy and user consent are principles strongly valued by the Fediverse community. Sometimes, developers trying to create tools for the Fediverse or utilizing its user data without prior explicit consent have come into conflict with these values. + +Unfortunately, despite how illegal it may be, there aren't many technical barriers to stop malicious actors from violating users' consent. + +### Special hashtags + +However, many developers creating tools for the Fediverse actually *do care* about respecting these values, and want to build tools the right way. + +Some have implemented methods to opt in or opt out the data they collect or the tools they build. This is why you will sometimes see people adding special hashtags in their profile biography, such as `#noindex`, `#nosearch`, `#nobot`, `#noai`, `#nobridge`, etc. + +Ideally, all data collection should be prohibited until users' consent is obtained, and data subjects notified (opt in default). This is obligatory by law for many jurisdictions. Sadly, many developers do not follow sound legal practices in reality, and will not seek users' consent, despite their legal and moral obligations. + +Adding these hashtags (and maybe others in the future) to your profile biography *might* help to opt out certain data collection and certain tools built by developers who do respect users' consent. This can effectively *reduce* data scraping, in some situations. If anything, it is at least a public statement against disrespectful (and sometimes illegal) practices. + +## :material-arrow-right-bold-box-outline: Moving to another instance + +The freedom to move from one instance to another can greatly contribute to keeping Mastodon a place that puts its users first. + +If suddenly your instance were to implement a data scraper for its AI model to train on all your content (like so many commercial social media do now), or drastically drop moderation, you could simply move your account to another instance, one that is more respectful of your values and privacy rights. + +This is a feature completely absent from centralized social media. Allowing them to unleash unchecked user exploitation, knowing fully users feel trapped and somehow forced to endure the abuse on their platforms. + +Mastodon is protected again such abuse, by design. + +When investing your precious time and energy participating in a Fediverse community, you will retain your data and your agency to choose which type of administration you prefer. + +If you are unhappy with your Mastodon instance's management, here's how to leave for greener pastures: + +### Planning your move + +First, plan your move properly. While moving your account is easy enough to do, there is a 30 days cooldown period in which you will not be able to move your account again. Make sure to choose your new home (instance) carefully, you will be there for *at least* 30 days. + +Then, you might want to inform your followers. While moving followers is done automatically, it may take a few hours before completion, and your followers might be wondering what is going on. It can be a good idea to post about it from the account you are moving away from before moving. + +
+

Summary of the steps to follow

+ +1. Save an archive of your posts (if you want) +2. Save a copy of the six CSV files in "Export" (to import later) +3. Choose a new instance +4. Create a new account on your new instance (you can use the same username if available) +5. Alias your two accounts +6. Move your old account to the new one +7. From your new account: Wait that your followers are all transferred +8. From your new account: Import data and verify that everything is transferred properly +9. From your old account: Delete your older account (if you want) + +
+ +### Backing up your data + +The first step is to back up your data. This is important both for security and to allow you to import it later to your new account (some data isn't transferred automatically). + +Go to "Preferences" > "Import and export" > "Export", then click the "Request your archive" purple button at the bottom. + +Wait for the archive to be ready (you should receive an email notification within a few minutes), then download your precious archive somewhere secure. + +Do not stop there! + +You also need to download the CSV files above to import them manually to your new account. For each line with a CSV option on the table below ("Follows", "Lists", "You mute", "You block", "Domain blocks", and "Bookmarks"), download the CSV file in a secure location. Be careful not to forget anything. + +![Screenshot of the Mastodon web interface showing the Export page in Preferences. The downloadable CSV files are highlighted.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-export.webp) + +
+

Your posts will not be moved!

+ +Unfortunately, you will not be able to import your posts to your new Mastodon account (yet). + +But this might change soon! The ActivityPub team is currently working on a [live online account portability protocol (LOLA)](https://swicg.github.io/activitypub-data-portability/lola) that could get added to Mastodon relatively soon. This will be a wonderful improvement to this process, and allow even more freedom and agency to Mastodon users! + +
+ +### Moving your account + +Once you have backed up your data, informed your followers, and created a new account on your instance of choice, you can start the migration process. + +**From your new account:** Go to "Preferences" > "Account" > "Account settings", scroll down to "Moving **from** a different account", and click on "create an account alias". + +In the field labeled "Handle of the old account", enter the complete handle (`@YOUR_USERNAME@YOUR_INSTANCE_ADDRESS`) of the *old* account you want to move *from*. Then click on "Create alias" at the bottom to confirm. + +This will not initiate the migration yet. It will only create an alias, and it is reversible. + +![Screenshot of the Mastodon web interface showing the Account aliases page in Preferences, from the "Moving from a different account" link on the Account settings page.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-account-alias.webp) + +**From your old account:** Go to "Preferences" > "Account" > "Account settings", scroll down to "Move **to** a different account", and click on "configure it here". + +Carefully read the information on this page. Enter the *complete handle* (`@YOUR_NEW_USERNAME@YOUR_NEW_INSTANCE_ADDRESS`) of the new account you want to move *to* in "Handle of the new account". Confirm with your current (old) account password on the right, then click on the "Move followers" purple button at the bottom. + +**This will initiate the migration process.** + +![Screenshot of the Mastodon web interface showing the Account aliases page in Preferences, from the "Move to a different account" link on the Account settings page.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-account-migration.webp) + +Moving all your followers to your new account might take some time, but normally should be fully completed within 24 hours. + +Besides waiting for your followers to migrate, you will also need to manually import your "Following list", "Bookmarks", "Lists", "Muting list", "Blocking list", and "Domain blocking list". For this, go to "Preferences" > "Import and export" > "Import". + +For **each** of these 6 types of data, select a type in the "Import type" drop-menu, then click on "Browse" to upload the corresponding file you have exported earlier in the [Backing up your data](#backing-up-your-data) step. + +Choose "Merge" on the right if you want to *add* this old data to data your already have on your new account, or "Overwrite" if you want to only keep data from your old account. Then click "Upload" below. + +![Screenshot of the Mastodon web interface showing the Import page in Preferences.](../assets/images/mastodon-tutorial-privacy-and-security/mastodon-move-import.webp) + +There you go! Your Mastodon account was successfully moved from one Mastodon instance to another! + +
+

Delete your old account (if you want)

+ +You may want to delete your old account once you have completed your account migration and verified all your followers and data were transferred properly. + +If your old instance isn't shutting down, you can also keep it of course. But remember that keeping an account abandoned in the long-term can create some security issues. + +
+ +## :material-hand-heart-outline: Consider supporting Mastodon + +Mastodon is supported by its community! If you enjoy the platform and can contribute, consider supporting the project by: + +- [Donating to support Mastodon's development and operations](https://joinmastodon.org/sponsors) + +- Donating to your Mastodon instance (ask your administrator) + +- [Buying cute merch from the Mastodon organization](https://shop.joinmastodon.org/) + +- [Contributing to the Mastodon project on GitHub](https://github.com/mastodon/.github/blob/main/CONTRIBUTING.md) + +- [Starting your own Mastodon instance](https://docs.joinmastodon.org/user/run-your-own/) + +- [Talking to your friends and family about joining the Fediverse!](https://jointhefediverse.net/join) + +
+

More information

+ +For more information on Mastodon and the Fediverse, you can visit the excellent website [Fedi.Tips](https://fedi.tips/). + +
+ + diff --git a/blog/posts/monero-server-using-truenas.md b/blog/posts/monero-server-using-truenas.md new file mode 100644 index 000000000..6a0e45556 --- /dev/null +++ b/blog/posts/monero-server-using-truenas.md @@ -0,0 +1,362 @@ +--- +date: + created: 2025-06-12T18:15:00Z +categories: + - Tutorials +tags: + - Self-Hosting + - Cryptocurrency + - TrueNAS +authors: + - justin +description: In this guide, we will walk you through setting up a very powerful Monero server on TrueNAS. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/monero-server-using-truenas/cover.webp +--- +# Creating a Tricked-Out Monero Server with TrueNAS + +![A cover image for this post showing an illustration of a NAS and stacks of coins imprinted with the Monero logo](../assets/images/monero-server-using-truenas/cover.webp) + + + +In this guide, we will walk you through setting up a very powerful [Monero](https://www.privacyguides.org/en/cryptocurrency/#monero) server on TrueNAS. By completing these steps, you will be able to connect to your own self-hosted Monero node with the official Monero wallet and Cake Wallet, and you will be able to connect to your own self-hosted Monero LWS server with Edge Wallet and MyMonero. + +
+

Guest Contributor

+ +Please welcome Justin Ehrenhofer as a first-time guest contributor! Justin is the president of MAGIC Grants, a nonprofit which supports public cryptocurrency infrastructure and promotes privacy, and operates as Privacy Guides' [fiscal host](privacy-guides-partners-with-magic-grants-501-c-3.md). Privacy Guides does not publish guest posts in exchange for compensation, and this tutorial was independently reviewed by our editorial team prior to publication. + +
+ +This guide assumes that you are using TrueNAS for the first time. TrueNAS is an open-source operating system that is meant to function primarily as a NAS, and it supports running arbitrary Docker apps. [MAGIC Grants](https://magicgrants.org) spent the last few months making dedicated apps on the TrueNAS store to make this setup process simpler than starting from scratch. + +## Advantages of Running Your Own Node + +Monero is a cryptocurrency with strong privacy properties by default, and it is the only cryptocurrency currently [recommended](https://www.privacyguides.org/en/cryptocurrency/) by Privacy Guides. + +Despite Monero's privacy protections, your wallet needs to communicate with the rest of the Monero network. There are two main options: + +1. Connecting to someone else's node; or +2. Connecting to your own node. + +By connecting to your own node, you do not need to reveal when you are using your wallet and what transactions you send to the node operator. + +By following this guide, your transaction broadcasts will be protected with the Tor and/or I2P [networks](https://www.privacyguides.org/en/alternative-networks/). + +In short, if you *can* run your own node, you *should* run your own node. + +## Hardware/Software Recommendations + +* A spare machine (e.g., an old desktop computer) with: + * One or more SSDs with >100 GB of free space + * 4+ CPU cores + * 4GB+ of RAM + * TrueNAS already installed +* A domain name (optional, for encrypted clearnet connections) + +It's possible to undercut these recommendations, but please don't do that to yourself. + +## What We Will Set Up + +All of these applications are optional. You can set up nearly any combination of these. For example, you can skip just the I2P app if you don't plan to use I2P. + +| Software | Description | Purpose | +| -------- | -------- | -------- | +| Arti | A [Tor](https://www.privacyguides.org/en/advanced/tor-overview) client written in Rust. | Connect to Tor nodes, broadcast transactions over Tor, and connect to TrueNAS apps over Tor. | +| Java I2P | The officially distributed app to connect to the [I2P network](https://www.privacyguides.org/en/alternative-networks/#i2p-the-invisible-internet-project). | Connect to I2P nodes, broadcast transactions over I2P, and connect to TrueNAS apps over I2P. | +| Monero Node | The officially distributed app for communicating with the Monero network. | The app provides the necessary information to send and receive Monero transactions. Most wallets (including the official Monero wallets and Cake Wallet) connect to Monero nodes. | +| Monero-LWS | A "**L**ight**w**eight **S**erver" that allows "lightweight" wallets to send and receive Monero transactions. | Lightweight Monero wallet apps (including Edge Wallet and MyMonero) can connect to this server so that the wallet itself does not need to scan/sync Monero history; the server handles this scanning/syncing. | + +## Configure TrueNAS Storage + +We will configure storage for the Monero blockchain, and we will use default storage settings for other purposes. If you are an advanced user, you can configure the storage yourself. + +### Create a Monero Pool + +In TrueNAS, a pool is a collection of hard drives for a specific use-case. For simplicity, we will configure the entirety of a single SSD for Monero's use. + +1. Click **Storage**. +2. Click **Create Pool**. +3. Type `monero-pool` for the name. Leave encryption disabled (this will only store public blockchain data). Click **Next**. +4. Choose the layout that you will be using. We will pick **Stripe** in this guide. +5. Select the entire storage space for the SSD. Click **Next**. +6. Skip all the remaining options for metadata, log, cache, spare, and dedup. Keep clicking **Next**. +7. Finish creating the pool by clicking **Create Pool**. + +### Create a Monero Dataset + +A dataset is effectively a folder inside a pool. We will make one folder for the Monero blockchain data: + +1. Click **Datasets**. +2. Click on the `monero-pool` pool. +3. Click **Add Dataset**. +4. Set the name to `monero-blockchain` +5. Set the dataset preset to **Apps**. +6. Click **Save**. + +![Screenshot showing the Datasets list in TrueNAS](../assets/images/monero-server-using-truenas/01-datasets.webp) + +Next, we will assign the ownership of that folder to the `apps` user: + +1. While the `monero-blockchain` dataset is selected, click **Edit** under Permissions. +2. At the top, change the **Owner** and **Owner Group** from `root` to `apps`. +3. Check the boxes for **Apply Owner** and **Apply Group**. +4. Check **Apply permissions recursively**. +5. Click **Save Access Control List**. + +![Screenshot showing the ACL settings for monero-blockchain](../assets/images/monero-server-using-truenas/02-edit-acl.webp) + +## Configure Arti (Tor) + +
+

Experimental software

+ +Arti is experimental software. At the time of writing, Arti should not be used for privacy-critical applications. Connecting to your own Monero node is "low risk" in most circumstances. However, if you have very sensitive requirements you should not use Arti until it has been tested further by the community. By using Arti today, you are helping to make Arti better! + +
+ +1. Click **Apps**. +2. Click **Discover Apps**. +3. Search for `Arti`. Click on the **Arti** app. +4. Click **Install**. This will pull up a form. +5. Under **Hidden Services**, click **Add**. For each of the functions below that you want to support, create a new hidden service: + 1. Monero Node (for incoming P2P connections) + 1. Name: `monerodp2p` + 2. App Port: `18084` + 3. Hidden Service Port: `18084` + 2. Monero Node (for incoming RPC (wallet) connections) + 1. Name: `monerodrpc` + 2. App Port: `18089` + 3. Hidden Service Port: `18089` + 3. Monero LWS + 1. Name: `monerolws` + 2. App Port: `18090` + 3. Hidden Service Port: `18090` +6. Leave the other settings as default. Click **Install**. + +You will see the Applications screen after it installs. After the Arti app shows the status as **Running**, click on the shell icon under Workloads and to the right of `arti – Running` (not `config` or `perms`). + +![Screenshot showing how to click the Arti shell icon](../assets/images/monero-server-using-truenas/03-arti-shell.webp) + +In the shell, type the command `arti hss --nickname monerodp2p onion-address`. This will return a string that ends in `.onion`. In notepad, Excel, or another app, save the `.onion` address and the service it is associated with (`monerodp2p`). You might need to copy from the shell with ++ctrl+ins++. + +![Screenshot showing the command and response to get the onion address](../assets/images/monero-server-using-truenas/04-arti-shell.webp) + +Do this again for the following two commands as well: + +```console +arti hss --nickname monerodrpc onion-address +arti hss --nickname monerolws onion-address +``` + +You should have three saved and unique `.onion` addresses. + +## Configure I2P + +1. Click **Apps**. +2. Click **Discover Apps**. +3. Search for `I2P`. Click on the **I2P** app. +4. Click **Install**. This will pull up a form. +5. Change the **Port Bind Mode** for **I2P HTTP Proxy Port** to `None`. +6. Change the **Port Bind Mode** for **I2P HTTPS Proxy Port** to `None`. +7. To the right of **Additional Ports**, click **Add**. +8. In the newly exposed fields, set the Port Number as `4447`. +9. In the same newly exposed fields, set the Container Port as `4447`. +10. Leave the other settings as default. Click **Install**. + +![Screenshot showing the I2P installation settings](../assets/images/monero-server-using-truenas/05-i2p-install.webp) + +You will see the Applications screen after it installs. After the Arti app shows the status as **Running**, open a browser and direct it to the I2P configuration wizard. This is available at `:7657`, for example `192.168.1.100:7657`. + +Complete the initial I2P wizard using the default settings. + +### Create I2P SOCKS Proxy + +1. Click **Local Tunnels**. +2. Click on the I2P HTTP Proxy. +3. Uncheck **Automatically start tunnel when router starts**. +4. Click **Save**. +5. To the right of the I2P HTTP Proxy, click **Stop**. +6. Click on the I2P HTTPS Proxy. +7. Uncheck **Automatically start tunnel when router starts**. +8. Click **Save**. +9. To the right of the I2P HTTP Proxy, click **Stop**. +10. At the bottom and to the right of **New client tunnel:**, change the type in the dropdown from `Standard` to `SOCKS 4/4a/5` and click **Create**. + 1. Set the name as `monerod`. + 2. Check **Automatically start tunnel when router starts**. + 3. Set the Access Point **Port** to `4447`. + 4. Set **Reachable by** to `0.0.0.0`. + 5. Click **Save**. + +### Create I2P Hidden Services + +There is an optional step below to reduce the hidden service tunnel length from the default of 3 to 1. This will substantially increase the reliability of the server at the cost of anonymity. + +However, the server's connection to the I2P network for connecting to Monero wallets and the rest of the Monero network is typically not sensitive, unless you want to completely conceal that you are running a Monero node. Thus, most users will prefer the higher performance of the shorter tunnel length. + +We do not recommend shortening the tunnel lengths for the I2P SOCKS Proxy (in the previous section above) on the other hand, since transaction broadcasts tend to be sensitive. + +1. Under **I2P Hidden Services** and to the right of **New hidden service:**, change the type in the dropdown from `HTTP` to `Standard` and click **Create**. + 1. Set the name as `monerodp2p`. + 2. Check **Automatically start tunnel when router starts**. + 3. Set the target host as the server's hostname, for example `192.168.1.100`. + 4. Set the target port as `18085`. + 5. *Optional:* Set the Tunnel Length Option to **1 hop tunnel (low anonymity)** for better performance. + 6. Click **Save**. +2. Create another `Standard` hidden service. + 1. Set the name as `monerodrpc`. + 2. Check **Automatically start tunnel when router starts**. + 3. Set the target host as the server's hostname, for example `192.168.1.100`. + 4. Set the target port as `18089`. + 5. *Optional:* Set the Tunnel Length Option to **1 hop tunnel (low anonymity)** for better performance. + 6. Click **Save**. +3. Create another `Standard` hidden service. + 1. Set the name as `monerolws`. + 2. Check **Automatically start tunnel when router starts**. + 3. Set the target host as the server's hostname, for example `192.168.1.100`. + 4. Set the target port as `18090`. + 5. *Optional:* Set the Tunnel Length Option to **1 hop tunnel (low anonymity)** for better performance. + 6. Click **Save**. + +You will see the three I2P Hidden Services that you configured. Under each, you will see a `.b32.i2p` address after **Destination:**. You will need to use the destination `.b32.i2p` addresses in later steps (just like the `.onion` addresses), so keep them handy. + +![Screenshot showing I2P Hidden Services settings](../assets/images/monero-server-using-truenas/06-i2p-settings.webp) + +## Configure Monero Node + +### Initial Setup + +1. Click **Apps**. +2. Click **Discover Apps**. +3. Search for `Monero Node`. Click on the **Monero Node** app. +4. Click **Install**. This will pull up a form. +5. *Optional:* Uncheck **Prune the blockchain**. This will use significantly more storage. +6. Under **Storage Configuration** and **Blockchain storage location**, change the **Type** from `ixVolume` to `Host Path`. +7. Under **Host Path**, use the folder picker to select the `monero-blockchain` dataset. This should usually be `/mnt/monero-pool/monero-blockchain`. +8. *Optional:* Under **Resources Configuration**, increase the CPU resource limits to as high of a value as possible for your system. This will help the node sync faster. +9. Leave the other settings as default. Click **Install**. + +#### Why not configure Tor and I2P settings to begin with? + +Some users may be sensitive to a privacy risk where your Tor and I2P addresses could be matched with your public IPV4 address while it is syncing. By waiting to configure these settings until after your node is already fully synced, we minimize this risk. + +### Check on the Sync Status + +It will take a day or more for most systems to fully sync the Monero blockchain from scratch. + +To check the status, go to the app page and click on the `monerod` app. Under Workloads and to the right of `monerod – Running`, click on the shell icon. + +![Screenshot showing how to click the Monero Node shell icon](../assets/images/monero-server-using-truenas/07-monero-shell.webp) + +Type `monerod status` and press enter. + +If the status reports `Height: ####/#### (100.0%) on mainnet`, then your node is fully synced. You can proceed to the next step. + +![Screenshot showing the Monero Node sync status command](../assets/images/monero-server-using-truenas/08-monero-shell.webp) + +### Add Tor and I2P + +After your Monero node is fully synced, click on the `monerod` app and then click **Edit**. This will bring up the same form that you configured when installing the app. + +1. Check **Enable Tor connections**. +2. Set the **Tor IP** as your hostname, for example `192.168.1.100`. +3. Set the **Tor port** as `9150`. +4. Check **Enable inbound Tor connections**. +5. Set the **Inbound onion address** as the `.onion` address for `monerodp2p` that you observed earlier. +6. Check **Enable inbound I2P connections**. +7. Set the **I2P IP** as your hostname, for example `192.168.1.100`. +8. Set the **I2P Port** as `4447`. +9. Check **Enable inbound I2P connections**. +10. Set the **Inbound I2P base32 address** as the `.b32.i2p` address for `monerodp2p` that you observed earlier. +11. If you wish to enable Monero LWS, under **ZMQ RPC Port**, change the **Port Bind Mode** from `None` to `Publish port on the host for external access`. +12. If you wish to enable Monero LWS, under **ZMQ Pub Port**, change the **Port Bind Mode** from `None` to `Publish port on the host for external access`. +13. Under **Tor inbound port**, change the **Port Bind Mode** from `None` to `Publish port on the host for external access`. +14. Under **I2P inbound port**, change the **Port Bind Mode** from `None` to `Publish port on the host for external access`. +15. Click **Update**. + +![Screenshot showing the Monero Node install settings](../assets/images/monero-server-using-truenas/09-monero-install.webp) + +## Configure Monero LWS + +For security reasons, the Monero LWS app only accepts requests from allowlisted Monero addresses. Requests from other users will be rejected. + +1. Click **Apps**. +2. Click **Discover Apps**. +3. Search for `Monero LWS`. Click on the **Monero LWS** app. +4. Click **Install**. This will pull up a form. +5. Under **Accounts**, you can add sets of allowlisted Monero wallets that will be supported by this server. Click **Add** to add a wallet. For each wallet, include the `Address`, `View Key`, and `Restore Height`. If a restore height is not provided, it will scan the entire blockchain (which is thorough but inefficient). +6. *Optional:* Under **Resources Configuration**, increase the CPU resource limits to as high of a value as possible for your system. This will help the server scan multiple wallets faster. +7. After you have added all the wallets, click **Install**. + +You can add new Monero wallets in the future by adding them to the list of accounts. + +## Configure Secure Clearnet Connections + +It is insecure to connect your wallet to your server over an unencrypted connection. + +If you only configure your wallet to connect to your server over its I2P or Tor addresses, then you're all set. The connection is already encrypted. + +There are different ways to connect to your node over an encrypted clearnet connection, each with their pros and cons: + +| Method | Pros | Cons | +| --- | --- | --- | +| Tor | No additional configuration necessary. Private. Secure. Reliable. | Slow for non-LWS wallets. | +| I2P | No additional configuration necessary. Private. Secure. | Slow. Unreliable. | +| Nginx Proxy Manager | High degree of user control. Secure. Reliable. Fast. | Requires a domain. Requires configuration. | +| Cloudflare Tunnels | Secure. Reliable. Fast. Easy to set up. Extra security settings. | Requires a domain. Decrypted traffic is shared with Cloudflare. | + +### Nginx Proxy Manager (Recommended) + +1. Click **Apps**. +2. Click **Discover Apps**. +3. Search for `Nginx Proxy Manager`. Click on the **Nginx Proxy Manager** app. +4. Click **Install**. This will pull up a form. +5. Leave the settings as default. Click **Install**. + +You will see the Applications screen after it installs. After the Nginx Proxy Manager app shows the status as **Running**, open a browser to `:30020`, for example `192.168.1.100:30020`. + +#### Configure Your Domain and Router + +You will need to create A and (optionally) AAAA records with your DNS provider that point to your public IPV4 and IPV6 IP addresses, respectively. You will then need to forward the ports in your router to your TrueNAS hostname. These steps are out of scope for this guide. + +#### Add Proxy Hosts to Nginx Proxy Manager + +From the Nginx Proxy Manager browser interface, click **Hosts**, **Proxy Hosts**, then **Add Proxy Host**. We recommend creating proxy hosts as follows: + +| Domain Name | Scheme | Forward Hostname / IP | Forward Port | +| --- | --- | --- | --- | +| `monerod-rpc.` | `http` | `` | `18089` | +| `monero-lws.` | `http` | `` | `18090` | + +For each entry, enable **Block common exploits**. Configure the SSL settings with **Request a new SSL Certificate**, **Force SSL** enabled, and **HTTP/2 Support** enabled. + +Optionally assign an access list. + +You should now be able to access these services using your domain! + +## A Note About Clearnet Networking + +Making clearnet connections without encryption (without SSL/TLS) is insecure. This guide uses the Nginx Proxy Manager app to configure these secure connections, but you can alternatively use another approach such as Cloudflare Tunnels, Tailscale, or WireGuard. + +## What About Bitcoin? + +Bitcoin is not recommended by Privacy Guides due to its very weak privacy properties by default. Nevertheless, MAGIC Grants has made several Bitcoin oriented applications in the TrueNAS store that you may benefit from if you need to use Bitcoin. + +## Test Connections + +We will test connections to our node over Tor using [Cake Wallet](https://cakewallet.com), [Edge Wallet](https://edge.app), and [Orbot](https://orbot.app). Make sure you have these apps installed and already have Monero wallets set up. + +Use **Full Device VPN** mode with Orbot for this guide. + +### Test with Cake Wallet + +Cake Wallet will connect to your Monero node. Follow [these steps](https://docs.cakewallet.com/features/advanced/tor-with-orbot/#switch-back-to-cake-wallet) to change the Monero node that Cake Wallet uses. Provide your `monerodrpc` onion address for the Monero Node app as the node address, `18089` as the port, no username, no password, and **Use SSL** unchecked. + +You should see a green dot next to this newly added node, and you should notice that your wallet is able to sync. Syncing performance to a Monero node over Tor is slow. + +### Test with Edge Wallet + +Edge Wallet will connect to your Monero-LWS server. In Edge Wallet, click on the upper right hamburger menu, then **Settings**, then **Asset Settings**, then **Monero**. Select **Custom Light Wallet Server** and provide your `monerolws` onion address with the port. For example, `http://monerolws.onion:18090`, replacing `monerolws.onion` with your correct onion address. + +Back in the main wallet overview, you should see that your Monero wallet is fully synced. diff --git a/blog/posts/mozilla-disappoints-us-yet-again-2.md b/blog/posts/mozilla-disappoints-us-yet-again-2.md index 5be61041b..25c6966c8 100644 --- a/blog/posts/mozilla-disappoints-us-yet-again-2.md +++ b/blog/posts/mozilla-disappoints-us-yet-again-2.md @@ -10,6 +10,8 @@ tags: - Mozilla description: "'No shady privacy policies or back doors for advertisers' proclaims the Firefox homepage, but that's no longer true in Firefox 128." schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/mozilla-disappoints-us-yet-again-2/cover.webp --- # "Privacy-Preserving" Attribution: Mozilla Disappoints Us Yet Again diff --git a/blog/posts/privacy-guides-hires-three-staff-members.md b/blog/posts/privacy-guides-hires-three-staff-members.md index ea14399d7..acb9cd95f 100644 --- a/blog/posts/privacy-guides-hires-three-staff-members.md +++ b/blog/posts/privacy-guides-hires-three-staff-members.md @@ -17,7 +17,7 @@ At Privacy Guides, we are always looking for ways to be more effective at our mi ## Em – Journalist -![](https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/ematprivacyguides/288/8211_2.png){ align=right } +![](https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/em/288/8211_2.png){ align=right } We’re excited to welcome Em (she/her), our new journalist, who will play an important role in taking our [articles](https://www.privacyguides.org/articles/) to the next level. She will be focusing on creating in-depth, interesting posts that explore the most important topics in the world of online privacy, security, and digital rights. Em will also conduct interviews with experts in the industry, analyze reports and studies, and produce investigative news stories to keep our readers informed. diff --git a/blog/posts/privacy-guides-partners-with-magic-grants-501-c-3.md b/blog/posts/privacy-guides-partners-with-magic-grants-501-c-3.md index 1c98037bd..4dbc3a4ed 100644 --- a/blog/posts/privacy-guides-partners-with-magic-grants-501-c-3.md +++ b/blog/posts/privacy-guides-partners-with-magic-grants-501-c-3.md @@ -7,6 +7,8 @@ authors: - jonah description: We're excited to announce a partnership with MAGIC Grants, a Public 501(c)(3) charity with the mission of supporting privacy projects like ours and providing undergraduate scholarships for students interested in cryptocurrencies and privacy. schema_type: BackgroundNewsArticle +preview: + cover: blog/assets/images/privacy-guides-partners-with-magic-grants-501-c-3/magicblog.webp --- # Privacy Guides Partners With MAGIC Grants 501(c)(3) diff --git a/blog/posts/privacy-is-like-broccoli.md b/blog/posts/privacy-is-like-broccoli.md new file mode 100644 index 000000000..9ff15f9b8 --- /dev/null +++ b/blog/posts/privacy-is-like-broccoli.md @@ -0,0 +1,112 @@ +--- +date: + created: 2025-07-24T18:20:00Z +categories: + - Opinion +authors: + - em +description: Improving privacy can get overwhelming at first. It's important to move one step at a time, but remain persistent. Good privacy is like good health habits. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/privacy-is-like-broccoli/broccoli-cover.webp +--- + +# Privacy Is Like Broccoli + +![Background filled with numbers from 0 to 2, representing binary code separated by the character 2. Outlined in bright green color is the shape of a piece of broccoli.](../assets/images/privacy-is-like-broccoli/broccoli-cover.webp) + + + +If you are just starting the journey to improve your privacy online, you might feel overwhelmed by all the information you recently learned. This is normal, don't panic! + +When we first start learning about how much data is collected on us, and all the things we need to do to protect it, it's very common to feel stressed and distressed. + +In a state of panic, you might be tempted to try doing it all at once, driven by an urgent desire to delete yourself from the entire internet, like right now! While this feeling is very understandable, this is the wrong approach. + +The right approach is to see privacy like broccoli. Yes, broccoli, you have not misread me. + +## Privacy is like good health habits + +Good privacy is very similar to good health habits. If you want to improve your health, and your plan for this is to take one week per year to stuff yourself with broccoli, spend 7 days in a bath, and exercise 20 hours per day that week (while in the bath eating broccoli, I presume), then for the rest of the year follow a strict diet of ice cream and chips without any exercise or hygiene, you will not in fact end up being healthier. + +The best *sustainable* approach to become healthier is to adopt better practices that you can keep doing the *whole* year, at a reasonable pace. + +Slowly, while you eat some broccoli with healthy meals once in a while, exercise moderately but regularly, and take care of your body in general, you will effectively improve your health over the months and years. + +The same is true for data privacy. + +Trying to stuff yourself with better privacy is a common and normal reaction after realizing how much of our personal data is getting exploited online. The extent to which our privacy rights are getting violated daily is understandably terrifying. + +However, trying to fix it all at once can lead to the greatest danger of all: Giving up entirely. + +As it is for good health habits, it's important to work on adopting good privacy habits slowly but *persistently*. These improvements need to be habits you will be able to maintain through the whole year. + +For some privacy-enhancing tools, it might take more time to set it up and get used to it at first, but then take no extra time to keep using it through the year. Nevertheless, it's important to actually **keep using these tools**. If you spend money on a stationary bike, then leave it to collect dust in the garage, this isn't going to improve your health at all. + +## What you can do concretely + +There is so much you can do to improve your privacy online, but here's the good news: You should start with the *easiest*. + +Here are a few things you can start doing to improve your data privacy. Start with the **easiest for you.** Complete goals **one at a time**. Once you are comfortable with one improvement, **then pick another one**. + +Don't forget to keep using these tools and practices through the whole year, not just for one stuffing-broccoli week. The key here is persistence. + +### Tools and services you can start using + +Start with the improvements that are easier for you, and with the recommendations that are realistically applicable to your unique situation. Only you can determine what are the tools that work best for yourself. Don't do it all at once! Pace yourself, but stay persistent. + +- [x] [**Browser**: Start using privacy-respectful browsers](https://www.privacyguides.org/en/desktop-browsers/) + +- [x] [**Internet Search**: Use a privacy-focused search engine](https://www.privacyguides.org/en/search-engines/) + +- [x] [**Communication**: Use Signal for your text messages, calls, and video chats whenever possible](https://www.privacyguides.org/en/real-time-communication/#signal) + +- [x] [**Social Media**: Start using better social media like Mastodon](https://www.privacyguides.org/en/social-networks/) + +- [x] [**Documents**: Use CryptPad for your collaborative documents and forms](cryptpad-review.md) + +- [x] [**Security**: Enable multifactor authentication for your accounts](https://www.privacyguides.org/en/multi-factor-authentication/) + +- [x] [**Passwords**: Start using a secure password manager](https://www.privacyguides.org/en/passwords/) + +- [x] [**Email**: Migrate to a privacy-respectful email service](https://www.privacyguides.org/en/email/) + +- [x] [**Virtual Private Network**: Protect your IP address with a trustworthy VPN service](https://www.privacyguides.org/en/vpn/) + +- [x] [**Cloud**: Move your data to an end-to-end encrypted cloud storage](https://www.privacyguides.org/en/cloud/) + +- [x] [Continue your journey with more recommendations here!](https://www.privacyguides.org/en/tools/) + +### Practices and habits to adopt progressively + +- [x] [**Use pseudonymity when creating accounts:**](stay-safe-but-stay-connected.md/#pseudonymity) Favor sharing only a nickname or a first name when possible. Create accounts using email aliases, unique passwords, and a VPN connection when you can. Avoid sharing your phone number as much as possible. + +- [x] [**Limit the photos you share:**](stay-safe-but-stay-connected.md/#photo-sharing) Be careful when sharing photos of yourself online. Be mindful of the information it contains, such as precise location. Examine your photos for reflections that could share more details than you intended. Keep in mind that using the same photos on different services might link these services together. Never share photos of others without their prior consent! + +- [x] [**Remove metadata:**](stay-safe-but-stay-connected.md/#file-metadata) Whenever you share a photo or a file somewhere, strip the metadata from this file before sharing it. + +- [x] **Minimize shared data:** When filling a form or creating an account, don't share more information than what is necessary. Even if there is a question with a field, this field might not be mandatory to fill. Only fill the mandated information to obtain the service you need. + +- [x] [**Opt out of data collection, say no:**](you-can-say-no.md) Whenever possible, try opting out of unnecessary data collection. Sometimes, options to opt out aren't advertised, but you can ask if there is one. Opt out of meetings or medical visits being recorded (often done from AI transcription tools), opt out of facial scans at airports (if you legally can), reject all cookies! + +- [x] **Opt out of AI features:** Each time a service or app asks for your consent to use a "smart" feature, if you don't absolutely need it, choose No. Don't use AI features if you can avoid it. Unfortunately, many if not most of these features do collect your data, in a way that often makes it impossible to delete later. Unless you have reliable guarantees this feature is privacy-respectful, it's always safer to opt out and say no. + +- [x] [**Delete your unused accounts:**](https://www.privacyguides.org/en/basics/account-deletion/) Get into the habit of deleting the accounts you no longer use (and the data it contains). If required, email the service to submit an official data deletion request. You will feel lighter and lighter over time! + +- [x] **Continue your journey with us:** Keep consulting our many resources to adopt even more healthy privacy practices persistently! + +## Persistence is key + +There are a lot of recommendations above, but don't do it all at once. Be careful not to choke on broccoli! + +Take steps to bookmark this information for later, and go through it slowly at a pace that doesn't overwhelm you. **Always take the easiest next step.** + +Maybe keep a to-do list, use a privacy-respectful calendar app, or even a bingo card (gamified privacy!) for your privacy improvement goals for the year. Make it easy, and make it fun! + +Perhaps joining a group of like-minded people may also help you to stay motivated. There's a truly wonderful community on our [Privacy Guides Forum](https://discuss.privacyguides.net/) you are welcome to join! Many people there will be able to help you if you have questions through your privacy journey. Give yourself the tools and support you need to succeed, you are not alone with this. + +Your greatest enemy is yourself giving up. + +Your greatest allies are the amazing variety of free privacy-preserving tools and services available to you, the numerous guides and communities out there to help you, and the friends you will make along the way. + +Remember to stay healthy and persistent with your privacy! 🥦✨ diff --git a/blog/posts/privacy-is-not-dead.md b/blog/posts/privacy-is-not-dead.md index f6dcf9648..5177aef03 100644 --- a/blog/posts/privacy-is-not-dead.md +++ b/blog/posts/privacy-is-not-dead.md @@ -8,9 +8,7 @@ authors: description: Privacy is only dead if we let it die. Be careful about the all-or-nothing mindset in data privacy, it can do more damage than good to the cause. While striving for improvements, do not forget to cheer and celebrate each small win. schema_type: OpinionNewsArticle preview: - color: "#28323F" - text_color: "#FFD06F" - site_logo: privacy-guides-logo-notext-darkbg.svg + cover: blog/assets/images/privacy-is-not-dead/cover.webp --- # No, Privacy is Not Dead: Beware the All-or-Nothing Mindset diff --git a/blog/posts/privacy-means-safety.md b/blog/posts/privacy-means-safety.md new file mode 100644 index 000000000..1fd26c8ac --- /dev/null +++ b/blog/posts/privacy-means-safety.md @@ -0,0 +1,225 @@ +--- +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 +preview: + cover: blog/assets/images/privacy-means-safety/privacy-means-safety-cover.webp +--- +# Privacy Means Safety + +![Photo of a padlock with "SOS" written on it and a drawn heart instead of an "O" letter. It is locked on a metal fence.](../assets/images/privacy-means-safety/privacy-means-safety-cover.webp) + + + +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. + +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. + +
+

Content Warning: This article contains mention of sexual assault, violence, and death.

+ +## 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 2021, 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 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.** + +--- + +
+

Resources in the United States & Canada

+ +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) + +
+ +--- + +**Correction (Mar. 27):** This article was updated to correct a typo in a date. The previous version wrongly described the arrest of a French climate activist happening in 2012, when these events actually happened in 2021. diff --git a/blog/posts/privacy-pass.md b/blog/posts/privacy-pass.md new file mode 100644 index 000000000..b15acae02 --- /dev/null +++ b/blog/posts/privacy-pass.md @@ -0,0 +1,247 @@ +--- +date: + created: 2025-04-21T17:30:00Z +categories: + - Explainers +authors: + - fria +tags: + - Privacy Pass +license: BY-SA +schema_type: BackgroundNewsArticle +description: | + Privacy Pass is a new way to privately authenticate with a service. Let's look at how it could change the way we use services. +preview: + cover: blog/assets/images/privacy-pass/cover.webp +--- +# Privacy Pass: The New Protocol for Private Authentication + +![Cover photo of the Privacy Pass logo over a yellow background](../assets/images/privacy-pass/cover.webp) + + + +Services that require authentication can correlate your activity on that service with your account, and that account is normally linked with payment information that could potentially link back to your real identity. With the Privacy Pass protocol, it doesn't have to be that way. + +## History + +The story of Privacy Pass begins with a [paper](https://dl.acm.org/doi/pdf/10.1145/4372.4373) by David Chaum from 1985 (he actually has an earlier paper from [1982](https://chaum.com/wp-content/uploads/2022/02/chaum_dissertation.pdf), but I'll be referencing this one), in which he laments the ever-increasing data collection by companies and government agencies. + +It's funny that all the way back in 1985 he talks about the same issues we deal with today: persistent identifiers tied to our real identity for transactions, government IDs, etc. + +Chaum proposes three solutions to the state of affairs he describes. + +### Pseudorandom Identifiers + +Instead of persistent identifiers like we now have with our government IDs, credit cards, etc., Chaum suggests randomly generated identifiers. For example, you could have a one-time unique identifier for each transaction at a shop. + +For ongoing relationships such as a bank, you can use a single pseudorandom identifier for that organization that you use continuously. + +### Card Computers + +One of the more quaint ideas in the paper is the idea of a small "card computer" on which you would perform transactions. Chaum's theoretical device resembles "a credit-card-sized calculator, and [includes] a character display, keyboard, and a limited distance communication capability (like that of a television remote control)". + +Nowadays, we carry around credit-card sized computers like it's nothing. The secret "card number" he describes would probably be your device PIN or even biometric authentication, which are already used to authenticate transactions. + +We still haven't *quite* reached Chaum's vision yet in some areas. His idea is for these "card computers" to fully replace ATMs and checkout terminals in stores. Essentially, he wants all transactions to be online transactions, with something like Apple Pay or Google Pay on your device mediating the transaction and using your device PIN to prevent fraudulent transactions. +Making all transactions online transactions is an interesting idea. I think most people can share in the frustration of dealing with checkout terminals, especially the self-checkout ones with cameras pointed at your face. + +We're still falling short in a major area though. + +> card computers could be purchased or constructed just like any other personal computer, and would have no secrets from or structures unmodifiable by their owners. + +Current smartphones are non-upgradeable by their owners and can't be built from scratch like a desktop computer can. They also contain lots of black-box proprietary code. Even a Google Pixel, the gold standard of Android smartphone freedom that allows you to install your own operating system securely, still suffers from the same pitfalls. + +### Cryptography + +How do we ensure the pseudonyms can't be linked together? We already use cryptography to protect our communications. Chaum presents ways to similarly protect unlinkability using cryptography: + +> Simple mathematical proofs show that, with appropriate use of the systems, even conspiracy of all organizations and tapping of all communication lines cannot yield enough information to link the pseudonyms-regardless of how clever the approach is or how much computation is expended. + +## Blind Signatures + +Digital signatures normally are used to ensure that something like a piece of software or a message comes from the original sender and hasn't been tampered with. You want to know who the signer is for this system to work. + +But what if the signer and the one sending a request are different? Say you have a membership to a hypothetical *PrivacyGuides+ subscription service*, and you want to authenticate with it, but don't want to identify yourself. That's where blind signatures come in. + +### How it Works + +You can imagine blind signatures like an envelope that's been wrapped in [carbon paper](https://en.wikipedia.org/wiki/Carbon_paper) with a window showing your pseudonym for that account, whether it be an account number, username, etc. They never see anything but the account identifier, or whatever they need to verify that you're a valid customer. +The organization then signs it, indicating you're a valid customer, and you're allowed to access the service. + +Later, when you're presented with a request to authenticate as an active subscriber of PrivacyGuides+, you unwrap the envelope and discard it along with the carbon paper. You rewrap it in a new envelope with a window showing the signature and a different pseudonym, and the requester can then be sure that you're allowed to access PrivacyGuides+. + +![A diagram showing an envelope being wrapped in carbon paper, transferred to an organization, then passing over a boundary representing the unlinkability between the two transactions. Then the envelope is unwrapped, put in a new envelope with a window showing the signature from the previous organization, and presented to a different organization.](../assets/images/privacy-pass/blind-signatures.webp) + + + +This system relies on the same strong cryptography that tried and true systems use, with the difference being the unlinkability between the credential issuer and the credential receiver. + +## Problems + +Services that don't require an account or payment to use are great; you can use them with Tor, clear your browser history, whatever you need to do to keep your activity private. + +But logging into an account completely invalidates all of that. Every time you log in or authenticate with a service, you have to identify yourself as the same person, linking all your previous activity together. Increasingly, we're asked to provide personal information in order to be able to use certain websites or services. + +### Linkability + +As long as you're logged into an account with a service, all your previous and current activity can be linked together, along with any data you provided such as an email address, payment information, etc. + +### Data Collection + +A lot of websites and services want to — [or are forced to](https://en.wikipedia.org/wiki/Social_media_age_verification_laws_in_the_United_States) — filter out users below a certain age. + +We're starting to see a rise in extremely privacy-invasive age verification systems such as submitting a government ID when you want to access a website or invasive facial scans. + +### Blocking VPN and Tor Users + +Bots are a rampant problem for online services, leading them to sometimes block non-residential IP addresses such as those used for commercial VPNs and Tor. + +### CAPTCHAs + +When VPN and Tor users aren't blocked, they often have to deal with annoying [CAPTCHAs](http://www.captcha.net) that take up your precious time and use invasive [fingerprinting](https://developers.google.com/recaptcha/docs/v3). + +CAPTCHAs aren't even particularly good at detecting bots. With advances in AI, [bots can solve CAPTCHAs better than humans can](https://arxiv.org/pdf/2307.12108). + +## Privacy Pass + +Several blind signature-based solutions are in various states, some being implemented but not widely used, some being proposed browser APIs, and some being IETF standards. + +The landscape is very confusing right now, so I'll try to elucidate what I've found. + +[Privacy Pass](https://privacypass.github.io) started out as an attempt at a privacy-preserving way to bypass CAPTCHAs. + +It started out and is still an extension that can be installed on the [Chrome](https://chromewebstore.google.com/detail/silk-privacy-pass-client/ajhmfdgkijocedmfjonnpjfojldioehi) or [Firefox](https://addons.mozilla.org/en-US/firefox/addon/privacy-pass/) extension store, but it's since expanded to become an [IETF standard](https://datatracker.ietf.org/wg/privacypass/about/). + +The Privacy Pass protocol has massively outgrown its original purpose. It's been updated to support multiple different schemes and purposes. + +There are three main roles that need to be played for the authentication mechanism to work. These can be filled by all the same party, by three separate parties, or any combination in between. You'll have increased privacy the more separation there is between each role, so ideally they should all be filled by different parties. + +### Origin + +The origin is the original website or service that's requesting a token for redemption. The client presents a valid token, or it must request more tokens. + +### Attester + +The attester is responsible for verifying something about the client. There are several ways it can achieve this, and it can use multiple at the same time if desired. + +#### CAPTCHA + +The attester can make the client solve a CAPTCHA to prove that it's not a bot. Not the most elegant solution but solving one CAPTCHA instead of multiple is preferable. + +#### Client State + +The attester can verify something about the client's state like the geographic location, whether the client has a valid account, or the number of issuance protocol invocations. + +#### Trusted Device + +If your client is running on hardware that's capable of producing device-level attestation, like a device with a secure element, then it can use that to verify that the device is trusted. + +For example, in Apple's Private Access Token implementation, they use certificates stored in the Secure Enclave and verify that your Apple account is in good standing. + +### Issuer + +The issuer is responsible for issuing tokens in response to requests from clients. + +The client presents tokens to the Origin once they're provided by the issuer. + +![diagram showing the structure of Private Access Tokens. The origin asks the client for a token, the client forwards the request to the attester which then forwards it to the issuer which then generates a token, sends it to the client which then sends it to the origin.](../assets/images/privacy-pass/private-access-tokens.webp) + + + +The tokens need to identify which issuers are trusted. + +They can also be interactive or non-interactive. Interactive means that you need a fresh token based on the challenge, whereas a non-interactive token can be stored for later use. + +Tokens can also be constrained to one specific Origin, or they can be used across Origins. + +### Private State Tokens + +[Private State Tokens](https://developers.google.com/privacy-sandbox/protections/private-state-tokens) (PSTs) are a [proposed browser API](https://github.com/WICG/trust-token-api) by Google as part of their [Privacy Sandbox](https://developers.google.com/privacy-sandbox). They're based on the Privacy Pass protocol. + +The main benefit of PSTs is that they provide a secure place for websites to store their tokens so that you don't need a separate extension for every service. + +A browser-level API, I imagine, would significantly reduce the development burden of browser-based services looking to implement Privacy Pass, but it would leave non-browser apps like VPNs high and dry. + +### Private Access Tokens + +[Private Access Tokens](https://blog.cloudflare.com/eliminating-captchas-on-iphones-and-macs-using-new-standard/) are based on Privacy Pass as well, but they don't seem to be specifically bound to the browser. + +It's unclear to me what really makes Private Access Tokens different from Privacy Pass itself, other than that Private Access Tokens seem to call for separation of the Attester and Issuer while Privacy Pass allows the origin, attester, and issuer to be the same. Delegating each role to a different party adds extra privacy. + +The origin website only knows your URL and IP from the initial connection. + +The attester only knows the data needed to verify you as a valid user. + +The issuer knows the site you visited, but doesn't know any of your device information that the attester used to verify you. + +### Kagi + +There are scant services actively using Privacy Pass to authenticate users, but a recent and very exciting example is [Kagi](https://blog.kagi.com/kagi-privacy-pass). + +With their implementation, you can now install their extension for [Firefox](https://addons.mozilla.org/en-US/firefox/addon/kagi-privacy-pass/) and [Chrome](https://chromewebstore.google.com/detail/kagi-search/cdglnehniifkbagbbombnjghhcihifij). Safari isn't supported at the moment, but their [Orion](https://chromewebstore.google.com/detail/kagi-search/cdglnehniifkbagbbombnjghhcihifij) browser supports it and is WebKit-based. + +The need for an extension and lack of support for some platforms highlights the need for widespread support for Privacy Pass in browsers and platforms. It's not reasonable to expect every single platform to implement Privacy Pass themselves and users likely don't want to install a separate extension for every platform either. + +That said, I applaud Kagi for their efforts. They went above and beyond to protect their users' privacy. A few notes for future improvements, though. + +#### No Account Requirement + +Currently, Kagi requires an account in order to use it. Although they allow you to put in a fake email address on account creation since they don't [check it](https://kagifeedback.org/d/3813-enable-anonymous-registration-no-email/16), it's still a persistent identifier that could be eliminated. + +Their announcement blog post states that the ability to use Kagi fully without an account is a possibility for the future with an invitation to request the feature on their [forum](https://kagifeedback.org/d/6163-kagi-privacy-pass), so feel free to add your voice. A fully accountless search engine that doesn't rely on ads would be great to see. + +#### Separation of Origin, Attester, Issuer + +Kagi uses the [Shared Origin, Attester, Issuer](https://www.ietf.org/archive/id/draft-ietf-privacypass-architecture-03.html?_fsi=jKxFixnl#section-4.1) model for their implementation, which leaves the possibility of data being correlated between each step of the process, such as device fingerprinting or IP address being used to correlate a user who is issued tokens with when they redeem them. + +Kagi's onion service helps to mitigate this issue, but I think it would be a significant privacy improvement to separate all three entities. + +#### Remove Requirement for an Extension + +Having to install an extension is annoying as an end user and surely incurs some development cost in both the initial development and upkeep over time. I'm not sure how it would be possible to get rid of the extension as it seems like there's no good way to do so at the moment, but I'm hopeful that the Private State Token API could be used for that in the future if it ever gets fully standardized as a browser API. + +## Future Possibilities + +Overall, Privacy Pass is an exciting standard that is already improving the privacy of users on a wide scale. + +### Easier Adoption + +However, for widespread adoption of anonymous authentication for all online services, there needs to be an easier way for developers to implement it. I see Private State Tokens and Private Access Tokens as paths toward that goal, but they have their own limitations. + +Private State Tokens seem to be restricted to browsers, which is mostly fine since so many online services are accessed through the browser. It does put services like VPNs that operate outside the browser in a tight spot though. + +Private Access Tokens seem like a possible solution for device-wide Privacy Pass authentication, but the only place I've seen them implemented is in Apple's operating systems to identify users as real iOS or macOS users. I'd like to see wider adoption for more use cases than just that. It's unclear what the vision for Private Access Tokens is for the moment. + +### Carriers + +One of the biggest and most privacy-invasive services is mobile carriers. They take lots of personal information when you sign up, and then you have permanent identifiers, both IMSI identifying you as a subscriber and IMEI identifying your device, tied to that information while you use it. Because of how the cell network works, they also can tie that information to your physical location and all the traffic you send through their network. + +[Cape](https://www.cape.co/research) is a privacy-focused carrier that says they're "studying the use of blinded tokens and zero-knowledge proofs to disaggregate subscriber information." This would have a massive impact on user privacy, possibly allowing a KYC'd mobile subscriber to use their carrier at least semi-anonymously (it's unclear how IMSI and IMEI fit into this scheme, as well as location information). + +### VPNs + +Commercial VPNs typically require some kind of account identifier, even if it's just a randomized number. + +Apple's iCloud Private Relay uses RSA blind signatures to anonymously authenticate users to each of the two hops. + +Google's former [VPN](https://www.gstatic.com/vpn/google_vpn_white_paper.pdf) service also used blind signatures to protect users. + +![Diagram showing Google's blind signature VPN authentication scheme](../assets/images/privacy-pass/google-vpn.webp) + + + +Hopefully we can see more VPN companies start to use Privacy Pass to authenticate users, I think it would be a massive improvement to user privacy. + +### Digital Cash + +Part of Chaum's vision was anonymous digital transactions using blind signatures, which he made a reality with his company [DigiCash](https://chaum.com/wp-content/uploads/2022/01/05-27-94-World_s-first-electronic-cash-payment-over-computer-networks.pdf). + +For whatever reason, *eCash*, as it was called, never caught on and the company filed for bankruptcy in 1998. We're left with the terrible current system where you need to input your credit card and personal information in order to make a transaction, which is easily traceable back to you. Not to mention the security implications, [credit card fraud](https://www.security.org/digital-safety/credit-card-fraud-report/) is rampant today. + +The dream isn't dead, however. Chaum's [eCash 2.0](https://chaum.com/ecash-2-0/) is quantum-resistant and has been built and tested in the Bank for International Settlements' [Project Tourbillon](https://www.bis.org/about/bisih/topics/cbdc/tourbillon.htm). + +### Digital ID + +Laws are being passed forcing 18+ websites and even [app stores](https://thehill.com/policy/technology/5179865-utah-app-store-age-verification-law/) to collect verify the ID of users. This is a massive slap in the face to the privacy and security of everyone. Data breaches and tracking are inevitable under the current system. + +Blind signatures could provide a private and secure way to verify age or other information without having to submit your entire ID or submit invasive face scans. diff --git a/blog/posts/private-european-alternatives.md b/blog/posts/private-european-alternatives.md new file mode 100644 index 000000000..3a88efd7a --- /dev/null +++ b/blog/posts/private-european-alternatives.md @@ -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 + +![European Union flag and Privacy Guides logo side by side](../assets/images/private-european-alternatives/eu-alternatives.webp) + + + +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. + +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: + +
+ +![Tuta logo](../assets/img/email/tuta.svg#only-light){ align=right } +![Tuta logo](../assets/img/email/tuta-dark.svg#only-dark){ 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" } + +
+ +### Proton Mail :flag_ch: + +
+ +![Proton Mail logo](../assets/img/email/protonmail.svg){ 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" } + +
+ +## :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. + +
+ +![CryptPad logo](../assets/img/document-collaboration/cryptpad.svg){ 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" } + +
+ +: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. + +
+ +![Nextcloud logo](../assets/img/document-collaboration/nextcloud.svg){ 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" } + +
+ +### 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. + +
+ +![LibreOffice logo](../assets/img/office-suites/libreoffice.svg){ 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" } + +
+ +## :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: + +
+ +![Startpage logo](../assets/img/search-engines/startpage.svg#only-light){ align=right } +![Startpage logo](../assets/img/search-engines/startpage-dark.svg#only-dark){ 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" } + +
+ +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. + +
+ +![Mullvad Browser logo](../assets/img/browsers/mullvad_browser.svg){ 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" } + +
+ +## :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: + +
+ +![Organic Maps logo](../assets/img/maps/organic-maps.svg){ 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" } + +
+ +### OsmAnd :flag_nl: + +
+ +![OsmAnd logo](../assets/img/maps/osmand.svg){ 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" } + +
+ +## :material-form-textbox-password: Password Managers + +### KeePassXC :flag_de: + +
+ +![KeePassXC logo](../assets/img/password-management/keepassxc.svg){ 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" } + +
+ +:material-star-box: We recently published an article on [securely using KeePassXC with a YubiKey](installing-keepassxc-and-yubikey.md)! + +### Proton Pass :flag_ch: + +
+ +![Proton Pass logo](../assets/img/password-management/protonpass.svg){ 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" } + +
+ +## :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. + +
+ +![Element logo](../assets/img/social-networks/element.svg){ 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" } + +
+ +### 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. + +
+ +![Simplex logo](../assets/img/messengers/simplex.svg){ 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" } + +
+ +### 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. + +
+ +![Briar logo](../assets/img/messengers/briar.svg){ 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" } + +
+ +## 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. diff --git a/blog/posts/queer-dating-apps-beware-who-you-trust.md b/blog/posts/queer-dating-apps-beware-who-you-trust.md new file mode 100644 index 000000000..3556187d9 --- /dev/null +++ b/blog/posts/queer-dating-apps-beware-who-you-trust.md @@ -0,0 +1,572 @@ +--- +date: + created: 2025-06-24T21:00:00Z +categories: + - News +tags: + - Pride Month +authors: + - em +description: At the intersection of data privacy and LGBTQ+ experiences, it's inevitable to talk about queer dating apps. Unfortunately, most are horrible for data privacy. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/queer-dating-apps-beware-who-you-trust/dating-cover.webp +--- + +# Queer Dating Apps: Beware Who You Trust With Your Intimate Data + +![Photo of a hand holding a phone with a rainbow gradient and a white heart on it. The hand holds the phone in front of a vertical rainbow background with an open eye displayed transparently over it, symbolizing surveillance.](../assets/images/queer-dating-apps-beware-who-you-trust/dating-cover.webp) + + + +When discussing the intersection of data privacy and LGBTQ+ experiences, it's inevitable to also talk about queer dating apps. Due to a smaller percentage of the population and a number of factors complicating in-person dating, people part of the queer community are more likely to seek online platforms to meet lovers and friends. Unfortunately, using queer dating apps can be very dangerous for privacy, and even for safety. + +Dating apps are generally horrible for everyone's privacy, but the queer population is at an even higher risk of harm due to discrimination, and even [criminalization in certain regions](https://www.humandignitytrust.org/lgbt-the-law/map-of-criminalisation/). + +Despite the risks, LGBTQ+ people still need to fulfill their social and romantic needs like anyone else. + +This isn't an easy task outside the online realm either. Discrimination can be much worse in physical environments that aren't specifically catering to the queer community. In some regions, this can even mean a greater risk of physical aggression. + +LGBTQ+ people aren't necessarily safe to date in the same ways cisgender heterosexual people are, increasing the need for safe spaces. + +Another important factor is that a smaller percentage of the population necessarily creates a smaller dating pool. Even if someone were to avoid entirely online services, if they aren't located in a town large enough to host LGBTQ+ venues and events, or if they live in an environment where revealing their queer identity could be unsafe to them, online spaces might be their only viable option to [find connections](stay-safe-but-stay-connected.md). + +Sadly, this isn't ideal. In today's world, it seems very few services (if any) are considering the importance of data privacy for dating apps seriously enough. + +For this reason, it is crucial to acknowledge the dangers, and learn about ways to minimize the risks, and to stay safe while looking for romantic or sexual partners online. + +## Dating apps are horrible for data privacy + +Unfortunately, whether it's dating apps catering to everyone or to a narrower segment of the population, they are pretty much *all horrible for data privacy*. + +Some apps might be worse than others, but at this time, there are no good, largely used, *and* privacy-respectful dating apps. + +Due to the nature of dating apps, a major problem is that any dating app will unavoidably collect at least some of very sensitive personal data. This can include photos, intimate photos, sexual preferences, intimate conversations, detailed physical descriptions, and likely much more. + +Because of this, a good privacy-respectful dating app would need to implement considerably stronger protections for this data, and obviously not share it with any third party. Regrettably, this isn't what is happening *at all*. + +### They collect very sensitive information, legally and illegally + +Necessarily, most dating apps will collect *at minimum* a nickname, email, photo, and descriptions of your personality and physical appearance. But, the majority of apps do not stop there. + +Most dating apps also collect your location, IP address, and phone number (a strong quasi-static identifier that can be linked to your other accounts and legal identity). + +Then, you might upload additional sensitive information, such as a detailed physical description, detailed personality description, health condition, religion, political views, sexual preferences, and even intimate photos in private chats. All this information is collected and stored by the dating app, and maybe even shared with third parties. + +According to a [report from Mozilla](https://www.mozillafoundation.org/en/privacynotincluded/articles/data-hungry-dating-apps-are-worse-than-ever-for-your-privacy/), about 25% of apps also collect metadata on uploaded content. This means that if you do not [remove metadata](https://www.privacyguides.org/en/data-redaction/) from your photos and videos (or other file types) before uploading them, the dating app could collect it. This can include very precise information on where and when a photo or video was taken, for example. + +Additionally, dating apps can collect a scandalous amount of information from your social media accounts if you use them to sign up with the app. Already in 2017 (this is likely much worse 8 years later into surveillance capitalism), The Guardian journalist Judith Duportail [reported](https://www.theguardian.com/technology/2017/sep/26/tinder-personal-data-dating-app-messages-hacked-sold) on her experience with Tinder after requesting a copy of her account data. Tinder had kept 800 pages of information on her, including Facebook likes, number of Facebook friends, Instagram photo links, ages of men she was interested in, and so on. From her experience she wrote: + +> What will happen if this treasure trove of data gets hacked, is made public or simply bought by another company? I can almost feel the shame I would experience. + +She is not alone in this. Every dating-app user is at risk of having their intimate data exposed if their account or the app's servers gets hacked, or if the company otherwise leaks or shares their data. + +Tragically, data breaches and companies acquisitions aren't rare occurrences. It's more a matter of "when" than "if". + +#### Identity verification + +Moreover, many apps now require to "verify identity" by requesting users to submit a video selfie, official ID, or other means of verification. + +This practice is intrusive at best, and straight out *dangerous* at worst. Any verification practice requiring a piece of official ID or a facial scan has the potential of endangering this data, and increases the risk of a data leak exposing your intimate dating information while being strongly linked to your legal identity. + +No dating app should be requiring such sensitive information. Fighting bots and fake accounts isn't worth the risk this represents to users. + +#### Biometric data + +Even for users who might be careful to choose more privacy-respectful apps, or feel protected by stronger local legislation, trust can be broken. + +In 2024, Bumble and Badoo settled a [class action lawsuit](https://www.the-sun.com/money/12327292/bumble-settlement-badoo-payment/) for allegedly infringing the privacy rights of users residing in Illinois US, by violating the [Biometric Information Privacy Act](https://en.wikipedia.org/wiki/Biometric_Information_Privacy_Act) (BIPA). The complainants alleged the apps, both owned by Bumble Inc, were capturing and storing users' facial scan biometrics it extracted from profile's content without the users' consent. + +While users located in Illinois were entitled to financial compensation from the [settlement](https://topclassactions.com/lawsuit-settlements/closed-settlements/40m-bumble-badoo-bipa-class-action-settlement/), others located in regions with weaker local regulation didn't receive any compensation for this violation of their consent. + +#### Artificial intelligence features + +Finally, most dating services have now [integrated AI features in their platforms](https://www.platformer.news/grindr-ai-boyfriend-wingman-monetization-paid-taps/). This is dreadful for privacy. + +The problem with current AI features is that most will not just generate data but will also *collect* data. Once data is integrated into a model, it's incredibly difficult (if not impossible) to delete it later. + +Grindr's terms of service include a section specifying that, when using the platform, [you grant an irrevocable right to Grindr](https://www.grindr.com/terms-of-service) to "exploit Your User Content" to train "AI Technologies". **Your content is up for AI-grabs on Grindr.** + +Horrifyingly, most other dating apps aren't better. + +While other apps might be careful not to directly name "AI" or "training" in their terms of service, risking scaring users away, OkCupid, Hinge, and Plenty of Fish (all part of the Texas-based dating service conglomerate Match Group), describe a similar clause in their terms of service that could potentially include AI technologies training on users' content (if not already). + +For example, OkCupid specifies in clause 7 of their [Terms & Conditions](https://okcupid-app.zendesk.com/hc/en-us/articles/23941864418203-Terms-Conditions) (emphasis added for clarity): + +> By creating an account, **you grant to OkCupid a worldwide, perpetual, transferable**, sub-licensable, royalty-free **right and license to** host, store, use, copy, display, reproduce, adapt, edit, publish, translate, modify, reformat, **incorporate into other works, advertise, distribute and otherwise make available to the general public Your Content**, including any information you authorize us to access from Facebook or other third- party sources (if applicable), in whole or in part, and **in any way and in any format or medium currently known or developed in the future.** OkCupid's license to Your Content shall be non-exclusive, except that OkCupid's license shall be exclusive with respect to derivative works created through use of our Services. For example, **OkCupid would have an exclusive license to screenshots of our Services that include Your Content.** + +Of course "any medium developed in the future" could include AI technologies, and/or anything else. + +OkCupid has already integrated AI features in users' dating experience using OpenAI's ChatGPT for its services. Michael Kaye, OkCupid's head of communications, excitedly [told Mashable](https://mashable.com/article/okcupid-chatgpt-questions) that "daters who think ChatGPT is a lifesaver get almost 40 percent more Matches on OkCupid than those who think it's too big brother". + +Well, perhaps users who accurately think "it's too big brother" have simply already left the app... + +### They can expose legal identities + +Besides the data privacy dangers created by integrating AI features in dating apps, [identity and age verification is another growing problem](age-verification-wants-your-face.md). + +Unfortunately, it seems dating apps are more concerned with fighting fake accounts than protecting users' data, and are willing to sacrifice the latter for the former. + +Of course, this security measure is only theatrical. Criminals will easily go around identity verification systems, while the inevitable data breaches will endanger and harm all trustworthy users at once. + +#### Identity verification endangers the most vulnerable + +Each time a dating application asks for a video selfie or an official piece of ID to prove identity or age, this data risks getting leaked and stolen later. + +Moreover, requiring official IDs and face scans severely harm the most vulnerable users who need [protective practices to stay safe online](stay-safe-but-stay-connected.md/#practices-and-tools-that-help-in-various-contexts), for example by using a pseudonym. This is true for victims of domestic violence, victims of online stalking, as well as for the LGBTQ+ community. + +Exposed legal identities, particularly in conjunction with dating data, can lead to identity theft, online harassment, doxxing, non-consensual outing, extortion, loss of employment, arrest, and even sexual and physical violence. + +Pseudonymity can save lives online. Fighting pseudonymity isn't fighting crime, it's [fighting against the safety](https://journals.sagepub.com/doi/full/10.1177/17416590221111827) of the most vulnerable in our society. + +#### Biometric data and dystopian third party + +Continuing this horrifying trend, Match Group has announced this spring they are partnering with the [dystopian World App](sam-altman-wants-your-eyeball.md) to start testing age verification for Tinder in Japan. The World App generates unique identifiers based on biometric iris scan. + +If having to scan your official ID to continue using Tinder is *bad*, having to scan your eyeball from a questionable third party app is even *worse*. + +This practice will start for Tinder in Japan, but it's likely the verification process could be expanded to all users of Match Group apps in the near future. Soon, the only way to avoid having to share biometric data with the World App to continue using your favorite dating app could be to leave the app entirely. + +#### Payment information + +Finally, payment information can also create a link between your dating account and your legal identity. + +If you provide a credit card under your legal name to use a dating app, then this profile is inevitably linked to your legal identity. + +It's possible that some application *might* use third-party software to manage payments, and that this data *might* not leak associated with your dating profile. However, this depends on which payment services the dating app works with, and what the company's security practices are. + +### They sell users' data to data brokers + +Sadly, not only most dating apps collect *way too much data* they don't secure properly, but they also willingly share this data with data brokers. + +If you are not familiar with the [data broker industry](https://www.eff.org/deeplinks/2021/07/data-brokers-are-problem), data brokers are usually private for-profit companies that specialize in collecting personal information on everyone, using and scraping public records, social media accounts, various websites, other online sources, and any applications willing to work with them. + +They then make this information [available to anyone](https://gizmodo.com/alleged-minnesota-shooter-used-data-brokers-to-find-lawmakers-addresses-2000616975) for sale. They do not care about your consent nor your safety, at all. + +**Data brokers are the archenemy of privacy rights.** + +And yes, dating apps share your dating data with them. California's Privacy Protection Agency even uses dating apps in its [example](https://cppa.ca.gov/data_broker_registry/) for the Data Broker Registry it keeps: + +> For example, if a person signs up for a dating app, a data broker may buy all recent sign ups of that dating app from the app developer and sell the information to a gym that is looking to target potential new customers. + +The chosen example of a data broker selling dating app data to a gym is quite mild. As explained in the next section, [what actually happens](#hateful-groups-tracking-users) with this data if often much more grim. + +One type of data often [bought by data brokers](https://www.eff.org/issues/location-data-brokers) is location data. Location data can easily be used to precisely identify a user, a user's home address, a user's work address, a user's favorite venues, and a user's connections with others. **Many dating apps share location data.** + +In 2022, The Markup [published](https://themarkup.org/privacy/2022/01/27/gay-bi-dating-app-muslim-prayer-apps-sold-data-on-peoples-location-to-a-controversial-data-broker) the results of an investigation from a 2018-2019 sample dataset they obtained from the data broker X-Mode. The dataset compiled location data collected from 107 different apps, including the dating app Bro "for bi, gay, and open-minded men". + +While conducting research on apps from the Google app store in 2020, the Yale Privacy Lab uncovered several other queer dating apps selling data to X-Mode. At that time, the dating apps Wapo, Wapa, MEET MARKET, and FEM were all sharing users' location data with the same data broker. + +Replying to journalists, Bro App's founder confirmed that the company no longer shares users' location with X-Mode. + +But what other data and which other data brokers dating apps might be working with? How many other dating apps similarly share location data? + +Seven years after this dataset was examined, and in a world where data is being collected from users exponentially more, how many dating apps have simply normalized this practice entirely? + +This isn't a new problem, and this [isn't just about location data](https://www.vice.com/en/article/shady-data-brokers-are-selling-online-dating-profiles-by-the-millions/). But this problem is getting increasingly worse, and users must be properly informed on how their intimate data is used and shared. + +With the advancements in computer performance over the years, collecting and storing data is cheaper than ever. Corporations and governments alike are eager to access this data for advertising and surveillance purposes. The same is true for special interest and criminal groups of all kinds. + +**The data broker industry is thriving on exploiting our data without consent**, even in our most intimate activities. + +### They monetize data for advertising + +Data brokers and ad-tech companies are working together in similar ways to extract values from every data point they can find about you online. They feed each other in some sort of twisted exploitative synergy. + +Dating apps are working with them as well. + +In 2021, [Grindr was fined](https://www.bbc.com/news/technology-59651703) €6.5m by the Norwegian Data Protection Authority for sharing users' data without prior explicit consent. The data shared with advertisers included age, gender, advertising ID, IP address, GPS location, and the fact that someone used Grindr. This makes the data even more sensitive, potentially revealing a user's sexual orientation (which is a special category under the [GDPR Article 9](https://gdpr-info.eu/art-9-gdpr/)). + +Last year, Grindr was sued for allegations of [sharing users' HIV status](https://www.bbc.com/news/articles/cj7mxnvz42no) with advertisers, in violation of UK's data privacy laws. Two years before, Grindr was [reprimanded](https://ico.org.uk/media2/migrated/4023128/grindr-reprimand.pdf) by the UK's Information Commissioner's Office (ICO) for its data protection (mal)practices. + +In 2020, the CPO Magazine [reported](https://www.cpomagazine.com/data-privacy/many-of-the-major-dating-apps-are-leaking-personal-data-to-advertisers/) about tests conducted by the Norwegian Consumer Council that found some of the most popular dating apps sharing sensitive personal information with advertisers. Tinder, Grindr (again), and OkCupid were all found to share age, gender, device information, IP address, and GPS location with advertising and analytics platforms owned by Google, Facebook, Twitter (X), Amazon, and more. + +Worse, it was also found that some of these apps sometime shared users' data related to their sexual orientation and dating interests. OkCupid even shared users data related to drug use and political views. + +The same year, Tinder announced a partnership with the app Noonlight to implement a "panic button" feature to connect users with help in case of emergency. This seems great at first, but the problem is, it is yet another app that hasn't done its privacy homework properly to protect users. Gizmodo [found](https://gizmodo.com/tinders-new-panic-button-is-sharing-your-data-with-ad-t-1841184919) the partnering app was sharing users' data with major ad-tech businesses *every minute*, including with Facebook and Google. + +Even your safety is being monetized and shared with Facebook. + +### They don't safeguard data properly + +In addition to collecting and monetizing a *large* amount of very sensitive data on every user, many dating apps have the unfortunate tendency to not take securing this data seriously enough. + +Data breaches and leaks of all sorts are rampant with dating apps. Assume all data you upload there might become public, sooner than later. If you are not out publicly, be aware **a dating app data breach could out you against your will**. + +Here are a few examples of past incidents: + +- 2025: [Grindr, Tinder data breach](https://techcrunch.com/2025/01/13/gravy-analytics-data-broker-breach-trove-of-location-data-threatens-privacy-millions/?guccounter=1) + +- 2025: [Translove, Pink, Brish data leak](https://cybernews.com/security/ios-dating-apps-leak-private-photos/) + +- 2025: [Gay Daddy data leak](https://cybernews.com/security/gay-daddy-ios-app-exposes-users/) + +- 2025: [Raw data leak](https://techcrunch.com/2025/05/02/dating-app-raw-exposed-users-location-data-personal-information/) + +- 2025: [Headero data leak](https://beyondmachines.net/event_details/headero-dating-app-leaks-data-exposing-4-million-user-records-5-n-4-z-a/gD2P6Ple2L) + +- 2023: [Coffee Meets Bagel data breach](https://www.bleepingcomputer.com/news/security/coffee-meets-bagel-says-recent-outage-caused-by-destructive-cyberattack/) + +- 2023: [419 Dating, Meet You, Speed Dating App For American data leak](https://ciso.economictimes.indiatimes.com/news/data-breaches/dating-app-that-claims-50-million-users-suffer-data-breach/101910331) + +- 2021: [MeetMindful data breach](https://www.zdnet.com/article/hacker-leaks-data-of-2-28-million-dating-site-users/) + +- 2019: [Coffee Meets Bagel data breach](https://www.independent.co.uk/tech/coffee-meets-bagel-dating-app-hack-a8781176.html) + +- 2019: [Heyyo data leak](https://www.zdnet.com/article/heyyo-dating-app-leaked-users-personal-data-photos-location-data-more/) + +- 2019: [MobiFriends data breach](https://www.infosecurity-magazine.com/news/data-breach-exposes-four-million/) + +These are only a few examples, and from all the examples of data exposure out there, it's important to remember these are likely only *a fraction* of the data breaches truly happening. The small fraction that actually gets detected and reported. + +While nothing is ever 100% secure, **application developers must do much more** to protect users data adequately. + +The constant news about data breaches and leaks is demonstrating how better security and better privacy is urgently needed, especially for such sensitive information. + +### They can make deleting data difficult + +One excellent practice every dating app should adopt is data minimization. Applications should only require users to *provide the absolute minimum* information necessary to run the service. + +Then, as soon as this data is no longer required, data should be *thoroughly and permanently deleted*. For example, data should be *thoroughly deleted* when a user deletes it on their end, officially requests to have their data or their account deleted, or when an account becomes inactive after a certain period of time. + +This practices greatly reduces the risk of data breaches and leaks, and releases the company from this legal responsibility. **You cannot endanger the data you do not have.** + +Every organization and software developer *should* follow the [wise advice](https://www.schneier.com/blog/archives/2016/03/data_is_a_toxic.html) from renown cryptographer Bruce Schneier, and treat data like it's a toxic asset. + +#### Data retention practices + +It's difficult to know for sure for how long certain dating apps retain data behind the scene. Many lack transparency about their data retention practices. + +Data retention periods should always be the shortest possible to provide the service. Sadly, many businesses might be tempted to retain it for much longer, especially in the age of AI-training datasets. + +#### Data deletion practices + +Additionally, not all dating apps have adopted proper data deletion practices. + +The ideal practice is to empower users to be able to delete the data they wish to delete from within their account (e.g. being able to delete one message or one conversation). But also, companies should provide an option to request a *complete* and *permanent* account and data deletion from within the account, *without requiring additional information* from a user, and without requiring to email the company. + +Many applications have implemented data deletion processes similar to the model described above to manage user's requests, but not all of them (yet). + +Of course, organizations *must* also follow through, and *properly* delete this data in the *backend* as well as in the frontend. + +This has important legal implications, because even for organizations lacking transparency and honesty, users could soon find out the truth in the next data breach. If the data was not fully deleted after a deletion request was made, this could have *severe* legal and financial consequences. + +#### Investigating an app's data deletion process *before* creating an account + +Unfortunately, some dating apps seem to have neglected this important process in their relationship with users. + +Some applications and services are requiring *more* data to submit a data deletion request than what was even required to create the account in the first place. **This is bad.** + +Despite being rated the best (or perhaps the "least bad") on [Mozilla's Privacy Not Included chart](https://www.mozillafoundation.org/en/privacynotincluded/categories/dating-apps/), the queer dating app Lex seems to require users to fill a *Google Form* that mandates providing first and last name, date of birth, email, phone number, and even a *home address*. One of the form seems to imply an official piece of ID might also be required. This is *extremely* intrusive. + +Moreover, this practice would be directly sharing this personal information *with Google,* outing that this person (with this legal name, and at this home address) is queer and uses or used Lex. + +Google Forms aren't a private way to share sensitive data. This isn't a great data privacy practice, to say the least. + +It's also [unclear](https://help.lex.lgbt/article/69-how-can-i-delete-my-data) if Lex respond to data deletion requests from users located outside the protection of the GDPR (Europe) or the CCPA (California US) at all. Despite a number of regions worldwide benefiting from privacy laws granting rights similar to the [GDPR's Article 17](https://gdpr-info.eu/art-17-gdpr/). + +Even if you have been careful to provide only minimal information when creating your account, it seems a simple data deletion request once you are done using the app would require you to share all this *extremely sensitive and identifying information* with Lex (and Google!). + +At the time of this article's publication, Lex's current [privacy policy](https://help.lex.lgbt/article/51-privacy-policy) links to these two forms required from users to fill for [GDPR's Right to Erasure requests](https://docs.google.com/forms/d/e/1FAIpQLSdhK2fkBounO1PeN75s7OU0Ey1tmMpGEQYd9lD8EQWAH8DPKA/viewform) and [CCPA's Right to Delete requests](https://docs.google.com/forms/d/e/1FAIpQLScz7bDrVbjvB4uSiWjJky0JeePyv4Q-g3Cejz6pCCHiXlUEVw/viewform). + +It goes without saying that you shouldn't email a copy of your passport to anyone, and you should never have to provide *more* information than the app already has on you to get your data deleted. This is especially true if all the data mentioned above gets shared with a third-party advertising company like Google, through the use of Google Forms. + +Privacy Guides has reached out to Lex for clarification on its data deletion practices, but has not received any response at the time of this publication. This article will be updated with new information once we receive an answer. + +Before creating an account with a dating app (or any other app for that matter), it's important to find information on what will be the process to delete your data and account once you are done with the app. + +That way, you can choose to only use applications that will thoroughly respect your privacy rights, and your rights to delete your own data. + +## Queer dating apps can be targeted + +At this time, almost all popular dating apps are *horrible* for data privacy. But queer dating apps (or queer people using any dating app) are especially vulnerable targets for malicious actors. + +Unfortunately, hateful groups, criminals, and even governments have been weaponizing dating apps to harass, exploit, arrest, or even attack queer people. + +Dating app companies are partly responsible for facilitating this harm by selling users' data to data brokers and advertisers, and by repeatedly missing opportunities for improvements to secure their users' data. + +Additionally, each time there is a new dating app data leak, whether from negligence, incompetence, greed, or malice, this leak risks [outing people against their will](importance-of-privacy-for-the-queer-community.md/#being-outed-against-ones-will). This alone can have devastating consequences, from feeling violated to getting arrested, or even killed. + +In Morocco, where being gay is still illegal, a social media influencer [asked](https://www.levantx.com/series-source/violence-in-lockdown-sofia-talouni-and-gay-male-outings-in-morocco-under-covid) people in 2020 to join dating apps to out gay men around them. This resulted in a violent online harassment campaign with many gay men being outed against their will, chased from their homes, shunned by their family, and horrifyingly even led to some suicides. + +Regrettably, even in countries where being queer is legal and generally accepted, [targeted harassment](privacy-means-safety.md/#trans-and-queer-activists) and attacks can happen. + +For people who aren't out publicly, data revealed about their dating life could potentially out them immediately. But even for people who are out publicly, making details about their dating life public could trigger online hate, targeted harassment, and endanger them in many ways. + +Queer dating apps have an even greater responsibility to protect their users' data. + +Data related to one's sexual orientation is categorized as especially sensitive information by many privacy laws, generally requiring additional protections. For example, GDPR's [Article 9](https://gdpr-info.eu/art-9-gdpr/) specifies special conditions for handling data related to a "person's sex life or sexual orientation". + +Companies and software developers must take this responsibility much more seriously. + +### Hateful groups tracking users + +In 2023, the Washington Post [revealed](https://www.pcmag.com/news/a-catholic-group-spent-millions-on-dating-app-data-to-out-gay-priests) that an American Catholic group based in Colorado had bought data brokers datasets from queer dating apps. + +The religious group spent millions of dollars to access data from Grindr, Scruff, Growlr, Jack'd, and OkCupid in an attempt to out gay and bisexual priests. The group used these datasets to cross-reference locations with church residences. This level of hate and insidious spying seems quite ungodly. + +Tragically, dating apps selling users' data to brokers and advertisers makes this type of targeting by hateful groups easily accessible to anyone willing to pay. + +### Governments and authorities prosecuting users + +In countries where homosexuality and transgender people are criminalized, even governments are guilty of these cruel practices. + +In 2017, Human Rights Watch [reported](https://www.hrw.org/news/2017/05/01/south-koreas-military-sodomy-law-should-go) allegations of the South Korean army cracking down on gay service members using published screenshots from dating app chats. Although homosexuality isn't illegal for civilians in South Korea, same-sex intercourse is illegal in the military. This oppressive rule is aggravated by the fact that South Korean men are [obligated to enroll](https://en.wikipedia.org/wiki/LGBTQ_rights_in_South_Korea) for a mandatory period of service under the conscript system. + +In 2018, organization Article 19 [completed](https://www.article19.org/resources/apps-arrests-abuse-egypt-lebanon-iran/) an investigation on the risk of dating apps usage by the LGBTQ+ community in Egypt, Lebanon, and Iran. The report demonstrates how authorities in Egypt used the geolocation feature of dating apps to entrap and arrest gay and transgender users. + +In 2022, Article 19 supported another report [focusing](https://www.article19.org/wp-content/uploads/2022/03/Digital-Crime-Scenes-Report-3.pdf) on the persecution of queer people in Egypt, Lebanon, and Tunisia. The report explains how authorities in these regions used dating apps to set up trap meetings with users, and to collect digital "evidences" to charge queer users. + +In 2025, Human Rights Watch [published](https://www.hrw.org/news/2025/05/26/uganda-anti-lgbt-law-unleashed-abuse-0) a report documenting the actions of authorities in Uganda following the 2023 enactment of the Anti-Homosexuality Act. In addition to spreading misinformation and hatred against LGBTQ+ people, leading to harassment and attacks, authorities have started to use dating apps to extort, entrap, and arrest queer people. + +Sadly, if LGBTQ+ rights continue to regress like we have observed in the past months, this sort of government-sanctioned persecution might even become normalized in the UK and the US as well. + +### Criminals blackmailing and attacking users + +Along with hateful groups and authoritarian regimes, criminals are also targeting the queer community on dating apps. This type of crime is exponentially worse for users located in regions where being queer is criminalized, but it is still a danger for anyone worldwide. + +Criminals have been [targeting](https://www.bleepingcomputer.com/news/security/lgbtq-plus-community-warned-of-extortionists-abusing-dating-apps/) users on queer dating apps for extortion scams. According to a report from the US Federal Trade Commission, criminals pose as potential dates sending explicit photos, then request users to reciprocate. If they get a reply, they blackmail the victim under threat of revealing this information. This type of extortion can have devastating consequences. + +Dating apps are worsening this problem when requesting users to provide legal identification such as facial scans, official IDs, or home addresses. If this information leaks in the future, criminals will have an even easier time to extort and attack their victims, regardless of if they're still on the app or not. + +## Reducing the risks when using dating apps + +Despite how bad dating apps are for your privacy (and maybe also your safety), your social, sexual, and romantic needs are important to consider as well. + +The best alternative for your data privacy is probably to favor in-person meetups and venues, whenever possible. + +However, if this isn't accessible to you, and you decide using a dating app is worth the risks, here are a few things to keep in mind that can help to improve your privacy and to reduce the dangers when using a dating app. + +### Investigating before creating an account + +Before creating an account on a dating app (or any other apps), it's a good idea to take a look at its privacy policy (or privacy notice) and terms of service. + +#### Researching privacy policy and terms of service + +Most people *hate* doing this, but it can really help to discern which apps are better than others. + +You don't have to read it all, but make sure to at least check the sections on what data they collect, with whom they share it, and how they use it. + +Important pro-tip: Using your browser, search the page for an "@" sign to verify if the privacy policy includes a contact email address. It *should* have one. Sometimes, it will be a link to a contact page instead. If you cannot find any way to contact anyone at this organization by email, be suspicious. + +If you decide to use this dating app, keep a local copy of its privacy policy and terms of service using the "Save to PDF" function from your browser. This *can* help legally by keeping a proof in time of what were the terms when you signed up (of course, they might change later, but that's a start). + +#### Investigating usage of AI systems + +Look in the privacy policy and terms of service for any mention of AI systems. Sometimes, it's not named directly and might be called something else like "automated system" or other expressions. + +Be especially vigilant to check if the company **might use your content data to train these systems**. Make sure you have a way to at least opt out, or deactivate of any such training. AI systems training on your data is *atrocious* for your privacy. + +#### Confirming data deletion processes and retention periods + +Again usually through the app's policies, look at what the process will be when you'll want to get your data and account with this app fully deleted. + +This is important because deleting your data once you are done using the app will greatly improve your data privacy and security, by protecting it from potential data breaches and undisclosed usage in the future (if the deletion is done thoroughly). + +Additionally, deleting your data and account once you no longer need it minimizes the risk of an abandoned-account takeover by a criminal. + +When you abandon an account without closing it and deleting its data properly, criminals might break in and start using your account and data without your knowledge. The longer the account sits there, the greater the risk. + +Make sure the app describes a clear process you can manage yourself *from within* the account to fully delete your data and account, and that **it doesn't require more information** to delete your account than you had to provide to create it in the first place. + +#### Evaluating reputation from history of data breaches + +Finally, conduct a short research on the history of security practices for this dating app. + +Look for trustworthy third-party reviews and information about the app. Always assume information and promises from the company itself are biased. + +Check the news for reports of data breaches and leaks. Checks what security researchers and privacy professionals have to say about this app. Make sure to find trustworthy sources, and remain vigilant about AI-generated articles and review articles that are advertising in disguise. + +### Choosing a dating app + +As stated at length in this article, there aren't any *good* dating apps for your privacy, sadly. There are only "slightly less horrible" dating apps. + +For more details on each, you can take a look at Mozilla's [Privacy Not Included chart](https://www.mozillafoundation.org/en/privacynotincluded/categories/dating-apps/) for dating apps. Check the details for each app you are interested in, not just the rating. However, keep in mind that even Lex, the first app listed there, doesn't seem to have great practices in regard to [data deletion](#investigating-an-apps-data-deletion-process-before-creating-an-account), and you might be unable to delete your account data fully if you decide to use this app. This might also be the case for some other apps listed there. + +Alternatively, there are a few free dating apps that might offer a different approach with open source code. Applications that are open-source have the benefit of full transparency to examine its code, and potentially detecting any undisclosed data collection. + +That being said, open-source applications aren't magically secure, and don't necessarily grant better privacy either. But code transparency helps to audit the application, and to detect any false claim related to privacy and security. The German dating app Alovoa is an example of this. You can take a look at its [code](https://github.com/Alovoa/Alovoa/) on GitHub. + +However, the downside of any dating app that isn't massively popular is it will have fewer users, possibly making finding matches more difficult. + +Nevertheless, using a niche dating app that fits better your values *could* potentially increase the chances of finding a match that also fit better your values. + +Specifically to data privacy however, privacy-conscious people looking for a date online might have to wait for a truly privacy-respectful app to be developed, and to get more popular in the future. + +### Minimizing the data shared + +When using any dating app, you should always be careful with the information you share, not just for data privacy, but also for your physical safety. + +Using a dating app still means talking with a lot of strangers online, and these strangers might have different intentions and goals than yours. + +Of course, to find genuine matches, you also do need to share at least some information about yourself, and you shouldn't lie to potential partners. + +The idea isn't to use fake information, the idea is simply to *minimize* the information you share, to increase your data privacy with the app, and your safety when interacting with strangers. + +Once you have developed a certain level of trust with a dating app match, then you can [move to safer channels](stay-safe-but-stay-connected.md/#private-messaging-one-on-one-and-group-chats) to share more with them (if you wish) in a more secure and more private environment. You could share your Signal username with them to chat in an end-to-end encrypted environment, for example. + +
+

Warning: Only share when you fully trust!

+ +Remember that there will be no content moderation in this end-to-end encrypted environment, because it is *truly private*. You should **never share any intimate details with someone you do not trust fully**, even on Signal (or any other end-to-end encrypted apps). + +
+ +#### Sign up credentials + +When signing up for a dating app, **never use a social media account**. Many applications now gives the option to sign up or sign in using your Google, Facebook, or Instagram account. + +While this might seem convenient at first, it allows the applications to exchange data, and this is *incredibly bad for your privacy*. + +Instead, always sign up for a dating service using new credential information that you have not used anywhere else before (new username, new email, new password). This will reduce the risk of your other accounts being linked with your dating app data, and vice versa. + +#### Email address + +To use a unique email address, you might want to create a proxy address known as an alias. + +Email aliasing is a great technique to improve your privacy online. It allows you to register for services using a unique email address for each. You can also use these unique email addresses to give to your dating prospects to communicate with them. For email aliasing, SimpleLogin is a great service that we [recommend](https://www.privacyguides.org/en/email-aliasing/). + +#### Phone number + +Using a unique phone number is much more complicated, unfortunately. + +From some countries, you might be able to find a trustworthy phone number proxy service, but those aren't always accepted to sign up for new accounts. + +Generally, it's much harder to use proxy for a phone number, and account requiring phone numbers to sign up aren't the best for privacy. + +A phone number is an identifier that most people rarely change, and that is strongly attached to your legal identity. If this data leaks in the future, your dating data could be linked to your legal identity, and to your other accounts in all sorts of ways. + +Additionally, using a phone number or a verification code sent to your phone through SMS to log in makes your account vulnerable to [SIM swap attacks](https://en.wikipedia.org/wiki/SIM_swap_scam). Avoid apps that are requiring a phone number to sign up if you can. + +If you absolutely cannot avoid it, then consider getting a secondary phone number on a spare phone that you only use for dating. + +#### IP address + +Your IP address is an identifier attached to the internet service you use, and can reveal your location (more or less accurately). Additionally, an IP address can potentially reveal your legal identity, and be linked to your other internet activities. + +Any online services and websites you use and visit will know your IP address, including dating apps. + +To protect from this, you would need to use a [trustworthy Virtual Private Network (VPN)](https://www.privacyguides.org/en/vpn/) provider. However, know that using a VPN is only a transfer of trust, from your Internet Service Provider (ISP) to your VPN provider. + +If using a queer dating app could be dangerous in your country, keep in mind that your VPN provider would know you have visited one. You would need additional protections to go around this, such as using a service like [Tor](https://www.privacyguides.org/en/advanced/tor-overview/) (which might not be possible with some services). + +Moreover, some dating services might not allow connection from a VPN server at all, or could trigger additional security checks and requirements to log in. + +#### Mobile app permissions + +After installing a dating app on a mobile device, make sure to go through your phone's settings to disable all the permissions you can. + +Keep it at the absolute *minimum* required for you to use the app. **Don't give permissions for the app to access your contacts or photos.** + +If enabled by default, disable accesses. Also disable accesses to your location, if you do not use this feature with the app. Ideally, enter your broad location instead (e.g. city only), and never allow precise geolocation from your phone. + +#### Privacy settings and opting out + +Before adding any information to your dating profile, go through the app's settings to select the strongest options available to protect your privacy. + +Sometimes, apps make it hard to find where to opt out data sharing and AI training, but *be persistent* and look everywhere you can. This is worth the effort! + +#### Account security + +Securing your account is also important to protect your privacy. If you do not use a [strong and unique password](https://www.privacyguides.org/en/basics/passwords-overview/), a criminal could easily snoop in or even takeover your account. + +In addition to choosing a long, complex, and unique password, make sure to enable multifactor authentication. Ideally, use an [authenticator app](https://www.privacyguides.org/en/multi-factor-authentication/) or [security key](https://www.privacyguides.org/en/security-keys/) for this. + +If the only option you have is to enable multifactor authentication with a phone number, *and you have already signed up for the app using a phone number*, then this is better than nothing. If you have *not* signed up with the app using a phone number, then it might be better to not use this at all. It's preferable to not give your phone number to the app, if you can avoid it. + +#### Name, nickname, and full name + +Be careful with the name you choose to publish. Avoid sharing your last name with anyone until you have met them, trust them, and are discussing on safer channels with them. + +Perhaps only use a nickname on the app, your fist name only, or a shortened version of your name if you can. **Do not lie, but avoid providing your complete legal identity from the app.** + +#### Photos and videos + +For photos, try to keep an awareness of whom will be able to see them. Some apps make your main profile picture visible to the entire internet! + +If this is true for the app you use, perhaps choose a photo hiding your features a little as your main photo. Then, add more detailed photos inside your profile, if photos have more restricted visibility there. + +No matter which photos you upload in a dating app, **do not ever use the same photos you have used on social media!** + +This could allow *anyone* to cross-reference your dating profile with your social media accounts using this photo (or other accounts and websites where you used the same photo). Depending on your situation, this can be incredibly dangerous. + +Ideally, only upload photos on the dating app that are new, or that you have only used with dating services. + +Additionally, be extremely careful about which *other* information is visible in the photos you share. + +Remain mindful of anything that could identify your home or work location, such as street signs, bus stops, street addresses, city landscapes, etc. Pay special attention to reflections in glasses, windows, mirrors, and other reflective surfaces. + +#### Photo metadata + +Furthermore, make sure to **[remove the metadata](https://www.privacyguides.org/en/data-redaction/)** from the photos and videos you want to upload, *before* you uploaded them in the dating app. + +Photo metadata can reveal a lot about you. This includes device models as well as the precise date, time, and geolocation where a photo was taken, or a video was filmed. Any metadata attached to images and videos uploaded to the app, is likely to be collected by the app. + +#### Intimate photos + +Finally, if you trust a match enough to start sharing more intimate pictures, consider the dating app might not be the safest space for this. + +Dating apps do not use end-to-end encryption, and *all* the data you upload there can be accessed by the company, and could be stolen in a data breach. Some dating apps were already [called out](https://www.techradar.com/pro/security/major-dating-app-data-breach-may-have-exposed-1-5-million-private-user-images-online) for this earlier this year. + +Moreover, keep in mind that criminals are regularly hunting for victims on dating apps, requesting intimate pictures for [nefarious purposes](https://www.bbc.co.uk/news/articles/cyvjy0871dqo). Students and younger people are a growing target for extortion, [sextortion](https://www.tandfonline.com/doi/full/10.1080/01639625.2024.2317904), and even [sex trafficking](https://www.investigatewest.org/investigatewest-reports/a-washington-teen-was-trafficked-by-a-man-she-met-on-tinder-she-says-two-years-later-shes-still-waiting-for-justice-17706687) on dating apps. + +*Always* keep in mind this risk when sharing intimate photos and videos with someone, *even on end-to-end encrypted platforms*. + +#### Private conversations + +When chatting in private with matches, remember that this conversation might not be as private as it feels. + +As explained above, the company can technically still **read and collect all of your private conversations**, and this data could also leak in a data breach. + +Additionally, nothing prevents anyone you are talking with from taking screenshots and publishing this information online. Unfortunately, this despicable practice isn't that uncommon. + +Make sure you trust the person you are chatting with enough before sharing any details that strongly identifies you, your location, or your work location. Consider moving to safer encrypted channels when the conversation becomes more personal. + +
+

A note on anonymity

+ +Keep in mind that all these measures will *not* make you completely anonymous on a dating app. + +It will only *reduce* the data you expose to the company and its advertisers, to potential data breaches and leaks, as well as to criminal and governmental non-consensual accesses. + +Achieving total anonymity online is very difficult. But following these privacy-enhancing practices will effectively help to reduce the risks, and keep you safer online. + +
+ +## Let's hope for better dating apps in the future + +It's disheartening to discuss a topic such as dating apps when the reality is there **aren't any good alternatives** to propose. + +Dating *offline* is the best data privacy-preserving solution so far, but dating apps, moreover queer dating apps, exist for a reason: It's hard to find occasions to meet people to date in-person these days. + +Many opportunities for this have slowly disappeared from our society in the past years. Online dating does provide a solution to meet people looking to date as well. + +The even sadder truth is, technically, we *could* have great privacy-respectful dating apps. + +However, the for-profit business model of most applications (not just dating apps) has incentive everyone to share and monetize users' data in horribly intrusive and abusive ways. This isn't a problem limited to dating apps. + +Nonetheless, dating apps should be built with much greater protections for users' privacy. The unavoidable sensitive data they collect warrants exemplary security and privacy measures. + +Let's hope that one day we will see a trustworthy dating-app developer come with a *truly* privacy-respectful dating app. One that uses serious security measures, data minimization practices, proper data deletion processes, code transparency, honest and complete policies, fully end-to-end encrypted private chat, and that doesn't sell nor share users' data with anyone. + +Until then, stay safe out there. And keep in mind your privacy and safety when using queer dating apps. + +## Additional resources + +### Helplines + +If you are feeling isolated, depressed, or suicidal, do not hesitate to reach out for help. These helplines are here to listen: + +- [Mindline Trans+ (UK)](https://www.mindinsomerset.org.uk/our-services/adult-one-to-one-support/mindline-trans/): Confidential support helpline for people who identify as trans, agender, gender-fluid or non-binary. + +- [Trans Lifeline Hotline (US and Canada)](https://translifeline.org/hotline/): Trans peer support (Phone number US: 877-565-8860 / Canada: 877-330-6366) + +- [Suicide & Crisis Helpline (US and Canada)](https://988lifeline.org/): General support 24/7 (Phone number: 988) + +- [Suicide & Crisis Helpline (International)](https://en.wikipedia.org/wiki/List_of_suicide_crisis_lines): List of suicide crisis lines around the world. + +### International advocacy + +- [Amnesty International](https://www.amnesty.org/en/what-we-do/discrimination/lgbti-rights/): Human rights organization running campaigns to protect and uphold the rights of LGBTI people globally. + +- [Human Rights Watch](https://www.hrw.org/topic/lgbt-rights): Human rights non-profit who documents and exposes abuses based on sexual orientation and gender identity worldwide, and advocate for better protective laws and policies. diff --git a/blog/posts/relisting-startpage.md b/blog/posts/relisting-startpage.md index 2f7da60f8..fac44b53d 100644 --- a/blog/posts/relisting-startpage.md +++ b/blog/posts/relisting-startpage.md @@ -11,6 +11,8 @@ tags: - Search Engines description: Startpage has been relisted in our search engine recommendations following their open communications with the Privacy Guides community. schema_type: NewsArticle +preview: + cover: blog/assets/images/relisting-startpage/cover.webp --- # Relisting Startpage.com diff --git a/blog/posts/sam-altman-wants-your-eyeball.md b/blog/posts/sam-altman-wants-your-eyeball.md new file mode 100644 index 000000000..c2e619157 --- /dev/null +++ b/blog/posts/sam-altman-wants-your-eyeball.md @@ -0,0 +1,380 @@ +--- +date: + created: 2025-05-10T15:00:00Z + updated: 2025-05-10T15:45:00Z +categories: + - News +authors: + - em +description: Last week, OpenAI's CEO Sam Altman announced in San Francisco that the World project he co-founded, formerly known as Worldcoin, is opening six stores across the United States, allowing users of the project's app to scan their eyeballs. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/sam-altman-wants-your-eyeball/orb-cover.webp +--- + + +# Sam Altman Wants Your Eyeball + +![Image of a red circle of light that resembles a human iris over a black background.](../assets/images/sam-altman-wants-your-eyeball/orb-cover.webp) + + + +Last week, OpenAI's CEO Sam Altman announced in San Francisco that the World project he co-founded, formerly known as Worldcoin, is opening six stores across the United States, allowing users of the project's app to scan their eyeballs. + +Simply put, the premise is this: scan your eyeball, get a biometric tag, verify yourself, buy our apps (and cryptocurrency). The scary part is the for-profit company developing the project has now gathered millions in venture capital investment, powerful partners, and is ready to expand and impose its [Minority Report](https://en.wikipedia.org/wiki/Minority_Report_(film)) style technology everywhere. **Welcome to Dystopialand.** + +The World(coin) project is an initiative from the startup Tools for Humanity, co-founded by its CEO Alex Blania. Despite its friendly name, the for-profit corporation has been on the radar of many critics through the years already. From experts to journalists to privacy commissioners around the world, not everyone shares Blania's enthusiasm for his biometric-based technology. + +## What is the World App? + +The World project, recently rebranded from the Worldcoin project (possibly to convey better its expansionist ambitions) presented its plan for the World App to Americans this week. The project is now expanding well beyond the cryptocurrency it started from. + +The World App is an everything app, providing users with a *World ID*, that can be verified through the collection of biometric data in the form of an iris scan. + +The scan is then filtered and hashed to create a unique identifier that is stored as a so-called "proof of personhood" on the *World Network*, a blockchain-based protocol. + +The World App itself contains a collection of "Mini Apps", where users can manage their cryptocurrencies, chat together, play games, receive their paychecks even, and ultimately live their whole life within the closed "verified" ecosystem of the app. + +For a company constantly praising decentralization, it sure looks like they want to make sure they are the center of it all. + +To obtain this coveted verification code, users *must* be ready to share their precious eyeball data with the Orb. + +The Orb is a piece of hardware designed by Tools for Humanity to perform iris scans. It is available to access in the United States at one of the currently six locations in Austin, Atlanta, Los Angeles, Miami, Nashville and San Francisco (more to come soon), like some sort of biometrics collection ATM. + +The World project has for ambition to expand its reach across the United States to install 7,500 Orbs by the end of this year, so be prepared to see this dystopian technology everywhere soon. + +The San Francisco [presentation last week](https://www.theregister.com/2025/05/04/sam_altman_startup_world/) was clearly prepared to impress investors with its Apple announcement vibe. The promise of a quickly growing startup that everyone will soon want to work with, was repeated over and over in different flavors. + +Tools for Humanity bragged about many large partnerships that should make any privacy advocates shiver in dread: the Match Group dating apps conglomerate (Tinder, OkCupid, Hinge, Plenty of Fish), Stripe, and Visa are some of them. + +If they succeed in convincing enough people, many of us could soon have little choice but to unwillingly have to enroll. + +## World(coin) isn't new, you might have heard of its unethical practices already + +The project [claims](https://techcrunch.com/2025/04/30/sam-altmans-world-unveils-a-mobile-verification-device/) to have onboarded 26 million people already, including 12 million "users" who are verified (had their biometric data collected). + +These "users" are largely located in Latin America, Africa, and Asia. This is because the company started testing for its project there a few years ago, in regions where people often have fewer legal protections. + +In 2022, MIT Technology Review produced [an extensive investigation](https://www.technologyreview.com/2022/04/06/1048981/worldcoin-cryptocurrency-biometrics-web3/) on the startup's debut in an article titled: *Deception, exploited workers, and cash handouts: How Worldcoin recruited its first half a million test users.* + +The investigation revealed a collection of unethical practices to pressure the most vulnerable populations in signing up for Worldcoin, and **have their eyeball scanned in exchange for money** they desperately needed. + +Some participants had to provide much more personal information than the company says is required, such as emails, phone numbers, and even photos of official ID. Many people who gave their biometric data to Worldcoin were rushed and misinformed. Some who signed up didn't even have an email and had to create one. The "Orb operators" hired to perform the scans locally were often poorly trained, poorly informed, and unable to answer the questions asked by participants. + +So much so that [Kenya suspended the company's operations](https://techcrunch.com/2023/08/02/kenya-suspends-worldcoin-scans-over-security-privacy-and-financial-concerns/) in 2023 over concerns for privacy, security, and financial service practices. + +Some people who signed up never received the promised money. Some officials were bribed to give the impression to participants these operations were official and supported by the government. + +As Ruswandi, one of the persons targeted by this early campaign [remarked](https://www.technologyreview.com/2022/04/06/1048981/worldcoin-cryptocurrency-biometrics-web3/): "why did Worldcoin target lower-income communities in the first place, instead of crypto enthusiasts or communities?" + +Exploiting people in situations of poverty in order to test a biometric identification technology isn't a great way to start a project developed by a company called "Tools for Humanity". + +## Creating the problem, selling the solution + +Why develop such a technology in the first place? + +Sam Altman himself has [expressed concern](https://www.wired.com/story/sam-altman-orb-eyeball-scan-launch-us/) about the problem this alleged solution solves: the avalanche of fake accounts and pretend persons online caused by the new AI tools unleashed everywhere. + +The proposed use of a "proof of personhood" claims to solve this problem by allocating a unique identifier to each human, a personal code supposedly impossible to duplicate or cheat. Of course, this has [already been proven wrong](https://gizmodo.com/worldcoin-black-market-iris-data-identity-orb-1850454037). + +No one will miss the irony of the CEO of OpenAI, responsible for creating the largest share of this problem, expressing such concern **while continuing to feed the fire**. + +This is a classic case of creating a problem and selling the solution. Well, in this case it is more like ***selling* the problem and selling the solution**. As researcher and cryptocurrency critic [Molly White pointed out](https://www.citationneeded.news/worldcoin-a-solution-in-search-of/) in 2023: + +"That's right, the guy who's going to sell us all the solution to a worsening AI-powered bot infestation of the Internet and to AI-induced mass unemployment is the same guy who's making the AI in question." + +Sadly, this proposed solution also isn't really a solution, or at least it isn't a *good* solution. Indeed, this will **create a whole collection of new problems**, many much worse than a bot infestation. + +## The risks of sharing biometric data + +Biometric data is incredibly sensitive data, because it's irrevocably attached to a person. Whether it's from a face scan, palm scan, fingerprint, keystroke pattern, or iris scan, this data is part of our bodies and **cannot be changed like a password** if it gets compromised. + +For this reason, a growing number of legislations around the world now include special categories for such data collection, and require extra protections and supervision for it. + +There are many dangers in collecting and potentially endangering biometric data. First, if this data gets stolen, criminals can impersonate a victim much more convincingly, because they will have the "proof" to "verify" this is really you. + +While straight-up stealing your eyeball or face might still belong to science-fiction, the risk of getting the data produced *from* the scan stolen is very real. + +When the World project claims it is secure because biometric data isn't stored anywhere, even if that was true, the iris *code* derivative of this data is indeed stored and processed somewhere, and this can potentially be stolen. + +How hard will it be for a victim to recover an account from a biometric thief when everything is reinforcing the false narrative shared with investors that this technology can't be cheated? + +Then, there is the loss of pseudonymity protections online. + +If every social media account becomes tied to a unique biometric-based identifier, whether directly or indirectly, there is no pseudonymity anymore. + +Further, if only one account is allowed by "verified human", then no one can create separate accounts for their work life and personal life anymore. Creating separate accounts for separate purposes is an excellent privacy-preserving practice. + +Even if the identifier isn't tied to a legal name directly, accounts on different platforms using the same identifier could potentially get linked together. To be fair, it does seem Tools for Humanity worked to prevent different platforms from having access to the same code, but how well will this hold the test of time? Will platforms increasingly escalate privacy-invasive requests from this point, like they often do? + +**Pseudonymity saves lives.** It is an essential tool for the safety of the most vulnerable online. Killing pseudonymity by requiring unique biometric identification could endanger millions. + +This is a serious problem coming up with [age verification](age-verification-wants-your-face.md) processes as well, which World ID will soon also be a part of when [testing](https://www.engadget.com/cybersecurity/sam-altmans-eyeball-scanning-id-technology-debuts-in-the-us-130032856.html) its implementation for Tinder in Japan. + +Biometric data should never be used lightly. It should be reserved for the most extreme cases only. + +The regions who have adopted stronger regulations for biometric data collection are moving in the right direction. But will protective legislation be enough to resist the pressure from a for-profit VC-backed corporation with a valuation at billions? + +## Flipping the coin + +Tools for Humanity seems to be well aware of its creepiness factor, and of the criticisms brought by privacy commissioners around the world. + +Its recent Orb redesign from the previous cold (Black)mirror finish clearly tries hard to replace creepiness with cuteness. + +The company has also evidently invested a lot in presenting a pro-privacy image, likely in an attempt to reassure users (and investors). + +Unfortunately, many of these privacy-preserving claims are inaccurate. Some claims promoting "features" that might sound impressive to a neophyte's ear are actually just the baseline, and others sadly are misleading *at best*. + +While a few privacy-preserving efforts are indeed positive, most of the focus on privacy relates to marketing much more than any serious protections. + +## How privacy-preserving is it? + +Most people are still put off by the idea of having their eyeball scanned, and the company has evidently invested a lot in promoting a "privacy-preserving" image, possibly as an attempt to reassure unconvinced humans and [privacy commissioners](#privacy-legislators-arent-on-board) alike. + +But how much can we trust those claims? + +### Flawed assumption about what constitutes personal data + +The largest assumption about why this technology is "privacy-preserving" seems to come from the fact that the World App doesn't collect names, official IDs ([unless it does](https://www.toolsforhumanity.com/legal/privacy-notice#6-2-credentials-)), emails ([unless it does](https://www.toolsforhumanity.com/legal/privacy-notice#annex-i-%E2%80%93-legal-grounds/purposes-for-tools-for-humanity-data-processing-activities-)), phone numbers ([unless it does](https://www.toolsforhumanity.com/legal/privacy-notice#5-1-data-you-provide-to-us)), date of birth ([unless it does](https://world.org/blog/announcements/worldcoin-new-world-id-unverify-option-increases-personal-control-over-data)), or other identifiers. + +This assumption however neglects the fact that 1) even data that isn't attached to a legal name can be personal data, and 2) the iris code it produces from the iris scan *is* indeed personal data. + +While there are variations, most privacy regulations have similar definitions of what constitute personal data. The European General Data Protection Regulation (GDPR) [defines](https://gdpr-info.eu/art-4-gdpr/) it as "any information relating to an identified or identifiable natural person". An iris code derived from an iris scan of course fits this definition. + +Moreover, to create a World ID, the company also collects a face image. Together, the original iris scan and face photo are referred to as *Image Data*. For "privacy-preserving" purposes, Image Data of course never leaves the Orb device ([unless it does](https://world.org/legal/biometric-data-consent-form)). + +While it seems some effort has been made to protect the Image Data in some ways, the idea that derivative data from the scans isn't still sensitive personal information anymore is wrong. + +If there is a way for a person to scan their iris again and generate the same code, then this data relates to their identifiable person. This also means that *someone else* could scan their iris and generate the same code. + +As whistleblower [Edward Snowden rightfully pointed out](https://x.com/Snowden/status/1451990496537088000) in a 2021 tweet: + +“This looks like it produces a global (hash) database of people's iris scans (for 'fairness'), and waves away the implications by saying 'we deleted the scans!' Yeah, but you save the *hashes* produced by the scans. Hashes that match *future* scans. Don't catalogue eyeballs.” + +### Questionable reassurance about local data + +One of the biggest reassurances relates to the claim that sensitive biometric data (Image Data) is only stored locally. But this isn't completely accurate either, and there seems to be conflicting information about it from the company's own documentation. + +The World [white paper](https://whitepaper.world.org/#enrollment-process) specifies that: + +"The Orb verifies that it sees a human, runs local fraud prevention checks, and takes pictures of both irises. The iris images are converted on the Orb hardware into the iris code. Raw biometric data does not leave the device (unless explicitly approved by the user for training purposes)." + +However, according to the [Biometric Data Consent Form](https://world.org/legal/biometric-data-consent-form) users have to sign prior to data collection, if a user needs a fully verified World ID. Inevitably this sensitive biometric data will be sent to their phone, therefore leaving the Orb. + +After a user agrees to the form, they can keep the option for *Data Custody* disabled to have their biometric data deleted from the Orb "later", and have it uploaded to their phone (with all the risk that this entails). + +The other option users have is to enable Data Custody (if allowed in the user's country) and have this sensitive data sent to both their phone *and* to Tools for Humanity. + +This means the Orb inevitably sends this sensitive data to a mobile device. Then, this data is only as secure as the mobile device is. Which isn't so reassuring. + +The documentation does maintain this biometric data is sent as an "end-to-end encrypted data bundle", but this doesn't mean the data never leaves the Orb. It just means it leaves it while encrypted (which is really just the basics), and copies it to the user's device. + +Furthermore, future users are *strongly* incentivized to share their Image Data with Tools for Humanity, for algorithm improvement purposes. Pressure to opt in is even presented as a *convenience* option, because it would be cumbersome to have to come over for another scan after every update. + +As [stated](https://world.org/legal/biometric-data-consent-form) in the Biometric Data Consent Form: + +"This will likely help you avoid some inconvenience because, if we have your Image Data, then you will not need to return to an Orb to re-verify your digital identity when we update the software." + +The company continues to repeat they have a "privacy by default and by design approach". But **you can't keep your privacy-preserving cake and eat it, too**. + +### What does the white paper say + +In tech, a white paper is usually a research-based document produced by the developers that presents more technical details on an application, product, or process. It is especially valuable for products like the Orb and the World App, where security and privacy *should* be paramount, and therefore examined closer. + +Because it isn't an independent review, a white paper can also not be worth much more than a marketing pamphlet. + +To its credit, Tools for Humanity does [warn](https://whitepaper.world.org/#nature-of-the-whitepaper) in its white paper that this information is "intended for general informational purposes and community discussion only and do not constitute a prospectus, an offer document, an offer of securities, a solicitation for investment, or any offer to sell any product, item or asset (whether digital or otherwise)." + +Furthermore, the company makes sure to specify that "circumstances may change and that the Whitepaper or the Website may become outdated as a result; and the [World] Foundation is not under any obligation to update or correct this document in connection therewith." + +The document is also described as a "crypto-asset white paper". + +We have been warned. + +In its Privacy section, the white paper [states](https://whitepaper.world.org/#image-custody-opt-in) that "no data collected, including images taken by the Orb has or will ever be sold. Nor will it be used for any other intent than to improve World ID." + +However, its [Privacy Notice also states](https://world.org/legal/privacy-notice#8--when-we-share-your-data) that they may "share your personal information in connection with, or during negotiations concerning, any merger, sale of company assets, financing, or acquisition of all or a portion of our business by another company." + +If this happens, many regretful users might find themselves in [the same shoes as 23andMe users this year](https://www.techradar.com/health-fitness/23andme-is-bankrupt-and-about-to-sell-your-dna-heres-how-to-stop-that-from-happening), where the DNA collecting company started to look for buyers of its biometric data assets after filling for bankruptcy. + +Additionally, the Face Authentication section of the white paper [describes](https://whitepaper.world.org/#face-authentication) a process where encrypted facial biometrics collected from the Orb are used for authentication in the World App. + +Even if this data is stored on-device, it is still biometric data getting collected by the Orb then processed by the phone app. There is no question this is sensitive and personal biometric data, and it is indeed kept outside the Orb. + +Tools for Humanity lacks consistency in the various claims and statements found through its documentation and promotion material. It becomes difficult to know which version to trust, and if it is to be trusted at all. + +### No deletion on the blockchain + +Tools for Humanity's Privacy Policy declares that the company will delete all account data (when laws allow it) one month after it is closed (this is good). They also state they will delete entirely any inactive account after 2 years, and this is actually a great policy. + +But what happens to the World ID, transactions, and other data stored on the blockchain? + +While some thoughts have been put into deletion and some good mechanisms seem to have been implemented, unfortunately data stored on the blockchain might be "deletion-resistant". + +There's a possibility that **what happens on the blockchain stays on the blockchain, forever**. + +The policy [notes](https://www.toolsforhumanity.com/legal/privacy-notice#11--how-long-do-we-keep-your-data-) that: + +"Due to the public and immutable nature of blockchain technology, we cannot amend, erase, or control the disclosure of data that is stored on blockchains." + +So that is something to keep in mind if you value your right to delete. + +## Data security considerations + +Even if some thoughtful security features seem to have been implemented for the World App and its Orbs, nothing processing sensitive data at such a large scale should be left in the hands of a single for-profit, largely unregulated, organization. + +This would be like putting 8 billion eggs in a very fragile basket, held by someone paid to make the basket pretty and convince as many people as possible to put their precious single egg in it, with no incentive whatsoever to ensure the basket doesn't break. I would not want to put my egg in there, especially with how much it costs now. + +The idea of using one single *for-profit* app worldwide for "human verification", identity verification, age verification, money transactions, and storing official IDs (and so on and so forth) makes this application a *huge* target for criminals and hostile governments alike. + +It's good that the app had [security audits](https://github.com/trailofbits/publications/blob/master/reviews/2023-08-worldcoin-orb-securityreview.pdf), made some [code available](https://github.com/worldcoin) as open source, and reportedly [plans](https://whitepaper.world.org/#why-custom-hardware-is-needed) to open a bug bounty program. + +However, there are still problems that remain. For example, the phone in this case becomes a single point of failure. The easiest way to steal someone's identity and money (all at once) will be to steal their phone data (whether physically or remotely). Even without criminal intent, what happens when someone just loses their phone? Or accidentally drop it in the pool? Or step on it? + +With **everything relying on a single app and a single device**, risk is greatly amplified. + +Outside the user's responsibility, Orb operators and Orb stores are susceptible to various attacks. This will increase exponentially with the number of users of course, as the target becomes bigger. In fact, Orb operators have [already been hacked](https://techcrunch.com/2023/05/12/hackers-stole-passwords-of-worldcoin-orb-operators/). + +Then, there is the appeal of fake identities and money fraud for criminals. Already, there is a [black market](https://gizmodo.com/worldcoin-black-market-iris-data-identity-orb-1850454037) for iris data in China, where people buy iris data (or verified World ID according to World) from people in Cambodia, Kenya, and other countries for a few dollars only. The vulnerability allowing this was reportedly fixed, but it is doubtful this is the last one we hear about. + +The Orb itself is also an important potential attack surface. With Tools for Humanity's ambition to fill the world with Orbs everywhere, will Orbs become the next version of the sketchy ATM? Where you might wonder if this funny-looking Orb is trustworthy enough to pay your bar tab without risking emptying your crypto wallet? + +## Privacy legislators aren't on board + +Despite all its privacy promotion material, the World project has failed to convince privacy commissioners around the world of their supposedly good intentions. Perhaps in this case actions speak louder than words, and privacy commissioners aren't so gullible. + +With the expansion the project plans this year, we can expect even more experts will examine the company's claims and challenge its "privacy-preserving" assumptions. + +There are many reasons to remain skeptical about these promises of privacy. Indeed, numerous countries have already suspended, fined, or called for investigation on the company's (mal)practices. + +### The company was fined for personal data violation + +In 2024, the company was [fined](https://cointelegraph.com/news/south-korea-fines-worldcoin-personal-data-violations) 1.1 billion Korean won for violating South Korea's Personal Information Protection Act (PIPA). The Worldcoin Foundation was also imposed corrective orders and recommendations. Organizations that are truly "privacy-first" rarely reach this point. + +The Data Custody feature, which allows (and encourages) users to share their biometric data with Tools for Humanity is now unavailable in South Korea. + +### Brazil has banned Worldcoin in the country + +In January this year, the National Data Protection Authority (ANPD) [banned](https://decrypt.co/305639/brazilian-regulator-denies-worldcoin-appeal-ban) Worldcoin's operations in Brazil, after the company's appeal was rejected. + +The ban comes from regulation stating that consent to process biometric data must be "free, informed, and unequivocal", which cannot be the case with the World project paying users in cryptocurrency in exchange for their iris scans. Data deletion concerns were also raised by the regulator. + +The World project tried again to appeal the decision, in vain. + +### Kenya and Indonesia suspended its operations + +In 2023, Kenya, one of the first countries where Worldcoin was available, [suspended](https://techcrunch.com/2023/08/02/kenya-suspends-worldcoin-scans-over-security-privacy-and-financial-concerns/) Worldcoin's operations citing concerns over the "authenticity and legality" of its activities related to privacy, security, and financial services. + +The worse part is that months before, the Office of the Data Protection Commissioner (ODPC) of the country had ordered Tools for Humanity to stop collecting personal information from its citizens. The company simply [ignored the ODPC order](https://techcrunch.com/2023/08/15/worldcoin-in-kenya/) and continued to collect biometric data from Kenyans. It only stopped after Kenya's ministry of interior and administration gave the suspension order later on. + +This again is quite far from the behavior of a company who genuinely values privacy. + +More recently on May 4th, 2025, Indonesia also [suspended](https://en.antaranews.com/news/353861/indonesia-suspends-worldcoin-world-id-operations-over-public-concerns) the World project's operation in the country over concerns related to user privacy and security. The Ministry of Communication and Digital will be summoning the project's local operators to clarify the operations and determine potential violation of the Indonesia's electronic system regulation. + +### German regulator ordered GDPR compliance following investigation + +In December 2024, the German regulator, the Bavarian State Office for Data Protection Supervision (BayLDA), [issued an order](https://decrypt.co/298090/german-watchdog-cracks-down-on-worldcoin-over-biometric-data) to obligate providing deletion procedures that comply with the GDPR within one month. Additionally, the BayLDA ordered the complete deletion of certain data records that were previously collected without sufficient legal basis. + +Again, the World Foundation is fighting the order and will [appeal](https://cointelegraph.com/news/german-watchdog-order-worldcoin-delete-data) the decision. The company tries to argue the data collected was "anonymized", a common strategy to try evading GDPR compliance, which does not regulate anonymized data. + +### Data protection authorities around the world are investigating + +In 2023, France's data protection authority the CNIL [investigated](https://www.reuters.com/technology/worldcoin-paris-office-checked-by-french-data-watchdog-2023-08-31/) Worldcoin's activities in the country. The same year, UK's privacy watchdog started its own [inquiry](https://www.reuters.com/technology/uk-data-watchdog-make-enquiries-worldcoin-crypto-project-2023-07-25/) into the company's operations. + +In 2024, Hong Kong's Office of the Privacy Commissioner for Personal Data [raided](https://www.scmp.com/news/hong-kong/law-and-crime/article/3250480/hong-kong-eye-scan-cryptocurrency-scheme-probed-citys-privacy-watchdog) six Worldcoin offices citing personal information privacy and security concerns. + +There is no doubt more countries and regions will follow with similar investigations and bans as the World project expands to its ambition. + +### In the United States, the app is restricted in some states + +Even in the US where the company is headquartered, the app is [restricted](https://www.wired.com/story/sam-altman-orb-eyeball-scan-launch-us/) in some states. The announcement for its event this month carried a warning that the World is “not available for distribution via World App to people, companies or organizations who are residents of, or are located or incorporated in the State of New York or other restricted territories.” + +We can also expect the project will encounter roadblocks in states that have passed [regulations specific to the collection of biometric data](https://www.huschblackwell.com/2024-state-biometric-privacy-law-tracker). This includes states like Illinois, Texas, Washington, and Colorado. + +### Some regions have special regulations for biometric data + +Around the world the number of biometric-specific regulations is growing. Even without a regulation specific to this type of data, many privacy laws have started to include special categories and requirements to govern the collection and processing of sensitive biometric data. As companies are increasingly requesting such collection, legislations to protect users are essential. + +For example, the province of Quebec in Canada has recently implemented [strong protections for biometric data](https://www.cai.gouv.qc.ca/protection-renseignements-personnels/sujets-et-domaines-dinteret/biometrie?%2F) with its new privacy law, the Law 25. Consent isn't sufficient to collect biometric data, as the law requires organizations to explicitly justify the necessity for such collection in the first place. Importantly, any violation of Law 25 comes with fines as hefty as the GDPR's. + +More privacy laws should implement such protections quickly, as corporations collecting biometric information carelessly are multiplying fast. + +## Welcome to full dystopia + +The most concerning part of the World project's recent expansion isn't its cryptocurrency grift as much as stepping out of it. + +If cryptocurrency enthusiasts wish to share their personal data to get into a special cryptocurrency club, they might (although privacy regulations should still protect them). But using financial coercion to get new users by exploiting vulnerable communities living in poverty is **absolutely despicable**. + +Further, the fact that the World project has partnered with powerful players in the financial, gaming, and even dating sectors *should terrify everyone*. + +Beyond cryptocurrency, if platforms start to demand users everywhere to verify they are a human and verify they are an adult through the World ID system, then **everyone will soon be subjected to this**. + +The amount of money invested in the project means there will be an incredible pressure to spread it everywhere soon, and *monetize* it. There will be a *strong* incentive to monetize our data and to monetize our proof of humanity. This isn't trivial. + +The well-known dating app Tinder has already partnered with World ID to verify the age of users in Japan. If this experiment works well, and if users comply without objection, this could be soon mandatory for *all* dating apps. + +Let's not stop at dating apps. The World project has already announced last week they will also be working with Razer to verify humanity of online gamers. How far can this go in the age of age verification? Will every online games with mature content soon require a World ID to play? + +What about social media? Tools for Humanity's team have insisted the age of AI made us incapable of detecting if we are interacting with bots online. Therefore, they must valiantly come to our rescue to verify our humanity scanning our eyeballs (which bots tragically lack). What if this human verification is expanded to all our social media accounts? Certainly, regulators pushing for authoritarian age verification online would be delighted by such a product. + +Then, it comes for our money. The everything app of course offers payment and money management features. This is the app where you can keep your whole wallet, containing all your official IDs, your cryptocurrencies of all kind, and even connect with your less hyped regular bank accounts. + +Imagine a single app, owned by a single for-profit corporation, that collects and processes all the data from all your transactions online, all your communications online, that you absolutely have to continue using for your other social media accounts, your gaming life, and your dating life. + +There could soon be no way to escape the grasp of World's everything app. Actually, [some governments](https://www.theregister.com/2025/05/04/sam_altman_startup_world/) (Taiwan and Malaysia) have already started using it for official services, because why not. + +**The ways this could degenerate fast into full dystopia are infinite**, and very real. + +The company even plans to ship next year the Orb Mini, a pocket-size personal spy-device with which users will be able to scan their own eyeballs on the go! + +But why stop there? Why not scan other people's eyeballs as well? Maybe all government officials could carry one? Maybe every payment terminal could have one too? + +We will find out soon, in one or two years. + +Tools for Humanity also bragged about the numerous utilities its new technology could make possible. For example, for event tickets! Order a concert ticket with your "proof of personhood" then maybe confirm you are the owner by having your eyeballs scanned to assist to a Rage Against the Machine concert? + +The only fun part in this is the irony. + +Tools for Humanity with its expansionist dream is without a doubt hungry enough to eat the whole World™️. + +### A new world of wealth inequalities + +The company brings up a few times the mention of Universal Basic Income (UBI) in its documentation, it even mentions it briefly in its [white paper](https://whitepaper.world.org/#ubi). + +While puzzling, it appears Tools for Humanity might consider its cryptocurrency bribe to sign up and subsequent token giveaways as some form of UBI? Or perhaps this is only one of its other ambition to control all the financial systems in the entire world. Why UBI is even mentioned at all in this context is unclear. + +Regardless, it's worth mentioning a for-profit company giving cash back in exchange for biometric data isn't UBI at all, it's just a **creepy membership card points**, at best. + +While the World project works hard to present the idea this is a tool for the people, where everyone is equal, wealth will definitely [not be distributed evenly](https://whitepaper.world.org/#wld-token-allocation) in this new World order. + +Already, 11.1% of World's cryptocurrency tokens (WLD) have been distributed to the World's team, 13.6% to investors, and 0.3% are reserved for Tools for Humanity. This means these entities would share together 25% of the wealth, while 75% of the world's population (according the Tools for Humanity's ambition) would have to share 75% of what's left. + +In the new "human" world this corporation envisions, Tools for Humanity and its investors would own 1 quarter of the entire world's wealth. There is nothing equitable or communal in a system like this. + +It's important not to forget this everything app will do everything to pressure its users in eventually using Worldcoins, its ultimate goal. + +From Tinder's mandatory age verification to cryptocurrency financial ruin in one single move. + +## The normalization of surveillance + +Even if this process was perfectly secure and perfectly private (which it is definitely not), the problem remains the normalization of surveillance. + +This isn't limited to Tools for Humanity, although the way the company tries to advertise itself as a privacy-first organization makes it even more important to scrutinize. + +But anyone else with a similar approach to biometric data collection for verifying humanity or age or legal names should be on our radar. Moreover if it's a for-profit corporation with the power to impose this technology on us everywhere in the world. + +One company should never have such power. + +Further, biometric data should never be used for trivial purposes like "proof of personhood" or age verification. No amount of supposedly "privacy-preserving" features can change this. + +The premise itself is flawed from the start to respect privacy rights. + +While the problem of proving identity can still be an important one to solve in *some* context, the solution to this can never be monopolized by for-profit corporations. + +Regardless of Tools for Humanity's intentions and efforts to convince us to trust them, any similar technology is just another step towards a global system of mass surveillance, where ultimately privacy rights and human rights are lost. + +So, should you scan your eyeball to get a verified World ID? + +**No.** + +**No, you really shouldn't.** diff --git a/blog/posts/security-privacy-anonymity.md b/blog/posts/security-privacy-anonymity.md index 757a1c9fb..68d682f23 100644 --- a/blog/posts/security-privacy-anonymity.md +++ b/blog/posts/security-privacy-anonymity.md @@ -13,6 +13,8 @@ tags: license: BY description: Privacy, security, and anonymity often complement each other, but they are not always dependent on each other, and they are definitely not the same thing. schema_type: OpinionNewsArticle +preview: + cover: blog/assets/images/security-privacy-anonymity/cover.jpeg --- # Security, Privacy, and Anonymity diff --git a/blog/posts/selling-surveillance-as-convenience.md b/blog/posts/selling-surveillance-as-convenience.md new file mode 100644 index 000000000..113fc2272 --- /dev/null +++ b/blog/posts/selling-surveillance-as-convenience.md @@ -0,0 +1,127 @@ +--- +date: + created: 2025-06-07T17:35:00Z +categories: + - Opinion +authors: + - em +description: Increasingly, surveillance is being normalized and integrated in our lives. Under the guise of convenience, applications and features are sold to us as being the new better way to do things. While some might be useful, this convenience is a Trojan horse. The cost of it is the continuous degradation of our privacy rights, with all that that entails. +schema_type: OpinionNewsArticle +preview: + cover: blog/assets/images/selling-surveillance-as-convenience/surveillance-cover.webp +--- + +# Selling Surveillance as Convenience + +![Stylized and colorized photo of a large wooden horse standing over a blue sky.](../assets/images/selling-surveillance-as-convenience/surveillance-cover.webp) + + +Increasingly, surveillance is being normalized and integrated in our lives. Under the guise of convenience, applications and features are sold to us as being the new better way to do things. While some might be useful, **this convenience is a Trojan horse**. The cost of it is the continuous degradation of our privacy rights, with all that that entails. + +As appalling as it is, the truth is the vast majority of software companies do not consider privacy rights and data minimization practices strongly enough, if at all. Most fail to implement the principles of [Privacy by Design](https://en.wikipedia.org/wiki/Privacy_by_design) that should guide development from the start. + +Whether this comes from ignorance, incompetence, greed, or malicious intent can be debated. It matters little, because the result is the same: Technologies collecting (and monetizing) a shameful amount of data from everyone. + +This horrifying trend ends up facilitating and normalizing surveillance in our daily lives. It is the opposite direction of where we should be going. + +**The more we accept this normalized surveillance, the harder it becomes to fight back.** It is critical that we firmly and loudly object to this banalized invasion of our privacy. + +There are countless examples of this growing issue, but for now let's focus on three of them: Airport face scans, parking apps, and AI assistants. + +## Face scans in airports (and elsewhere) + +Some airports and airlines around the world have started to [install face scanning stations](https://www.huffpost.com/entry/why-you-can-and-should-opt-out-of-tsa-facial-recognition-right-now-goog_l_680a673ae4b0b1be33560c93) to screen travelers. This is supposedly a quick and *convenient* way to verify your identity when passing through airport security lines. + +Facial scans and facial recognition data are biometric data. Biometric data is especially sensitive because once it's collected, there is no way for you to modify it later, ever. + +Imagine having a password stolen a thousand times, yet there is no way for you to change it. This is the security system that biometric data collectors are building. When their database eventually leaks, and someone steals it to impersonate you, you cannot simply get a new face like you would generate a new password. + +Moreover, facial data is the perfect tool to track you around without your consent. Systems using facial recognition are being installed in schools, sport stadiums, and other venues around the world. + +Everyone should be extremely worried about sharing any biometric data with others, and should never do so simply for "convenience". + +Sadly, many people do not know they might have a right to refuse. + +**Refusing to provide biometric data everywhere we can is crucial.** + +If people never refuse and simply accept surveillance without objection, we will soon lose any right we had to refuse. Without changes, this is the dystopia we are running towards. + +If everyone said no instead of complying for convenience, these intrusive technologies would stop being imposed on us. We have a duty to **say no** when we can. + +## Parking apps + +Parking applications might feel like a boring but necessary sacrifice. With the slow disappearance of parking meters and cash money, more parking facilities now require parking apps for registration and payment. + +The problem is, these applications collect lots of sensitive information. Necessarily, they collect parking location, parking duration, license plate number, phone number, email, payment information, and often even your full legal name. This information can be shared across multiple applications and organizations (partners) to track a car's location even beyond the parking facility. + +Despite how sensitive this data is, it's very likely most applications have not invested the time and effort to protect it properly. Inevitably, [data breaches](https://www.classaction.org/blog/parkmobile-data-breach-class-action-heres-what-you-need-to-know) have already occurred. + +Once this data is exposed, it can be challenging or impossible to change or delete it. People in vulnerable situations can be put in grave danger when such data becomes accessible to anyone looking for it. + +Even without criminal breaches, security researcher Inti De Ceukelaire [revealed](https://www.dailydot.com/debug/parking-apps-track-car-privacy-gdpr/) in 2022 that some parking apps could allow anybody to track a car around. This is due to poor security practices which allowed anyone to register and track any car's license plate, whether it's their car or not. + +Despite repeated [warnings](https://www.cbc.ca/news/canada/hamilton/hamilton-parking-app-privacy-concerns-1.5689209) from privacy experts, parking applications remain largely under-regulated. + +## AI assistants and note-takers + +Last but not least, AI assistant and note-taking applications have spawned in every corner of our lives for the past few years. Unfortunately, these **AI applications are an absolute nightmare for data privacy**. + +Very few AI systems of this type provide data without also *taking in* data. + +Most fresh AI startups simply utilize a subscription to OpenAI under the hood. This means it is likely any data you input into an AI assistant or note-taker will be shared back with OpenAI in the end. This includes any personal information you type and any photos you upload. + +Some applications offer options to opt out of input sharing, but given the track record of tech companies asking for forgiveness rather than permission, can this really be trusted? + +Additionally, regardless of the stated purpose for this data collection, nothing stops these companies from using it for another purpose down the road, or selling it to someone else. + +AI note-taking applications that seem to be all the rage in remote meetings these days are no exception. + +To provide a transcript then a summary, these applications [will record](https://www.zscaler.com/cxorevolutionaries/insights/privacy-security-concerns-ai-meeting-tools) the whole meeting, often including both audio and video. This data will be stored by the AI note-taking company, and maybe also shared with at least OpenAI, potentially with other third-parties as well. + +This is **incredibly intrusive**, not to say straight out *creepy*. + +Besides, it can even be *illegal*. If you use this kind of application with someone living in a region with a [two-party consent law](https://acclaws.com/can-you-record-a-conversation-legally/), recording without prior consent of all participants is criminal. + +Even without this, any personal information collected by an AI system is still **subject to the privacy regulation protecting its data subject**. Nobody should take lightly the legal and moral obligations they have when using or developing such invasive technology. + +Even if you don't care about sending *your own* personal data to these companies, **you are still responsible** for [the data of others](the-privacy-of-others.md) you input in these systems. + +For organizations, using AI doesn't remove any legal obligations to **[comply with privacy laws](https://iapp.org/news/a/how-privacy-and-data-protection-laws-apply-to-ai-guidance-from-global-dpas)**. You are still responsible for any personal data collected by your usage of AI systems, even when delegating the task to OpenAI or any other subcontractor. + +## How to opt out? + +There are multiple ways to opt out of surveillance disguised as convenience. The first thing of course is to avoid using any such technology whenever possible. + +Before taking a plane, spend some time researching if your citizenship and the region you are visiting grant you opt-out rights. If it does, print this documentation and be ready to politely ask for a traditional identify verification instead of a face scan. + +If you own a car, try to find a parking application that has been more thoughtful regarding security and privacy. Report any parking apps which infringe on your local privacy laws to your local Data Protection Authority or equivalent. If you go somewhere that could put you in danger if tracked — for example, because you are victim of domestic violence or stalking — consider renting a car with a different license plate, sharing a ride with a trusted friend, or parking at another location you can safely walk from. + +**Do NOT use any AI note-taker!** This technology might seem *convenient* at first, but it is completely unnecessary (and also unreliable). If you use this technology carelessly without providing proper privacy notice, you could run into serious legal risks. Additionally, you risk eroding the trust of everyone communicating with you when the *inevitable* data breach occurs. + +If someone invites you to a meeting using an AI note-taker, do not hesitate to refuse being recorded, and share your discomfort about this technology. + +If you must use an AI assistant, try to find one that can run *offline,* and does not upload your inputs back to the company's server. When this isn't possible, make sure at least to never share any personal information with these systems. Be especially vigilant not to share any data related to other people, and especially children. This could lead to severe legal consequences for you down the road. + +## Why it is crucial to oppose everywhere we can + +If we all do everything we can to opt out every time we can, it will become harder and harder to implement mass surveillance systems in our society. + +The response provided when privacy experts raise the alarm is often to minimize concerns saying "it's only optional, and people can opt out". + +But for **how long will we keep the right to opt out** if we never exercise this right? How many dark patterns and intimidation techniques are used to pressure people into saying yes, or to make sure they never know about their right to opt out? + +Furthermore, write to your representatives about your concerns related to privacy rights and the rise of surveillance systems in our society. Discuss this with your family and your friends. Post about it on social media. Share your experience of surveillance with the press. + +The more we are talking about this problem, the stronger the opposition becomes, and the more chances we have to **keep our privacy rights alive**. + +If we do not stand firm to defend our rights, even when it's inconvenient to do, we might soon lose them. + +## Additional resources + +- [Facial scan at airport (United States): Protect Your Face Data](https://www.ajl.org/campaigns/fly) + +- [Information on parking apps vulnerabilities: Not My Plate](https://notmyplate.com/) + +- [Information on AI note-takers](https://www.fisherphillips.com/en/news-insights/ai-notetaking-tools-should-you-use-them.html) + +- [How to remove/disable Microsoft's Windows Recall](https://www.microsoftrecall.com/) diff --git a/blog/posts/signal-configuration-and-hardening.md b/blog/posts/signal-configuration-and-hardening.md index 940348e97..f10da4d0c 100644 --- a/blog/posts/signal-configuration-and-hardening.md +++ b/blog/posts/signal-configuration-and-hardening.md @@ -1,7 +1,7 @@ --- date: created: 2022-07-07T19:00:00Z - updated: 2024-08-23T19:00:00Z + updated: 2025-05-24T14:00:00Z authors: - contributors - matchboxbananasynergy @@ -18,7 +18,7 @@ schema_type: AnalysisNewsArticle --- # Signal Configuration and Hardening Guide -[Signal](https://www.privacyguides.org/en/real-time-communication#signal) is a widely regarded instant messaging service that is not only easy to use but is also private and secure. Signal's strong E2EE implementation and metadata protections provide a level of assurance that only you and your intended recipients are able to read communications. +[Signal](https://www.privacyguides.org/en/real-time-communication#signal) is a widely regarded instant messaging service that is not only easy to use but is also private and secure. Signal's strong end-to-end encryption implementation and metadata protections provide a level of assurance that only you and your intended recipients are able to read communications. This guide details actions you can take to configure and harden Signal in accordance with your [threat model](https://www.privacyguides.org/en/basics/threat-modeling/). @@ -26,7 +26,7 @@ This guide details actions you can take to configure and harden Signal in accord ### Signal PIN -When you register for Signal with your phone number, you will be asked to set up a Signal PIN. This PIN can be used to recover your profile, settings, contacts and who you've blocked in case you ever lose or switch devices. +When you register for Signal with your phone number, you will be asked to set up a Signal PIN. This PIN can be used to recover your profile, settings, contacts, and blocked users in case you ever lose or switch devices. Additionally, your Signal PIN can also double as a registration lock that prevents others from registering with your number. @@ -34,18 +34,18 @@ Additionally, your Signal PIN can also double as a registration lock that preven The server will not enforce the registration lock after 7 days of inactivity. After that, someone will be able to reset the PIN at registration and register with your phone number. This will wipe the data stored in your Signal account, as it is encrypted by the PIN, but it won't prevent someone from registering with your number provided that they can receive a text on it. -**Important update**: since this blog post was published, there have been changes to the registration flow for Signal. You should read about this [here](signal-number-registration-update.md). +**Important update**: Since this blog post was published, there have been changes to the registration flow for Signal. You should read about this [here](signal-number-registration-update.md). If you haven't set up a Signal PIN, or have previously opted out of setting one up, follow these steps on Android/iOS: -- Select :material-dots-vertical: > **Settings** > **Account** > **Signal PIN** +- Select :material-dots-vertical: → **Settings** → **Account** → **Signal PIN** - Select **Create new PIN** -Signal will prompt you to enter a PIN. We suggest using a strong alphanumeric PIN that can be stored in a [password manager](https://www.privacyguides.org/en/passwords/). +Signal will prompt you to enter a PIN. We suggest using a strong, alphanumeric PIN that can be stored in a [password manager](https://www.privacyguides.org/en/passwords/). Once you have done that, or if you already have set up a PIN, make sure that **Registration Lock** is also enabled. -- Select :material-dots-vertical: > **Settings** > **Account** > **Signal PIN** +- Select :material-dots-vertical: → **Settings** → **Account** → **Signal PIN** - [x] Turn on **Registration Lock** !!! Important @@ -65,12 +65,12 @@ It is best practice to always compare safety numbers with your contacts. This ca !!! Important - In order for safety numbers to also verify that the intended recipient has access to the device you're verifying, you need a secondary communication channel where you can authenticate the person that is holding the device. For example, an in-person meeting or during a video call. + In order for safety numbers to also verify that the intended recipient has access to the device you're verifying, you need a secondary communication channel where you can authenticate the person that is holding the device. For example, an in-person meeting or a video call. To view the safety number for a particular contact, you need to follow these steps within Signal: - Go to a chat with a contact. -- Select the chat header or :material-dots-vertical: > **View Safety Number** +- Select the chat header or :material-dots-vertical: → **View Safety Number** Once you've compared the safety numbers on both devices, you can mark that contact as **Verified**. @@ -78,7 +78,7 @@ A checkmark will appear in the chat header by your contact's name when the safet After doing that, any time the safety number changes, you'll be notified. -If the safety number with one of your contacts changes, we recommend asking the contact what happened (if they switched to a new device or re-installed Signal, for example) and verify the safety numbers again. +If the safety number with one of your contacts changes, we recommend asking the contact what happened (if they switched to a new device or re-installed Signal, for example) and verifying the safety numbers again. For more demanding threat models, you should agree on a protocol with your contacts in advance on what to do in case the safety number ever changes. @@ -92,7 +92,7 @@ It is good practice to set up disappearing messages in Signal's settings so that On Android/iOS: -- Select :material-dots-vertical: > **Settings** > **Privacy** +- Select :material-dots-vertical: → **Settings** → **Privacy** - Under **Disappearing messages**, select **Default timer for new chats** - Select the desired amount of time and select **Save** @@ -119,22 +119,20 @@ Your recipient doesn't make any requests unless they open the link on their end. On Android/iOS: -- Select :material-dots-vertical: > **Settings** > **Chats** +- Select :material-dots-vertical: → **Settings** → **Chats** - [ ] Turn off **Generate link previews** ### Screen Security -Signal allows you to prevent a preview of the app being shown (i.e., in the app switcher) unless you explicitly open it. +Signal allows you to prevent a preview of the app being shown (i.e., in the app switcher) unless you explicitly open it. This option can be found in :material-dots-vertical: → **Settings** → **Privacy**. -On Android: +=== "Android" -- Select :material-dots-vertical: > **Settings** > **Privacy** -- [x] Turn on **Screen Security** + - [x] Turn on **Screen Security** -On iOS: +=== "iOS" -- Select :material-dots-vertical: > **Settings** > **Privacy** -- [x] Turn on **Hide Screen in App Switcher** + - [x] Turn on **Hide Screen in App Switcher** ### Screen Lock @@ -144,26 +142,22 @@ To mitigate this, you can leverage the Screen Lock option to require additional On Android/iOS: -- Select :material-dots-vertical: > **Settings** > **Privacy** +- Select :material-dots-vertical: → **Settings** → **Privacy** - [x] Turn on **Screen Lock** ### Notification Privacy Even when your phone is locked, anyone who can lay eyes on the device can read messages and sender names from your lock screen. -On Signal, you have the ability to hide message content and sender name, or just the message content itself. +On Signal, you have the ability to hide message content and sender name, or just the message content itself. This option can be found in :material-dots-vertical: → **Settings** → **Notifications** → **Show**. -On Android: +=== "Android" -- Select :material-dots-vertical: > **Settings** > **Notifications** -- Select **Show** -- Select **No name or message** or **Name only** respectively. + - Select **No name or message** or **Name only**, respectively. -On iOS: +=== "iOS" -- Select :material-dots-vertical: > **Settings** > **Notifications** -- Select **Show** -- Select **No name or Content** or **Name Only** respectively. + - Select **No name or Content** or **Name Only**, respectively. ### Call Relaying @@ -171,14 +165,21 @@ Signal allows you to relay all calls (including video calls) through the Signal On Android/iOS: -- Select :material-dots-vertical: > **Settings** > **Privacy** > **Advanced** +- Select :material-dots-vertical: → **Settings** → **Privacy** → **Advanced** - [x] Turn on **Always Relay Calls** For incoming calls from people who are not in your Contacts app, the call will be relayed through the Signal server regardless of how you've set it up. -### Proxy Support +### Bypass Internet Censorship -If Signal is blocked in your country, Signal allows you to set up a proxy to bypass it. +If Signal is blocked in your country, it has a built-in "Censorship Circumvention" feature that uses domain fronting to bypass restrictions. + +On Android/iOS: + +- Select :material-dots-vertical: → **Settings** → **Privacy** → **Advanced** +- [x] Turn on **Censorship Circumvention** + +Additionally, Signal allows you to set up a proxy to bypass censorship. !!! Warning @@ -186,13 +187,13 @@ If Signal is blocked in your country, Signal allows you to set up a proxy to byp You can learn more about Signal's proxy support on their [website](https://support.signal.org/hc/en-us/articles/360056052052-Proxy-Support). -### Disable Signal Call History (iOS) +### Disable Signal Call History (iOS only) Signal allows you to see your call history from your regular phone app. This allows your iOS device to sync your call history with iCloud, including whom you spoke to, when, and for how long. If you use iCloud and you don’t want to share call history on Signal, confirm it’s turned off: -- Select :material-dots-vertical: > **Settings** > **Privacy** +- Select :material-dots-vertical: → **Settings** → **Privacy** - [ ] Turn off **Show Calls in Recents** ## Signal Hardening @@ -201,13 +202,13 @@ If you use iCloud and you don’t want to share call history on Signal, confirm While it may be tempting to link your Signal account to your desktop device for convenience, keep in mind that this extends your trust to an additional and potentially less secure operating system. -Avoid linking your Signal account to a desktop device to reduce your attack surface, if your threat model calls for protecting against [:material-bug-outline: Passive Attacks](https://www.privacyguides.org/en/basics/common-threats/#security-and-privacy){ .pg-orange }. +Avoid linking your Signal account to a desktop device to reduce your attack surface if your threat model calls for protecting against [:material-bug-outline: Passive Attacks](https://www.privacyguides.org/en/basics/common-threats/#security-and-privacy){ .pg-orange }. ### Molly (Android) -If you use [Molly](https://www.privacyguides.org/en/real-time-communication/#molly-android) on Android to access the Signal network, there are many privacy and security-enhancing features that you may want to explore. +If you use [Molly](https://www.privacyguides.org/en/real-time-communication/#molly-android) on Android to access the Signal network, below is an overview of the many privacy- and security-enhancing features that you may want to explore. You can find a full list of Molly's [features](https://github.com/mollyim/mollyim-android#features) on the project's repository. -#### Privacy and Security Features +#### Data Encryption at Rest Molly has implemented database encryption at rest, which means that you can encrypt the app's database with a passphrase to ensure that none of its data is accessible without it. @@ -224,14 +225,16 @@ For the database encryption feature to be useful, two conditions must be met: If both of the above conditions are met, the data within Molly is safe as long as the passphrase is not accessible to the attacker. +#### RAM Wiper + To supplement the database encryption feature, Molly securely wipes your device's RAM once the database is locked to defend against forensic analysis. While Molly is running, your data is kept in RAM. When any app closes, its data remains in RAM until another app takes the same physical memory pages. That can take seconds or days, depending on many factors. To prevent anyone from dumping the RAM to disk and extracting your data after Molly is locked, the app overrides all free RAM memory with random data when you lock the database. -There is also the ability to configure a SOCKS proxy in Molly to route its traffic through the proxy or [Tor via Orbot](https://www.privacyguides.org/en/tor#orbot). When enabled, all traffic is routed through the proxy and there are no known IP or DNS leaks. When using this feature, [call relaying](#call-relaying) will always be enabled, regardless of the setting. +#### Calls and Contacts + +There is also the ability to configure a SOCKS proxy in Molly to route its traffic through the proxy or [Tor via Orbot](https://www.privacyguides.org/en/alternative-networks/#orbot). When enabled, all traffic is routed through the proxy and there are no known IP or DNS leaks. When using this feature, [call relaying](#call-relaying) will always be enabled, regardless of the setting. Signal adds everyone who you have communicated with to its database. Molly allows you to delete those contacts and stop sharing your profile with them. -To supplement the feature above, as well as for additional security and to fight spam, Molly offers the ability to block unknown contacts that you've never been in contact with or those that are not in your contact list without you having to manually block them. - -You can find a full list of Molly's [features](https://github.com/mollyim/mollyim-android#features) on the project's repository. +To supplement the feature above, as well as for additional security and to fight spam, Molly offers the ability to block unknown contacts whom you've never been in contact with or those who are not in your contact list without you having to manually block them. diff --git a/blog/posts/stay-safe-but-stay-connected.md b/blog/posts/stay-safe-but-stay-connected.md new file mode 100644 index 000000000..5ea98ed27 --- /dev/null +++ b/blog/posts/stay-safe-but-stay-connected.md @@ -0,0 +1,357 @@ +--- +date: + created: 2025-06-10T17:00:00Z +categories: + - News +tags: + - Pride Month +authors: + - em +description: Balancing data protection and online connection can be difficult. Nevertheless, it's an essential skill to be able to stay safe online while staying connected. +schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/stay-safe-but-stay-connected/stay-connected-cover.webp +--- + +# Stay Safe, but Stay Connected + +![Photo of a rainbow heart with each color made of a neon light.](../assets/images/stay-safe-but-stay-connected/stay-connected-cover.webp) + + + +In data privacy, we often talk about the dangers of data collection and exposed data. It can get overwhelming to learn more about all the information that is collected on us, especially at the beginning. As a coping mechanism, some people react by downplaying concerns, disregarding dangers, and ignoring precautions altogether. Others react the opposite way: by isolating themselves, and no longer sharing anything with anyone. But neither is a viable solution. + +Staying isolated to avoid *all* data exposure risks other dangers. Dangers that might not seem related to data privacy directly, but are nevertheless worth mentioning here: Suicide and depression are very real dangers that we cannot ignore. + +Keeping our data safe shouldn't mean staying alone, and isolation is [especially dangerous for LGBTQ+ people](https://www.thetrevorproject.org/resources/article/facts-about-lgbtq-youth-suicide/). + +The better approach is to adopt a **segmental perspective on data privacy**. + +While not ignoring nor minimizing the risks, it's important to develop an awareness of which exposed data represents the biggest danger to us, which we have no control over, and which we can actually protect better. + +This is the balanced way out of this Orwellian nightmare. + +There are ways to stay together, to support each other, and to stay connected while also protecting our data and becoming an informed advocate for privacy rights. + +## How to stay connected while staying safe + +Numerous practices and tools can help to participate in online communities while also protecting one's data. There might be some sacrifices necessary of course, and each sacrifice should be weighted carefully for its benefit. + +It's important to remember that the best approach to data privacy isn't an [all-or-nothing mindset](privacy-is-not-dead.md). This only leads to either giving up entirely, or getting disconnected from our communities. + +The better mindset is to try to *improve* one's data privacy gradually, to *reduce* digital footprints where possible, and to continue to *advocate* for better legal and technical protections for the things we have no direct control over. + +Here are some steps you can take to stay connected, while improving your digital safety: + +## Practices and tools that help in various contexts + +There are a number of practices that can be applied in various contexts, and will help reduce or separate your digital traces. These practices are all good to keep in mind with any platforms, accounts, and information you share. + +If this is new to you, implementing *one* improvement at the time is a great way to avoid getting overwhelmed. Every small improvement will help, and add together over time. + +You do not have to do all of this, only pick what works well for you and what you can realistically implement in your life. Remember that this will not make you fully anonymous online, but *reducing* your digital footprints still gives a lot of benefits. + +### Pseudonymity + +Pseudonymity is the practice of using a fictitious name (a pseudonym) when creating accounts to detach, even slightly, one's online presentation from their full legal identity. + +There are different levels to this. It could mean sharing a first name but not a last name, using the name of a fictional character, or using an entirely made up name. + +Using a pseudonym and a profile picture that isn't a self-portrait can help significantly to reduce digital footprints and improve online safety. It can also help to detach different accounts from each other, for example by using a certain name for a work account and a pseudonym for a personal alt account. + +Remember that that this will not make you anonymous online, however. It will only help hide or separate your legal identity from your public-facing profile. + +If you want to use more serious pseudonymity online, you will also need to consider using different email addresses to sign up, different phone numbers if required, different photos of course, but also different IP addresses, and so on and so forth. + +### Virtual Private Network (VPN) + +Using a [trustworthy VPN](https://www.privacyguides.org/en/vpn/) can also help to reduce the data identifying you online, and improve your pseudonymity. + +Regardless of the name you choose for a profile, services (and sometimes other users even) can see your IP address. Your IP address can reveal your location more or less accurately, and can be used to identify the owner of the internet service account you use. + +If you do not protect this information, services and authorities have the capacity to link all your accounts and online activities together, regardless of the name and profile picture you use. + +You can mitigate this by using a *trustworthy* VPN (yes, trust is crucial here) that will act as a proxy for your IP address (and allow you to use different IP addresses for different accounts). + +Your VPN provider however will still know what your real IP address is, this is why trusting your VPN provider is so important. To protect from this, you could use another method, such as the [Tor Network](in-praise-of-tor.md). + +
+

VPN blocks and security checks

+ +Keep in mind that connecting to an account or website while using a VPN could trigger additional security checks, or even trigger blocks for certain websites and services. + +Sometimes, it's simply a CAPTCHA to solve, but it could also be an alert or additional check for a social media account you usually connect to without a VPN. + +In some situations, this can be resolved by selecting a different VPN server, choosing a server in the same region you are, or you might need to disable your VPN entirely to access some services. + +
+ +### Browser fingerprinting + +Limiting browser fingerprinting is important to reduce the data capable of identifying who you are from your browsing activity. + +Even when using a pseudonym, fictitious profile picture, and trustworthy VPN, your activity could still be linked back to you simply based on how unique your system and browser configurations are. + +Some [browsers](https://www.privacyguides.org/en/desktop-browsers/) offer increased protections against this type of tracking, such as Mullvad Browser and Tor Browser. + +### File metadata + +To protect your privacy online, it's important to remember to [delete metadata](https://www.privacyguides.org/en/data-redaction/) from the photos and files you share online. Even if you take care to not include identifying information in the photos, videos, and documents you share, you can still sometimes be easily re-identified from hidden file metadata alone. + +Photos, PDF, images, and files of all sorts usually contain hidden metadata about your device, location, and more. Removing metadata before sharing photos or files is an important consideration to improve your privacy and safety online, especially when sharing files and photos publicly. + +### Mobile applications + +Limiting the mobile apps you keep on your devices is important, not only to improve privacy but also for device security. + +Many mobile app developers use tracking technologies to collect information on users, sometimes well beyond their own app's usage. Additionally, each installed application increases the risk of potential vulnerabilities that could lower your system security. + +Whenever possible, choose to use a secure browser instead of the application to access a service (unless this is an application you trust more than your browser application). If you use an Apple device, check the App Privacy section in the App Store to know what data each of your installed apps collects. + +Delete all the apps you no longer need, as soon as you do not need them anymore. + +
+

Deleting the app does not delete the account

+ +Remember that just deleting an app from your device will not necessarily delete your account and data. Depending on the service, even after deleting the app, your account might still be accessible through a web browser. + +If you no longer need an account, it's important to first delete the data within it, then delete the account through the internal process, and, once this is completed, delete the application. + +Otherwise, your abandoned account could still sit there and risk getting taken over by someone else, or expose your data in other ways. + +
+ +### Photo sharing + +When sharing photos online, especially on social media, it's essential for both privacy and safety to develop an awareness of what the information within this photo can reveal about you. + +Even from a well-protected pseudonymous account, posting a photo from your home that reveals outside details could identify your location and identity. Sometimes, even details *inside* your home could pinpoint your location. Be particularly careful about reflections in glasses, mirrors, windows, and other reflective surfaces. + +And of course, never share photos of others online without *their* prior consent. + +## What to improve in each context + +### Social media: Improving, deleting, replacing + +While social media now occupies an immense role in our lives, it's unfortunately very difficult to protect one's privacy while using any corporate social media platforms. + +Large commercial platforms like Facebook, Instagram, Threads, YouTube, TikTok, and X (Twitter) are fundamentally advertising businesses, and their only goal is to make more money. They achieve this goal by collecting data points on users that they sell as a feature to advertisers. + +#### How to improve what you can + +If you decide staying on a corporate platform is important to you, then it is crucial to harden all the settings available to improve privacy as much as allowed. Keep in mind however that this isn't a guarantee, and some platforms have already been caught [again](https://www.aa.com.tr/en/economy/facebook-to-pay-5bn-fine-for-violating-users-privacy/1540472) and [again](https://bgr.com/tech/facebook-whatsapp-privacy-fine/) not respecting their users' preferences. + +Furthermore, to implement the protections discussed above, some commercial platforms are worse than others. For example, Facebook doesn't allow the use of pseudonyms anymore. + +Moderation is also a safety issue to consider. If you want to choose and compare corporate platforms, the non-profit GLAAD has developed a yearly [Social Media Safety Index & Platform Scorecard](https://glaad.org/smsi/social-media-safety-index-2025/) to evaluate six major social platforms for safety for the LGBTQ+ community. + +
+

AI training on social media platforms

+ +In addition to the privacy settings you should pay attention to, make sure to **turn off or opt out of any AI feature** you can on social media. + +Unfortunately, many platforms have started to use and sell users content to train AI algorithms. This is very concerning for data privacy, and could make a lot of information about you impossible to delete from these systems afterward. + +Again, remember however that there is no guarantee platforms will respect your preferences on this, and deleting and leaving corporate platforms might be the safest option. + +
+ +
+

Disclaimer for external resources

+ +Privacy Guides does not necessarily endorse these linked websites. Links are provided as suggestions of external guides to follow for this specific purpose. We do not necessarily approve the other recommendations or guides presented on these external resources. + +
+ +- [Improving privacy settings on X (formerly Twitter)](https://beconnected.esafety.gov.au/topic-library/social-media-apps/introduction-to-twitter/controlling-your-x-privacy-settings) +- [Improving privacy settings on Facebook](https://www.consumerreports.org/electronics-computers/privacy/facebook-privacy-settings-a1775535782/) +- [Improving privacy settings on Instagram](https://www.consumerreports.org/electronics-computers/privacy/instagram-privacy-settings-a3036233134/) +- [Improving privacy settings on Threads](https://www.myprivacy.blog/threads-privacy-setup-a-2025-technical-guide-for-users-under-25/) +- [Improving privacy settings on YouTube](https://www.groovypost.com/howto/manage-your-youtube-privacy-settings/) +- [Improving privacy settings on TikTok](https://www.maketecheasier.com/tiktok-privacy-settings/) +- [Improving privacy settings on Reddit](https://www.myprivacy.blog/reddit-privacy-guide-securing-your-presence-in-2025/) +- [Improving privacy settings on LinkedIn](https://www.presencesecure.com/linkedin-privacy-settings-guide/) + +Additionally, with [the proliferation of age verification](age-verification-wants-your-face.md) regulations, more commercial platforms might soon not only require a legal name, but also require providing an official ID in order to continue using the platform, severely damaging online privacy for everyone. + +In light of this, it might be a better idea to leave these intrusive and data exploitative platforms altogether, while deletion is still an option. + +#### How to delete corporate social media accounts + +[Deleting the accounts](https://www.privacyguides.org/en/basics/account-deletion/) you no longer use is an essential habit to adopt in order to improve both privacy and security online. + +Unused accounts leave a data trail that can get exploited by platforms unchecked, for example with the recent addition of terms of service to allow [using all content for AI-training purposes](https://www.pcworld.com/article/2343263/facebook-wants-to-use-your-posts-for-ai-training-how-to-object.html). Moreover, keeping abandoned accounts increases significantly the risk of account takeover and data leak. + +A healthy privacy habit is to request account and data deletion as soon as an account is no longer needed, rather than leaving the account abandoned. + +
+

Remember before deleting!

+ +Before deleting any account, always make sure to: + +1. Deactivate any sign-in option you might have used this account with. For example, if you use the sign in with Google or Facebook option with other accounts, make sure to log in these accounts and select another way to connect that doesn't rely on the account you are about to delete. + +2. If you need to keep a copy of your own data, make sure to download and verify it before you delete the account. + +3. In some situations, it can help to delete information within the account first. Go through your profile and delete or modify what you can manually. + +4. If you want to stay in contact, inform the people you usually contact through this account of an alternative way to contact you. + +
+ +- [Deleting X (formerly Twitter) posts](https://cyd.social/download/) +- [Deleting X (formerly Twitter) account](https://lifehacker.com/how-to-delete-your-x-account) +- [Deleting Facebook](https://lifehacker.com/tech/how-to-delete-your-facebook-account) +- [Deleting Instagram](https://lifehacker.com/tech/how-to-deactivate-or-delete-your-instagram) +- [Deleting Threads](https://www.pcmag.com/how-to/how-to-delete-threads-without-getting-rid-of-your-instagram-account) +- [Deleting YouTube (Google)](https://www.tech2geek.net/how-to-delete-your-youtube-account-2025-step-by-step-guide/) +- [Deleting TikTok](https://www.techlifeunity.com/delete-tik-tok-account) +- [Deleting Reddit](https://lifehacker.com/tech/how-to-delete-your-reddit-account) +- [Deleting LinkedIn](https://www.maketecheasier.com/how-to-delete-linkedin-account/) + +#### Which better platforms to use to stay connected + +While any data publicly accessible online can technically be collected by anyone, using alternative platforms that aren't advertising businesses can still greatly improve your data privacy online. + +For example, platforms that are part of the Fediverse social network are predominantly non-profit, open-source software using a collection of connected servers generally run by volunteers. + +The incentive isn't to monetize users data at all, the goal is simply to support the community. This is a *crucial* difference. + +When moving to non-corporate platforms, you should also adopt all the good privacy practices listed above. The good news is you will not encounter resistance to do so there. These platforms will not endlessly exploit your data internally, like big tech social media does. + +Fediverse-connected platforms tend to value users privacy and security much more. Because **their goal isn't to make profit from your data**. + +You will still need to go through the settings to adjust and harden your privacy preferences, but you'll see already that almost no personal data is required to sign up, and there will be no advertising profile tracking you around (and no ads!). + +- [Replacing X and Threads with :material-arrow-right-bold: Mastodon](https://joinmastodon.org/) +- [Replacing Facebook with :material-arrow-right-bold: Friendica](https://friendi.ca/) +- [Replacing Instagram with :material-arrow-right-bold: Pixelfed](https://pixelfed.org/) +- [Replacing YouTube with :material-arrow-right-bold: PeerTube](https://joinpeertube.org/) +- [Replacing TikTok with :material-arrow-right-bold: Loops](https://joinloops.org/) +- [Replacing Reddit with :material-arrow-right-bold: Lemmy](https://join-lemmy.org/) +- [Replacing Meetup or Facebook Groups with :material-arrow-right-bold: Mobilizon](https://mobilizon.org/) + +### Private messaging: One-on-one and group chats + +Many of the dangers described for social media also exist for messaging services. + +When it comes to private messaging, you cannot trust any software that does not protect your communication with solid *end-to-end encryption*. + +End-to-end encryption is a protection that will prevent third parties (including the platform itself) from having access to your messages. When well implemented, only the intended sender(s) and recipient(s) will have access to the messages your send using end-to-end encryption. + +Popular messaging services and platforms such as [regular SMS](https://www.privacyguides.org/videos/2025/01/24/its-time-to-stop-using-sms-heres-why/), Discord, Slack, and most social media direct messages unfortunately do not offer this protection, and are horrible for data privacy. + +Even messaging apps like WhatsApp, Facebook Messenger, Snapchat, and Telegram, that *can* be used with *some* end-to-end encryption, have other important data privacy problems that make them difficult to trust. + +#### Signal + +One of the best free end-to-end encrypted messenger you can use at this time for one-on-one and group conversations is [Signal](https://signal.org/). + +While Signal requires a phone number to sign up, it will not collect any other data from you. Once installed, [activating the usernames feature](https://support.signal.org/hc/en-us/articles/6712070553754-Phone-Number-Privacy-and-Usernames) and adjusting phone number privacy is important to prevent sharing your phone number with others. That way, you will be able to simply share your *username* to start communicating with anyone. + +Moreover, the [disappearing messages feature](https://support.signal.org/hc/en-us/articles/360007320771-Set-and-manage-disappearing-messages) will greatly help to reduce your data trail. Remember however that this will not prevent a malicious recipient from downloading or taking screenshots of the sensitive information you share with them. This is true for any service with disappearing messages. Only send sensitive information and photos to people you trust, even when using disappearing messages on encrypted platforms. + +#### Other end-to-end encrypted messengers + +While Signal might be the most popular and easier to use, there are many other instant messaging apps that offer solid end-to-end encryption features. + +Some will not even require a phone number to sign up. However, because they are less popular, it might be more difficult to find other users willing to use them with you to communicate. + +They also offer different features and experiences, that you might prefer, or not. If you prefer to use a different application, you can have a look at our other [recommended instant messaging](https://www.privacyguides.org/en/real-time-communication/) applications. + +#### Matrix with Element + +[Matrix](https://matrix.org/) is an open network for decentralized communication. This network uses a collection of connected servers, and can be accessed using different [client applications](https://matrix.org/ecosystem/clients/). Matrix clients will offer different experiences and features, and be available on different systems. + +Using Matrix with the open-source client [Element](https://element.io/) is a good alternative to Slack and Discord's chat rooms. The Matrix protocol allows chat rooms to use end-to-end encryption. + +
+

Not all rooms are end-to-end encrypted

+ +Remember that not every room uses end-to-end encryption on Matrix. You can verify this in Element, from the detailed room information panel, by the "Encrypted" or "Not encrypted" badge under a room's name. + +
+ +Again, because this open-source protocol is developed by a non-profit organization, the goal isn't to collect data on users. There is no incentive to monetize users' data, and because of this, choosing these better alternatives will greatly improve your data privacy compared to using commercial platforms. + +#### End-to-end encrypted emails + +For email communication, moving away from large providers such as Google and Microsoft can improve your communication's privacy immensely. + +Large providers of free email services tend to collect a lot of data on their users, sometimes including the content of their communications. Moving to a service that uses end-to-end encryption and better practices around metadata offers significant benefits. + +Proton Mail and Tuta are two services implementing end-to-end encryption to protect the content of users' messages. For more details and options, you can look at our recommended [email services providers](https://www.privacyguides.org/en/email/) page. + +Of course, when using any of these services, you will still have to take into account to whom you are sending the email. For end-to-end encryption to properly protect data both in transit and at rest, the sender needs to use a service *compatible* with the recipient. + +There are methods and third-party applications that can be used to encrypt and decrypt a message from a provider that does not offer end-to-end encryption, but this adds additional steps casual users might not feel comfortable getting into. + +That being said, if you use a Proton Mail address to email another Proton Mail user, by default all communication's content will be fully encrypted, and only accessible to you and the intended recipient. Similarly, if you use Tuta to email another Tuta user, communication will be fully end-to-end encrypted. + +Communications between different providers will likely require additional steps, however, or will not benefit from end-to-end encryption on the server where the message is sent. For example, when sending an email from a Proton Mail to a Gmail account, if no additional protections are used, the content of this message will still be accessible to Google on the recipient's side. + +All of this to say, be mindful when using email communication to exchange sensitive data, and make sure to verify inter-service compatibility to stay fully protected. + +Even considering this, using a Tuta or Proton Mail account to communicate even with people using unencrypted services still has the benefit that your communication will at least be stored fully encrypted on *your* side. + +### Online dating: Balancing authenticity and caution + +Unfortunately, it is still extremely difficult to protect sensitive data while using dating apps. Very few dating apps are careful about protecting user's data properly, and many breaches have already happened to confirm this. + +Moreover, using a dating app cannot be done completely anonymously. Inevitably, at least some photos or some personal information need to be shared. Pseudonymity on dating app can come at the cost of authenticity, which is very important when dating. + +While not sharing someone's last name and address is certainly a recommended and cautious measure, not sharing any photos or any personal information isn't really an option in this context. + +What can be done to improve privacy while not impacting authenticity and truthfulness when dating? + +Sharing only a first name is a good start. Remaining mindful of selecting photos that do not reveal someone's exact home location is also a good safety measure. + +Additionally, once a partner is trusted enough, moving to a more secure and more private end-to-end encrypted channel before sharing more intimate information or pictures can be a good idea. + +Some dating apps might soon require official IDs or other sensitive identifiers for age verification purposes. This can be a dangerous practice if there is a risk of data leak, which, well, there always is. Choosing applications that prioritize their users' privacy and safety, and moving away from the ones who don't, is fundamental. + +Before investing time in a dating app, make sure to review properly what personal information will be collected, how it can be deleted after (once you've found the love(s) of your life at last), and what data will remain or be requested for the deletion request. + +Make sure to browse trustworthy sources to check which apps have better privacy practices, and which ones have been exposed for their bad behaviors. Then, choose accordingly an application you trust enough to share your intimate details with. + +### In person: Groups and events + +Many people still use commercial platforms such as Facebook Groups, Eventbrite, and Meetup to organize events and groups. + +Regrettably, requiring attendees to provide information to a commercial platform collecting their data can put people at severe risk of harm, and completely exclude the most vulnerable. + +When organizing events and groups for your community, select platforms that will *not* collect your attendees' data instead. + +Sometimes, a good old static website to advertise an event is enough. Then, link to this page on social media to increase visibility. This method has worked for decades before, when people met in person even more. + +The need to collect RSVP from attendees is rarely justified. It negatively impacts data privacy, risks endangering attendees in vulnerable situations (such as victims of domestic violence and stalking), and is usually greatly misleading anyway. + +You will significantly improve your event's accessibility and safety by not requiring attendees leave a digital trace of where they will be physically. + +If you want a service more structured than a static website, **[Mobilizon](https://mobilizon.org/) is an excellent free and open replacement to commercial platforms for groups and events**. + +It was developed by the French non-profit Framasoft, and has no incentive to collect users' data. Accounts can be created from multiple [instances](https://instances.joinmobilizon.org/instances), and instances can even be self-hosted if group and event organizers wish more control over their data. + +Finally, do not neglect the power of a good old paper poster for your local events. Posting in the streets, local libraries, and on school billboards is still an excellent and efficient way to invite locals to join your event, without the need for any data collection. + +## Stay connected + +Reaching out for connection can be difficult at time, but it's essential. + +While using measures to protect your privacy and your safety, staying connected with your queer community is vital to find the support you need and to find a space where you can be yourself. + +Peer support is a fundamental need for anyone. While protecting our data is also important, using a balanced approach to stay connected *while* staying safe is not just important to survive, but also to live and to thrive. + +If you are feeling isolated, reach out for connections. You are not alone 💛 + +## Resources to help + +If you are feeling isolated, depressed, or suicidal, do not hesitate to reach out for help. These helplines are here to listen: + +- [Mindline Trans+ (UK)](https://www.mindinsomerset.org.uk/our-services/adult-one-to-one-support/mindline-trans/): Confidential support helpline for people who identify as trans, agender, gender-fluid or non-binary. + +- [Trans Lifeline Hotline (US and Canada)](https://translifeline.org/hotline/): Trans peer support (Phone number US: 877-565-8860 / Canada: 877-330-6366) + +- [Suicide & Crisis Helpline (US and Canada)](https://988lifeline.org/): General support 24/7 (Phone number: 988) + +- [Suicide & Crisis Helpline (International)](https://en.wikipedia.org/wiki/List_of_suicide_crisis_lines): List of suicide crisis lines around the world. diff --git a/blog/posts/the-dangers-of-end-to-end-encryption.md b/blog/posts/the-dangers-of-end-to-end-encryption.md new file mode 100644 index 000000000..fb21c2bb9 --- /dev/null +++ b/blog/posts/the-dangers-of-end-to-end-encryption.md @@ -0,0 +1,99 @@ +--- +date: + created: 2025-04-01T05:40:00Z +categories: + - Opinion +tags: + - April Fools +authors: + - aprilfools +license: BY-SA +description: Privacy Guides is formally taking a stand against dangerous and frightening technologies. +schema_type: SatiricalArticle +preview: + logo: blog/assets/images/the-dangers-of-end-to-end-encryption/fire.svg +--- +# The Dangers of End-to-End Encryption + +![An image showing a burning car](../assets/images/the-dangers-of-end-to-end-encryption/cover.webp) + + + +In the digital age, nothing is more important than convenience and easy access to data. Unfortunately, there has been an alarming trend among technologists to implement **End-to-End Encryption** (E2EE) in their applications, to the detriment of all the important work being done by countless organizations, including the best and brightest intelligence agencies and big tech companies. + +
+

April Fools!

+ +This article was published on April 1st, 2025. + +Privacy Guides supports strong encryption as a cornerstone of digital security and personal freedom. End-to-end encryption ensures that **your** communications remain **yours**, which is a principle worth preserving. + +
+ +Security-focused developers and misguided "advocates" have long attempted to convince those involved in privacy and security that E2EE is an advanced security measure designed to protect your sensitive data, and *Privacy Guides* has stood by for far too long not setting the record straight. + +In this article, we are going to explore how these "protections" actually endanger you and pose critical threats to society at large. Threats that are so grave that numerous government agencies around the world insist that we immediately limit or eliminate E2EE entirely, before our world as we know it falls apart. + +*Privacy Guides* is acutely aware of these serious concerns, and believes privacy should always be a conditional right, used *responsibly*. + +## E2EE hampers *legitimate* government surveillance + +Every day, intelligence agencies carry out perfectly legitimate surveillance activities against both their own citizens and foreigners. There is no question that these agencies are crucial to the upkeep of our national security, and it is our moral obligation to assist them in these warrantless activities, whether we know it or not. + +When services like [Signal](https://www.privacyguides.org/en/real-time-communication/) or [Tuta](https://www.privacyguides.org/en/email/) keep all of their users messages locked in an impenetrable vault, how are they supposed to keep tabs on potential criminals using their services? + +The reality is that if the government is not allowed to read *every* message being sent, they might never encounter the *one* that actually warrants suspicion. + +It's true that end-to-end encryption also protects the lives of journalists, whistleblowers, and human-rights activists from those few governments which are *actually* oppressive, but these edge-cases should not be used as an excuse to hinder legitimate governments like in the US or the UK. + +## E2EE encourages crime + +With end-to-end encryption, criminals are granted a free pass for unlimited criminal activity. *Nobody* can read their messages besides them! Shocking, isn't it? + +If platforms simply removed all forms of encryption from their services, we could solve cybercrime, illegal drug dealing, dangerous hacking attempts, child exploitation, and terrorism overnight... right? + +There is plenty of historical precedent here. Platforms like Snapchat which *don't* utilize end-to-end encryption have bravely been [involved in noble arrests](https://www.bbc.com/news/world-europe-68099669), stopping criminals in their tracks before they had a chance to act. + +Users of these platforms who aren't criminals do benefit a bit from end-to-end encryption. It protects them from identity theft, surveillance, and data breaches every day. With any sort of trade-off like this, this is certainly a factor to consider. We believe it is very clear that giving up minor protections like this is a small price to pay to potentially intercept the next dangerous joke in a group text. + +## It prevents *helpful* backdoors + +Many tech companies have tried to [introduce backdoors into their end-to-end encrypted platforms](https://www.eff.org/deeplinks/2021/08/apples-plan-think-different-about-encryption-opens-backdoor-your-private-life), only to be lambasted by the legion of completely unreasonable "privacy advocates" out there. Our stance on privacy is far more principled, and we believe there is a middle-ground to be found in the laws of mathematics. + +The solution proposed by companies like Apple and agencies like the FBI is a sound one. They will protect your messages, *unless* they encounter something suspicious. At that point, keys to decrypt your data will be given **only to the good guys**, so that they can enforce the law. + +This approach makes a lot of sense. By carefully controlling access to these skeleton keys, it's trivial for companies to make sure they only fall into the right hands. The notion that they might be leaked, or that someone with enough resources could replicate that access, is so far into slippery slope territory that it borders on nonsense. Let's stick with what we know about the security capabilities of these companies today, instead of imagining ridiculous scenarios where they are breached. + +## It harms innovation + +Think about all the services you use online every day. The companies behind those services *rely* on collecting as much of your personal data as possible in order to constantly produce exciting new innovations. Without mass data collection, how would you get personalized ads for weeks about different new sneakers, because you bought that pair on Amazon yesterday? How else would companies emulate the real-life experience of constantly being hounded by a salesperson in a store selling you the exact thing you desperately need? + +E2EE prevents companies from truly knowing their users, stifling these massive advances in advanced user profiling! + +Big tech companies monetizing your personal data in ways that you don't need to understand nor consent to is what makes the internet such a magical place. If your private chats are protected with E2EE, companies won't be able to serve you the moment you even *think* about a new lawnmower. What do you think about that? + +## It's challenging for developers + +Another way E2EE slows down innovation even in the digital security realm is its complexity. Implementing robust cryptographic libraries and user-friendly key management systems is complicated, and software development is supposed to be a piece of cake. + +The problem of digital security has already been solved: simply store that information in a database and protect that database from anyone who isn't approved to see it. Protections beyond this tend to be complexity for the sake of complexity. If we did away with the countless developer hours wasted on protection nobody *really* needs, we'd have more time to add longer animations and innovative features like infinite scrolling to keep users happily using their apps for hours on end. + +## E2EE is a slippery slope! + +Constantly pushing E2EE sets up consumers with a wildly unreasonable expectation, that privacy should be the default. If people got comfortable communicating without tech companies and governments constantly peeking over their shoulder, it's impossible to imagine what they might start thinking next. Maybe they'd start to believe personal liberty is a right, instead of a *privilege*. + +End-to-end encryption is an insidious technology that has crept its way into some of the best instant messengers, [cloud storage providers](https://www.privacyguides.org/en/cloud/), and other apps. It stands in the way of law enforcement, government security agencies, data-collecting corporations, and anyone else who might need to peek into your personal life. + +It's time we took a stand against this technology and demand a true solution from our governments: **Sensible** regulations that allow for *partial* protections while keeping the option for these entities to decrypt it when necessary intact. The sense of security is all that truly matters to most people anyway. + +[Who needs *complete* privacy](https://www.privacyguides.org/en/basics/why-privacy-matters/) when you can have a half-baked version easily circumvented by the good guys? What is privacy in the first place, if not a convenient cover for wrongdoing? If we can't read all messages (just in case), how are we expected to keep society safe? + +--- + +This article was published on April Fools' Day. If you've made it to the end, and you haven't noticed how we buried the real benefits of end-to-end encryption in our hyperbolic worst-case scenarios, well... surprise! 😄 + +Privacy Guides supports strong encryption as a cornerstone of digital security and personal freedom. End-to-end encryption ensures that **your** communications remain **yours**, which is a principle worth preserving. + +If the "dangers" of E2EE upset you, maybe it is time to reflect on how crucial privacy is to everyone: You, me, whistleblowers, activists, and everyday people who just want to live their lives. Happy April 1st, and stay secure out there! + +*Written by: Jonah Aragon* diff --git a/blog/posts/the-future-of-privacy.md b/blog/posts/the-future-of-privacy.md index d9077bfeb..19b9a8ae4 100644 --- a/blog/posts/the-future-of-privacy.md +++ b/blog/posts/the-future-of-privacy.md @@ -2,11 +2,13 @@ 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 +preview: + cover: blog/assets/images/the-future-of-privacy/cover.webp --- # The Future of Privacy: How Governments Shape Your Digital Life diff --git a/blog/posts/the-privacy-of-others.md b/blog/posts/the-privacy-of-others.md index fac55ebd6..1205b7d10 100644 --- a/blog/posts/the-privacy-of-others.md +++ b/blog/posts/the-privacy-of-others.md @@ -2,11 +2,13 @@ date: created: 2025-03-10T20:00:00Z categories: - - Opinion + - 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: OpinionNewsArticle +schema_type: NewsArticle +preview: + cover: blog/assets/images/the-privacy-of-others/cover.webp --- # Privacy is Also Protecting the Data of Others diff --git a/blog/posts/the-trouble-with-vpn-and-privacy-review-sites.md b/blog/posts/the-trouble-with-vpn-and-privacy-review-sites.md index 3de250e8a..fdf8cada5 100644 --- a/blog/posts/the-trouble-with-vpn-and-privacy-review-sites.md +++ b/blog/posts/the-trouble-with-vpn-and-privacy-review-sites.md @@ -14,6 +14,8 @@ tags: license: BY-SA description: There’s a massive problem in the privacy world. Many shady companies are disguising advertisements as genuine reviews, to the detriment of real news sources like Privacy Guides and to potential buyers of these services. schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/the-trouble-with-vpn-and-privacy-review-sites/cover.webp --- # The Trouble With VPN and Privacy Review Sites diff --git a/blog/posts/threads-launch-twitter.md b/blog/posts/threads-launch-twitter.md index 29402ff18..3ec11b7d8 100644 --- a/blog/posts/threads-launch-twitter.md +++ b/blog/posts/threads-launch-twitter.md @@ -14,6 +14,8 @@ tags: license: BY-SA description: The man behind Facebook has somehow managed to make the Twitter experience worse. schema_type: OpinionNewsArticle +preview: + cover: blog/assets/images/threads-launch-twitter/cover.webp --- # Threads Is the Perfect Twitter Alternative, Just Not for You diff --git a/blog/posts/tor-security-slider-flaw.md b/blog/posts/tor-security-slider-flaw.md new file mode 100644 index 000000000..5a7875d30 --- /dev/null +++ b/blog/posts/tor-security-slider-flaw.md @@ -0,0 +1,82 @@ +--- +date: + created: 2025-05-02T11:20:00Z + updated: 2025-05-03T15:00:00Z +categories: + - News +authors: + - jonah +tags: + - PSA + - Tor +description: | + PSA: The security level slider in Tor Browser (and Mullvad Browser) does not fully apply until restarting the browser. This presents a high risk to people who switch from Standard to Safer security during a browsing session in order to protect themselves from browser exploits. +schema_type: ReportageNewsArticle +preview: + cover: blog/assets/images/tor-security-slider-flaw/cover.png +--- +# A Flaw With the Security Level Slider in Tor Browser + +![Illustration showing Tor's security level options with question marks next to the selected Safer level](../assets/images/tor-security-slider-flaw/cover.png) + + + +[Tor Browser](https://www.privacyguides.org/en/tor/#tor-browser) and [Mullvad Browser](https://www.privacyguides.org/en/desktop-browsers/#mullvad-browser) users should be aware of a flaw with the Security Level slider: Not all protections advertised by the browser are properly engaged until the browser is fully restarted. + +This flaw was anonymously reported to *Privacy Guides* by a member of our [community](https://discuss.privacyguides.net/), and I confirmed it via the latest Tor Browser 14.5.1 on macOS. Additionally, I confirmed this behavior in Mullvad Browser 14.5.1 on macOS. + +~~I was unable to find any documentation or open GitLab issues with Tor regarding the need to take additional steps before security settings are fully applied, and~~ Tor Browser documentation does not note that a restart is required, nor does it prompt users to restart the browser after security changes are made. (update: see below) + +This presents a high risk to people who switch from Standard to Safer security during a browsing session with the goal to protect themselves from browser exploits. + +## Demonstration + +The effect can be easily demonstrated in your own Tor Browser install by running a JavaScript benchmark such as [JetStream 2.2](https://browserbench.org/JetStream/). These benchmarks rely on a technology called Just-in-Time (JIT) compilation to improve performance, but JIT is linked to numerous security vulnerabilities in modern web browsers. The "Safer" security level normally disables JIT entirely to prevent these issues, however, you can see virtually no performance impact when switching to the Safer security level in Tor Browser and running the benchmark again: + +
+ ![JetStream2 benchmark results with a score of 196 and the shield indicator in the browser's toolbar indicating that Standard security level is set](../assets/images/tor-security-slider-flaw/standard-level-jetstream2.png) +
JetStream 2.2 benchmark results in Standard mode
+
+ +
+ ![JetStream2 benchmark results with a score of 191 and the shield indicator in the browser's toolbar indicating that Safer security level is set](../assets/images/tor-security-slider-flaw/safer-level-before-restart-jetstream2.png) +
JetStream 2.2 benchmark results in Safer mode, without restarting Tor Browser
+
+ +While the performance is virtually identical between these two runs, *after* restarting Tor Browser and re-running the test, we see drastically lower performance results, in line with what we would expect with JIT properly disabled: + +
+ ![JetStream2 benchmark results with a score of 33 and the shield indicator in the browser's toolbar indicating that Safer security level is set](../assets/images/tor-security-slider-flaw/safer-level-after-restart-jetstream2.png) +
JetStream 2.2 benchmark results in Safer mode, after restarting Tor Browser
+
+ +As you can see, there is no visible indicator that anything is different between the last two runs, and there was no prompt to restart the browser after changing these settings. However, this clearly indicates that JavaScript technologies that are meant to be disabled in Safer mode can still be accessed by websites until the browser is restarted, potentially opening you up to browser exploits if you are unaware of the additional steps required to secure yourself. + +## Safest Mode + +We have not tested or verified the full extent of security features which require a browser restart. We tested whether JIT remained enabled after switching to Safer mode because it was the easiest feature to test. Safest mode disables JavaScript entirely, so the demonstration above will not demonstrate this problem exists when switching to Safest mode. + +However, it is possible that there are *other* features normally disabled by Safest mode which remain enabled until you restart your browser. Out of an abundance of caution, we recommend always restarting your browser after changing this setting, regardless of whether you are switching to Safer or Safest mode. + +## Conclusion + +The Tor Project advertises the security slider as a way to conveniently adjust the protections that the Tor Browser provides, but does not note additional steps necessary to ensure those settings actually go into effect. + +This is our public service announcement to make sure you **always completely restart Tor Browser after adjusting your security settings.** Relying on these indicators can create a false sense of security and potentially expose users relying on this security level slider to greater risk than they expect based on Tor Browser's UI and documentation. + +Hopefully, Tor Browser will prompt or force their users to restart the browser after adjusting these settings in a future update. + +--- + +**Update (5/3):** A few hours following the publication of this article, the Tor Project emailed us the following statement: + +> The Tor Project is aware of this issue, and it is being tracked and actively +> addressed. Those interested can follow the discussion and progress here: +> . In +> addition to a restart prompt, we’re also exploring broader improvements to the +> security level system, including aligning it more closely with Tor Browser's +> updated threat model\[1] and possibly delegating even more of its back-end +> to NoScript for additional flexibility. These improvements may be part of the +> upcoming 15.0 release cycle. +> +> \[1]: diff --git a/blog/posts/toward-a-passwordless-future.md b/blog/posts/toward-a-passwordless-future.md index 16c7618e8..1b7f73360 100644 --- a/blog/posts/toward-a-passwordless-future.md +++ b/blog/posts/toward-a-passwordless-future.md @@ -9,6 +9,8 @@ tags: - Passkeys - Passwords license: BY-SA +preview: + cover: blog/assets/images/toward-a-passwordless-future/cover.webp --- # Toward a Passwordless Future diff --git a/blog/posts/uk-forced-apple-to-remove-adp.md b/blog/posts/uk-forced-apple-to-remove-adp.md index b2096091e..a42d53b92 100644 --- a/blog/posts/uk-forced-apple-to-remove-adp.md +++ b/blog/posts/uk-forced-apple-to-remove-adp.md @@ -7,6 +7,8 @@ authors: - em description: The UK government has served a technical capability notice to Apple under the UK Investigatory Act. Apple's response was to remove the Advanced Data Protection feature from the UK this week. What does this mean for Apple users in the UK and for encryption rights worldwide? schema_type: ReportageNewsArticle +preview: + cover: blog/assets/images/uk-forced-apple-to-remove-adp/cover.webp --- # The UK Government Forced Apple to Remove Advanced Data Protection: What Does This Mean for You? diff --git a/blog/posts/why-i-run-a-tor-relay.md b/blog/posts/why-i-run-a-tor-relay.md index 5b6a42e01..485a7b0e8 100644 --- a/blog/posts/why-i-run-a-tor-relay.md +++ b/blog/posts/why-i-run-a-tor-relay.md @@ -13,6 +13,8 @@ tags: license: BY-SA description: Each Tor relay is the direct result of an individual deciding to sacrifice money, time and effort for the cause of fighting for a freer Internet. schema_type: OpinionNewsArticle +preview: + cover: blog/assets/images/why-i-run-a-tor-relay/cover.png --- # Why I Decided to Run a Tor Relay diff --git a/blog/posts/you-can-say-no.md b/blog/posts/you-can-say-no.md new file mode 100644 index 000000000..eb6cc7acc --- /dev/null +++ b/blog/posts/you-can-say-no.md @@ -0,0 +1,149 @@ +--- +date: + created: 2025-06-17T18:00:00Z +categories: + - Opinion +authors: + - em +description: | + Sometimes, it can feel like our data is collected completely outside of our control or consent. But we still have a powerful weapon to fight back: The power to say no. +schema_type: Opinion +preview: + cover: blog/assets/images/you-can-say-no/no-cover.webp +--- + +# You Can Say NO + +![Black and white cutout photos of two hands over a blue background. One hand does an offering gesture and the other one a refusing gesture. The word "No!" is printed in the middle.](../assets/images/you-can-say-no/no-cover.webp) + + + +In the age of facial recognition and age verification, it might feel like our data is being harvested left and right, completely outside our control or consent. Yet, we still have a powerful weapon to fight back against surveillance: The power to say no. + +The power to say no is one we severely underutilize. Of course, there are circumstances where it can be difficult (impossible even!) to refuse. Saying no can come at a cost, but this isn't true everywhere, and (more importantly) that cost might be worth paying. + +There are many occasions where we could indeed refuse to comply with privacy-invasive requests, but miss the opportunity. + +However, it is vital as a community and as individuals that we exercise this right every time we possibly can, if we want to stand a fighting chance against the normalization of mass surveillance. + +## Why people surrender + +Many people agree to privacy-invasive requests despite feeling uncomfortable about it. They might not necessarily agree as much as *not refuse*, but the result is the same. There are many factors responsible for this: + +### Time pressure + +Sometimes, when a new request is rushed, people do not have sufficient time to evaluate the consequences of saying yes or no. + +It's hard to make an informed decision when we get suddenly asked by a polite cashier "can I have your postal code?", or some airport worker instructing us to "just stand in line here to have your photo taken". We might get caught off guard and simply not process what is really happening. + +When we do not have enough time or energy to properly evaluate the consequences of data collection, our default response should always be no. It's much easier to add data later on if needed, than to delete it. + +### Default pressure + +Other times, we might not even know we have a right to object. + +There are so many instances in privacy where data collection is presented to us as just the normal way to proceed, without informing us properly about our other options. Of course, this is often by design, because people might never accept such intrusive practices otherwise. + +For privacy consent, like for any other types of consent, it's important to remember that lack of an explicit and informed yes should equal to a no. + +When we do not have sufficient information about why this data is collected and how it will be processed, our default response should always be to ask if there is an option to opt out or refuse. + +### Peer pressure + +Then, there's the peer pressure when everyone else is doing it. + +Everyone else is on this platform, it must be okay. Everyone else has agreed to being recorded during this meeting, it must be okay. Everyone else is sharing a photo of their face, it must be okay. Everyone else is scanning their irises, it must be okay. + +Do not get duped by popularity. Sometimes, the most popular things people are doing are the worst things to do. Even if it can be really hard to resist peer pressure and to swim against the tide, it's important to make informed decisions free from the influence of trends. + +When we know a service, platform, or product doesn't respect our privacy rights, we should feel proud to take a stand and refuse to use it ourselves, even if everyone else uses it (for now). + +Whether it's because we have been pressured in time, pressured by peers, or simply because we did not know we could say no, it is crucial we take the time to reflect on this preventively, in order to be prepared to say no the next time we have a chance to. + +## There are consequences for saying no, but worse ones for saying yes + +Unquestionably, saying no isn't free from consequences. + +When refusing to provide an official ID to recover an account, we might lose that account. When refusing to provide biometric data to register, we might lose the opportunity to use this service. When refusing to participate in a privacy-invasive social media, we might lose friends who don't want to contact us using privacy-respectful platforms instead. + +But what are the consequences for saying yes? + +If we say yes all the time, even when we clearly have an option to object, to report, or to refuse to participate, we will soon lose our right to say no. + +If everyone acquiesces to privacy-invasive requests and practices, companies and governments might soon think there is no point in keeping an opt-out option available at all, since most people are subserviently complying without making a fuss. + +At the individual level, of course this means our data will be collected, processed, compiled, shared, and monetized in ways we know little about. Each time we say yes, it's a new data point in our tracking history to observe, judge, categorize, and manipulate us. + +At the collective level, it's nothing less than the loss of our human rights and democracies. + +Collectively, we have the power to tilt the balance in favor of privacy rights when we stand firm for it by refusing to consent to intrusive requests every time we can. + +By refusing, we clearly express our rejection of this invasion and demand our right to privacy be respected. This sends a clear message to corporations and governments alike that the population does care about privacy rights. + +If we value the right to privacy, it's our collective duty to protect it. + +## How to say no? + +How can we individually and collectively work to push for privacy rights by saying no everywhere we can? + +Here are a few examples of practices you can adopt in your daily life that collectively will help to fight for privacy: + +### Stop + +Stop using the privacy-invasive platforms and services that you can. Move away and opt for [better social media, products, and services](https://www.privacyguides.org/en/tools/) that do respect your privacy and do not monetize your data. + +This will take some time of course. Be patient. Pick one change at the time. Maybe this week [delete your Facebook account](https://www.privacyguides.org/en/social-networks/), and next month [migrate your emails](https://www.privacyguides.org/en/email/) away from Gmail. + +Each time you stop using services from software companies that build their wealth on monetizing your data, you are saying no and taking a stand for privacy rights. + +### Refuse + +Refuse all cookies! It can be a real pain to browse the web with all these cookie banners. Of course, companies are hoping for [decision fatigue](https://en.wikipedia.org/wiki/Decision_fatigue) to manipulate you in clicking "yes, yes, yes, agree, continue, whatever!" But each time you comply in despair, you let them win against what you really want. + +Websites are not obligated to have cookie banners if they do not use any privacy-invasive cookies. This annoyance doesn't come from legislation, it comes from the greed and stubbornness of corporations to harvest your data. There would be no cookie banners at all if they simply stopped tracking you and collecting your data. + +Sabotage their plans by taking the time to find the "Reject All" button through their disingenuous button labyrinth. + +Similarly, many privacy-invasive features maliciously try to present as "ethical" because you can "opt out". But what good is this protection if no one uses it? Put a spoke in their wheel, look for the hidden *opt-out* option, and refuse to participate every single time. + +Beyond the digital realm, there are many in-person situations where you might have a right to refuse data collection as well. + +For example, you may have the right to refuse face scans in airports and demand a "traditional" human verification instead. Look into your local regulation to find out more about this. If everyone refused to scan their face at the airport every time they can, this practice would soon die. + +When you say yes to this, you are unfortunately contributing to the normalization of this invasive practice. + +Finally, refuse to be recorded. Depending on your local regulation, it's likely there is a legal requirement to inform you when a meeting or interview will be recorded. It's also likely that you have a right to refuse. Exercise this right every time you can. Additionally, depending on your local regulation, report instances where you couldn't and should have been able to refuse. + +### Report + +Each time you witness a practice that violates privacy laws, report it to the data protection authority for your location. + +Stay aware of which privacy law(s) are applicable in your region, and which official entity is responsible for enforcing the law. Your privacy protections are related to your *own* location, regardless of where the organization is based. + +In Europe, this entity is often called a Data Protection Authority (DPA), but outside of Europe it's often called something else. It might be a Privacy Commissioner or a Supervisory Authority, for example (but not always either). Read the law (or summary of) for your region, it will include a description of whom this entity is and how to report non-compliance. + +Report every infraction you see when you have the time. Sometimes, it's really as simple as sending a short email to the enforcing entity. One single complaint can trigger a full investigation sometimes. This can make an enormous difference. + +If you can, reporting can also mean reporting to the media. + +When you experience an invasive practice or witness a serious data protection violation, report it to the media if you are comfortable sharing. Personal accounts of such experience are important for collective awareness. The more people know, the more people talk, the more we stand a chance to keep our privacy rights alive. Make noise! + +### Advocate + +Talk to your friends, family, co-workers, and acquaintances about their options to opt out data collection, and their right to refuse and to say no. + +Tell them about how important this is with the social media, software, and services they use. Tell them about the importance of looking for the rejection options on cookie banners, finding information on how to object to face scans at the airport, and refusing the use of AI note-takers during their medical consultations. + +Talk about this topic on social media! Share news about privacy-invasive practices. Inform people on how they can opt out, refuse, and say no in your specific region. + +## Saying no is a collective and individual responsibility + +**Refusal is a powerful way to protest.** But like any protest, it must gather in numbers to have an impact at the collective level. The larger the number of people opting out and saying no, the stronger the message sent. + +That being said, do not minimize the impact your individual actions have. **Every single action matters, even the smallest one.** Movements always start at the individual level. If nobody starts, then nobody follows. + +By saying no each time, by stopping, refusing, reporting, and advocating, you are starting a movement. When advocating for the right to refuse privacy-invasive practices, you are growing a movement. Each of these contributions matters. + +The consequences for not saying no would be leaving the next generations without any protections for their privacy. It would be disastrous for their individual rights, but also disastrous for democracy, freedom of speech, and so many rights we currently take for granted. + +We cannot let our society slip into authoritarian mass surveillance. For ourselves and for the next generations, we must fight by saying no, every time we possibly can. diff --git a/blog/posts/your-online-life-is-irl.md b/blog/posts/your-online-life-is-irl.md new file mode 100644 index 000000000..a3e0fe55c --- /dev/null +++ b/blog/posts/your-online-life-is-irl.md @@ -0,0 +1,67 @@ +--- +date: + created: 2025-05-16T16:00:00Z +categories: + - Opinion +authors: + - em +description: If you, like myself, have been inhabiting the internet for a few decades, you're probably familiar with the old adage IRL (In Real Life). The acronym was used a lot when the distinction between online life and offline life was much greater than it is now. In today's world, can we really keep referring to our digital life as being somehow disconnected from our real life? +schema_type: OpinionNewsArticle +preview: + cover: blog/assets/images/your-online-life-is-irl/irl-cover.webp +--- + +# Your Online Life Is IRL + +![Photo of an illuminated red street sign with the word Internet on it.](../assets/images/your-online-life-is-irl/irl-cover.webp) + + +If you, like myself, have been inhabiting the internet for a few decades, you're probably familiar with the old adage IRL: In Real Life. + +The acronym was used a lot when the distinction between online life and offline life was much greater than it is now. In today's world, can we really keep referring to our digital life as being somehow disconnected from our "real life"? + +While it's true that pseudo-anonymity online is still alive and well, most people don't hide their real identity online because it's much different from their personality offline, but generally simply as a protection. + +Even when using pseudonyms, online life is still part of *real life*. + +The proportion of time we spend on the connected world today is also far greater than it was before. We often chat with friends online, work online, communicate with our family online, play games online, assist to events online, go to school online, watch recipe videos online, and so on and so forth. + +## Our offline life is happening (and tracked) online too + +Another thing that has changed is how much data about what we do offline ends up getting collected and stored *online*. + +Maybe it's the places we visit during the day getting [tracked by our phones](https://www.pcmag.com/how-to/how-to-get-google-to-quit-tracking-you) and then stored by Google in our profile. + +Maybe it's our [smart speaker recording](https://www.lifewire.com/can-alexa-record-conversations-5205324) an intimate conversation and sending it to Amazon. + +Completely outside our control, maybe it's the street cameras, cellular towers, car license readers [tracking our movement](https://www.aclum.org/en/publications/what-you-need-know-about-automatic-license-plate-readers) outside as we go about our day. + +Or even more dystopian, maybe it's our [doctor using an AI note-taking app](https://theconversation.com/some-clinicians-are-using-ai-to-write-health-records-what-do-you-need-to-know-237762), sending a copy of our very personal in-person medical consultation to who knows which for-profit company. + +## Our digital lives and IRL lives are intertwined + +All this data collected on what we do *offline*, can sometimes [get aggregated](https://epic.org/issues/consumer-privacy/data-brokers/) together with the data collected on us *online*, even while using pseudo-anonymity. + +The social media account where we use a pseudonym and cat profile picture to stay anonymous can get aggregated from the same IP address we used to log in another account using our legal name. + +Our offline data and our online data often get connected and bundled up together. This is especially concerning with the growing practice of [social media monitoring](https://privacyinternational.org/long-read/5337/social-media-monitoring-uk-invisible-surveillance-tool-increasingly-deployed) used by governments and companies. + +## What we do online have offline consequences + +Taking this into account, there isn't a separation between our *online* life and *offline* life anymore. + +What we do online affects what we do offline, and vice versa. All of our life, online and offline, is *In Real Life* now. + +Our digital life and communications can affect our employment, our dating life, our family life, our housing situation, and even the capacity we have to visit a country [or not](https://globalnews.ca/news/11090232/french-scientist-denied-us-entry-critical-trump-text-messages/). + +## The data collected on us online should be cared for even more + +Because there isn't much separation anymore, we should treat all data collected about us online as sensitive data intrinsically attached to our person. + +An invasion of online privacy, of our online life, becomes the same as an invasion of our home, our body, our IRL life. Not only because this data can be used to find our IRL location, identify our person, and have important repercussions offline, but also because all data about us is an essential part of who we are. + +It's not just data points, it's a part of us. + +Considering how the world has evolved in the past decades, and shows no sign of slowing down its greedy appropriation of every single piece of information about us, **we should defend our online lives as fiercely as we would our offline lives**. + +We need to fight for a future anchored in human rights, and for this, we need to firmly enforce the principle that **digital rights are fundamental human rights**. diff --git a/blog/posts/yubikey-reset-and-backup.md b/blog/posts/yubikey-reset-and-backup.md index 9c9833bea..d0396ab23 100644 --- a/blog/posts/yubikey-reset-and-backup.md +++ b/blog/posts/yubikey-reset-and-backup.md @@ -7,6 +7,8 @@ authors: - em description: This tutorial demonstrates how to reset a YubiKey close to factory defaults and create a backup of most YubiKey applications on a spare key. schema_type: AnalysisNewsArticle +preview: + cover: blog/assets/images/yubikey-reset-and-backup/cover.webp --- # How to Reset Your YubiKey and Create a Backup diff --git a/docs/about/donate.md b/docs/about/donate.md index b19686a1d..4bbf099aa 100644 --- a/docs/about/donate.md +++ b/docs/about/donate.md @@ -10,7 +10,7 @@ Support our mission to defend digital rights and spread the word about mass surv -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**. You can also donate using [:simple-github: GitHub Sponsors](https://github.com/sponsors/privacyguides). +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). diff --git a/docs/about/donation-acceptance-policy.md b/docs/about/donation-acceptance-policy.md index 890a8cb00..c3ec73d39 100644 --- a/docs/about/donation-acceptance-policy.md +++ b/docs/about/donation-acceptance-policy.md @@ -45,7 +45,7 @@ Examples of gifts which are too restrictive include: - Those which are too difficult for us to administer. - Those that are for purposes outside our general mission. -An example of an acceptable restriction could be a gift towards funding our [video](https://www.privacyguides.org/videos/) production, or hosting our website and forum. +An example of an acceptable restriction could be a gift towards funding our [video](https://www.privacyguides.org/videos) production, or hosting our website and forum. Final decisions on the restrictive nature of a gift and its acceptance or refusal will be made by our executive committee. diff --git a/docs/advanced/communication-network-types.md b/docs/advanced/communication-network-types.md index a7f488eae..1598b5401 100644 --- a/docs/advanced/communication-network-types.md +++ b/docs/advanced/communication-network-types.md @@ -7,7 +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 } +[: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 diff --git a/docs/advanced/tor-overview.md b/docs/advanced/tor-overview.md index 474196f28..0c58add53 100644 --- a/docs/advanced/tor-overview.md +++ b/docs/advanced/tor-overview.md @@ -8,9 +8,9 @@ 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 } +[: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. +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 } [:simple-torbrowser:](http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion){ .card-link title="Onion Service" } @@ -35,13 +35,13 @@ Because we already [generally recommend](../basics/vpn-overview.md) that the vas Connecting directly to Tor will make your connection stand out to any local network administrators or your ISP. Detecting and correlating this traffic [has been done](https://edition.cnn.com/2013/12/17/justice/massachusetts-harvard-hoax) in the past by network administrators to identify and deanonymize specific Tor users on their network. On the other hand, connecting to a VPN is almost always less suspicious, because commercial VPN providers are used by everyday consumers for a variety of mundane tasks like bypassing geo-restrictions, even in countries with heavy internet restrictions. -Therefore, you should make an effort to hide your IP address **before** connecting to the Tor network. You can do this by simply connecting to a VPN (through a client installed on your computer) and then accessing [Tor](../tor.md) as normal, through Tor Browser for example. This creates a connection chain like: +Therefore, you should make an effort to hide your IP address **before** connecting to the Tor network. You can do this by simply connecting to a VPN (through a client installed on your computer) and then accessing [Tor](../tor.md) as normal (e.g., through Tor Browser). This creates a connection chain like so: - [x] You → VPN → Tor → Internet From your ISP's perspective, it looks like you're accessing a VPN normally (with the associated cover that provides you). From your VPN's perspective, they can see that you are connecting to the Tor network, but nothing about what websites you're accessing. From Tor's perspective, you're connecting normally, but in the unlikely event of some sort of Tor network compromise, only your VPN's IP would be exposed, and your VPN would *additionally* have to be compromised to deanonymize you. -This is **not** censorship circumvention advice, because if Tor is blocked entirely by your ISP, your VPN likely is as well. Rather, this recommendation aims to make your traffic blend in better with commonplace VPN user traffic, and provide you with some level of plausible deniability by obscuring the fact that you're connecting to Tor from your ISP. +This is **not** censorship circumvention advice because if Tor is blocked entirely by your ISP, your VPN likely is as well. Rather, this recommendation aims to make your traffic blend in better with commonplace VPN user traffic, and provide you with some level of plausible deniability by obscuring the fact that you're connecting to Tor from your ISP. --- @@ -51,7 +51,7 @@ We **very strongly discourage** combining Tor with a VPN in any other manner. Do - You → VPN → Tor → VPN → Internet - Any other configuration -Some VPN providers and other publications will occasionally recommend these **bad** configurations to evade Tor bans (exit nodes being blocked by websites) in some places. [Normally](https://support.torproject.org/#about_change-paths), Tor frequently changes your circuit path through the network. When you choose a permanent *destination* VPN (connecting to a VPN server *after* Tor), you're eliminating this advantage and drastically harming your anonymity. +Some VPN providers and other publications will occasionally recommend these **bad** configurations to evade Tor bans (i.e., exit nodes being blocked by websites) in some places. [Normally](https://support.torproject.org/#about_change-paths), Tor frequently changes your circuit path through the network. When you choose a permanent *destination* VPN (connecting to a VPN server *after* Tor), you're eliminating this advantage and drastically harming your anonymity. Setting up bad configurations like these is difficult to do accidentally, because it usually involves either setting up custom proxy settings inside Tor Browser, or setting up custom proxy settings inside your VPN client which routes your VPN traffic through the Tor Browser. As long as you avoid these non-default configurations, you're probably fine. @@ -60,7 +60,7 @@ Setting up bad configurations like these is difficult to do accidentally, becaus

VPN/SSH Fingerprinting

-The Tor Project [notes](https://gitlab.torproject.org/legacy/trac/-/wikis/doc/TorPlusVPN#vpnssh-fingerprinting) that *theoretically* using a VPN to hide Tor activities from your ISP may not be foolproof. VPNs have been found to be vulnerable to website traffic fingerprinting, where an adversary can still guess what website is being visited, because all websites have specific traffic patterns. +The Tor Project [notes](https://gitlab.torproject.org/legacy/trac/-/wikis/doc/TorPlusVPN#vpnssh-fingerprinting) that *theoretically* using a VPN to hide Tor activities from your ISP may not be foolproof. VPNs have been found to be vulnerable to website traffic fingerprinting, where an adversary can still guess what website is being visited because all websites have specific traffic patterns. Therefore, it's not unreasonable to believe that encrypted Tor traffic hidden by a VPN could also be detected via similar methods. There are no research papers on this subject, and we still consider the benefits of using a VPN to far outweigh these risks, but it is something to keep in mind. @@ -68,11 +68,11 @@ If you still believe that pluggable transports (bridges) provide additional prot
-Determining whether you should first use a VPN to connect to the Tor network will require some common sense and knowledge of your own government's and ISP's policies relating to what you're connecting to. However, again in most cases you will be better off being seen as connecting to a commercial VPN network than directly to the Tor network. If VPN providers are censored in your area, then you can also consider using Tor pluggable transports (e.g. Snowflake or meek bridges) as an alternative, but using these bridges may arouse more suspicion than standard WireGuard/OpenVPN tunnels. +Determining whether you should first use a VPN to connect to the Tor network will require some common sense and knowledge of your own government's and ISP's policies relating to what you're connecting to. To reiterate, though, you will be better off being seen as connecting to a commercial VPN network than directly to the Tor network in most cases. If VPN providers are censored in your area, then you can also consider using Tor pluggable transports (e.g., Snowflake or meek bridges) as an alternative, but using these bridges may arouse more suspicion than standard WireGuard/OpenVPN tunnels. ## What Tor is Not -The Tor network is not the perfect privacy protection tool in all cases, and has a number of drawbacks which should be carefully considered. These things should not discourage you from using Tor if it is appropriate for your needs, but they are still things to think about when deciding which solution is most appropriate for you. +The Tor network is not the perfect privacy protection tool in all cases and has a number of drawbacks which should be carefully considered. These things should not discourage you from using Tor if it is appropriate for your needs, but they are still things to think about when deciding which solution is most appropriate for you. ### Tor is not a free VPN @@ -80,26 +80,26 @@ The release of the *Orbot* mobile app has lead many people to describe Tor as a Unlike Tor exit nodes, VPN providers are usually not *actively* [malicious](#caveats). Because Tor exit nodes can be created by anybody, they are hotspots for network logging and modification. In 2020, many Tor exit nodes were documented to be downgrading HTTPS traffic to HTTP in order to [hijack cryptocurrency transactions](https://therecord.media/thousands-of-tor-exit-nodes-attacked-cryptocurrency-users-over-the-past-year). Other exit node attacks such as replacing downloads via unencrypted channels with malware have also been observed. HTTPS does mitigate these threats to an extent. -As we've alluded to already, Tor is also easily identifiable on the network. Unlike an actual VPN provider, using Tor will make you stick out as a person likely attempting to evade authorities. In a perfect world, Tor would be seen by network administrators and authorities as a tool with many uses (like how VPNs are viewed), but in reality the perception of Tor is still far less legitimate than the perception of commercial VPNs, so using a real VPN provides you with plausible deniability, e.g. "I was just using it to watch Netflix," etc. +As we've alluded to already, Tor is also easily identifiable on the network. Unlike an actual VPN provider, using Tor will make you stick out as a person likely attempting to evade authorities. In a perfect world, Tor would be seen by network administrators and authorities as a tool with many uses (like how VPNs are viewed), but in reality the perception of Tor is still far less legitimate than the perception of commercial VPNs. As such, using a real VPN provides you with plausible deniability, e.g. "I was just using it to watch Netflix," etc. ### Tor usage is not undetectable -**Even if you use bridges and pluggable transports,** the Tor Project provides no tools to hide the fact that you are using Tor from your ISP. Even using obfuscated "pluggable transports" or non-public bridges do not hide the fact that you are using a private communications channel. The most popular pluggable transports like obfs4 (which obfuscates your traffic to "look like nothing") and meek (which uses domain fronting to camouflage your traffic) can be [detected](https://hackerfactor.com/blog/index.php?/archives/889-Tor-0day-Burning-Bridges.html) with fairly standard traffic analysis techniques. Snowflake has similar issues, and can be [easily detected](https://hackerfactor.com/blog/index.php?/archives/944-Tor-0day-Snowflake.html) *before* a Tor connection is even established. +**Even if you use bridges and pluggable transports,** the Tor Project doesn't provide any tools to hide the fact that you are using Tor from your ISP. Even using obfuscated "pluggable transports" or non-public bridges do not hide the fact that you are using a private communications channel. The most popular pluggable transports like obfs4 (which obfuscates your traffic to "look like nothing") and meek (which uses domain fronting to camouflage your traffic) can be [detected](https://hackerfactor.com/blog/index.php?/archives/889-Tor-0day-Burning-Bridges.html) with fairly standard traffic analysis techniques. Snowflake has similar issues, and can be [easily detected](https://hackerfactor.com/blog/index.php?/archives/944-Tor-0day-Snowflake.html) *before* a Tor connection is even established. -Pluggable transports other than these three do exist, but typically rely on security through obscurity to evade detection. They aren't impossible to detect, they are just used by so few people that it's not worth the effort building detectors for them. They shouldn't be relied upon if you specifically are being monitored. +Pluggable transports other than these three do exist, but typically rely on security through obscurity to evade detection. They aren't impossible to detect—they are just used by so few people that it's not worth the effort building detectors for them. They shouldn't be relied upon if you specifically are being monitored. It is critical to understand the difference between bypassing censorship and evading detection. It is easier to accomplish the former because of the many real-world limitations on what network censors can realistically do en masse, but these techniques do not hide the fact that you—*specifically* you—are using Tor from an interested party monitoring your network. ### Tor Browser is not the most *secure* browser -Anonymity can often be at odds with security: Tor's anonymity requires every user to be identical, which creates a monoculture (the same bugs are present across all Tor Browser users). As a cybersecurity rule of thumb, monocultures are generally regarded as bad: Security through diversity (which Tor lacks) provides natural segmentation by limiting vulnerabilities to smaller groups, and is therefore usually desirable, but this diversity is also less good for anonymity. +Anonymity can often be at odds with security: Tor's anonymity requires every user to be identical, which creates a monoculture (e.g., the same bugs are present across all Tor Browser users). As a cybersecurity rule of thumb, monocultures are generally regarded as bad: Security through diversity (which Tor lacks) provides natural segmentation by limiting vulnerabilities to smaller groups, and is therefore usually desirable, but this diversity is also less good for anonymity. Additionally, Tor Browser is based on Firefox's Extended Support Release builds, which only receives patches for vulnerabilities considered *Critical* and *High* (not *Medium* and *Low*). This means that attackers could (for example): 1. Look for new Critical/High vulnerabilities in Firefox nightly or beta builds, then check if they are exploitable in Tor Browser (this vulnerability period can last weeks). 2. Chain *multiple* Medium/Low vulnerabilities together until they get the level of access they're looking for (this vulnerability period can last months or longer). -Those at risk of browser vulnerabilities should consider additional protections to defend against Tor Browser exploits, such as using Whonix in [Qubes](../os/qubes-overview.md) to contain your Tor browsing in a secure VM and protect against leaks. +Those at risk of browser vulnerabilities should consider additional protections to defend against Tor Browser exploits, such as using Whonix in [Qubes](../os/qubes-overview.md) to contain your Tor browsing in a secure virtual machine and protect against leaks. ## Path Building to Clearnet Services @@ -121,7 +121,7 @@ The entry node, often called the guard node, is the first node to which your Tor Unlike the other nodes, the Tor client will randomly select an entry node and stick with it for two to three months to protect you from certain attacks.[^1] -[^1]: The first relay in your circuit is called an "entry guard" or "guard". It is a fast and stable relay that remains the first one in your circuit for 2-3 months in order to protect against a known anonymity-breaking attack. The rest of your circuit changes with every new website you visit, and all together these relays provide the full privacy protections of Tor. For more information on how guard relays work, see this [blog post](https://blog.torproject.org/improving-tors-anonymity-changing-guard-parameters) and [paper](https://www-users.cs.umn.edu/~hoppernj/single_guard.pdf) on entry guards. ([https://support.torproject.org/tbb/tbb-2/](https://support.torproject.org/tbb/tbb-2)) +[^1]: The first relay in your circuit is called an "entry guard" or "guard". It is a fast and stable relay that remains the first one in your circuit for 2-3 months in order to protect against a known anonymity-breaking attack. The rest of your circuit changes with every new website you visit, and all together these relays provide the full privacy protections of Tor. For more information on how guard relays work, see this [blog post](https://blog.torproject.org/improving-tors-anonymity-changing-guard-parameters) and [paper](https://www-users.cs.umn.edu/~hoppernj/single_guard.pdf) on entry guards. ([https://support.torproject.org/tbb/tbb-2](https://support.torproject.org/tbb/tbb-2)) ### The Middle Node @@ -135,13 +135,13 @@ The exit node is the point in which your web traffic leaves the Tor network and The exit node will be chosen at random from all available Tor nodes ran with an exit relay flag.[^2] -[^2]: Relay flag: a special (dis-)qualification of relays for circuit positions (for example, "Guard", "Exit", "BadExit"), circuit properties (for example, "Fast", "Stable"), or roles (for example, "Authority", "HSDir"), as assigned by the directory authorities and further defined in the directory protocol specification. ([https://metrics.torproject.org/glossary.html](https://metrics.torproject.org/glossary.html)) +[^2]: Relay flag: a special (dis-)qualification of relays for circuit positions (for example, "Guard", "Exit", "BadExit"), circuit properties (for example, "Fast", "Stable"), or roles (for example, "Authority", "HSDir"), as assigned by the directory authorities and further defined in the directory protocol specification. ([https://metrics.torproject.org/glossary.html](https://metrics.torproject.org/glossary.html#relay-flag)) ## Path Building to Onion Services "Onion Services" (also commonly referred to as "hidden services") are websites which can only be accessed by the Tor browser. These websites have a long randomly generated domain name ending with `.onion`. -Connecting to an Onion Service in Tor works very similarly to connecting to a clearnet service, but your traffic is routed through a total of **six** nodes before reaching the destination server. Just like before however, only three of these nodes are contributing to *your* anonymity, the other three nodes protect *the Onion Service's* anonymity, hiding the website's true IP and location in the same manner that Tor Browser is hiding yours. +Connecting to an Onion Service in Tor works very similarly to connecting to a clearnet service, but your traffic is routed through a total of **six** nodes before reaching the destination server. Just like before, however, only three of these nodes are contributing to *your* anonymity, the other three nodes protect *the Onion Service's* anonymity, hiding the website's true IP and location in the same manner that Tor Browser is hiding yours.
![Tor path showing your traffic being routed through your three Tor nodes plus three additional Tor nodes which hide the website's identity](../assets/img/how-tor-works/tor-path-hidden-service.svg#only-light) @@ -151,15 +151,15 @@ Connecting to an Onion Service in Tor works very similarly to connecting to a cl ## Encryption -Tor encrypts each packet (a block of transmitted data) three times with the keys from the exit, middle, and entry node—in that order. +Tor encrypts each packet (a block of transmitted data) three times with the keys from the exit, middle, and entry node in that order. Once Tor has built a circuit, data transmission is done as follows: -1. Firstly: when the packet arrives at the entry node, the first layer of encryption is removed. In this encrypted packet, the entry node will find another encrypted packet with the middle node’s address. The entry node will then forward the packet to the middle node. +1. Firstly: When the packet arrives at the entry node, the first layer of encryption is removed. In this encrypted packet, the entry node will find another encrypted packet with the middle node’s address. The entry node will then forward the packet to the middle node. -2. Secondly: when the middle node receives the packet from the entry node, it too will remove a layer of encryption with its key, and this time finds an encrypted packet with the exit node's address. The middle node will then forward the packet to the exit node. +2. Secondly: When the middle node receives the packet from the entry node, it too will remove a layer of encryption with its key, and this time finds an encrypted packet with the exit node's address. The middle node will then forward the packet to the exit node. -3. Lastly: when the exit node receives its packet, it will remove the last layer of encryption with its key. The exit node will see the destination address and forward the packet to that address. +3. Lastly: When the exit node receives its packet, it will remove the last layer of encryption with its key. The exit node will see the destination address and forward the packet to that address. Below is an alternative diagram showing the process. Each node removes its own layer of encryption, and when the destination server returns data, the same process happens entirely in reverse. For example, the exit node does not know who you are, but it does know which node it came from, and so it adds its own layer of encryption and sends it back. @@ -189,7 +189,7 @@ If you wish to use Tor for browsing the web, we only recommend the **official** Tor bridges are commonly touted as an alternative method to hiding Tor usage from an ISP, instead of a VPN (as we suggest using if possible). Something to consider is that while bridges may provide adequate censorship circumvention, this is only a *transient* benefit. They do not adequately protect you from your ISP discovering you connected to Tor in the *past* with historical traffic log analysis. -To illustrate this point, consider the following scenario: You connect to Tor via a bridge, and your ISP doesn’t detect it because they are not doing sophisticated analysis of your traffic, so things are working as intended. Now, 4 months go by, and the IP of your bridge has been made public. This is a very common occurrence with bridges, they are discovered and blocked relatively frequently, just not immediately. +To illustrate this point, consider the following scenario: You connect to Tor via a bridge, and your ISP doesn’t detect it because they are not doing sophisticated analysis of your traffic, so things are working as intended. Now, 4 months go by, and the IP of your bridge has been made public. This is a very common occurrence with bridges; they are discovered and blocked relatively frequently, just not immediately. Your ISP wants to identify Tor users 4 months ago, and with their limited metadata logging they can see that you connected to an IP address which was later revealed to be a Tor bridge. You have virtually no other excuse to be making such a connection, so the ISP can say with very high confidence that you were a Tor user at that time. @@ -197,7 +197,7 @@ Contrast this with our recommended scenario, where you connect to Tor via a VPN. Because your ISP almost certainly is not capturing all packet-level data and storing it forever, they have no way of determining what you connected to with that VPN *after* the fact with an advanced technique like deep packet inspection, and therefore you have plausible deniability. -Therefore, bridges provide the most benefit when circumventing internet censorship *in the moment*, but they are not an adequate substitute for **all** the benefits that using a VPN alongside Tor can provide. Again, this is not advice *against* using Tor bridges, you should just be aware of these limitations while making your decision. In some cases bridges may be the *only* option (if all VPN providers are blocked, for instance), so you can still use them in those circumstances with this limitation in mind. +Therefore, bridges provide the most benefit when circumventing internet censorship *in the moment*, but they are not an adequate substitute for **all** the benefits that using a VPN alongside Tor can provide. Again, this is not advice *against* using Tor bridges—you should just be aware of these limitations while making your decision. In some cases bridges may be the *only* option (if all VPN providers are blocked, for instance), so you can still use them in those circumstances with this limitation in mind. If you think that a bridge can aid in defending against fingerprinting or other advanced network analysis more than a VPN's encrypted tunnel already can, you always have the option to use a bridge in conjunction with a VPN as well. That way you are still protected by the pluggable transport's obfuscation techniques even if an adversary gains some level of visibility into your VPN tunnel. If you decide to go this route, we recommend connecting to an obfs4 bridge behind your VPN for optimal fingerprinting protection, rather than meek or Snowflake. diff --git a/docs/ai-chat.md b/docs/ai-chat.md index 5a5bdeb45..79609eee3 100755 --- a/docs/ai-chat.md +++ b/docs/ai-chat.md @@ -11,7 +11,7 @@ cover: ai-chatbots.webp - [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown } - [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray } -Since the release of ChatGPT in 2022, interactions with Large Language Models (LLMs) have become increasingly common. LLMs can help us write better, understand unfamiliar subjects, or answer a wide range of questions. They can statistically predict the next word based on a vast amount of data scraped from the web. +The use of **AI chat**, also known as Large Language Models (LLMs), has become increasingly common since the release of ChatGPT in 2022. LLMs can help us write better, understand unfamiliar subjects, or answer a wide range of questions. They work by statistically predicting the next word in their responses based on a vast amount of data scraped from the web. ## Privacy Concerns About LLMs @@ -41,9 +41,9 @@ To run AI locally, you need both an AI model and an AI client. ### Choosing a Model -There are many permissively licensed models available to download. [Hugging Face](https://huggingface.co/models) is a platform that lets you browse, research, and download models in common formats like [GGUF](https://huggingface.co/docs/hub/en/gguf). Companies that provide good open-weights models include big names like Mistral, Meta, Microsoft, and Google. However, there are also many community models and 'fine-tunes' available. As mentioned above, quantized models offer the best balance between model quality and performance for those using consumer-grade hardware. +There are many permissively licensed models available to download. [Hugging Face](https://huggingface.co/models) is a platform that lets you browse, research, and download models in common formats like [GGUF](https://huggingface.co/docs/hub/en/gguf). Companies that provide good open-weights models include big names like Mistral, Meta, Microsoft, and Google. However, there are also many community models and [fine-tuned](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)) models available. As mentioned above, quantized models offer the best balance between model quality and performance for those using consumer-grade hardware. -To help you choose a model that fits your needs, you can look at leaderboards and benchmarks. The most widely-used leaderboard is the community-driven [LM Arena](https://lmarena.ai). Additionally, the [OpenLLM Leaderboard](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard) focuses on the performance of open-weights models on common benchmarks like [MMLU-Pro](https://arxiv.org/abs/2406.01574). There are also specialized benchmarks which measure factors like [emotional intelligence](https://eqbench.com), ["uncensored general intelligence"](https://huggingface.co/spaces/DontPlanToEnd/UGI-Leaderboard), and [many others](https://www.nebuly.com/blog/llm-leaderboards). +To help you choose a model that fits your needs, you can look at leaderboards and benchmarks. The most widely-used leaderboard is the community-driven [LM Arena](https://lmarena.ai). Additionally, the [OpenLLM Leaderboard](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard) focuses on the performance of open-weights models on common benchmarks like [MMLU-Pro](https://arxiv.org/abs/2406.01574). There are also specialized benchmarks which measure factors like [emotional intelligence](https://eqbench.com), ["uncensored general intelligence"](https://huggingface.co/spaces/DontPlanToEnd/UGI-Leaderboard), and [many others](https://nebuly.com/blog/llm-leaderboards). ## AI Chat Clients @@ -62,11 +62,11 @@ To help you choose a model that fits your needs, you can look at leaderboards an ![Kobold.cpp Logo](assets/img/ai-chat/kobold.png){align=right} -Kobold.cpp is an AI client that runs locally on your Windows, Mac, or Linux computer. It's an excellent choice if you are looking for heavy customization and tweaking, such as for role-playing purposes. +**Kobold.cpp** is an AI client that runs locally on your Windows, Mac, or Linux computer. It's an excellent choice if you are looking for heavy customization and tweaking, such as for role-playing purposes. In addition to supporting a large range of text models, Kobold.cpp also supports image generators such as [Stable Diffusion](https://stability.ai/stable-image) and automatic speech recognition tools such as [Whisper](https://github.com/ggerganov/whisper.cpp). -[:octicons-home-16: Homepage](https://github.com/LostRuins/koboldcpp){ .md-button .md-button--primary } +[:octicons-repo-16: Repository](https://github.com/LostRuins/koboldcpp#readme){ .md-button .md-button--primary } [:octicons-info-16:](https://github.com/LostRuins/koboldcpp/wiki){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/LostRuins/koboldcpp){ .card-link title="Source Code" } [:octicons-lock-16:](https://github.com/LostRuins/koboldcpp/blob/2f3597c29abea8b6da28f21e714b6b24a5aca79b/SECURITY.md){ .card-link title="Security Policy" } @@ -82,7 +82,7 @@ In addition to supporting a large range of text models, Kobold.cpp also supports -
+

Compatibility Issues

Kobold.cpp might not run on computers without AVX/AVX2 support. @@ -97,7 +97,7 @@ Kobold.cpp allows you to modify parameters such as the AI model temperature and ![Ollama Logo](assets/img/ai-chat/ollama.png){align=right} -Ollama is a command-line AI assistant that is available on macOS, Linux, and Windows. Ollama is a great choice if you're looking for an AI client that's easy-to-use, widely compatible, and fast due to its use of inference and other techniques. It also doesn't involve any manual setup. +**Ollama** is a command-line AI assistant that is available on macOS, Linux, and Windows. Ollama is a great choice if you're looking for an AI client that's easy-to-use, widely compatible, and fast due to its use of inference and other techniques. It also doesn't involve any manual setup. In addition to supporting a wide range of text models, Ollama also supports [LLaVA](https://github.com/haotian-liu/LLaVA) models and has experimental support for Meta's [Llama vision capabilities](https://huggingface.co/blog/llama32#what-is-llama-32-vision). @@ -123,21 +123,23 @@ Ollama simplifies the process of setting up a local AI chat by downloading the A
-![Llamafile Logo](assets/img/ai-chat/llamafile.svg){align=right} +![Llamafile Logo](assets/img/ai-chat/llamafile.webp){align=right} -Llamafile is a lightweight single-file executable that allows users to run LLMs locally on their own computers without any setup involved. It is [backed by Mozilla](https://hacks.mozilla.org/2023/11/introducing-llamafile) and available on Linux, macOS, and Windows. +**Llamafile** is a lightweight, single-file executable that allows users to run LLMs locally on their own computers without any setup involved. It is [backed by Mozilla](https://hacks.mozilla.org/2023/11/introducing-llamafile) and available on Linux, macOS, and Windows. Llamafile also supports LLaVA. However, it doesn't support speech recognition or image generation. -[:octicons-home-16: Homepage](https://github.com/Mozilla-Ocho/llamafile){ .md-button .md-button--primary } -[:octicons-info-16:](https://github.com/Mozilla-Ocho/llamafile#llamafile){ .card-link title="Documentation" } +[:octicons-repo-16: Repository](https://github.com/Mozilla-Ocho/llamafile#readme){ .md-button .md-button--primary } +[:octicons-info-16:](https://github.com/Mozilla-Ocho/llamafile#quickstart){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/Mozilla-Ocho/llamafile){ .card-link title="Source Code" } [:octicons-lock-16:](https://github.com/Mozilla-Ocho/llamafile#security){ .card-link title="Security Policy" }
Downloads -- [:fontawesome-solid-desktop: Desktop](https://github.com/Mozilla-Ocho/llamafile#quickstart) +- [:fontawesome-brands-windows: Windows](https://github.com/Mozilla-Ocho/llamafile#quickstart) +- [:simple-apple: macOS](https://github.com/Mozilla-Ocho/llamafile#quickstart) +- [:simple-linux: Linux](https://github.com/Mozilla-Ocho/llamafile#quickstart)
@@ -170,11 +172,11 @@ Please note we are not affiliated with any of the projects we recommend. In addi ### Minimum Requirements -- Must be open-source. +- Must be open source. - Must not transmit personal data, including chat data. - Must be multi-platform. - Must not require a GPU. -- Must support GPU-powered fast inference. +- Must support GPU-powered, fast inference. - Must not require an internet connection. ### Best-Case @@ -185,4 +187,11 @@ Our best-case criteria represent what we *would* like to see from the perfect pr - Should have a built-in model downloader option. - The user should be able to modify the LLM parameters, such as its system prompt or temperature. +*[LLaVA]: Large Language and Vision Assistant (multimodal AI model) +*[LLM]: Large Language Model (AI model such as ChatGPT) +*[LLMs]: Large Language Models (AI models such as ChatGPT) +*[open-weights models]: AI models that anyone can download and use, but the underlying training data and/or algorithms for them are proprietary. +*[system prompt]: The general instructions given by a human to guide how an AI chat should operate. +*[temperature]: A parameter used in AI models to control the level of randomness and creativity in the generated text. + [^1]: A file checksum is a type of anti-tampering fingerprint. A developer usually provides a checksum in a text file that can be downloaded separately, or on the download page itself. Verifying that the checksum of the file you downloaded matches the one provided by the developer helps ensure that the file is genuine and wasn't tampered with in transit. You can use commands like `sha256sum` on Linux and macOS, or `certutil -hashfile file SHA256` on Windows to generate the downloaded file's checksum. diff --git a/docs/alternative-networks.md b/docs/alternative-networks.md index 0524177ff..4c7bce4b9 100644 --- a/docs/alternative-networks.md +++ b/docs/alternative-networks.md @@ -34,6 +34,8 @@ The recommended way to access the Tor network is via the official Tor Browser, w [Tor Browser Info :material-arrow-right-drop-circle:](tor.md){ .md-button .md-button--primary } [Detailed Tor Overview :material-arrow-right-drop-circle:](advanced/tor-overview.md){ .md-button } +You can access the Tor network using other tools; making this determination comes down to your threat model. If you are a casual Tor user who is not worried about your ISP collecting evidence against you, using apps like [Orbot](#orbot) or mobile browser apps to access the Tor network is probably fine. Increasing the number of people who use Tor on an everyday basis helps reduce the bad stigma of Tor, and lowers the quality of "lists of Tor users" that ISPs and governments may compile. +

Try it out!

@@ -41,12 +43,50 @@ You can try connecting to *Privacy Guides* via Tor at [xoe4vn5uwdztif6goazfbmogh
+#### Orbot + +
+ +![Orbot logo](assets/img/self-contained-networks/orbot.svg){ align=right } + +**Orbot** is a mobile application which routes traffic from any app on your device through the Tor network. + +[:octicons-home-16: Homepage](https://orbot.app){ .md-button .md-button--primary } +[:octicons-eye-16:](https://orbot.app/privacy-policy){ .card-link title="Privacy Policy" } +[:octicons-info-16:](https://orbot.app/faqs){ .card-link title="Documentation" } +[:octicons-code-16:](https://orbot.app/code){ .card-link title="Source Code" } +[:octicons-heart-16:](https://orbot.app/donate){ .card-link title="Contribute" } + +
+Downloads + +- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=org.torproject.android) +- [:simple-appstore: App Store](https://apps.apple.com/app/id1609461599) +- [:simple-github: GitHub](https://github.com/guardianproject/orbot/releases) +- [:simple-fdroid: F-Droid](https://guardianproject.info/fdroid) + +
+ +
+ +We previously recommended enabling the *Isolate Destination Address* preference in Orbot settings. While this setting can theoretically improve privacy by enforcing the use of a different circuit for each IP address you connect to, it doesn't provide a practical advantage for most applications (especially web browsing), can come with a significant performance penalty, and increases the load on the Tor network. We no longer recommend adjusting this setting from its default value unless you know you need to.[^1] + +=== "Android" + + Orbot can proxy individual apps if they support SOCKS or HTTP proxying. It can also proxy all your network connections using [VpnService](https://developer.android.com/reference/android/net/VpnService) and can be used with the VPN kill switch in :gear: **Settings** → **Network & internet** → **VPN** → :gear: → **Block connections without VPN**. + + Orbot is often outdated on Google Play and the Guardian Project's F-Droid repository, so consider downloading directly from the GitHub repository instead. All versions are signed using the same signature, so they should be compatible with each other. + +=== "iOS" + + On iOS, Orbot has some limitations that could potentially cause crashes or leaks: iOS does not have an effective OS-level feature to block connections without a VPN like Android does, and iOS has an artificial memory limit for network extensions that makes it challenging to run Tor in Orbot without crashes. Currently, it is always safer to use Tor on a desktop computer compared to a mobile device. + #### Snowflake
-![Snowflake logo](assets/img/browsers/snowflake.svg#only-light){ align=right } -![Snowflake logo](assets/img/browsers/snowflake-dark.svg#only-dark){ align=right } +![Snowflake logo](assets/img/self-contained-networks/snowflake.svg#only-light){ align=right } +![Snowflake logo](assets/img/self-contained-networks/snowflake-dark.svg#only-dark){ align=right } **Snowflake** allows you to donate bandwidth to the Tor Project by operating a "Snowflake proxy" within your browser. @@ -110,3 +150,5 @@ Also, unlike Tor, every I2P node will relay traffic for other users by default, There are downsides to I2P's approach, however. Tor relying on dedicated exit nodes means more people in less safe environments can use it, and the relays that do exist on Tor are likely to be more performant and stable, as they generally aren't run on residential connections. Tor is also far more focused on **browser privacy** (i.e. anti-fingerprinting), with a dedicated [Tor Browser](tor.md) to make browsing activity as anonymous as possible. I2P is used via your [regular web browser](desktop-browsers.md), and while you can configure your browser to be more privacy-protecting, you probably still won't have the same browser fingerprint as other I2P users (there's no "crowd" to blend in with in that regard). Tor is likely to be more resistant to censorship, due to their robust network of bridges and varying [pluggable transports](https://tb-manual.torproject.org/circumvention). On the other hand, I2P uses directory servers for the initial connection which are varying/untrusted and run by volunteers, compared to the hard-coded/trusted ones Tor uses which are likely easier to block. + +[^1]: The `IsolateDestAddr` setting is discussed on the [Tor mailing list](https://lists.torproject.org/pipermail/tor-talk/2012-May/024403) and [Whonix's Stream Isolation documentation](https://whonix.org/wiki/Stream_Isolation), where both projects suggest that it is usually not a good approach for most people. diff --git a/docs/android/general-apps.md b/docs/android/general-apps.md index 646f86e15..c6ece1bb4 100644 --- a/docs/android/general-apps.md +++ b/docs/android/general-apps.md @@ -73,7 +73,7 @@ Shelter is recommended over [Insular](https://secure-system.gitlab.io/Insular) a **Secure Camera** is a camera app focused on privacy and security which can capture images, videos, and QR codes. CameraX vendor extensions (Portrait, HDR, Night Sight, Face Retouch, and Auto) are also supported on available devices. -[:octicons-repo-16: Repository](https://github.com/GrapheneOS/Camera){ .md-button .md-button--primary } +[:octicons-repo-16: Repository](https://github.com/GrapheneOS/Camera#readme){ .md-button .md-button--primary } [:octicons-info-16:](https://grapheneos.org/usage#camera){ .card-link title=Documentation} [:octicons-code-16:](https://github.com/GrapheneOS/Camera){ .card-link title="Source Code" } [:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute } @@ -119,7 +119,7 @@ The image orientation metadata is not deleted. If you enable location (in Secure [Content-Security-Policy](https://en.wikipedia.org/wiki/Content_Security_Policy) is used to enforce that the JavaScript and styling properties within the WebView are entirely static content. -[:octicons-repo-16: Repository](https://github.com/GrapheneOS/PdfViewer){ .md-button .md-button--primary } +[:octicons-repo-16: Repository](https://github.com/GrapheneOS/PdfViewer#readme){ .md-button .md-button--primary } [:octicons-code-16:](https://github.com/GrapheneOS/PdfViewer){ .card-link title="Source Code" } [:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute } diff --git a/docs/android/index.md b/docs/android/index.md index 63ac6364c..0ce91c84c 100644 --- a/docs/android/index.md +++ b/docs/android/index.md @@ -50,7 +50,7 @@ Ideally, when choosing a custom Android distribution, you should make sure that [Rooting](https://en.wikipedia.org/wiki/Rooting_(Android)) Android phones can decrease security significantly as it weakens the complete [Android security model](https://en.wikipedia.org/wiki/Android_(operating_system)#Security_and_privacy). This can decrease privacy should there be an exploit that is assisted by the decreased security. Common rooting methods involve directly tampering with the boot partition, making it impossible to perform successful Verified Boot. Apps that require root will also modify the system partition, meaning that Verified Boot would have to remain disabled. Having root exposed directly in the user interface also increases the attack surface of your device and may assist in [privilege escalation](https://en.wikipedia.org/wiki/Privilege_escalation) vulnerabilities and SELinux policy bypasses. -Content blockers which modify the [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) (AdAway) and firewalls (AFWall+) which require root access persistently are dangerous and should not be used. They are also not the correct way to solve their intended purposes. For content blocking, we suggest encrypted [DNS](../dns.md) or content blocking functionality provided by a VPN instead. TrackerControl and AdAway in non-root mode will take up the VPN slot (by using a local loopback VPN), preventing you from using privacy enhancing services such as [Orbot](../tor.md#orbot) or a [real VPN provider](../vpn.md). +Content blockers which modify the [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) (like AdAway) and firewalls which require root access persistently (like AFWall+) are dangerous and should not be used. They are also not the correct way to solve their intended purposes. For content blocking, we suggest encrypted [DNS](../dns.md) or content blocking functionality provided by a VPN instead. TrackerControl and AdAway in non-root mode will take up the VPN slot (by using a local loopback VPN), preventing you from using privacy-enhancing services such as [Orbot](../alternative-networks.md#orbot) or a [real VPN provider](../vpn.md). AFWall+ works based on the [packet filtering](https://en.wikipedia.org/wiki/Firewall_(computing)#Packet_filter) approach and may be bypassable in some situations. diff --git a/docs/basics/account-creation.md b/docs/basics/account-creation.md index 9fc569f0a..19a6a485d 100644 --- a/docs/basics/account-creation.md +++ b/docs/basics/account-creation.md @@ -42,7 +42,7 @@ You will be responsible for managing your login credentials. For added security, #### Email aliases -If you don't want to give your real email address to a service, you have the option to use an alias. We described them in more detail on our email services recommendation page. Essentially, alias services allow you to generate new email addresses that forward all emails to your main address. This can help prevent tracking across services and help you manage the marketing emails that sometimes come with the sign-up process. Those can be filtered automatically based on the alias they are sent to. +If you don't want to give your real email address to a service, you have the option to use an alias. We describe them in more detail on our email services recommendation page. Essentially, alias services allow you to generate new email addresses that forward all emails to your main address. This can help prevent tracking across services and help you manage the marketing emails that sometimes come with the sign-up process. Those can be filtered automatically based on the alias they are sent to. Should a service get hacked, you might start receiving phishing or spam emails to the address you used to sign up. Using unique aliases for each service can assist in identifying exactly what service was hacked. @@ -50,19 +50,19 @@ Should a service get hacked, you might start receiving phishing or spam emails t ### "Sign in with..." (OAuth) -OAuth is an authentication protocol that allows you to register for a service without sharing much information with the service provider, if any, by using an existing account you have with another service instead. Whenever you see something along the lines of "Sign in with *provider name*" on a registration form, it's typically using OAuth. +[Open Authorization (OAuth)](https://en.wikipedia.org/wiki/OAuth) is an authentication protocol that allows you to register for a service without sharing much information with the service provider, if any, by using an existing account you have with another service instead. Whenever you see something along the lines of "Sign in with *provider name*" on a registration form, it's typically using OAuth. When you sign in with OAuth, it will open a login page with the provider you choose, and your existing account and new account will be connected. Your password won't be shared, but some basic information typically will (you can review it during the login request). This process is needed every time you want to log in to the same account. The main advantages are: -- **Security**: you don't have to trust the security practices of the service you're logging into when it comes to storing your login credentials, because they are stored with the external OAuth provider, which when it comes to services like Apple and Google typically follow the best security practices, continuously audit their authentication systems, and don't store credentials inappropriately (such as in plain text). -- **Ease of use**: multiple accounts are managed by a single login. +- **Security**: You don't have to trust the security practices of the service you're logging into when it comes to storing your login credentials because they are stored with the external OAuth provider. Common OAuth providers like Apple and Google typically follow the best security practices, continuously audit their authentication systems, and don't store credentials inappropriately (such as in plain text). +- **Ease-of-use**: Multiple accounts are managed by a single login. But there are disadvantages: -- **Privacy**: the OAuth provider you log in with will know the services you use. -- **Centralization**: if the account you use for OAuth is compromised, or you aren't able to log in to it, all other accounts connected to it are affected. +- **Privacy**: The OAuth provider you log in with will know the services you use. +- **Centralization**: If the account you use for OAuth is compromised, or you aren't able to log in to it, all other accounts connected to it are affected. OAuth can be especially useful in those situations where you could benefit from deeper integration between services. Our recommendation is to limit using OAuth to only where you need it, and always protect the main account with [MFA](multi-factor-authentication.md). diff --git a/docs/basics/common-threats.md b/docs/basics/common-threats.md index 5f5380cd2..833810dba 100644 --- a/docs/basics/common-threats.md +++ b/docs/basics/common-threats.md @@ -202,7 +202,7 @@ Censorship online can be carried out (to varying degrees) by actors including to Censorship on corporate platforms is increasingly common, as platforms like Twitter and Facebook give in to public demand, market pressures, and pressures from government agencies. Government pressures can be covert requests to businesses, such as the White House [requesting the takedown](https://nytimes.com/2012/09/17/technology/on-the-web-a-fine-line-on-free-speech-across-globe.html) of a provocative YouTube video, or overt, such as the Chinese government requiring companies to adhere to a strict regime of censorship. -People concerned with the threat of censorship can use technologies like [Tor](../advanced/tor-overview.md) to circumvent it, and support censorship-resistant communication platforms like [Matrix](../real-time-communication.md#element), which doesn't have a centralized account authority that can close accounts arbitrarily. +People concerned with the threat of censorship can use technologies like [Tor](../advanced/tor-overview.md) to circumvent it, and support censorship-resistant communication platforms like [Matrix](../social-networks.md#element), which doesn't have a centralized account authority that can close accounts arbitrarily.

Tip

diff --git a/docs/basics/email-security.md b/docs/basics/email-security.md index 605135102..d3d0fd2e3 100644 --- a/docs/basics/email-security.md +++ b/docs/basics/email-security.md @@ -2,34 +2,34 @@ meta_title: "Why Email Isn't the Best Choice for Privacy and Security - Privacy Guides" title: Email Security icon: material/email -description: Email is inherently insecure in many ways, and these are some of the reasons it isn't our top choice for secure communications. +description: Email is insecure in many ways, and these are some of the reasons it isn't our top choice for secure communications. --- -Email is an insecure form of communication by default. You can improve your email security with tools such as OpenPGP, which add End-to-End Encryption to your messages, but OpenPGP still has a number of drawbacks compared to encryption in other messaging applications, and some email data can never be encrypted inherently due to how email is designed. +Email is an insecure form of communication by default. You can improve your email security with tools such as OpenPGP, which add end-to-end encryption to your messages, but OpenPGP still has a number of drawbacks compared to encryption in other messaging applications. As a result, email is best used for receiving transactional emails (like notifications, verification emails, password resets, etc.) from the services you sign up for online, not for communicating with others. ## Email Encryption Overview -The standard way to add E2EE to emails between different email providers is by using OpenPGP. There are different implementations of the OpenPGP standard, the most common being [GnuPG](https://en.wikipedia.org/wiki/GNU_Privacy_Guard) and [OpenPGP.js](https://openpgpjs.org). +The standard way to add E2EE to emails between different email providers is by using OpenPGP. There are different implementations of the OpenPGP standard, the most common being [GnuPG](../encryption.md#gnu-privacy-guard) and [OpenPGP.js](https://openpgpjs.org). -There is another standard which is popular with business called [S/MIME](https://en.wikipedia.org/wiki/S/MIME), however, it requires a certificate issued from a [Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority) (not all of them issue S/MIME certificates). It has support in [Google Workplace](https://support.google.com/a/topic/9061730) and [Outlook for Web or Exchange Server 2016, 2019](https://support.office.com/article/encrypt-messages-by-using-s-mime-in-outlook-on-the-web-878c79fc-7088-4b39-966f-14512658f480). +Even if you use OpenPGP, it does not support [forward secrecy](https://en.wikipedia.org/wiki/Forward_secrecy), which means if the private key of either you or the message recipient is ever stolen, all previous messages encrypted with it will be exposed. This is why we recommend [instant messengers](../real-time-communication.md) which implement forward secrecy over email for person-to-person communications whenever possible. -Even if you use OpenPGP, it does not support [forward secrecy](https://en.wikipedia.org/wiki/Forward_secrecy), which means if either your or the recipient's private key is ever stolen, all previous messages encrypted with it will be exposed. This is why we recommend [instant messengers](../real-time-communication.md) which implement forward secrecy over email for person-to-person communications whenever possible. +There is another standard which is popular with business called [S/MIME](https://en.wikipedia.org/wiki/S/MIME), however it requires a certificate issued from a [Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority) (not all of them issue S/MIME certificates, and often a yearly payment is required). In some cases it is more usable than PGP because it has support in popular/mainstream email applications like Apple Mail, [Google Workplace](https://support.google.com/a/topic/9061730), and [Outlook](https://support.office.com/article/encrypt-messages-by-using-s-mime-in-outlook-on-the-web-878c79fc-7088-4b39-966f-14512658f480). However, S/MIME does not solve the issue of lack of forward secrecy, and isn't particularly more secure than PGP. ## What is the Web Key Directory standard? -The Web Key Directory (WKD) standard allows email clients to discover the OpenPGP key for other mailboxes, even those hosted on a different provider. Email clients which support WKD will ask the recipient's server for a key based on the email address' domain name. For example, if you emailed `jonah@privacyguides.org`, your email client would ask `privacyguides.org` for Jonah's OpenPGP key, and if `privacyguides.org` has a key for that account, your message would be automatically encrypted. +The [Web Key Directory (WKD)](https://wiki.gnupg.org/WKD) standard allows email clients to discover the OpenPGP key for other mailboxes, even those hosted on a different provider. Email clients which support WKD will ask the recipient's server for a key based on the email address' domain name. For example, if you emailed `jonah@privacyguides.org`, your email client would ask `privacyguides.org` for Jonah's OpenPGP key, and if `privacyguides.org` has a key for that account, your message would be automatically encrypted. In addition to the [email clients we recommend](../email-clients.md) which support WKD, some webmail providers also support WKD. Whether *your own* key is published to WKD for others to use depends on your domain configuration. If you use an [email provider](../email.md#openpgp-compatible-services) which supports WKD, such as Proton Mail or Mailbox.org, they can publish your OpenPGP key on their domain for you. -If you use your own custom domain, you will need to configure WKD separately. If you control your domain name, you can set up WKD regardless of your email provider. One easy way to do this is to use the "[WKD as a Service](https://keys.openpgp.org/about/usage#wkd-as-a-service)" feature from keys.openpgp.org, by setting a CNAME record on the `openpgpkey` subdomain of your domain pointed to `wkd.keys.openpgp.org`, then uploading your key to [keys.openpgp.org](https://keys.openpgp.org). Alternatively, you can [self-host WKD on your own web server](https://wiki.gnupg.org/WKDHosting). +If you use your own custom domain, you will need to configure WKD separately. If you control your domain name, you can set up WKD regardless of your email provider. One easy way to do this is to use the "[WKD as a Service](https://keys.openpgp.org/about/usage#wkd-as-a-service)" feature from the `keys.openpgp.org` server: Set a CNAME record on the `openpgpkey` subdomain of your domain pointed to `wkd.keys.openpgp.org`, then upload your key to [keys.openpgp.org](https://keys.openpgp.org). Alternatively, you can [self-host WKD on your own web server](https://wiki.gnupg.org/WKDHosting). -If you use a shared domain from a provider which doesn't support WKD, like @gmail.com, you won't be able to share your OpenPGP key with others via this method. +If you use a shared domain from a provider which doesn't support WKD, like `@gmail.com`, you won't be able to share your OpenPGP key with others via this method. ### What Email Clients Support E2EE? -Email providers which allow you to use standard access protocols like IMAP and SMTP can be used with any of the [email clients we recommend](../email-clients.md). Depending on the authentication method, this may lead to the decrease security if either the provider or the email client does not support OATH or a bridge application as [multifactor authentication](multi-factor-authentication.md) is not possible with plain password authentication. +Email providers which allow you to use standard access protocols like IMAP and SMTP can be used with any of the [email clients we recommend](../email-clients.md). Depending on the authentication method, this may lead to decreased security if either the provider or the email client does not support [OAuth](account-creation.md#sign-in-with-oauth) or a bridge application as [multifactor authentication](multi-factor-authentication.md) is not possible with plain password authentication. ### How Do I Protect My Private Keys? @@ -39,14 +39,14 @@ It is advantageous for the decryption to occur on the smart card to avoid possib ## Email Metadata Overview -Email metadata is stored in the [message header](https://en.wikipedia.org/wiki/Email#Message_header) of the email message and includes some visible headers that you may have seen such as: `To`, `From`, `Cc`, `Date`, `Subject`. There are also a number of hidden headers included by many email clients and providers that can reveal information about your account. +Email metadata is stored in the [message header](https://en.wikipedia.org/wiki/Email#Message_header) of the email message and includes some visible headers that you may have seen such as `To`, `From`, `Cc`, `Date`, and `Subject`. There are also a number of hidden headers included by many email clients and providers that can reveal information about your account. Client software may use email metadata to show who a message is from and what time it was received. Servers may use it to determine where an email message must be sent, among [other purposes](https://en.wikipedia.org/wiki/Email#Message_header) which are not always transparent. ### Who Can View Email Metadata? -Email metadata is protected from outside observers with [Opportunistic TLS](https://en.wikipedia.org/wiki/Opportunistic_TLS) protecting it from outside observers, but it is still able to be seen by your email client software (or webmail) and any servers relaying the message from you to any recipients including your email provider. Sometimes email servers will also use third-party services to protect against spam, which generally also have access to your messages. +Email metadata is protected from outside observers with [opportunistic TLS](https://en.wikipedia.org/wiki/Opportunistic_TLS), but it is still able to be seen by your email client software (or webmail) and any servers relaying the message from you to any recipients including your email provider. Sometimes email servers will also use third-party services to protect against spam, which generally also have access to your messages. ### Why Can't Metadata be E2EE? -Email metadata is crucial to the most basic functionality of email (where it came from, and where it has to go). E2EE was not built into the email protocols originally, instead requiring add-on software like OpenPGP. Because OpenPGP messages still have to work with traditional email providers, it cannot encrypt email metadata, only the message body itself. That means that even when using OpenPGP, outside observers can see lots of information about your messages, such as whom you're emailing, the subject lines, when you're emailing, etc. +Email metadata is crucial to the most basic functionality of email (where it came from, and where it has to go). E2EE was not built into standard email protocols originally, instead requiring add-on software like OpenPGP. Because OpenPGP messages still have to work with traditional email providers, it cannot encrypt some of this email metadata required for identifying the parties communicating. That means that even when using OpenPGP, outside observers can see lots of information about your messages, such as whom you're emailing, when you're emailing, etc. diff --git a/docs/basics/passwords-overview.md b/docs/basics/passwords-overview.md index 2ca9ae28d..9416dd907 100644 --- a/docs/basics/passwords-overview.md +++ b/docs/basics/passwords-overview.md @@ -1,16 +1,16 @@ --- -title: "Introduction to Passwords" -icon: 'material/form-textbox-password' +title: Introduction to Passwords +icon: material/form-textbox-password description: These are some tips and tricks on how to create the strongest passwords and keep your accounts secure. --- -Passwords are an essential part of our everyday digital lives. We use them to protect our accounts, our devices and our secrets. Despite often being the only thing between us and an adversary who's after our private information, not a lot of thought is put into them, which often leads to people using passwords that can be easily guessed or brute-forced. +Passwords are an essential part of our everyday digital lives. We use them to protect our accounts, our devices, and our secrets. Despite often being the only thing between us and an adversary who's after our private information, not a lot of thought is put into them, which often leads to people using passwords that can be easily guessed or brute-forced. ## Best Practices ### Use unique passwords for every service -Imagine this; you sign up for an account with the same e-mail and password on multiple online services. If one of those service providers is malicious, or their service has a data breach that exposes your password in an unencrypted format, all a bad actor would have to do is try that e-mail and password combination across multiple popular services until they get a hit. It doesn't matter how strong that one password is, because they already have it. +Imagine this: You sign up for an account with the same e-mail and password on multiple online services. If one of those service providers is malicious, or their service has a data breach that exposes your password in an unencrypted format, all a bad actor would have to do is try that e-mail and password combination across multiple popular services until they get a hit. It doesn't matter how strong that one password is, because they already have it. This is called [credential stuffing](https://en.wikipedia.org/wiki/Credential_stuffing), and it is one of the most common ways that your accounts can be compromised by bad actors. To avoid this, make sure that you never re-use your passwords. @@ -73,9 +73,9 @@ You should **not** re-roll words until you get a combination of words that appea
-If you don't have access to or would prefer to not use real dice, you can use your password manager's built-in password generator, as most of them have the option to generate diceware passphrases in addition to regular passwords. +If you don't have access to or would prefer to not use real dice, you can use your password manager's built-in password generator, as most of them have the option to generate diceware passphrases in addition to regular passwords. We recommend setting the generated passphrase length to at least 6 words. -We recommend using [EFF's large word list](https://eff.org/files/2016/07/18/eff_large_wordlist.txt) to generate your diceware passphrases, as it offers the exact same security as the original list, while containing words that are easier to memorize. There are also [word lists in different languages](https://theworld.com/~reinhold/diceware.html#Diceware%20in%20Other%20Languages|outline), if you do not want your passphrase to be in English. +We also recommend using [EFF's large word list](https://eff.org/files/2016/07/18/eff_large_wordlist.txt) to generate your diceware passphrases, as it offers the exact same security as the original list, while containing words that are easier to memorize. There are also [word lists in different languages](https://theworld.com/~reinhold/diceware.html#Diceware%20in%20Other%20Languages|outline), if you do not want your passphrase to be in English.
Explanation of entropy and strength of diceware passphrases diff --git a/docs/basics/vpn-overview.md b/docs/basics/vpn-overview.md index 64ea348bd..e05293aa3 100644 --- a/docs/basics/vpn-overview.md +++ b/docs/basics/vpn-overview.md @@ -7,7 +7,7 @@ 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 } +[: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). @@ -51,7 +51,7 @@ VPNs cannot encrypt data outside the connection between your device and the VPN Using a VPN in cases where you're using your [real-life or well-known identity](common-misconceptions.md#complicated-is-better) online is unlikely to be useful. Doing so may trigger spam and fraud detection systems, such as if you were to log into your bank's website. -It's important to remember that a VPN will not provide you with absolute anonymity, because the VPN provider itself will still see your real IP address, destination website information, and often has a money trail that can be linked directly back to you. You can't rely on "no logging" policies to protect your data from anyone who is able to protect. If you need complete safety from the network itself, consider using [Tor](../advanced/tor-overview.md) in addition to or instead of a VPN. +It's important to remember that a VPN will not provide you with absolute anonymity because the VPN provider itself will still have access to your real IP address, destination website information, and often a money trail that can be linked directly back to you. "No logging" policies are merely a promise; if you need complete safety from the network itself, consider using [Tor](../advanced/tor-overview.md) in addition to or instead of a VPN. You also should not trust a VPN to secure your connection to an unencrypted, HTTP destination. In order to keep what you actually do on the websites you visit private and secure, you must use HTTPS. This will keep your passwords, session tokens, and queries safe from the VPN provider and other potential adversaries in between the VPN server and your destination. You should enable HTTPS-only mode in your browser (if it's supported) to mitigate attacks which try to downgrade your connection from HTTPS to HTTP. @@ -91,7 +91,9 @@ Recently, some attempts have been made by various organizations to address some Multi-Party Relays (MPRs) use multiple nodes owned by different parties, such that no individual party knows both who you are and what you're connecting to. This is the basic idea behind Tor, but now there are some paid services that try to emulate this model. -MPRs seek to solve a problem inherent to VPNs: the fact that you must trust them completely. They accomplish this goal by segmenting the responsibilities between two or more different companies. For example, Apple's iCloud+ Private Relay routes your traffic through two servers: +MPRs seek to solve a problem inherent to VPNs: the fact that you must trust them completely. They accomplish this goal by segmenting the responsibilities between two or more different companies. + +One example of a commercially available MPR is Apple's iCloud+ Private Relay, which routes your traffic through two servers: 1. Firstly, a server operated by Apple. @@ -101,7 +103,7 @@ MPRs seek to solve a problem inherent to VPNs: the fact that you must trust them This server actually makes the connection to your destination website, but has no knowledge of your device. The only IP address it knows about is Apple's server's. -Other MPRs run by different companies like Google or INVISV operate in a very similar manner. This protection by segmentation only exists if you trust the two companies to not collude with each other to deanonymize you. +Other MPRs run by different companies operate in a very similar manner. This protection by segmentation only exists if you trust the two companies to not collude with each other to deanonymize you. ### Decentralized VPNs diff --git a/docs/basics/why-privacy-matters.md b/docs/basics/why-privacy-matters.md index 04191c084..c309d97fb 100644 --- a/docs/basics/why-privacy-matters.md +++ b/docs/basics/why-privacy-matters.md @@ -11,7 +11,7 @@ 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 } +[: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 } **Privacy** @@ -52,7 +52,7 @@ 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" } +[: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 diff --git a/docs/browser-extensions.md b/docs/browser-extensions.md index 3b3102f7e..36a2d1573 100644 --- a/docs/browser-extensions.md +++ b/docs/browser-extensions.md @@ -81,7 +81,7 @@ This version offers three levels of blocking: "Basic" works without requiring an If you set the default filtering mode to "Optimal" or "Complete" the extension will request read/modify access to **all** websites you visit. However, you also have the option to change the setting to "Optimal" or "Complete" on a **per-site** basis by adjusting the slider in the extension's pop-up panel on any given site. When you do so, the extension will request read/modify access to that site only. Therefore, if you want to take advantage of uBlock Origin Lite's "permission-less" configuration, you should probably leave the default setting as "Basic" and only adjust it higher on sites where that level is not adequate. -uBlock Origin Lite only receives block list updates whenever the extension is updated from your browser's extension marketplace, as opposed to on demand. This means that you may miss out on new threats being blocked for weeks until a full extension release is published. +uBlock Origin Lite only receives block list updates whenever the extension is updated from your browser's extension marketplace, as opposed to on demand. Google has an [expedited review process](https://developer.chrome.com/docs/webstore/skip-review) for filter updates, which means you still typically receive filter list updates as frequently as uBlock Origin Lite chooses to publish a release (historically every 2-7 days). However, only so-called "[safe rules](https://developer.chrome.com/docs/extensions/reference/api/declarativeNetRequest#safe_rules)" can be updated, which may limit the update frequency of lists using advanced techniques. ### AdGuard diff --git a/docs/calendar.md b/docs/calendar.md index 427d73896..cfcfabb7b 100644 --- a/docs/calendar.md +++ b/docs/calendar.md @@ -1,5 +1,5 @@ --- -title: "Calendar Sync" +title: Calendar Sync icon: material/calendar description: Calendars contain some of your most sensitive data; use products that implement encryption at rest. cover: calendar.webp @@ -9,7 +9,7 @@ cover: calendar.webp - [:material-bug-outline: Passive Attacks](basics/common-threats.md#security-and-privacy){ .pg-orange } - [:material-server-network: Service Providers](basics/common-threats.md#privacy-from-service-providers){ .pg-teal } -**Calendars** contain some of your most sensitive data; use products that implement E2EE at rest to prevent a provider from reading them. +**Calendars** contain some of your most sensitive data; use products that implement end-to-end encryption at rest to prevent a provider from reading them. ## Tuta @@ -18,21 +18,22 @@ cover: calendar.webp ![Tuta logo](assets/img/email/tuta.svg#only-light){ align=right } ![Tuta logo](assets/img/email/tuta-dark.svg#only-dark){ align=right } -**Tuta** offers a free and encrypted calendar across their supported platforms. Features include: automatic E2EE of all data, sharing features, import/export functionality, multifactor authentication, and [more](https://tuta.com/calendar-app-comparison). +**Tuta** offers a free and encrypted calendar across their supported platforms. Features include automatic E2EE of all data, sharing features, import/export functionality, multifactor authentication, and [more](https://tuta.com/calendar-app-comparison). -Multiple calendars and extended sharing functionality is limited to paid subscribers. +Multiple calendars and extended sharing functionality are limited to paid subscribers. [:octicons-home-16: Homepage](https://tuta.com/calendar){ .md-button .md-button--primary } [:octicons-eye-16:](https://tuta.com/privacy){ .card-link title="Privacy Policy" } [:octicons-info-16:](https://tuta.com/support){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/tutao/tutanota){ .card-link title="Source Code" } -[:octicons-heart-16:](https://tuta.com/community){ .card-link title="Contribute" } +[:octicons-heart-16:](https://tuta.com/community#donate){ .card-link title="Contribute" }
Downloads -- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=de.tutao.tutanota) -- [:simple-appstore: App Store](https://apps.apple.com/app/id922429609) +- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=de.tutao.calendar) +- [:simple-appstore: App Store](https://apps.apple.com/app/id6657977811) +- [:simple-github: GitHub](https://github.com/tutao/tutanota/releases?q=Calendar) - [:fontawesome-brands-windows: Windows](https://tuta.com/blog/desktop-clients) - [:simple-apple: macOS](https://tuta.com/blog/desktop-clients) - [:simple-linux: Linux](https://tuta.com/blog/desktop-clients) @@ -49,7 +50,9 @@ Multiple calendars and extended sharing functionality is limited to paid subscri ![Proton](assets/img/calendar/proton-calendar.svg){ align=right } -**Proton Calendar** is an encrypted calendar service available to Proton members via web or mobile clients. Features include: automatic E2EE of all data, sharing features, import/export functionality, and [more](https://proton.me/support/proton-calendar-guide). Those on the free tier gain access to 3 calendars, whereas paid subscribers can create up to 25 calendars. Extended sharing functionality is also limited to paid subscribers. +**Proton Calendar** is an encrypted calendar service available to Proton members via web or mobile clients. Features include automatic E2EE of all data, sharing features, import/export functionality, and [more](https://proton.me/support/proton-calendar-guide). + +Those on the free tier have access to 3 calendars, whereas paid subscribers can create up to 25 calendars. Extended sharing functionality is also limited to paid subscribers. [:octicons-home-16: Homepage](https://proton.me/calendar){ .md-button .md-button--primary } [:octicons-eye-16:](https://proton.me/calendar/privacy-policy){ .card-link title="Privacy Policy" } diff --git a/docs/cloud.md b/docs/cloud.md index 333234d41..160770f3b 100644 --- a/docs/cloud.md +++ b/docs/cloud.md @@ -10,7 +10,7 @@ cover: cloud.webp - [:material-bug-outline: Passive Attacks](basics/common-threats.md#security-and-privacy){ .pg-orange } - [:material-server-network: Service Providers](basics/common-threats.md#privacy-from-service-providers){ .pg-teal } -Many **cloud storage providers** require your full trust that they will not look at your files. The alternatives listed below eliminate the need for trust by implementing secure E2EE. +Many **cloud storage providers** require your full trust that they will not look at your files. The alternatives listed below eliminate the need for trust by implementing secure end-to-end encryption. If these alternatives do not fit your needs, we suggest you look into using encryption software like [Cryptomator](encryption.md#cryptomator-cloud) with another cloud provider. Using Cryptomator in conjunction with **any** cloud provider (including these) may be a good idea to reduce the risk of encryption flaws in a provider's native clients. @@ -27,7 +27,9 @@ Nextcloud is [still a recommended tool](document-collaboration.md#nextcloud) for ![Proton Drive logo](assets/img/cloud/protondrive.svg){ align=right } -**Proton Drive** is an encrypted cloud storage provider from the popular encrypted email provider [Proton Mail](email.md#proton-mail). The initial free storage is limited to 2 GB, but with the completion of [certain steps](https://proton.me/support/more-free-storage-existing-users), additional storage can be obtained up to 5 GB. +**Proton Drive** is an encrypted cloud storage provider from the popular encrypted email provider [Proton Mail](email.md#proton-mail). + +The initial free storage is limited to 2 GB, but with the completion of [certain steps](https://proton.me/support/more-free-storage-existing-users), additional storage can be obtained up to 5 GB. [:octicons-home-16: Homepage](https://proton.me/drive){ .md-button .md-button--primary } [:octicons-eye-16:](https://proton.me/drive/privacy-policy){ .card-link title="Privacy Policy" } @@ -46,9 +48,7 @@ Nextcloud is [still a recommended tool](document-collaboration.md#nextcloud) for
-The Proton Drive web application has been independently audited by Securitum in [2021](https://proton.me/community/open-source). - -Proton Drive's brand new mobile clients have not yet been publicly audited by a third party. +The Proton Drive web application has been independently audited by Securitum in [2021](https://proton.me/community/open-source), but the brand new mobile clients have not yet been publicly audited by a third party. ## Tresorit @@ -83,7 +83,9 @@ Tresorit has received a number of independent security audits: - Computest discovered two vulnerabilities which have been resolved. - [2019](https://tresorit.com/blog/ernst-young-review-verifies-tresorits-security-architecture): Penetration Testing by Ernst & Young. - This review analyzed the full source code of Tresorit and validated that the implementation matches the concepts described in Tresorit's [white paper](https://prodfrontendcdn.azureedge.net/202208011608/tresorit-encryption-whitepaper.pdf). - - Ernst & Young additionally tested the web, mobile, and desktop clients: "Test results found no deviation from Tresorit’s data confidentiality claims." + - Ernst & Young additionally tested the web, mobile, and desktop clients. They concluded: + + > Test results found no deviation from Tresorit’s data confidentiality claims. [^1]: [ISO/IEC 27001](https://en.wikipedia.org/wiki/ISO/IEC_27001):2013 compliance relates to the company's [information security management system](https://en.wikipedia.org/wiki/Information_security_management) and covers the sales, development, maintenance and support of their cloud services. @@ -95,40 +97,43 @@ They have also received the Digital Trust Label, a certification from the [Swiss ![Peergos logo](assets/img/cloud/peergos.svg){ align=right } -**Peergos** is a decentralized protocol and open-source platform for storage, social media, and applications. It provides a secure and private space where users can store, share, and view their photos, videos, documents, etc. Peergos secures your files with quantum-resistant end-to-end encryption and ensures all data about your files remains private. It is built on top of [IPFS (InterPlanetary File System)](https://ipfs.tech), a peer-to-peer architecture that protects against [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray }. +**Peergos** is a decentralized protocol and open-source platform for storage, social media, and applications. It provides a secure and private space where users can store, share, and view their photos, videos, documents, etc. Peergos secures your files with quantum-resistant end-to-end encryption and ensures all data about your files remains private. [:octicons-home-16: Homepage](https://peergos.org){ .md-button .md-button--primary } [:octicons-eye-16:](https://peergos.net/privacy.html){ .card-link title="Privacy Policy" } [:octicons-info-16:](https://book.peergos.org){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/Peergos/Peergos){ .card-link title="Source Code" } +[:octicons-heart-16:](https://github.com/peergos/peergos#support){ .card-link title="Contribute" }
Downloads -- [:octicons-globe-16: Web](https://peergos.net) +- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=peergos.android) +- [:simple-github: GitHub](https://github.com/Peergos/web-ui/releases) - [:fontawesome-brands-windows: Windows](https://github.com/Peergos/web-ui/releases) - [:simple-apple: macOS](https://github.com/Peergos/web-ui/releases) - [:simple-linux: Linux](https://github.com/Peergos/web-ui/releases) +- [:octicons-browser-16: Web](https://peergos.net)
+Peergos is built on top of the [InterPlanetary File System (IPFS)](https://ipfs.tech), a peer-to-peer architecture that protects against [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray }. + Peergos is primarily a web app, but you can self-host the server either as a local cache for your remote Peergos account, or as a standalone storage server which negates the need to register for a remote account and subscription. The Peergos server is a `.jar` file, which means the Java 17+ Runtime Environment ([OpenJDK download](https://azul.com/downloads)) should be installed on your machine to get it working. Running a local version of Peergos alongside a registered account on their paid, hosted service allows you to access your Peergos storage without any reliance on DNS or TLS certificate authorities, and keep a copy of your data backed up to their cloud. The user experience should be the same whether you run their desktop server or just use their hosted web interface. Peergos was [audited](https://peergos.org/posts/security-audit-2024) in November 2024 by Radically Open Security and all issues were fixed. They were previously [audited](https://cure53.de/pentest-report_peergos.pdf) by Cure53 in June 2019, and all found issues were subsequently fixed. -An Android app is not available, but it is [in the works](https://discuss.privacyguides.net/t/peergos-private-storage-sharing-social-media-and-application-platform/11825/25). The current workaround is to use the mobile [PWA](https://peergos.net) instead. - ## 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 enforce end-to-end encryption. +- Must enforce E2EE. - Must offer a free plan or trial period for testing. - Must support TOTP or FIDO2 multifactor authentication, or passkey logins. - Must offer a web interface which supports basic file management functionality. @@ -139,8 +144,8 @@ An Android app is not available, but it is [in the works](https://discuss.privac 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. - Clients should be open source. -- Clients should be audited in their entirety by an independent third-party. +- Clients should be audited in their entirety by an independent third party. - Should offer native clients for Linux, Android, Windows, macOS, and iOS. - These clients should integrate with native OS tools for cloud storage providers, such as Files app integration on iOS, or DocumentsProvider functionality on Android. -- Should support easy file-sharing with other users. +- Should support easy file sharing with other users. - Should offer at least basic file preview and editing functionality on the web interface. diff --git a/docs/data-broker-removals.md b/docs/data-broker-removals.md index 9a2432c95..23e3eea48 100644 --- a/docs/data-broker-removals.md +++ b/docs/data-broker-removals.md @@ -34,7 +34,7 @@ You should search for your information on these sites first, and submit an opt-o - Dataveria ([Search](https://dataveria.com), [Opt-Out](https://dataveria.com/ng/control/privacy)) - InfoTracer ([Search](https://infotracer.com), [Opt-Out](https://infotracer.com/optout)) - Intelius ([Search](https://intelius.com), [Opt-Out](https://suppression.peopleconnect.us/login)) -- PeekYou ([Search](https://peekyou.com), [Opt-Out](https://peekyou.com/about/contact/optout)) +- PeekYou ([Search](https://peekyou.com), [Opt-Out](https://peekyou.com/about/contact/ccpa_optout/do_not_sell)) - PublicDataUSA ([Search](https://publicdatausa.com), [Opt-Out](https://publicdatausa.com/remove.php)) - Radaris ([Search](https://radaris.com), [Opt-Out](https://radaris.com/page/how-to-remove)) - Spokeo ([Search](https://spokeo.com/search), [Opt-Out](https://spokeo.com/optout)) @@ -84,7 +84,7 @@ Our [testing](https://www.privacyguides.org/articles/2025/02/03/easyoptouts-revi EasyOptOuts does not cover the following sites we consider to be "high priority," so you should still manually opt-out of: - Intelius ([Search](https://intelius.com), [Opt-Out](https://suppression.peopleconnect.us/login)) -- PeekYou ([Search](https://peekyou.com), [Opt-Out](https://peekyou.com/about/contact/optout)) +- PeekYou ([Search](https://peekyou.com), [Opt-Out](https://peekyou.com/about/contact/ccpa_optout/do_not_sell))
diff --git a/docs/data-redaction.md b/docs/data-redaction.md index cec0a88bb..3da24613d 100644 --- a/docs/data-redaction.md +++ b/docs/data-redaction.md @@ -33,7 +33,7 @@ You should **never** use blur to redact [text in images](https://bishopfox.com/b
Downloads -- [:fontawesome-brands-windows: Windows](https://pypi.org/project/mat2) +- [:fontawesome-brands-windows: Windows](https://pypi.org/project/mat2#metadata-and-privacy) - [:simple-apple: macOS](https://0xacab.org/jvoisin/mat2#requirements-setup-on-macos-os-x-using-homebrew) - [:simple-linux: Linux](https://pypi.org/project/mat2) - [:octicons-globe-16: Web](https://0xacab.org/jvoisin/mat2#web-interface) @@ -50,10 +50,10 @@ You should **never** use blur to redact [text in images](https://bishopfox.com/b **ExifEraser** is a modern, permissionless image metadata erasing application for Android. -It currently supports JPEG, PNG and WebP files. +It currently supports JPEG, PNG, and WebP files. -[:octicons-repo-16: Repository](https://github.com/Tommy-Geenexus/exif-eraser){ .md-button .md-button--primary } -[:octicons-info-16:](https://github.com/Tommy-Geenexus/exif-eraser#readme){ .card-link title="Documentation" } +[:octicons-repo-16: Repository](https://github.com/Tommy-Geenexus/exif-eraser#readme){ .md-button .md-button--primary } +[:octicons-info-16:](https://github.com/Tommy-Geenexus/exif-eraser#description){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/Tommy-Geenexus/exif-eraser){ .card-link title="Source Code" }
diff --git a/docs/desktop-browsers.md b/docs/desktop-browsers.md index 4348234d7..ac18baea7 100644 --- a/docs/desktop-browsers.md +++ b/docs/desktop-browsers.md @@ -1,6 +1,6 @@ --- meta_title: "Privacy Respecting Web Browsers for PC and Mac - Privacy Guides" -title: "Desktop Browsers" +title: Desktop Browsers icon: material/laptop description: These privacy-protecting browsers are what we currently recommend for standard/non-anonymous internet browsing on desktop systems. cover: desktop-browsers.webp @@ -88,7 +88,11 @@ If you need to browse the internet anonymously, you should use [Tor](tor.md) ins
-Like [Tor Browser](tor.md), Mullvad Browser is designed to prevent fingerprinting by making your browser fingerprint identical to all other Mullvad Browser users, and it includes default settings and extensions that are automatically configured by the default security levels: *Standard*, *Safer* and *Safest*. Therefore, it is imperative that you do not modify the browser at all outside adjusting the default [security levels](https://tb-manual.torproject.org/security-settings). Other modifications would make your fingerprint unique, defeating the purpose of using this browser. If you want to configure your browser more heavily and fingerprinting is not a concern for you, we recommend [Firefox](#firefox) instead. +Like [Tor Browser](tor.md), Mullvad Browser is designed to prevent fingerprinting by making your browser fingerprint identical to all other Mullvad Browser users, and it includes default settings and extensions that are automatically configured by the default security levels: *Standard*, *Safer* and *Safest*. + +Therefore, it is imperative that you do not modify the browser at all outside adjusting the default [security levels](https://tb-manual.torproject.org/security-settings). When adjusting the security level, you **must** always restart the browser before continuing to use it. Otherwise, [the security settings may not be fully applied](https://www.privacyguides.org/articles/2025/05/02/tor-security-slider-flaw), putting you at a higher risk of fingerprinting and exploits than you may expect based on the setting chosen. + +Modifications other than adjusting this setting would make your fingerprint unique, defeating the purpose of using this browser. If you want to configure your browser more heavily and fingerprinting is not a concern for you, we recommend [Firefox](#firefox) instead. ### Anti-Fingerprinting @@ -108,9 +112,9 @@ This is required to prevent advanced forms of tracking, but does come at the cos ### Mullvad Leta -Mullvad Browser comes with [**Mullvad Leta**](https://leta.mullvad.net) as the default search engine, which functions as a proxy to either Google or Brave search results (configurable on the Mullvad Leta homepage). +Mullvad Browser comes with [**Mullvad Leta**](search-engines.md#mullvad-leta) as the default search engine, which functions as a proxy to either Google or Brave search results (configurable on the Mullvad Leta homepage). -If you are a Mullvad VPN user, there is some risk in using services like Mullvad Leta which are offered by your VPN provider themselves. This is because Mullvad theoretically has access to your true IP address (via their VPN) and your search activity (via Leta), which is information a VPN is typically intended to separate. Even though Mullvad collects very little information about their VPN subscribers or Leta users, you should consider a different [search engine](search-engines.md) if this risk concerns you. +If you are a Mullvad VPN user, there is some risk in using services like Mullvad Leta which are offered by your VPN provider themselves. This is because Mullvad theoretically has access to your true IP address (via their VPN) and your search activity (via Leta); the latter is information a VPN is typically intended to separate. Even though Mullvad collects very little information about their VPN subscribers or Leta users, you should consider a different [search engine](search-engines.md) if this risk concerns you. ## Firefox @@ -317,15 +321,6 @@ Brave allows you to select additional content filters within the internal `brave 1. Disabling the V8 optimizer reduces your attack surface by disabling [*some*](https://grapheneos.social/@GrapheneOS/112708049232710156) parts of JavaScript Just-In-Time (JIT) compilation. -
-

Sanitizing on close

- -- [x] Select **Delete data sites have saved to your device when you close all windows** under *Sites and Shields Settings* → *Content* → *Additional content settings* → *On-device site data*. - -If you wish to stay logged in to a particular site you visit often, you can set exceptions on a per-site basis under the *Customized behaviors* section. - -
- ##### Tor windows [**Private Window with Tor**](https://support.brave.com/hc/articles/360018121491-What-is-a-Private-Window-with-Tor-Connectivity) allows you to route your traffic through the Tor network in Private Windows and access .onion services, which may be useful in some cases. However, Brave is **not** as resistant to fingerprinting as the Tor Browser is, and far fewer people use Brave with Tor, so you will stand out. If your threat model requires strong anonymity, use the [Tor Browser](tor.md#tor-browser). @@ -357,7 +352,7 @@ We recommend disabling search suggestions in Brave for the same reason we recomm
-- [ ] Uncheck **Continue running apps when Brave is closed** to disable background apps (1) +- [ ] Uncheck **Continue running background apps when Brave is closed** to disable background apps (1)
diff --git a/docs/desktop.md b/docs/desktop.md index 3b88a2a94..bcaae049d 100644 --- a/docs/desktop.md +++ b/docs/desktop.md @@ -14,23 +14,25 @@ Linux distributions are commonly recommended for privacy protection and software ## Traditional Distributions -### Fedora Workstation +### Fedora Linux
![Fedora logo](assets/img/linux-desktop/fedora.svg){ align=right } -**Fedora Workstation** is our recommended distribution for people new to Linux. Fedora generally adopts newer technologies (e.g., [Wayland](https://wayland.freedesktop.org) and [PipeWire](https://pipewire.org)) before other distributions. These new technologies often come with improvements in security, privacy, and usability in general. +**Fedora Linux** is our recommended desktop distribution for people new to Linux. Fedora generally adopts newer technologies (e.g., [Wayland](https://wayland.freedesktop.org) and [PipeWire](https://pipewire.org)) before other distributions. These new technologies often come with improvements in security, privacy, and usability in general. -[:octicons-home-16: Homepage](https://fedoraproject.org/workstation){ .md-button .md-button--primary } -[:octicons-info-16:](https://docs.fedoraproject.org/en-US/docs){ .card-link title=Documentation} -[:octicons-heart-16:](https://whatcanidoforfedora.org){ .card-link title=Contribute } +[:octicons-home-16: Homepage](https://fedoraproject.org){ .md-button .md-button--primary } +[:octicons-info-16:](https://docs.fedoraproject.org/en-US/docs){ .card-link title="Documentation" } +[:octicons-heart-16:](https://whatcanidoforfedora.org){ .card-link title="Contribute" }
-Fedora has a semi-rolling release cycle. While some packages like [GNOME](https://gnome.org) are frozen until the next Fedora release, most packages (including the kernel) are updated frequently throughout the lifespan of the release. Each Fedora release is supported for one year, with a new version released every 6 months. +Fedora comes in two primary desktop editions, [Fedora Workstation](https://fedoraproject.org/workstation), which uses the GNOME desktop environment, and [Fedora KDE Plasma Desktop](https://fedoraproject.org/kde), which uses KDE. Historically, Fedora Workstation has been more popular and widely recommended, but KDE has been gaining in popularity and provides an experience more similar to Windows, which may make transitioning to Linux easier for some. The security and privacy benefits of both editions are very similar, so it mostly comes down to personal preference. + +Fedora has a semi-rolling release cycle. While some packages like the desktop environment are frozen until the next Fedora release, most packages (including the kernel) are updated frequently throughout the lifespan of the release. Each Fedora release is supported for one year, with a new version released every 6 months. ### openSUSE Tumbleweed @@ -43,8 +45,8 @@ Fedora has a semi-rolling release cycle. While some packages like [GNOME](https: openSUSE Tumbleweed uses [Btrfs](https://en.wikipedia.org/wiki/Btrfs) and [Snapper](https://en.opensuse.org/openSUSE:Snapper_Tutorial) to ensure that snapshots can be rolled back should there be a problem. [:octicons-home-16: Homepage](https://get.opensuse.org/tumbleweed){ .md-button .md-button--primary } -[:octicons-info-16:](https://doc.opensuse.org){ .card-link title=Documentation} -[:octicons-heart-16:](https://shop.opensuse.org){ .card-link title=Contribute } +[:octicons-info-16:](https://doc.opensuse.org){ .card-link title="Documentation" } +[:octicons-heart-16:](https://shop.opensuse.org){ .card-link title="Contribute" } @@ -61,8 +63,8 @@ Tumbleweed follows a rolling release model where each update is released as a sn **Arch Linux** is a lightweight, do-it-yourself (DIY) distribution, meaning that you only get what you install. For more information see their [FAQ](https://wiki.archlinux.org/title/Frequently_asked_questions). [:octicons-home-16: Homepage](https://archlinux.org){ .md-button .md-button--primary } -[:octicons-info-16:](https://wiki.archlinux.org){ .card-link title=Documentation} -[:octicons-heart-16:](https://archlinux.org/donate){ .card-link title=Contribute } +[:octicons-info-16:](https://wiki.archlinux.org){ .card-link title="Documentation" } +[:octicons-heart-16:](https://archlinux.org/donate){ .card-link title="Contribute" } @@ -87,8 +89,8 @@ A large portion of [Arch Linux’s packages](https://reproducible.archlinux.org) **Fedora Atomic Desktops** are variants of Fedora which use the `rpm-ostree` package manager and have a strong focus on containerized workflows and Flatpak for desktop applications. All of these variants follow the same release schedule as Fedora Workstation, benefiting from the same fast updates and staying very close to upstream. [:octicons-home-16: Homepage](https://fedoraproject.org/atomic-desktops){ .md-button .md-button--primary } -[:octicons-info-16:](https://docs.fedoraproject.org/en-US/emerging){ .card-link title=Documentation} -[:octicons-heart-16:](https://whatcanidoforfedora.org){ .card-link title=Contribute } +[:octicons-info-16:](https://docs.fedoraproject.org/en-US/emerging){ .card-link title="Documentation" } +[:octicons-heart-16:](https://whatcanidoforfedora.org){ .card-link title="Contribute" } @@ -113,8 +115,8 @@ As an alternative to Flatpaks, there is the option of [Toolbx](https://docs.fedo NixOS is an independent distribution based on the Nix package manager with a focus on reproducibility and reliability. [:octicons-home-16: Homepage](https://nixos.org){ .md-button .md-button--primary } -[:octicons-info-16:](https://nixos.org/learn.html){ .card-link title=Documentation} -[:octicons-heart-16:](https://nixos.org/donate.html){ .card-link title=Contribute } +[:octicons-info-16:](https://nixos.org/learn.html){ .card-link title="Documentation" } +[:octicons-heart-16:](https://nixos.org/donate.html){ .card-link title="Contribute" } @@ -142,8 +144,8 @@ Nix is a source-based package manager; if there’s no pre-built available in th [:octicons-home-16: Homepage](https://whonix.org){ .md-button .md-button--primary } [:simple-torbrowser:](http://dds6qkxpwdeubwucdiaord2xgbbeyds25rbsgr73tbfpqpt4a6vjwsyd.onion){ .card-link title="Onion Service" } -[:octicons-info-16:](https://whonix.org/wiki/Documentation){ .card-link title=Documentation} -[:octicons-heart-16:](https://whonix.org/wiki/Donate){ .card-link title=Contribute } +[:octicons-info-16:](https://whonix.org/wiki/Documentation){ .card-link title="Documentation" } +[:octicons-heart-16:](https://whonix.org/wiki/Donate){ .card-link title="Contribute" } @@ -164,8 +166,8 @@ Whonix is best used [in conjunction with Qubes](https://whonix.org/wiki/Qubes/Wh **Tails** is a live operating system based on Debian that routes all communications through Tor, which can boot on on almost any computer from a DVD, USB stick, or SD card installation. It uses [Tor](tor.md) to preserve privacy and [:material-incognito: Anonymity](basics/common-threats.md#anonymity-vs-privacy){ .pg-purple } while circumventing censorship, and it leaves no trace of itself on the computer it is used on after it is powered off. [:octicons-home-16: Homepage](https://tails.net){ .md-button .md-button--primary } -[:octicons-info-16:](https://tails.net/doc/index.en.html){ .card-link title=Documentation} -[:octicons-heart-16:](https://tails.net/donate){ .card-link title=Contribute } +[:octicons-info-16:](https://tails.net/doc/index.en.html){ .card-link title="Documentation" } +[:octicons-heart-16:](https://tails.net/donate){ .card-link title="Contribute" } @@ -201,9 +203,9 @@ By design, Tails is meant to completely reset itself after each reboot. Encrypte [:octicons-home-16: Homepage](https://qubes-os.org){ .md-button .md-button--primary } [:simple-torbrowser:](http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion){ .card-link title="Onion Service" } [:octicons-eye-16:](https://qubes-os.org/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://qubes-os.org/doc){ .card-link title=Documentation } +[:octicons-info-16:](https://qubes-os.org/doc){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/QubesOS){ .card-link title="Source Code" } -[:octicons-heart-16:](https://qubes-os.org/donate){ .card-link title=Contribute } +[:octicons-heart-16:](https://qubes-os.org/donate){ .card-link title="Contribute" } @@ -213,6 +215,25 @@ Qubes OS secures the computer by isolating subsystems (e.g., networking, USB, et For further information about how Qubes works, read our full [Qubes OS overview](os/qubes-overview.md) page. +### Secureblue + +
+ +![Secureblue logo](assets/img/linux-desktop/secureblue.svg){ align=right } + +**Secureblue** is a security-focused operating system based on [Fedora Atomic Desktops](#fedora-atomic-desktops). It includes a number of [security features](https://secureblue.dev/features) intended to proactively defend against the exploitation of both known and unknown vulnerabilities, and ships with [Trivalent](https://github.com/secureblue/Trivalent), their hardened, Chromium-based web browser. + +[:octicons-home-16: Homepage](https://secureblue.dev){ .md-button .md-button--primary } +[:octicons-info-16:](https://secureblue.dev/install){ .card-link title="Documentation" } +[:octicons-code-16:](https://github.com/secureblue/secureblue){ .card-link title="Source Code" } +[:octicons-heart-16:](https://secureblue.dev/donate){ .card-link title="Contribute" } + +
+ +**Trivalent** is Secureblue's hardened Chromium for desktop Linux inspired by [GrapheneOS](android/distributions.md#grapheneos)'s Vanadium browser. + +Secureblue also provides GrapheneOS's [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc) and enables it globally (including for Flatpaks). + ### Kicksecure While we [recommend against](os/linux-overview.md#release-cycle) "perpetually outdated" distributions like Debian for desktop use in most cases, Kicksecure is a Debian-based operating system which has been hardened to be much more than a typical Linux install. @@ -225,9 +246,9 @@ While we [recommend against](os/linux-overview.md#release-cycle) "perpetually ou [:octicons-home-16: Homepage](https://kicksecure.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://kicksecure.com/wiki/Privacy_Policy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://kicksecure.com/wiki/Documentation){ .card-link title=Documentation } +[:octicons-info-16:](https://kicksecure.com/wiki/Documentation){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/Kicksecure){ .card-link title="Source Code" } -[:octicons-heart-16:](https://kicksecure.com/wiki/Donate){ .card-link title=Contribute } +[:octicons-heart-16:](https://kicksecure.com/wiki/Donate){ .card-link title="Contribute" } diff --git a/docs/device-integrity.md b/docs/device-integrity.md index da20688cb..cb7ec4ce4 100644 --- a/docs/device-integrity.md +++ b/docs/device-integrity.md @@ -69,7 +69,8 @@ These tools can trigger false-positives. If any of these tools finds indicators
-![MVT logo](assets/img/device-integrity/mvt.webp){ align=right } +![MVT logo](assets/img/device-integrity/mvt.webp#only-light){ align=right } +![MVT logo](assets/img/device-integrity/mvt-dark.png#only-dark){ align=right } **Mobile Verification Toolkit** (**MVT**) is a collection of utilities which simplifies and automates the process of scanning mobile devices for potential traces of targeting or infection by known spyware campaigns. MVT was developed by Amnesty International and released in 2021 in the context of the [Pegasus Project](https://forbiddenstories.org/about-the-pegasus-project). @@ -186,4 +187,4 @@ It is important to note that Auditor can only effectively detect changes **after No personally identifiable information is submitted to the attestation service. We recommend that you sign up with an anonymous account and enable remote attestation for continuous monitoring. -If your [threat model](basics/threat-modeling.md) requires privacy, you could consider using [Orbot](tor.md#orbot) or a VPN to hide your IP address from the attestation service. +If your [threat model](basics/threat-modeling.md) requires hiding your IP address from the attestation service, you could consider using [Orbot](alternative-networks.md#orbot) or a [VPN](vpn.md). diff --git a/docs/dns.md b/docs/dns.md index 6c98b95b0..bdb7139c7 100644 --- a/docs/dns.md +++ b/docs/dns.md @@ -1,7 +1,7 @@ --- title: "DNS Resolvers" icon: material/dns -description: These are some encrypted DNS providers we recommend switching to, to replace your ISP's default configuration. +description: We recommend choosing these encrypted DNS providers to replace your ISP's default configuration. cover: dns.webp global: - [randomize-element, "table tbody"] @@ -16,23 +16,43 @@ Encrypted DNS with third-party servers should only be used to get around basic [ ## Recommended Providers -These are our favorite public DNS resolvers based on their privacy and security characteristics, and their worldwide performance. Some of these services offer basic DNS-level blocking of malware or trackers depending on the server you choose, but if you want to be able to see and customize what is blocked you should use a dedicated DNS filtering product instead. +These are our favorite public DNS resolvers based on their privacy and security characteristics, and their worldwide performance. Some of these services offer basic DNS-level blocking of malware or trackers depending on the server you choose, but if you want to be able to see and customize what is blocked, you should use a dedicated DNS filtering product instead. | DNS Provider | Protocols | Logging / Privacy Policy | [ECS](advanced/dns-overview.md#what-is-edns-client-subnet-ecs) | Filtering | Signed Apple Profile | |---|---|---|---|---|---| -| [**AdGuard Public DNS**](https://adguard-dns.io/en/public-dns.html) | Cleartext DoH/3 DoT DoQ DNSCrypt | Anonymized[^1] | Anonymized | Based on server choice. Filter list being used can be found here. [:octicons-link-external-24:](https://github.com/AdguardTeam/AdGuardDNS) | Yes [:octicons-link-external-24:](https://adguard-dns.io/en/blog/encrypted-dns-ios-14.html) | -| [**Cloudflare**](https://developers.cloudflare.com/1.1.1.1/setup) | Cleartext DoH/3 DoT | Anonymized[^2] | No | Based on server choice. | No [:octicons-link-external-24:](https://community.cloudflare.com/t/requesting-1-1-1-1-signed-profiles-for-apple/571846) | -| [**Control D Free DNS**](https://controld.com/free-dns) | Cleartext DoH/3 DoT DoQ | No[^3] | No | Based on server choice. | Yes [:octicons-link-external-24:](https://docs.controld.com/docs/macos-platform) | -| [**dns0.eu**](https://dns0.eu) | Cleartext DoH/3 DoH DoT DoQ | Anonymized[^4] | Anonymized | Based on server choice. | Yes [:octicons-link-external-24:](https://dns0.eu/zero.dns0.eu.mobileconfig) | -| [**Mullvad**](https://mullvad.net/en/help/dns-over-https-and-dns-over-tls) | DoH DoT | No[^5] | No | Based on server choice. Filter list being used can be found here. [:octicons-link-external-24:](https://github.com/mullvad/dns-adblock) | Yes [:octicons-link-external-24:](https://mullvad.net/en/blog/profiles-to-configure-our-encrypted-dns-on-apple-devices) | -| [**Quad9**](https://quad9.net) | Cleartext DoH DoT DNSCrypt | Anonymized[^6] | Optional | Based on server choice, malware blocking by default. | Yes [:octicons-link-external-24:](https://quad9.net/news/blog/ios-mobile-provisioning-profiles) | +| [**AdGuard Public DNS**](https://adguard-dns.io/en/public-dns.html) | Cleartext
DoH/3
DoT
DoQ
DNSCrypt | Anonymized[^1] | Anonymized | Based on server choice. Filter list being used can be found here. [:octicons-link-external-24:](https://github.com/AdguardTeam/AdGuardSDNSFilter) | Yes [:octicons-link-external-24:](https://adguard-dns.io/en/blog/encrypted-dns-ios-14.html) | +| [**Cloudflare**](https://developers.cloudflare.com/1.1.1.1/setup) | Cleartext
DoH/3
DoT | Anonymized[^2] | No | Based on server choice. | No [:octicons-link-external-24:](https://community.cloudflare.com/t/requesting-1-1-1-1-signed-profiles-for-apple/571846) | +| [**Control D Free DNS**](https://controld.com/free-dns) | Cleartext
DoH/3
DoT
DoQ | No[^3] | No | Based on server choice. | Yes
[:simple-apple: iOS](https://docs.controld.com/docs/ios-platform)
[:material-apple-finder: macOS](https://docs.controld.com/docs/macos-platform#manual-setup-profile) | +| [**DNS0.eu**](https://dns0.eu) | Cleartext
DoH/3
DoH
DoT
DoQ | Anonymized[^4] | Anonymized | Based on server choice. | Yes [:octicons-link-external-24:](https://dns0.eu/zero.dns0.eu.mobileconfig) | +| [**Mullvad**](https://mullvad.net/en/help/dns-over-https-and-dns-over-tls) | DoH
DoT | No[^5] | No | Based on server choice. Filter list being used can be found here. [:octicons-link-external-24:](https://github.com/mullvad/dns-adblock) | Yes [:octicons-link-external-24:](https://github.com/mullvad/encrypted-dns-profiles) | +| [**Quad9**](https://quad9.net) | Cleartext
DoH
DoT
DNSCrypt | Anonymized[^6] | Optional | Based on server choice. Malware blocking is included by default. | Yes
[:simple-apple: iOS](https://docs.quad9.net/Setup_Guides/iOS/iOS_14_and_later_(Encrypted))
[:material-apple-finder: macOS](https://docs.quad9.net/Setup_Guides/MacOS/Big_Sur_and_later_(Encrypted)) | -[^1]: AdGuard stores aggregated performance metrics of their DNS servers, namely the number of complete requests to a particular server, the number of blocked requests, and the speed of processing requests. They also keep and store the database of domains requested in within last 24 hours. "We need this information to identify and block new trackers and threats." "We also log how many times this or that tracker has been blocked. We need this information to remove outdated rules from our filters." [https://adguard-dns.io/en/privacy.html](https://adguard-dns.io/en/privacy.html) -[^2]: Cloudflare collects and stores only the limited DNS query data that is sent to the 1.1.1.1 resolver. The 1.1.1.1 resolver service does not log personal data, and the bulk of the limited non-personally identifiable query data is stored only for 25 hours. [https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver/](https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver) -[^3]: Control D only logs for Premium resolvers with custom DNS profiles. Free resolvers do not log data. [https://controld.com/privacy](https://controld.com/privacy) -[^4]: dns0.eu collects some data for their threat intelligence feeds, to monitor for newly registered/observed/active domains and other bulk data. That data is shared with some [partners](https://docs.dns0.eu/data-feeds/introduction) for e.g. security research. They do not collect any Personally Identifiable Information. [https://dns0.eu/privacy](https://dns0.eu/privacy) -[^5]: Mullvad's DNS service is available to both subscribers and non-subscribers of Mullvad VPN. Their privacy policy explicitly claims they do not log DNS requests in any way. [https://mullvad.net/en/help/no-logging-data-policy/](https://mullvad.net/en/help/no-logging-data-policy) -[^6]: Quad9 collects some data for the purposes of threat monitoring and response. That data may then be remixed and shared, such as for the purpose of security research. Quad9 does not collect or record IP addresses or other data they deem personally identifiable. [https://quad9.net/privacy/policy](https://quad9.net/privacy/policy) +[^1]: + AdGuard stores aggregated performance metrics of their DNS servers, namely the number of complete requests to a particular server, the number of blocked requests, and the speed of processing requests. They also keep and store the database of domains requested within the last 24 hours. + > We need this information to identify and block new trackers and threats. + > We also log how many times this or that tracker has been blocked. We need this information to remove outdated rules from our filters. + + AdGuard DNS: [*Privacy Policy*](https://adguard-dns.io/en/privacy.html) +[^2]: + Cloudflare collects and stores only the limited DNS query data that is sent to the 1.1.1.1 resolver. The 1.1.1.1 resolver service does not log personal data, and the bulk of the limited non-personally identifiable query data is stored only for 25 hours. + + 1.1.1.1 Public DNS Resolver: [*Cloudflare’s commitment to privacy*](https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver) +[^3]: + Control D only logs specific account data for Premium resolvers with custom DNS profiles. Free resolvers do not retain any data. + + Control D: [*Privacy Policy*](https://controld.com/privacy) +[^4]: + DNS0.eu collects some data for their threat intelligence feeds to monitor for newly registered/observed/active domains and other bulk data. That data is shared with some [partners](https://docs.dns0.eu/data-feeds/introduction) for e.g. security research. They do not collect any personally identifiable information. + + DNS0.eu: [*Privacy Policy*](https://dns0.eu/privacy) +[^5]: + Mullvad's DNS service is available to both subscribers and non-subscribers of Mullvad VPN. Their privacy policy explicitly claims they do not log DNS requests in any way. + + Mullvad: [*No-logging of user activity policy*](https://mullvad.net/en/help/no-logging-data-policy) +[^6]: + Quad9 collects some data for the purposes of threat monitoring and response. That data may then be remixed and shared for purposes like furthering their security research. Quad9 does not collect or record IP addresses or other data they deem personally identifiable. + + Quad9: [*Data and Privacy Policy*](https://quad9.net/privacy/policy) ## Self-Hosted DNS Filtering @@ -91,18 +111,18 @@ These DNS filtering solutions offer a web dashboard where you can customize the [:octicons-home-16: Homepage](https://controld.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://controld.com/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://docs.controld.com/docs/getting-started){ .card-link title=Documentation} +[:octicons-info-16:](https://docs.controld.com/docs/getting-started){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/Control-D-Inc/ctrld){ .card-link title="Source Code" }
Downloads -- [:fontawesome-brands-windows: Windows](https://docs.controld.com/docs/gui-setup-utility) -- [:simple-apple: macOS](https://docs.controld.com/docs/gui-setup-utility) -- [:simple-linux: Linux](https://docs.controld.com/docs/ctrld) - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=com.controld.setuputility) - [:simple-appstore: App Store](https://apps.apple.com/app/1518799460) - [:simple-github: GitHub](https://github.com/Control-D-Inc/ctrld/releases) +- [:fontawesome-brands-windows: Windows](https://docs.controld.com/docs/gui-setup-utility) +- [:simple-apple: macOS](https://docs.controld.com/docs/gui-setup-utility) +- [:simple-linux: Linux](https://docs.controld.com/docs/ctrld)
@@ -118,17 +138,17 @@ These DNS filtering solutions offer a web dashboard where you can customize the [:octicons-home-16: Homepage](https://nextdns.io){ .md-button .md-button--primary } [:octicons-eye-16:](https://nextdns.io/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://help.nextdns.io){ .card-link title=Documentation} +[:octicons-info-16:](https://help.nextdns.io){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/nextdns/nextdns){ .card-link title="Source Code" }
Downloads +- [:simple-appstore: App Store](https://apps.apple.com/app/nextdns/id1463342498) +- [:simple-github: GitHub](https://github.com/nextdns/nextdns/releases) - [:fontawesome-brands-windows: Windows](https://github.com/nextdns/nextdns/wiki/Windows) - [:simple-apple: macOS](https://apps.apple.com/us/app/nextdns/id1464122853) - [:simple-linux: Linux](https://github.com/nextdns/nextdns/wiki) -- [:simple-appstore: App Store](https://apps.apple.com/app/nextdns/id1463342498) -- [:simple-github: GitHub](https://github.com/nextdns/nextdns/releases)
@@ -136,9 +156,9 @@ These DNS filtering solutions offer a web dashboard where you can customize the When used with an account, NextDNS will enable insights and logging features by default (as some features require it). You can choose retention time and log storage location for any logs you choose to keep, or disable logs altogether. -NextDNS's free plan is fully functional, but should not be relied upon for security or other critical filtering applications, because after 300,000 DNS queries in a month all filtering, logging, and other account-based functionality is disabled. It can still be used as a regular DNS provider after that point, so your devices will continue to function and make secure queries via DNS-over-HTTPS, just without your filter lists. +NextDNS's free plan is fully functional, but should not be relied upon for security or other critical filtering applications, because after 300,000 DNS queries in a month all filtering, logging, and other account-based functionality are disabled. It can still be used as a regular DNS provider after that point, so your devices will continue to function and make secure queries via DNS-over-HTTPS (DoH), just without your filter lists. -NextDNS also offers public DNS-over-HTTPS service at `https://dns.nextdns.io` and DNS-over-TLS/QUIC at `dns.nextdns.io`, which are available by default in Firefox and Chromium, and subject to their default no-logging [privacy policy](https://nextdns.io/privacy). +NextDNS also offers a public DoH service at `https://dns.nextdns.io` and DNS-over-TLS/QUIC (DoT/DoQ) at `dns.nextdns.io`, which are available by default in Firefox and Chromium, and subject to their default, no-logging [privacy policy](https://nextdns.io/privacy). ## Encrypted DNS Proxies @@ -151,11 +171,11 @@ Encrypted DNS proxy software provides a local proxy for the [unencrypted DNS](ad ![RethinkDNS logo](assets/img/android/rethinkdns.svg#only-light){ align=right } ![RethinkDNS logo](assets/img/android/rethinkdns-dark.svg#only-dark){ align=right } -**RethinkDNS** is an open-source Android client that supports [DNS-over-HTTPS](advanced/dns-overview.md#dns-over-https-doh), [DNS-over-TLS](advanced/dns-overview.md#dns-over-tls-dot), [DNSCrypt](advanced/dns-overview.md#dnscrypt) and DNS Proxy. It also provides additional functionality such as caching DNS responses, locally logging DNS queries, and using the app as a firewall. +**RethinkDNS** is an open-source Android client that supports [DoH](advanced/dns-overview.md#dns-over-https-doh), [DoT](advanced/dns-overview.md#dns-over-tls-dot), [DNSCrypt](advanced/dns-overview.md#dnscrypt) and DNS Proxy. It also provides additional functionality such as caching DNS responses, locally logging DNS queries, and using the app as a firewall. [:octicons-home-16: Homepage](https://rethinkdns.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://rethinkdns.com/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://docs.rethinkdns.com){ .card-link title=Documentation} +[:octicons-info-16:](https://docs.rethinkdns.com){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/celzero/rethink-app){ .card-link title="Source Code" }
@@ -170,18 +190,18 @@ Encrypted DNS proxy software provides a local proxy for the [unencrypted DNS](ad While RethinkDNS takes up the Android VPN slot, you can still use a VPN or Orbot with the app by [adding a WireGuard configuration](https://docs.rethinkdns.com/proxy/wireguard) or [manually configuring Orbot as a Proxy server](https://docs.rethinkdns.com/firewall/orbot), respectively. -### dnscrypt-proxy +### DNSCrypt-Proxy
-![dnscrypt-proxy logo](assets/img/dns/dnscrypt-proxy.svg){ align=right } +![DNSCrypt-Proxy logo](assets/img/dns/dnscrypt-proxy.svg){ align=right } -**dnscrypt-proxy** is a DNS proxy with support for [DNSCrypt](advanced/dns-overview.md#dnscrypt), [DNS-over-HTTPS](advanced/dns-overview.md#dns-over-https-doh), and [Anonymized DNS](https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Anonymized-DNS). +**DNSCrypt-Proxy** is a DNS proxy with support for [DNSCrypt](advanced/dns-overview.md#dnscrypt), [DoH](advanced/dns-overview.md#dns-over-https-doh), and [Anonymized DNS](https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Anonymized-DNS). -[:octicons-repo-16: Repository](https://github.com/DNSCrypt/dnscrypt-proxy){ .md-button .md-button--primary } -[:octicons-info-16:](https://github.com/DNSCrypt/dnscrypt-proxy/wiki){ .card-link title=Documentation} +[:octicons-repo-16: Repository](https://github.com/DNSCrypt/dnscrypt-proxy#readme){ .md-button .md-button--primary } +[:octicons-info-16:](https://github.com/DNSCrypt/dnscrypt-proxy/wiki){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/DNSCrypt/dnscrypt-proxy){ .card-link title="Source Code" } -[:octicons-heart-16:](https://opencollective.com/dnscrypt/contribute){ .card-link title=Contribute } +[:octicons-heart-16:](https://opencollective.com/dnscrypt/contribute){ .card-link title="Contribute" }
Downloads @@ -205,14 +225,14 @@ The anonymized DNS feature does [not](advanced/dns-overview.md#why-shouldnt-i-us **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. -All DNS products must support: +All DNS products... -- [DNSSEC](advanced/dns-overview.md#what-is-dnssec). -- [QNAME Minimization](advanced/dns-overview.md#what-is-qname-minimization). -- Anonymize [ECS](advanced/dns-overview.md#what-is-edns-client-subnet-ecs) or disable it by default. +- Must support [DNSSEC](advanced/dns-overview.md#what-is-dnssec). +- Must support [QNAME Minimization](advanced/dns-overview.md#what-is-qname-minimization). +- Must anonymize [ECS](advanced/dns-overview.md#what-is-edns-client-subnet-ecs) or disable it by default. -Additionally, all public providers: +Additionally, all public providers... -- Prefer [anycast](https://en.wikipedia.org/wiki/Anycast#Addressing_methods) support or geo-steering support. -- Must not log any personal data to disk - - As noted in our footnotes, some providers collect query information for example, for purposes like security research, but in that case that data must not be associated with any PII such as IP address, etc. +- Must not log any personal data to disk. + - As noted in the footnotes, some providers collect query information for purposes like security research, but in that case the data must not be associated with any PII such as IP address, etc. +- Should support [anycast](https://en.wikipedia.org/wiki/Anycast) or geo-steering. diff --git a/docs/document-collaboration.md b/docs/document-collaboration.md index d9b830f2c..4c31f57aa 100644 --- a/docs/document-collaboration.md +++ b/docs/document-collaboration.md @@ -53,7 +53,7 @@ We don't recommend using the [E2EE App](https://apps.nextcloud.com/apps/end_to_e ![CryptPad logo](assets/img/document-collaboration/cryptpad.svg){ 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" } diff --git a/docs/email-aliasing.md b/docs/email-aliasing.md index a41d30531..5e027f63c 100644 --- a/docs/email-aliasing.md +++ b/docs/email-aliasing.md @@ -9,61 +9,77 @@ cover: email-aliasing.webp - [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown } - [:material-account-search: Public Exposure](basics/common-threats.md#limiting-public-information){ .pg-green } -An **email aliasing service** allows you to easily generate a new email address for every website you register for. The email aliases you generate are then forwarded to an email address of your choosing, hiding both your "main" email address and the identity of your [email provider](email.md). True email aliasing is better than plus addressing commonly used and supported by many providers, which allows you to create aliases like `yourname+[anythinghere]@example.com`, because websites, advertisers, and tracking networks can trivially remove anything after the `+` sign. Organizations like the [IAB](https://en.wikipedia.org/wiki/Interactive_Advertising_Bureau) require that advertisers [normalize email addresses](https://shkspr.mobi/blog/2023/01/the-iab-loves-tracking-users-but-it-hates-users-tracking-them) so that they can be correlated and tracked, regardless of users' privacy wishes. - -
- -- ![addy.io logo](assets/img/email-aliasing/addy.svg){ .twemoji } [addy.io](email-aliasing.md#addyio) -- ![SimpleLogin logo](assets/img/email-aliasing/simplelogin.svg){ .twemoji } [SimpleLogin](email-aliasing.md#simplelogin) - -
+An **email aliasing service** allows you to easily generate a new email address for every website you register for. The email aliases you generate are then forwarded to an email address of your choosing, hiding both your "main" email address and the identity of your [email provider](email.md). Email aliasing can also act as a safeguard in case your email provider ever ceases operation. In that scenario, you can easily re-route your aliases to a new email address. In turn, however, you are placing trust in the aliasing service to continue functioning. -Using a dedicated email aliasing service also has a number of benefits over a catch-all alias on a custom domain: +## Benefits + +Using a service which allows you to individually manage email aliases has a number of benefits over conventional mailbox management/filtering methods: + +### Over Plus Addressing + +True email aliasing is better than plus addressing commonly used and supported by many providers, which allows you to create aliases like `yourname+[anythinghere]@example.com`, because websites, advertisers, and tracking networks can trivially remove anything after the `+` sign. Organizations like the [IAB](https://en.wikipedia.org/wiki/Interactive_Advertising_Bureau) require that advertisers [normalize email addresses](https://shkspr.mobi/blog/2023/01/the-iab-loves-tracking-users-but-it-hates-users-tracking-them) so that they can be correlated and tracked, regardless of users' privacy wishes. + +### Over Catch-All Aliases + +Using a dedicated email aliasing service has a number of benefits over a catch-all alias on a custom domain: - Aliases can be turned on and off individually when you need them, preventing websites from emailing you randomly. - Replies are sent from the alias address, shielding your real email address. -They also have a number of benefits over "temporary email" services: +### Over Temporary Email Services + +Email aliasing services also have a number of benefits over "temporary email" services: - Aliases are permanent and can be turned on again if you need to receive something like a password reset. - Emails are sent to your trusted mailbox rather than stored by the alias provider. - Temporary email services typically have public mailboxes which can be accessed by anyone who knows the address, while aliases are private to you. -Our email aliasing recommendations are providers that allow you to create aliases on domains they control, as well as on your own custom domain(s) for a modest yearly fee. They can also be self-hosted if you want maximum control. However, using a custom domain can have privacy-related drawbacks: If you are the only person using your custom domain, your actions can be easily tracked across websites simply by looking at the domain name in the email address and ignoring everything before the at (@) sign. +## Recommended Providers + +
+ +- ![Addy.io logo](assets/img/email-aliasing/addy.svg){ .twemoji } [Addy.io](email-aliasing.md#addyio) +- ![SimpleLogin logo](assets/img/email-aliasing/simplelogin.svg){ .twemoji } [SimpleLogin](email-aliasing.md#simplelogin) + +
+ +Our email aliasing recommendations are providers that allow you to create aliases on domains they control, as well as on your own custom domain(s) for a modest yearly fee. They can also be self-hosted if you want maximum control. However, using a custom domain can have privacy-related drawbacks: If you are the only person using your custom domain, your actions can be easily tracked across websites simply by looking at the domain name in the email address and ignoring everything before the `@` symbol. Using an aliasing service requires trusting both your email provider and your aliasing provider with your unencrypted messages. Some providers mitigate this slightly with automatic PGP encryption[^1], which reduces the number of parties you need to trust from two to one by encrypting incoming emails before they are delivered to your final mailbox provider. -### addy.io +### Addy.io
-![addy.io logo](assets/img/email-aliasing/addy.svg){ align=right } +![Addy.io logo](assets/img/email-aliasing/addy.svg){ align=right } -**addy.io** lets you create 10 domain aliases on a shared domain for free, or unlimited "standard" aliases. +**Addy.io** lets you create 10 domain aliases on a shared domain for free, or unlimited ["standard" aliases](https://addy.io/faq/#what-is-a-standard-alias). [:octicons-home-16: Homepage](https://addy.io){ .md-button .md-button--primary } [:octicons-eye-16:](https://addy.io/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://addy.io/faq){ .card-link title=Documentation} +[:octicons-info-16:](https://addy.io/faq){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/anonaddy){ .card-link title="Source Code" } -[:octicons-heart-16:](https://addy.io/donate){ .card-link title=Contribute } +[:octicons-heart-16:](https://addy.io/donate){ .card-link title="Contribute" }
Downloads -- [:simple-android: Android](https://addy.io/faq/#is-there-an-android-app) -- [:material-apple-ios: iOS](https://addy.io/faq/#is-there-an-ios-app) +- [:simple-googleplay: Google Play](https://addy.io/faq/#is-there-an-android-app) +- [:simple-appstore: App Store](https://addy.io/faq/#is-there-an-ios-app) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/addy_io) -- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/addyio-anonymous-email-fo/iadbdpnoknmbdeolbapdackdcogdmjpe) +- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/iadbdpnoknmbdeolbapdackdcogdmjpe)
-The number of shared aliases (which end in a shared domain like @addy.io) that you can create is limited to 10 on addy.io's free plan, 50 on their $1/month plan and unlimited on the $4/month plan (billed $3 for a year). You can pay for these plans using [cryptocurrency](https://addy.io/help/subscribing-with-cryptocurrency) or purchase a voucher code from [ProxyStore](https://addy.io/help/voucher-codes), addy.io's official reseller. +The number of shared aliases (which end in a shared domain like `@addy.io`) that you can create depends on the [plan](https://addy.io/#pricing) you are subscribed to. You can pay for these plans using [cryptocurrency](https://addy.io/help/subscribing-with-cryptocurrency) or purchase a voucher code from [ProxyStore](https://addy.io/help/voucher-codes), Addy.io's official reseller. -You can create unlimited standard aliases which end in a domain like @[username].addy.io or a custom domain on paid plans. However, as previously mentioned, this can be detrimental to privacy because people can trivially tie your standard aliases together based on the domain name alone. They are useful where a shared domain might be blocked by a service. Securitum [audited](https://addy.io/blog/addy-io-passes-independent-security-audit) addy.io in September 2023 and no significant vulnerabilities [were identified](https://addy.io/addy-io-security-audit.pdf). +You can create unlimited standard aliases which end in a domain like `@[username].addy.io` or a custom domain on paid plans. However, as previously mentioned, this can be detrimental to privacy because people can trivially tie your standard aliases together based on the domain name alone. They are useful where a shared domain might be blocked by a service. + +Securitum [audited](https://addy.io/blog/addy-io-passes-independent-security-audit) Addy.io in September 2023 and no significant vulnerabilities [were identified](https://addy.io/addy-io-security-audit.pdf). Notable free features: @@ -85,7 +101,7 @@ If you cancel your subscription, you will still enjoy the features of your paid [:octicons-home-16: Homepage](https://simplelogin.io){ .md-button .md-button--primary } [:octicons-eye-16:](https://simplelogin.io/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://simplelogin.io/docs){ .card-link title=Documentation} +[:octicons-info-16:](https://simplelogin.io/docs){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/simple-login){ .card-link title="Source Code" }
@@ -96,18 +112,18 @@ If you cancel your subscription, you will still enjoy the features of your paid - [:simple-github: GitHub](https://github.com/simple-login/Simple-Login-Android/releases) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/simplelogin) - [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/dphilobhebphkdjbpfohgikllaljmgbn) -- [:fontawesome-brands-edge: Edge](https://microsoftedge.microsoft.com/addons/detail/simpleloginreceive-sen/diacfpipniklenphgljfkmhinphjlfff) +- [:fontawesome-brands-edge: Edge](https://microsoftedge.microsoft.com/addons/detail/diacfpipniklenphgljfkmhinphjlfff) - [:simple-safari: Safari](https://apps.apple.com/app/id6475835429)
-SimpleLogin was [acquired by Proton AG](https://proton.me/news/proton-and-simplelogin-join-forces) as of April 8, 2022. If you use Proton Mail for your primary mailbox, SimpleLogin is a great choice. As both products are now owned by the same company you now only have to trust a single entity. We also expect that SimpleLogin will be more tightly integrated with Proton's offerings in the future. SimpleLogin continues to support forwarding to any email provider of your choosing. Securitum [audited](https://simplelogin.io/blog/security-audit) SimpleLogin in early 2022 and all issues [were addressed](https://simplelogin.io/audit2022/web.pdf). +SimpleLogin was [acquired by Proton AG](https://proton.me/news/proton-and-simplelogin-join-forces) as of April 8, 2022. If you use Proton Mail for your primary mailbox, SimpleLogin is a great choice. As both products are now owned by the same company you now only have to trust a single entity. We also expect that SimpleLogin will be more tightly integrated with Proton's offerings in the future. SimpleLogin continues to support forwarding to any email provider of your choosing. -You can link your SimpleLogin account in the settings with your Proton account. If you have Proton Pass Plus, Proton Unlimited, or any multi-user Proton plan, you will have SimpleLogin Premium for free. +You can link your SimpleLogin account in the settings with your Proton account. If you have Proton Pass Plus, Proton Unlimited, or any multi-user Proton plan, you will have SimpleLogin Premium for free. You can also purchase a voucher code for SimpleLogin Premium anonymously via their official reseller [ProxyStore](https://simplelogin.io/faq). -You can also purchase a voucher code for SimpleLogin Premium anonymously via their official reseller, [ProxyStore](https://simplelogin.io/faq). +Securitum [audited](https://simplelogin.io/blog/security-audit) SimpleLogin in early 2022 and all issues [were addressed](https://simplelogin.io/audit2022/web.pdf). Notable free features: @@ -120,6 +136,6 @@ When your subscription ends, all aliases you created will still be able to recei ## Criteria -**Please note we are not affiliated with any of the providers we recommend.** In addition to [our standard criteria](about/criteria.md), we evaluate email aliasing providers to the same standard as our regular [email provider criteria](email.md#criteria) where applicable. We suggest you familiarize yourself with this list before choosing an email service, and conduct your own research to ensure the provider you choose is the right choice for you. +**Please note we are not affiliated with any of the providers we recommend.** In addition to [our standard criteria](about/criteria.md), we evaluate email aliasing providers to the same standard as our regular [email provider criteria](email.md#criteria) where applicable. We suggest you familiarize yourself with this list before choosing an email aliasing service, and conduct your own research to ensure the provider you choose is the right choice for you. [^1]: Automatic PGP encryption allows you to encrypt non-encrypted incoming emails before they are forwarded to your mailbox, making sure your primary mailbox provider never sees unencrypted email content. diff --git a/docs/email-clients.md b/docs/email-clients.md index 90db2b0b4..de11542f6 100644 --- a/docs/email-clients.md +++ b/docs/email-clients.md @@ -9,7 +9,7 @@ cover: email-clients.webp - [:material-server-network: Service Providers](basics/common-threats.md#privacy-from-service-providers){ .pg-teal } - [:material-target-account: Targeted Attacks](basics/common-threats.md#attacks-against-specific-individuals){ .pg-red } -The **email clients** we recommend support both [OpenPGP](encryption.md#openpgp) and strong authentication such as [Open Authorization (OAuth)](https://en.wikipedia.org/wiki/OAuth). OAuth allows you to use [Multi-Factor Authentication](basics/multi-factor-authentication.md) to prevent account theft. +The **email clients** we recommend support both [OpenPGP](encryption.md#openpgp) and strong authentication such as [Open Authorization (OAuth)](basics/account-creation.md#sign-in-with-oauth). OAuth allows you to use [Multi-Factor Authentication](basics/multi-factor-authentication.md) to prevent account theft.
Email does not provide forward secrecy @@ -110,39 +110,6 @@ Currently, GPG Suite does [not yet](https://gpgtools.com/sonoma) have a stable r Apple Mail has the ability to load remote content in the background or block it entirely and hide your IP address from senders on [macOS](https://support.apple.com/guide/mail/mlhl03be2866/mac) and [iOS](https://support.apple.com/guide/iphone/iphf084865c7/ios). -### Canary Mail (iOS) - -
- -![Canary Mail logo](assets/img/email-clients/canarymail.svg){ align=right } - -**Canary Mail** is a paid email client designed to make end-to-end encryption seamless with security features such as a biometric app lock. - -[:octicons-home-16: Homepage](https://canarymail.io){ .md-button .md-button--primary } -[:octicons-eye-16:](https://canarymail.io/privacy.html){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://canarymail.io/help){ .card-link title="Documentation" } - -
-Downloads - -- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=io.canarymail.android) -- [:simple-appstore: App Store](https://apps.apple.com/app/id1155470386) -- [:fontawesome-brands-windows: Windows](https://canarymail.io/downloads.html) -- [:simple-apple: macOS](https://apps.apple.com/app/id1236045954) - -
- -
- -
-Warning - -Canary Mail only recently released a Windows and Android client, though we don't believe they are as stable as their iOS and Mac counterparts. - -
- -Canary Mail is closed-source. We recommend it due to the few choices there are for email clients on iOS that support PGP E2EE. - ### FairEmail (Android)
diff --git a/docs/email.md b/docs/email.md index c546f8926..a15306352 100644 --- a/docs/email.md +++ b/docs/email.md @@ -19,19 +19,19 @@ Email is practically a necessity for using any online service, however we do not For everything else, we recommend a variety of email providers based on sustainable business models and built-in security and privacy features. Read our [full list of criteria](#criteria) for more information. -| Provider | OpenPGP / WKD | IMAP / SMTP | Zero Access Encryption | Anonymous Payments | +| Provider | OpenPGP / WKD | IMAP / SMTP | Zero-Access Encryption | Anonymous Payment Methods | |---|---|---|---|---| | [Proton Mail](#proton-mail) | :material-check:{ .pg-green } | :material-information-outline:{ .pg-blue } Paid plans only | :material-check:{ .pg-green } | Cash | | [Mailbox.org](#mailboxorg) | :material-check:{ .pg-green } | :material-check:{ .pg-green } | :material-information-outline:{ .pg-blue } Mail only | Cash | -| [Tuta](#tuta) | :material-alert-outline:{ .pg-orange } | :material-alert-outline:{ .pg-orange } | :material-check:{ .pg-green } | Monero & Cash via third-party | +| [Tuta](#tuta) | :material-alert-outline:{ .pg-orange } | :material-alert-outline:{ .pg-orange } | :material-check:{ .pg-green } | Monero
Cash via third party | -In addition to (or instead of) an email provider recommended here, you may wish to consider a dedicated [email aliasing service](email-aliasing.md) to protect your privacy. Among other things, these services can help protect your real inbox from spam, prevent marketers from correlating your accounts, and encrypt all incoming messages with PGP. +In addition to (or instead of) an email provider recommended here, you may wish to consider a dedicated [email aliasing service](email-aliasing.md#recommended-providers) to protect your privacy. Among other things, these services can help protect your real inbox from spam, prevent marketers from correlating your accounts, and encrypt all incoming messages with PGP. - [More Information :material-arrow-right-drop-circle:](email-aliasing.md) ## OpenPGP Compatible Services -These providers natively support OpenPGP encryption/decryption and the [Web Key Directory standard](basics/email-security.md#what-is-the-web-key-directory-standard), allowing for provider-agnostic E2EE emails. For example, a Proton Mail user could send an E2EE message to a Mailbox.org user, or you could receive OpenPGP-encrypted notifications from internet services which support it. +These providers natively support OpenPGP encryption/decryption and the [Web Key Directory (WKD) standard](basics/email-security.md#what-is-the-web-key-directory-standard), allowing for provider-agnostic end-to-end encrypted emails. For example, a Proton Mail user could send an E2EE message to a Mailbox.org user, or you could receive OpenPGP-encrypted notifications from internet services which support it.
@@ -45,7 +45,9 @@ These providers natively support OpenPGP encryption/decryption and the [Web Key When using E2EE technology like OpenPGP your email will still have some metadata that is not encrypted in the header of the email, generally including the subject line! Read more about [email metadata](basics/email-security.md#email-metadata-overview). -OpenPGP also does not support Forward secrecy, which means if either your or the recipient's private key is ever stolen, all previous messages encrypted with it will be exposed. [How do I protect my private keys?](basics/email-security.md#how-do-i-protect-my-private-keys) +OpenPGP also does not support forward secrecy, which means if the private key of either you or the message recipient is ever stolen, all previous messages encrypted with it will be exposed. + +- [How do I protect my private keys?](basics/email-security.md#how-do-i-protect-my-private-keys)
@@ -55,7 +57,9 @@ OpenPGP also does not support Forward secrecy, which means if either your or the ![Proton Mail logo](assets/img/email/protonmail.svg){ align=right } -**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. +**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 Free plan comes with 500 MB of Mail storage, which you can increase up to 1 GB for free. [:octicons-home-16: Homepage](https://proton.me/mail){ .md-button .md-button--primary } [:simple-torbrowser:](https://protonmailrmez3lotccipshtkleegetolb73fuirgj7r4o4vfu7ozyd.onion){ .card-link title="Onion Service" } @@ -78,9 +82,9 @@ OpenPGP also does not support Forward secrecy, which means if either your or the
-Free accounts have some limitations, such as not being able to search body text and not having access to [Proton Mail Bridge](https://proton.me/mail/bridge), which is required to use a [recommended desktop email client](email-clients.md) (e.g. Thunderbird). Paid accounts include features like Proton Mail Bridge, additional storage, and custom domain support. A [letter of attestation](https://proton.me/blog/security-audit-all-proton-apps) was provided for Proton Mail's apps on 9th November 2021 by [Securitum](https://research.securitum.com). +Free accounts have some limitations, such as not being able to search body text and not having access to [Proton Mail Bridge](https://proton.me/mail/bridge), which is required to use a [recommended desktop email client](email-clients.md) (e.g., Thunderbird). Paid accounts include features like Proton Mail Bridge, additional storage, and custom domain support. If you have the Proton Unlimited plan or any multi-user Proton plan, you also get [SimpleLogin](email-aliasing.md#simplelogin) Premium for free. -If you have the Proton Unlimited plan or any multi-user Proton plan, you also get [SimpleLogin](email-aliasing.md#simplelogin) Premium for free. +A [letter of attestation](https://proton.me/blog/security-audit-all-proton-apps) was provided for Proton Mail's apps on 9th November 2021 by [Securitum](https://research.securitum.com). Proton Mail has internal crash reports that are **not** shared with third parties. This can be disabled in the web app: :gear: → **All Settings** → **Account** → **Security and privacy** → **Privacy and data collection**. @@ -90,7 +94,7 @@ Paid Proton Mail subscribers can use their own domain with the service or a [cat #### :material-check:{ .pg-green } Private Payment Methods -Proton Mail [accepts](https://proton.me/support/payment-options) cash by mail in addition to standard credit/debit card, [Bitcoin](advanced/payments.md#other-coins-bitcoin-ethereum-etc), and PayPal payments. +Proton Mail [accepts](https://proton.me/support/payment-options) **cash** by mail in addition to standard credit/debit card, [Bitcoin](advanced/payments.md#other-coins-bitcoin-ethereum-etc), and PayPal payments. #### :material-check:{ .pg-green } Account Security @@ -104,9 +108,9 @@ Certain information stored in [Proton Contacts](https://proton.me/support/proton #### :material-check:{ .pg-green } Email Encryption -Proton Mail has [integrated OpenPGP encryption](https://proton.me/support/how-to-use-pgp) in their webmail. Emails to other Proton Mail accounts are encrypted automatically, and encryption to non-Proton Mail addresses with an OpenPGP key can be enabled easily in your account settings. Proton also supports automatic external key discovery with [Web Key Directory (WKD)](https://wiki.gnupg.org/WKD). This means that emails sent to other providers which use WKD will be automatically encrypted with OpenPGP as well, without the need to manually exchange public PGP keys with your contacts. They also allow you to [encrypt messages to non-Proton Mail addresses without OpenPGP](https://proton.me/support/password-protected-emails), without the need for them to sign up for a Proton Mail account. +Proton Mail has [integrated OpenPGP encryption](https://proton.me/support/how-to-use-pgp) in their webmail. Emails to other Proton Mail accounts are encrypted automatically, and encryption to non-Proton Mail addresses with an OpenPGP key can be enabled easily in your account settings. Proton also supports automatic external key discovery with WKD. This means that emails sent to other providers which use WKD will be automatically encrypted with OpenPGP as well, without the need to manually exchange public PGP keys with your contacts. They also allow you to [encrypt messages to non-Proton Mail addresses without OpenPGP](https://proton.me/support/password-protected-emails), without the need for them to sign up for a Proton Mail account. -Proton Mail also publishes the public keys of Proton accounts via HTTP from their WKD. This allows people who don't use Proton Mail to find the OpenPGP keys of Proton Mail accounts easily, for cross-provider E2EE. This only applies to email addresses ending in one of Proton's own domains, like @proton.me. If you use a custom domain, you must [configure WKD](./basics/email-security.md#what-is-the-web-key-directory-standard) separately. +Proton Mail also publishes the public keys of Proton accounts via HTTP from their WKD. This allows people who don't use Proton Mail to find the OpenPGP keys of Proton Mail accounts easily for cross-provider E2EE. This only applies to email addresses ending in one of Proton's own domains, like `@proton.me`. If you use a custom domain, you must [configure WKD](basics/email-security.md#what-is-the-web-key-directory-standard) separately. #### :material-information-outline:{ .pg-blue } Account Termination @@ -114,9 +118,7 @@ If you have a paid account and your [bill is unpaid](https://proton.me/support/d #### :material-information-outline:{ .pg-blue } Additional Functionality -Proton Mail's [Unlimited](https://proton.me/support/proton-plans#proton-unlimited) plan also enables access to other Proton services in addition to providing multiple custom domains, unlimited hide-my-email aliases, and 500 GB of storage. - -Proton Mail doesn't offer a digital legacy feature. +Proton Mail's [Unlimited](https://proton.me/support/proton-plans#proton-unlimited) plan also enables access to other Proton services in addition to providing multiple custom domains, unlimited hide-my-email aliases, and 500 GB of storage. ### Mailbox.org @@ -124,7 +126,9 @@ Proton Mail doesn't offer a digital legacy feature. ![Mailbox.org logo](assets/img/email/mailboxorg.svg){ align=right } -**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. +**Mailbox.org** is an email service with a focus on being secure, ad-free, and 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-home-16: Homepage](https://mailbox.org){ .md-button .md-button--primary } [:octicons-eye-16:](https://mailbox.org/en/data-protection-privacy-policy){ .card-link title="Privacy Policy" } @@ -145,23 +149,23 @@ Mailbox.org lets you use your own domain, and they support [catch-all](https://k #### :material-check:{ .pg-green } Private Payment Methods -Mailbox.org doesn't accept any cryptocurrencies as a result of their payment processor BitPay suspending operations in Germany. However, they do accept cash by mail, cash payment to bank account, bank transfer, credit card, PayPal and a couple of German-specific processors: paydirekt and Sofortüberweisung. +Mailbox.org doesn't accept any cryptocurrencies as a result of their payment processor BitPay suspending operations in Germany. However, they do accept **cash** by mail, **cash** payment to bank account, bank transfer, credit card, PayPal, and a couple of German-specific processors: Paydirekt and Sofortüberweisung. #### :material-check:{ .pg-green } Account Security -Mailbox.org supports [two-factor authentication](https://kb.mailbox.org/en/private/account-article/how-to-use-two-factor-authentication-2fa) for their webmail only. You can use either TOTP or a [YubiKey](https://en.wikipedia.org/wiki/YubiKey) via the [YubiCloud](https://yubico.com/products/services-software/yubicloud). Web standards such as [WebAuthn](https://en.wikipedia.org/wiki/WebAuthn) are not yet supported. +Mailbox.org supports [two-factor authentication](https://kb.mailbox.org/en/private/account-article/how-to-use-two-factor-authentication-2fa) for their webmail only. You can use either TOTP or a [YubiKey](https://en.wikipedia.org/wiki/YubiKey) via the [YubiCloud](https://yubico.com/products/services-software/yubicloud). Web standards such as [WebAuthn](basics/multi-factor-authentication.md#fido-fast-identity-online) are not yet supported. #### :material-information-outline:{ .pg-blue } Data Security Mailbox.org allows for encryption of incoming mail using their [encrypted mailbox](https://kb.mailbox.org/en/private/e-mail-article/your-encrypted-mailbox). New messages that you receive will then be immediately encrypted with your public key. -However, [Open-Exchange](https://en.wikipedia.org/wiki/Open-Xchange), the software platform used by Mailbox.org, [does not support](https://kb.mailbox.org/en/private/security-privacy-article/encryption-of-calendar-and-address-book) the encryption of your address book and calendar. A [standalone option](calendar.md) may be more appropriate for that information. +However, [Open-Xchange](https://en.wikipedia.org/wiki/Open-Xchange), the software platform used by Mailbox.org, [does not support](https://kb.mailbox.org/en/private/security-privacy-article/encryption-of-calendar-and-address-book) the encryption of your address book and calendar. A [standalone option](calendar.md) may be more appropriate for that data. #### :material-check:{ .pg-green } Email Encryption Mailbox.org has [integrated encryption](https://kb.mailbox.org/en/private/e-mail-article/send-encrypted-e-mails-with-guard) in their webmail, which simplifies sending messages to people with public OpenPGP keys. They also allow [remote recipients to decrypt an email](https://kb.mailbox.org/en/private/e-mail-article/my-recipient-does-not-use-pgp) on Mailbox.org's servers. This feature is useful when the remote recipient does not have OpenPGP and cannot decrypt a copy of the email in their own mailbox. -Mailbox.org also supports the discovery of public keys via HTTP from their [Web Key Directory (WKD)](https://wiki.gnupg.org/WKD). This allows people outside of Mailbox.org to find the OpenPGP keys of Mailbox.org accounts easily, for cross-provider E2EE. This only applies to email addresses ending in one of Mailbox.org's own domains, like @mailbox.org. If you use a custom domain, you must [configure WKD](./basics/email-security.md#what-is-the-web-key-directory-standard) separately. +Mailbox.org also supports the discovery of public keys via HTTP from their WKD. This allows people outside of Mailbox.org to find the OpenPGP keys of Mailbox.org accounts easily for cross-provider E2EE. This only applies to email addresses ending in one of Mailbox.org's own domains, like `@mailbox.org`. If you use a custom domain, you must [configure WKD](basics/email-security.md#what-is-the-web-key-directory-standard) separately. #### :material-information-outline:{ .pg-blue } Account Termination @@ -173,7 +177,7 @@ You can access your Mailbox.org account via IMAP/SMTP using their [.onion servic All accounts come with limited cloud storage that [can be encrypted](https://kb.mailbox.org/en/private/drive-article/encrypt-files-on-your-drive). Mailbox.org also offers the alias [@secure.mailbox.org](https://kb.mailbox.org/en/private/e-mail-article/ensuring-e-mails-are-sent-securely), which enforces the TLS encryption on the connection between mail servers, otherwise the message will not be sent at all. Mailbox.org also supports [Exchange ActiveSync](https://en.wikipedia.org/wiki/Exchange_ActiveSync) in addition to standard access protocols like IMAP and POP3. -Mailbox.org has a digital legacy feature for all plans. You can choose whether you want any of your data to be passed to heirs providing that they apply and provide your testament. Alternatively, you can nominate a person by name and address. +Mailbox.org has a digital legacy feature for all plans. You can choose whether you want any of your data to be passed to heirs, providing that they apply and provide your testament. Alternatively, you can nominate a person by name and address. ## More Providers @@ -192,7 +196,9 @@ These providers store your emails with zero-knowledge encryption, making them gr ![Tuta logo](assets/img/email/tuta.svg#only-light){ align=right } ![Tuta logo](assets/img/email/tuta-dark.svg#only-dark){ align=right } -**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. +**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-home-16: Homepage](https://tuta.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://tuta.com/privacy){ .card-link title="Privacy Policy" } @@ -223,7 +229,7 @@ Paid Tuta accounts can use either 15 or 30 aliases depending on their plan and u #### :material-information-outline:{ .pg-blue } Private Payment Methods -Tuta only directly accepts credit cards and PayPal, however [cryptocurrency](cryptocurrency.md) can be used to purchase gift cards via their [partnership](https://tuta.com/support/#cryptocurrency) with ProxyStore. +Tuta only directly accepts credit cards and PayPal, however [**cryptocurrency**](cryptocurrency.md) can be used to purchase gift cards via their [partnership](https://tuta.com/support/#cryptocurrency) with ProxyStore. #### :material-check:{ .pg-green } Account Security @@ -231,7 +237,7 @@ Tuta supports [two-factor authentication](https://tuta.com/support#2fa) with eit #### :material-check:{ .pg-green } Data Security -Tuta has [zero access encryption at rest](https://tuta.com/support#what-encrypted) for your emails, [address book contacts](https://tuta.com/support#encrypted-address-book), and [calendars](https://tuta.com/support#calendar). This means the messages and other data stored in your account are only readable by you. +Tuta has [zero-access encryption at rest](https://tuta.com/support#what-encrypted) for your emails, [address book contacts](https://tuta.com/support#encrypted-address-book), and [calendars](https://tuta.com/support#calendar). This means the messages and other data stored in your account are only readable by you. #### :material-information-outline:{ .pg-blue } Email Encryption @@ -245,89 +251,32 @@ Tuta will [delete inactive free accounts](https://tuta.com/support#inactive-acco Tuta offers the business version of [Tuta to non-profit organizations](https://tuta.com/blog/secure-email-for-non-profit) for free or with a heavy discount. -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. In addition to the "all-in-one" solutions below, we've picked out a few articles that cover a more manual approach: - -- [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 - -
- -![Stalwart logo](assets/img/email/stalwart.svg){ 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" } - -
- -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 - -
- -![Mailcow logo](assets/img/email/mailcow.svg){ align=right } - -**Mailcow** is a more advanced mail server perfect for those with a bit more Linux experience. It has everything you need in a Docker container: a mail server with DKIM support, antivirus and spam monitoring, webmail and ActiveSync with SOGo, and web-based administration with 2FA support. - -[:octicons-home-16: Homepage](https://mailcow.email){ .md-button .md-button--primary } -[:octicons-info-16:](https://docs.mailcow.email){ .card-link title="Documentation" } -[:octicons-code-16:](https://github.com/mailcow/mailcow-dockerized){ .card-link title="Source Code" } -[:octicons-heart-16:](https://servercow.de/mailcow?lang=en#sal){ .card-link title="Contribute" } - -
- -### Mail-in-a-Box - -
- -![Mail-in-a-Box logo](assets/img/email/mail-in-a-box.svg){ align=right } - -**Mail-in-a-Box** is an automated setup script for deploying a mail server on Ubuntu. Its goal is to make it easier for people to set up their own mail server. - -[:octicons-home-16: Homepage](https://mailinabox.email){ .md-button .md-button--primary } -[:octicons-info-16:](https://mailinabox.email/guide.html){ .card-link title="Documentation" } -[:octicons-code-16:](https://github.com/mail-in-a-box/mailinabox){ .card-link title="Source Code" } - -
- ## 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. ### Technology -We regard these features as important in order to provide a safe and optimal service. You should consider whether the provider which has the features you require. +We regard these features as important in order to provide a safe and optimal service. You should consider whether the provider has the features you require. **Minimum to Qualify:** -- Encrypts email account data at rest with zero-access encryption. -- Export capability as [Mbox](https://en.wikipedia.org/wiki/Mbox) or individual .EML with [RFC5322](https://datatracker.ietf.org/doc/rfc5322) standard. +- Must encrypt email account data at rest with zero-access encryption. +- Must be capable of exporting emails as [Mbox](https://en.wikipedia.org/wiki/Mbox) or individual .EML with [RFC5322](https://datatracker.ietf.org/doc/rfc5322) standard. - Allow users to use their own [domain name](https://en.wikipedia.org/wiki/Domain_name). Custom domain names are important to users because it allows them to maintain their agency from the service, should it turn bad or be acquired by another company which doesn't prioritize privacy. -- Operates on owned infrastructure, i.e. not built upon third-party email service providers. +- Must operate on owned infrastructure, i.e. not built upon third-party email service providers. **Best Case:** -- Encrypts all account data (Contacts, Calendars, etc.) at rest with zero-access encryption. -- Integrated webmail E2EE/PGP encryption provided as a convenience. -- Support for [WKD](https://wiki.gnupg.org/WKD) to allow improved discovery of public OpenPGP keys via HTTP. - GnuPG users can get a key by typing: `gpg --locate-key example_user@example.com` -- Support for a temporary mailbox for external users. This is useful when you want to send an encrypted email, without sending an actual copy to your recipient. These emails usually have a limited lifespan and then are automatically deleted. They also don't require the recipient to configure any cryptography like OpenPGP. -- Availability of the email provider's services via an [onion service](https://en.wikipedia.org/wiki/.onion). -- [Sub-addressing](https://en.wikipedia.org/wiki/Email_address#Sub-addressing) support. +- Should encrypt all account data (contacts, calendars, etc.) at rest with zero-access encryption. +- Should provide integrated webmail E2EE/PGP encryption as a convenience. +- Should support WKD to allow improved discovery of public OpenPGP keys via HTTP. GnuPG users can get a key with this command: `gpg --locate-key example_user@example.com`. +- Support for a temporary mailbox for external users. This is useful when you want to send an encrypted email without sending an actual copy to your recipient. These emails usually have a limited lifespan and then are automatically deleted. They also don't require the recipient to configure any cryptography like OpenPGP. +- Should support [sub-addressing](https://en.wikipedia.org/wiki/Email_address#Sub-addressing). +- Should allow users to use their own [domain name](https://en.wikipedia.org/wiki/Domain_name). Custom domain names are important to users because it allows them to maintain their agency from the service, should it turn bad or be acquired by another company which doesn't prioritize privacy. - Catch-all or alias functionality for those who use their own domains. -- Use of standard email access protocols such as IMAP, SMTP, or [JMAP](https://en.wikipedia.org/wiki/JSON_Meta_Application_Protocol). Standard access protocols ensure customers can easily download all of their email, should they want to switch to another provider. +- Should use standard email access protocols such as IMAP, SMTP, or [JMAP](https://en.wikipedia.org/wiki/JSON_Meta_Application_Protocol). Standard access protocols ensure customers can easily download all of their email, should they want to switch to another provider. +- Email provider's services should be available via an [onion service](https://en.wikipedia.org/wiki/.onion). ### Privacy @@ -335,30 +284,30 @@ We prefer our recommended providers to collect as little data as possible. **Minimum to Qualify:** -- Protect sender's IP address, which can involve filtering it from showing in the `Received` header field. -- Don't require personally identifiable information (PII) besides a username and a password. -- Privacy policy that meets the requirements defined by the GDPR. +- Must protect sender's IP address, which can involve filtering it from showing in the `Received` header field. +- Must not require personally identifiable information (PII) besides a username and a password. +- Privacy policy must meet the requirements defined by the GDPR. **Best Case:** -- Accepts [anonymous payment options](advanced/payments.md) ([cryptocurrency](cryptocurrency.md), cash, gift cards, etc.) -- Hosted in a jurisdiction with strong email privacy protection laws. +- Should accept [anonymous payment options](advanced/payments.md) ([cryptocurrency](cryptocurrency.md), cash, gift cards, etc.) +- Should be hosted in a jurisdiction with strong email privacy protection laws. ### Security -Email servers deal with a lot of very sensitive data. We expect that providers will adopt best industry practices in order to protect their customers. +Email servers deal with a lot of very sensitive data. We expect that providers will adopt industry best practices in order to protect their customers. **Minimum to Qualify:** -- Protection of webmail with 2FA, such as TOTP. -- Zero access encryption, which builds on encryption at rest. The provider does not have the decryption keys to the data they hold. This prevents a rogue employee leaking data they have access to or remote adversary from releasing data they have stolen by gaining unauthorized access to the server. +- Protection of webmail with 2FA, such as [TOTP](basics/multi-factor-authentication.md#time-based-one-time-password-totp). +- Zero-access encryption, which builds on encryption at rest. The provider does not have the decryption keys to the data they hold. This prevents a rogue employee leaking data they have access to or remote adversary from releasing data they have stolen by gaining unauthorized access to the server. - [DNSSEC](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions) support. - No TLS errors or vulnerabilities when being profiled by tools such as [Hardenize](https://hardenize.com), [testssl.sh](https://testssl.sh), or [Qualys SSL Labs](https://ssllabs.com/ssltest); this includes certificate related errors and weak DH parameters, such as those that led to [Logjam](https://en.wikipedia.org/wiki/Logjam_(computer_security)). -- A server suite preference (optional on TLSv1.3) for strong cipher suites which support forward secrecy and authenticated encryption. +- A server suite preference (optional on TLS 1.3) for strong cipher suites which support forward secrecy and authenticated encryption. - A valid [MTA-STS](https://tools.ietf.org/html/rfc8461) and [TLS-RPT](https://tools.ietf.org/html/rfc8460) policy. - Valid [DANE](https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities) records. - Valid [SPF](https://en.wikipedia.org/wiki/Sender_Policy_Framework) and [DKIM](https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail) records. -- Have a proper [DMARC](https://en.wikipedia.org/wiki/DMARC) record and policy or use [ARC](https://en.wikipedia.org/wiki/Authenticated_Received_Chain) for authentication. If DMARC authentication is being used, the policy must be set to `reject` or `quarantine`. +- Must have a proper [DMARC](https://en.wikipedia.org/wiki/DMARC) record and policy or use [ARC](https://en.wikipedia.org/wiki/Authenticated_Received_Chain) for authentication. If DMARC authentication is being used, the policy must be set to `reject` or `quarantine`. - A server suite preference of TLS 1.2 or later and a plan for [RFC8996](https://datatracker.ietf.org/doc/rfc8996). - [SMTPS](https://en.wikipedia.org/wiki/SMTPS) submission, assuming SMTP is used. - Website security standards such as: @@ -368,10 +317,10 @@ Email servers deal with a lot of very sensitive data. We expect that providers w **Best Case:** -- Support for hardware authentication, i.e. U2F and [WebAuthn](basics/multi-factor-authentication.md#fido-fast-identity-online). +- Should support hardware authentication, i.e. U2F and [WebAuthn](basics/multi-factor-authentication.md#fido-fast-identity-online). - [DNS Certification Authority Authorization (CAA) Resource Record](https://tools.ietf.org/html/rfc6844) in addition to DANE support. -- Implementation of [Authenticated Received Chain (ARC)](https://en.wikipedia.org/wiki/Authenticated_Received_Chain), which is useful for people who post to mailing lists [RFC8617](https://tools.ietf.org/html/rfc8617). -- Published security audits from a reputable third-party firm. +- Should implement [Authenticated Received Chain (ARC)](https://en.wikipedia.org/wiki/Authenticated_Received_Chain), which is useful for people who post to mailing lists [RFC8617](https://tools.ietf.org/html/rfc8617). +- Published security audits from a reputable, third-party firm. - Bug-bounty programs and/or a coordinated vulnerability-disclosure process. - Website security standards such as: - [Content Security Policy (CSP)](https://en.wikipedia.org/wiki/Content_Security_Policy) @@ -396,18 +345,15 @@ With the email providers we recommend, we like to see responsible marketing. **Minimum to Qualify:** - Must self-host analytics (no Google Analytics, Adobe Analytics, etc.). - -Must not have any irresponsible marketing, which can include the following: - -- Claims of "unbreakable encryption." Encryption should be used with the intention that it may not be secret in the future when the technology exists to crack it. -- Making guarantees of protecting anonymity 100%. When someone makes a claim that something is 100% it means there is no certainty for failure. We know people can quite easily de-anonymize themselves in a number of ways, e.g.: - - - Reusing personal information e.g. (email accounts, unique pseudonyms, etc.) that they accessed without anonymity software (Tor, VPN, etc.) - - [Browser fingerprinting](https://en.wikipedia.org/wiki/Device_fingerprint#Browser_fingerprint) +- Must not have any irresponsible marketing, which can include the following: + - Claims of "unbreakable encryption." Encryption should be used with the intention that it may not be secret in the future when the technology exists to crack it. + - Guarantees of protecting anonymity 100%. When someone makes a claim that something is 100%, it means there is no certainty for failure. We know people can quite easily de-anonymize themselves in a number of ways, e.g.: + - Reusing personal information e.g. (email accounts, unique pseudonyms, etc.) that they accessed without anonymity software such as Tor + - [Browser fingerprinting](https://en.wikipedia.org/wiki/Device_fingerprint#Browser_fingerprint) **Best Case:** -- Clear and easy to read documentation for tasks like setting up 2FA, email clients, OpenPGP, etc. +- Clear and easy-to-read documentation for tasks like setting up 2FA, email clients, OpenPGP, etc. ### Additional Functionality diff --git a/docs/encryption.md b/docs/encryption.md index 17efe69b0..a9d2b801e 100644 --- a/docs/encryption.md +++ b/docs/encryption.md @@ -64,7 +64,7 @@ Cryptomator's documentation details its intended [security target](https://docs. **Picocrypt** is a small and simple encryption tool that provides modern encryption. Picocrypt uses the secure XChaCha20 cipher and the Argon2id key derivation function to provide a high level of security. It uses Go's standard x/crypto modules for its encryption features. -[:octicons-repo-16: Repository](https://github.com/Picocrypt/Picocrypt){ .md-button .md-button--primary } +[:octicons-repo-16: Repository](https://github.com/Picocrypt/Picocrypt#readme){ .md-button .md-button--primary } [:octicons-code-16:](https://github.com/Picocrypt/Picocrypt){ .card-link title="Source Code" } [:octicons-heart-16:](https://opencollective.com/picocrypt){ .card-link title="Contribute" } @@ -206,7 +206,7 @@ We advise against using your iCloud account for recovery; instead, you should se **LUKS** is the default FDE method for Linux. It can be used to encrypt full volumes, partitions, or create encrypted containers. -[:octicons-home-16: Homepage](https://gitlab.com/cryptsetup/cryptsetup/-/blob/main/README.md){ .md-button .md-button--primary } +[:octicons-repo-16: Repository](https://gitlab.com/cryptsetup/cryptsetup#what-the-){ .md-button .md-button--primary } [:octicons-info-16:](https://gitlab.com/cryptsetup/cryptsetup/-/wikis/home){ .card-link title="Documentation" } [:octicons-code-16:](https://gitlab.com/cryptsetup/cryptsetup){ .card-link title="Source Code" } @@ -367,13 +367,6 @@ gpg --quick-gen-key alice@example.com future-default ### GPG Suite -
-

Note

- -We suggest [Canary Mail](email-clients.md#canary-mail-ios) for using PGP with email on iOS devices. - -
-
![GPG Suite logo](assets/img/encryption-software/gpgsuite.png){ align=right } diff --git a/docs/frontends.md b/docs/frontends.md index 20d25318e..7cb988c6d 100644 --- a/docs/frontends.md +++ b/docs/frontends.md @@ -89,7 +89,7 @@ ProxiTok is useful if you want to disable JavaScript in your browser, such as [T There are a number of public instances, with some that offer a [Tor](tor.md) onion service or an [I2P](alternative-networks.md#i2p-the-invisible-internet-project) eepsite. [:octicons-home-16: Homepage](https://invidious.io){ .md-button .md-button--primary } -[:octicons-server-16:](https://instances.invidious.io){ .card-link title="Public Instances" } +[:octicons-server-16:](https://docs.invidious.io/instances){ .card-link title="Public Instances" } [:octicons-info-16:](https://docs.invidious.io){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/iv-org/invidious){ .card-link title="Source Code" } [:octicons-heart-16:](https://invidious.io/donate){ .card-link title="Contribute" } @@ -123,7 +123,7 @@ Invidious is useful if you want to disable JavaScript in your browser, such as [ Piped requires JavaScript in order to function and there are a number of public instances. [:octicons-repo-16: Repository](https://github.com/TeamPiped/Piped){ .md-button .md-button--primary } -[:octicons-server-16:](https://github.com/TeamPiped/Piped/wiki/Instances){ .card-link title="Public Instances" } +[:octicons-server-16:](https://github.com/TeamPiped/documentation/blob/main/content/docs/public-instances/index.md){ .card-link title="Public Instances" } [:octicons-info-16:](https://docs.piped.video/docs){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/TeamPiped/Piped){ .card-link title="Source Code" } [:octicons-heart-16:](https://github.com/TeamPiped/Piped#donations){ .card-link title="Contribute" } @@ -147,7 +147,7 @@ Piped is useful if you want to use [SponsorBlock](https://sponsor.ajay.app) with **FreeTube** is a free and open-source desktop application for [YouTube](https://youtube.com). FreeTube extracts data from YouTube using its built-in API based on [YouTube.js](https://github.com/LuanRT/YouTube.js) or the [Invidious](#invidious) API. You can configure either as the default, with the other serving as a fallback. -When using FreeTube, your subscription list and playlists are saved locally on your device. +When using FreeTube, your subscription list, playlists, watch history and search history are saved locally on your device. [:octicons-home-16: Homepage](https://freetubeapp.io){ .md-button .md-button--primary } [:octicons-eye-16:](https://freetubeapp.io/privacy.php){ .card-link title="Privacy Policy" } diff --git a/docs/health-and-wellness.md b/docs/health-and-wellness.md index ec8b9bc44..3a03eddec 100644 --- a/docs/health-and-wellness.md +++ b/docs/health-and-wellness.md @@ -1,9 +1,9 @@ --- -meta_title: "Privacy Respecting Health and Wellness apps for Android and iOS - Privacy Guides" -title: "Health and Wellness Apps" +meta_title: "Privacy-Respecting Health and Wellness apps for Android and iOS - Privacy Guides" +title: "Health and Wellness" 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 +description: These applications are what we currently recommend for all health- and fitness-related activites on your phone. +cover: health.webp --- Protects against the following threat(s): @@ -15,13 +15,13 @@ Keep track of your health and fitness-related goals with these apps. Unlike thei 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. +### Drip
-![drip logo](assets/img/health-and-wellness/drip.png){ align=right } +![Drip logo](assets/img/health-and-wellness/drip.png){ 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. +**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" } @@ -102,7 +102,7 @@ These general purpose apps can do everything from counting steps and tracking sl
Downloads -- [:simple-android: F-Droid](https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge) +- [:simple-fdroid: F-Droid](https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge)
diff --git a/docs/index.md b/docs/index.md index 04876f841..e7464db43 100644 --- a/docs/index.md +++ b/docs/index.md @@ -113,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. -[: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" } +[: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" }
diff --git a/docs/language-tools.md b/docs/language-tools.md index 160d8923e..bc280d8fc 100644 --- a/docs/language-tools.md +++ b/docs/language-tools.md @@ -9,7 +9,7 @@ cover: language-tools.webp - [:material-server-network: Service Providers](basics/common-threats.md#privacy-from-service-providers){ .pg-teal } - [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown } -Text inputted to grammar, spelling, and style checkers, as well as translation services, can contain sensitive information which may be stored on their servers for an indefinite amount of time and sold to third parties. The language tools listed on this page do not store your submitted text to a server, and can be self-hosted and used offline for maximum control of your data. +Text inputted to grammar, spelling, and style checkers, as well as translation services, can contain sensitive information which may be stored on their servers for an indefinite amount of time and sold to third parties. The language tools listed on this page do not store your submitted text on a server and can be self-hosted and used offline for maximum control of your data. ## LanguageTool @@ -22,7 +22,7 @@ Text inputted to grammar, spelling, and style checkers, as well as translation s [:octicons-home-16: Homepage](https://languagetool.org){ .md-button .md-button--primary } [:octicons-eye-16:](https://languagetool.org/legal/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://languagetooler.freshdesk.com/en/support/solutions){ .card-link title=Documentation} +[:octicons-info-16:](https://languagetooler.freshdesk.com/en/support/solutions){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/languagetool-org){ .card-link title="Source Code" }
@@ -32,7 +32,7 @@ Text inputted to grammar, spelling, and style checkers, as well as translation s - [:fontawesome-brands-windows: Windows](https://languagetool.org/windows-desktop) - [:simple-apple: macOS](https://languagetool.org/mac-desktop) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/languagetool) -- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/grammar-and-spell-checker/oldceeleldhonbafppcapldpdifcinji) +- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/oldceeleldhonbafppcapldpdifcinji) - [:fontawesome-brands-edge: Edge](https://microsoftedge.microsoft.com/addons/detail/hfjadhjooeceemgojogkhlppanjkbobc) - [:simple-safari: Safari](https://apps.apple.com/app/id1534275760) diff --git a/docs/maps.md b/docs/maps.md index f4ea2295f..50896e514 100644 --- a/docs/maps.md +++ b/docs/maps.md @@ -1,6 +1,6 @@ --- meta_title: "Recommended Maps and Navigation Apps - Privacy Guides" -title: "Maps and Navigation" +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 @@ -11,7 +11,7 @@ cover: maps.webp 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. +The recommendations here do not collect personally identifying information (PII) based on each application's privacy policy. There is **no guarantee** that these privacy policies are honored. ## Organic Maps @@ -19,20 +19,20 @@ The recommendations here either do not collect any user data or at least do not ![Organic Maps logo](assets/img/maps/organic-maps.svg){ 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. +**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" } +[:octicons-code-16:](https://git.omaps.dev/organicmaps/organicmaps){ .card-link title="Source Code" }
Downloads -- [: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-forgejo: Forgejo](https://git.omaps.dev/organicmaps/organicmaps/releases) - [:simple-linux: Linux](https://flathub.org/apps/app.organicmaps.desktop)
@@ -47,7 +47,7 @@ Please note that Organic Maps is a simple, basic app that lacks certain features ![OsmAnd logo](assets/img/maps/osmand.svg){ 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. +**OsmAnd** is an open-source, offline map and navigation application based on OpenStreetMap that offers turn-by-turn navigation for walking, cycling, driving, as well as public transport. You can find a detailed overview of OsmAnd's supported [features](https://wiki.openstreetmap.org/wiki/OsmAnd#Features) on the OpenStreet Map Wiki. [: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" } @@ -58,14 +58,29 @@ Please note that Organic Maps is a simple, basic app that lacks certain features Downloads - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=net.osmand) +- [:simple-appstore: App Store](https://apps.apple.com/us/app/id934850257) - [: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)
-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). +
+

Unique User Identifier

+ +OsmAnd generates a [unique user identifier (UUID)](https://osmand.net/docs/legal/terms-of-use/#6-unique-user-indentifier) for each app install that rotates every three months and is used for internal reports and statistics. The UUID is also sent to OsmAnd's servers when downloading maps. On Android, there is a setting that controls whether the UUID is sent with each download request. From the home screen, go to :material-menu: → :gear: **Settings** → :gear: **OsmAnd settings** → :material-web: **Identifiers**. + +- [ ] Uncheck **Send Unique User Identifier (UUID)** + +This setting is not available on the iOS app. + +
+ +The app also includes a setting for sharing anonymous data about your downloaded maps and the features you use. This setting is disabled by default on Android, but enabled by default on iOS. To disable it in the iOS app, tap the :material-menu: on the home screen to find the :gear: **Settings** menu. Select that, then select :gear: **OsmAnd settings**. + +- [ ] Uncheck **Send anonymous data** + +OsmAnd allows you to overlay or underlay external map data, such as satellite images from Microsoft or [traffic data](https://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 diff --git a/docs/meta/admonitions.md b/docs/meta/admonitions.md index af1ab9730..e53b55056 100644 --- a/docs/meta/admonitions.md +++ b/docs/meta/admonitions.md @@ -3,7 +3,7 @@ title: Admonitions description: A guide for website contributors on creating admonitions. --- -**Admonitions** (or "call-outs") are a choice writers can use to include side content in an article without interrupting the document flow. +**Admonitions** (or "call-outs") are tools that writers can use to include side content in an article without interrupting the document flow.

Example Admonition

@@ -41,7 +41,7 @@ ENCLOSED TEXT ``` -The `TITLE` must be specified, if you don't want a specific title you can set it to the same text as the `TYPE` (see below) in title case, e.g. `Note`. The `ENCLOSED TEXT` should be Markdown formatted. +The `TITLE` must be specified; if you don't want a specific title you can set it to the same text as the `TYPE` (see below) in title case, e.g. `Note`. The `ENCLOSED TEXT` should be Markdown formatted. ### Regular types @@ -166,11 +166,11 @@ This format is used to generate recommendation cards. Notably it is missing the ![PhotoPrism logo](assets/img/photo-management/photoprism.svg){ align=right } -**PhotoPrism** is a self-hostable platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include E2EE, so it's best hosted on a server that you trust and is under your control. +**PhotoPrism** is a self-hostable platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include end-to-end encryption, so it's best hosted on a server that you trust and is under your control. [:octicons-home-16: Homepage](https://photoprism.app){ .md-button .md-button--primary } [:octicons-eye-16:](https://photoprism.app/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://photoprism.app/kb){ .card-link title=Documentation} +[:octicons-info-16:](https://photoprism.app/kb){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/photoprism){ .card-link title="Source Code" }
@@ -189,11 +189,11 @@ This format is used to generate recommendation cards. Notably it is missing the ![PhotoPrism logo](../assets/img/photo-management/photoprism.svg){ align=right } -**PhotoPrism** is a self-hostable platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include E2EE, so it's best hosted on a server that you trust and is under your control. +**PhotoPrism** is a self-hostable platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include end-to-end encryption, so it's best hosted on a server that you trust and is under your control. [:octicons-home-16: Homepage](https://photoprism.app){ .md-button .md-button--primary } [:octicons-eye-16:](https://photoprism.app/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://photoprism.app/kb){ .card-link title=Documentation} +[:octicons-info-16:](https://photoprism.app/kb){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/photoprism){ .card-link title="Source Code" }
@@ -209,7 +209,7 @@ This format is used to generate recommendation cards. Notably it is missing the #### `downloads` -This is a special type of collapsible admonition, used to generate the download links section. It is only used within recommendation cards, as shown in the example above. +This is a special type of collapsible admonition which is used to generate sections containing download links. It is only used within recommendation cards, as shown in the example above. ```markdown title="Downloads Section"
@@ -217,7 +217,7 @@ This is a special type of collapsible admonition, used to generate the download - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=ch.protonmail.android) - [:simple-appstore: App Store](https://apps.apple.com/app/id979659905) -- [:simple-github: GitHub](https://github.com/ProtonMail/proton-mail-android/releases) +- [:simple-github: GitHub](https://github.com/ProtonMail/android-mail/releases) - [:fontawesome-brands-windows: Windows](https://proton.me/mail/bridge#download) - [:simple-apple: macOS](https://proton.me/mail/bridge#download) - [:simple-linux: Linux](https://proton.me/mail/bridge#download) @@ -233,7 +233,7 @@ This is a special type of collapsible admonition, used to generate the download - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=ch.protonmail.android) - [:simple-appstore: App Store](https://apps.apple.com/app/id979659905) -- [:simple-github: GitHub](https://github.com/ProtonMail/proton-mail-android/releases) +- [:simple-github: GitHub](https://github.com/ProtonMail/android-mail/releases) - [:fontawesome-brands-windows: Windows](https://proton.me/mail/bridge#download) - [:simple-apple: macOS](https://proton.me/mail/bridge#download) - [:simple-linux: Linux](https://proton.me/mail/bridge#download) @@ -245,7 +245,7 @@ This is a special type of collapsible admonition, used to generate the download ## Old Format -Throughout the site, you may see some admonitions formatted similarly to these examples: +Throughout the site, you may see some admonitions formatted like the following examples: ``` markdown title="Admonition" !!! note @@ -289,6 +289,6 @@ massa, nec semper lorem quam in massa.
-**This format is no longer used going forward,** because it is incompatible with newer versions of our translation software at Crowdin. When adding a new page to the site, only the newer HTML-based format should be used. +**This format is no longer used going forward** because it is incompatible with newer versions of our translation software at Crowdin. When adding a new page to the site, only the newer, HTML-based format should be used. -There is no rush to convert admonitions with the old format to the new format. Pages currently using this formatting should continue to work, but we will be updating them to use the newer HTML-based format above over time as we continue to update the site. +There is no rush to convert admonitions with the old format to the new format. Pages currently using this formatting should continue to work, but we will be updating them to use the newer, HTML-based format above over time as we continue to update the site. diff --git a/docs/meta/pr-comments.md b/docs/meta/pr-comments.md new file mode 100644 index 000000000..84f01658d --- /dev/null +++ b/docs/meta/pr-comments.md @@ -0,0 +1,43 @@ +--- +title: Commenting on PRs +description: A guide on participating in Pull Request discussions. +--- +Please refrain from using the general **Add a comment** box in GitHub PRs when leaving a comment or performing a review. + +![Do not use the general "Add a comment" box in GitHub](../assets/img/meta/pr-avoid-general-comments.png) + +Comments that are left like this are not *threaded*, which makes it difficult to keep track of multiple conversations. + +Comments that are instead left in the manner described below will have a built-in reply box to keep conversations in a single thread. These comments can also be marked as resolved afterwards, so that discussion can be tracked more easily. + +![A screenshot of a comment in GitHub which has a built-in "reply" box, highlighted in orange.](../assets/img/meta/pr-threaded-comment.png) + +## Commenting + +To start a threaded comment, you should leave all comments under the :octicons-file-diff-16: **Files changed** tab in a PR. + +![Screenshot of the tabs for a pull request. The "Files changed" tab is outlined in dark orange.](https://docs.github.com/assets/cb-23571/mw-1440/images/help/pull_requests/pull-request-tabs-changed-files.webp) + +To leave a *general* comment on a PR, click the :octicons-comment-16: comment icon to the right of a file: + +![Screenshot of an image file on the "Files changed" page of a pull request. To the right of the file, a comment icon is outlined in orange.](https://docs.github.com/assets/cb-73771/mw-1440/images/help/pull_requests/pull-request-comment-on-file.webp) + +If the PR has multiple files changed, comment on the primary or most relevant file changed, or comment on the first file if you can't decide. + +To leave a comment *on a specific line* of a PR, hover over the line where you'd like to add a comment, and click the blue comment icon: + +![Screenshot of a diff in a pull request. Next to a line number, a blue plus icon is highlighted with an orange outline.](https://docs.github.com/assets/cb-44227/mw-1440/images/help/commits/hover-comment-icon.webp) + +(Optionally, you can add a comment on multiple lines. You can click the line number of the first line you want to comment on and drag down to select a range of lines, then click the blue comment icon on the last line you want to comment on. Alternatively, you can click the blue comment icon next to the first line you want to comment on, then drag down to the last line you want to comment on.) + +Then, type your comment and click **Add single comment**. + +## Reviewing + +When performing a review, follow the same steps as above, but click **Start a review** (and subsequently, **Add a review comment**) instead of **Add single comment**. + +Then, click the green **Finish your review** button at the top of the page. + +Do not leave any discussion comments in the *Leave a comment* box in the review finalization pop-up. You can leave it blank, or leave a short note if it will not require any follow-up. To comment on something that will require further discussion, add a comment on a file as described above instead. + +Then, click **Submit review**. diff --git a/docs/meta/uploading-images.md b/docs/meta/uploading-images.md index 5ea9570fb..f945a94a3 100644 --- a/docs/meta/uploading-images.md +++ b/docs/meta/uploading-images.md @@ -88,8 +88,8 @@ scour --set-precision=5 \ ### WebP -Use the [cwebp](https://developers.google.com/speed/webp/docs/using) command to convert PNG or JPEG image files to WebP format: +Use the [`cwebp`](https://developers.google.com/speed/webp/docs/using) command to convert PNG or JPEG image files to WebP format: ```bash -cwebp -q 70 -m 6 input_file -o output.webp +cwebp -m 6 input_file -o output.webp ``` diff --git a/docs/mobile-browsers.md b/docs/mobile-browsers.md index b72863ca0..dc1a4b1f5 100644 --- a/docs/mobile-browsers.md +++ b/docs/mobile-browsers.md @@ -1,6 +1,6 @@ --- meta_title: "Privacy Respecting Web Browsers for Android and iOS - Privacy Guides" -title: "Mobile Browsers" +title: Mobile Browsers icon: material/cellphone-information description: These browsers are what we currently recommend for standard/non-anonymous internet browsing on your phone. cover: mobile-browsers.webp @@ -77,6 +77,7 @@ Brave is built upon the Chromium web browser project, so it should feel familiar - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=com.brave.browser) - [:simple-appstore: App Store](https://apps.apple.com/app/id1052879175) - [:simple-github: GitHub](https://github.com/brave/brave-browser/releases) +- [:simple-fdroid: F-Droid](https://brave-browser-apk-release.s3.brave.com/fdroid/repo/index.html) @@ -166,7 +167,7 @@ Shields' options can be downgraded on a per-site basis as needed, but by default - [x] Select **Disable non-proxied UDP** under [*WebRTC IP handling policy*](https://support.brave.com/hc/articles/360017989132-How-do-I-change-my-Privacy-Settings#webrtc) - [x] (Optional) Select **No protection** under *Safe Browsing* (1) - [ ] Uncheck **Allow sites to check if you have payment methods saved** - - [ ] Uncheck **V8 Optimizer** under *Manage V8 security* + - [ ] Uncheck **Javascript optimization & security** under the setting with the same name - [x] Select **Close tabs on exit** - [ ] Uncheck **Allow privacy-preserving product analytics (P3A)** - [ ] Uncheck **Automatically send diagnostic reports** @@ -266,7 +267,7 @@ This disables update checks for the unmaintained Bromite adblock filter. ## Safari (iOS) -On iOS, any app that can browse the web is [restricted](https://developer.apple.com/app-store/review/guidelines) to using an Apple-provided [WebKit framework](https://developer.apple.com/documentation/webkit), so a browser like [Brave](#brave) does not use the Chromium engine like its counterparts on other operating systems. +On iOS, any app that can browse the web is [restricted](https://developer.apple.com/app-store/review/guidelines) to using an Apple-provided [WebKit framework](https://developer.apple.com/documentation/webkit), so a browser like [Brave](#brave) does not use the Blink engine (the core component of Chromium) like its counterparts on other operating systems.
diff --git a/docs/news-aggregators.md b/docs/news-aggregators.md index 54c755d80..2f1ce7c6b 100644 --- a/docs/news-aggregators.md +++ b/docs/news-aggregators.md @@ -41,9 +41,9 @@ A **news aggregator** is software which aggregates digital content from online n ![NewsFlash logo](assets/img/news-aggregators/newsflash.png){ align=right } -**NewsFlash** is an open-source, modern, and easy-to-use news feed reader for Linux. It can be used offline or used with services like [Nextcloud News](https://apps.nextcloud.com/apps/news) or [Inoreader](https://inoreader.com). It has a search feature and a pre-defined list of sources that you can add directly. +**NewsFlash** is an open-source, modern, and easy-to-use news feed reader for Linux. It can be used offline or with services like [Inoreader](https://inoreader.com) or [Nextcloud News](https://apps.nextcloud.com/apps/news). It has a search feature and a pre-defined list of sources that you can add directly. -[:octicons-repo-16: Repository](https://gitlab.com/news-flash/news_flash_gtk){ .md-button .md-button--primary } +[:octicons-repo-16: Repository](https://gitlab.com/news-flash/news_flash_gtk#newsflash){ .md-button .md-button--primary } [:octicons-code-16:](https://gitlab.com/news-flash/news_flash_gtk){ .card-link title="Source Code" }
@@ -61,9 +61,11 @@ A **news aggregator** is software which aggregates digital content from online n ![Feeder logo](assets/img/news-aggregators/feeder.png){ align=right } -**Feeder** is a modern RSS client for Android that has many [features](https://github.com/spacecowboy/Feeder#features) and works well with folders of RSS feeds. It supports [RSS](https://en.wikipedia.org/wiki/RSS), [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)), [RDF](https://en.wikipedia.org/wiki/RDF%2FXML), and [JSON Feed](https://en.wikipedia.org/wiki/JSON_Feed). +**Feeder** is a modern RSS client for Android that has many [features](https://github.com/spacecowboy/Feeder#features) and works well with folders of RSS feeds. -[:octicons-repo-16: Repository](https://github.com/spacecowboy/Feeder){ .md-button .md-button--primary } +It supports [RSS](https://en.wikipedia.org/wiki/RSS), [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)), [RDF](https://en.wikipedia.org/wiki/RDF%2FXML), and [JSON Feed](https://en.wikipedia.org/wiki/JSON_Feed). + +[:octicons-repo-16: Repository](https://github.com/spacecowboy/Feeder#readme){ .md-button .md-button--primary } [:octicons-code-16:](https://github.com/spacecowboy/Feeder){ .card-link title="Source Code" } [:octicons-heart-16:](https://ko-fi.com/spacecowboy){ .card-link title="Contribute" } @@ -84,10 +86,12 @@ A **news aggregator** is software which aggregates digital content from online n ![Miniflux logo](assets/img/news-aggregators/miniflux.svg#only-light){ align=right } ![Miniflux logo](assets/img/news-aggregators/miniflux-dark.svg#only-dark){ align=right } -**Miniflux** is a web-based news aggregator that you can self-host. It supports [RSS](https://en.wikipedia.org/wiki/RSS), [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)), [RDF](https://en.wikipedia.org/wiki/RDF%2FXML), and [JSON Feed](https://en.wikipedia.org/wiki/JSON_Feed). +**Miniflux** is a web-based news aggregator that you can self-host. + +It supports [RSS](https://en.wikipedia.org/wiki/RSS), [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)), [RDF](https://en.wikipedia.org/wiki/RDF%2FXML), and [JSON Feed](https://en.wikipedia.org/wiki/JSON_Feed). [:octicons-home-16: Homepage](https://miniflux.app){ .md-button .md-button--primary } -[:octicons-info-16:](https://miniflux.app/docs/index){ .card-link title="Documentation" } +[:octicons-info-16:](https://miniflux.app/docs/index#user-guide){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/miniflux/v2){ .card-link title="Source Code" } [:octicons-heart-16:](https://miniflux.app/#donations){ .card-link title="Contribute" } @@ -99,7 +103,9 @@ A **news aggregator** is software which aggregates digital content from online n ![NetNewsWire logo](assets/img/news-aggregators/netnewswire.png){ align=right } -**NetNewsWire** is a free and open-source feed reader for macOS and iOS with a focus on a native design and feature set. It supports the typical feed formats alongside built-in support for Reddit feeds. +**NetNewsWire** is a free and open-source feed reader for macOS and iOS with a focus on a native design and feature set. + +It supports conventional feed formats and includes built-in support for Reddit feeds. [:octicons-home-16: Homepage](https://netnewswire.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://netnewswire.com/privacypolicy){ .card-link title="Privacy Policy" } @@ -125,7 +131,7 @@ A **news aggregator** is software which aggregates digital content from online n **Newsboat** is an RSS/Atom feed reader for the text console. It's an actively maintained fork of [Newsbeuter](https://en.wikipedia.org/wiki/Newsbeuter). It is very lightweight and ideal for use over [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell). [:octicons-home-16: Homepage](https://newsboat.org){ .md-button .md-button--primary } -[:octicons-info-16:](https://newsboat.org/releases/2.37/docs/newsboat.html){ .card-link title="Documentation" } +[:octicons-info-16:](https://newsboat.org/releases/2.38/docs/newsboat.html){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/newsboat/newsboat){ .card-link title="Source Code" }
@@ -163,7 +169,7 @@ You can subscribe to YouTube channels without logging in and associating usage i

Example

-To subscribe to a YouTube channel with an RSS client, first look for its [channel code](https://support.google.com/youtube/answer/6180214). The channel code can be found on the about page of the YouTube channel you wish to subscribe to, under: **About** → **Share** → **Copy channel ID**. Replace `[CHANNEL ID]` below: +To subscribe to a YouTube channel with an RSS client, first look for its [channel code](https://support.google.com/youtube/answer/6180214). The channel code can be found in the expanded description (i.e., the "About" section) of the YouTube channel you wish to subscribe to: **About** → **Share channel** → **Copy channel ID**. Replace `[CHANNEL ID]` below: ```text https://youtube.com/feeds/videos.xml?channel_id=[CHANNEL ID] diff --git a/docs/notebooks.md b/docs/notebooks.md index 21cf57b50..9ba7bddf7 100644 --- a/docs/notebooks.md +++ b/docs/notebooks.md @@ -1,7 +1,7 @@ --- title: "Notebooks" icon: material/notebook-edit-outline -description: These encrypted note-taking apps let you keep track of your notes without giving them to a third-party. +description: These encrypted note-taking apps let you keep track of your notes without giving them to a third party. cover: notebooks.webp --- Protects against the following threat(s): @@ -10,7 +10,7 @@ cover: notebooks.webp Keep track of your notes and journals without giving them to a third party. -If you are currently using an application like Evernote, Google Keep, or Microsoft OneNote, we suggest you pick an alternative here that supports E2EE. +If you are currently using an application like Evernote, Google Keep, or Microsoft OneNote, we suggest you pick an alternative here that supports end-to-end encryption. ## Cloud-based @@ -20,13 +20,15 @@ If you are currently using an application like Evernote, Google Keep, or Microso ![Standard Notes logo](assets/img/notebooks/standard-notes.svg){ align=right } -**Standard Notes** is a simple and private notes app that makes your notes easy and available everywhere you are. It features E2EE on every platform, and a powerful desktop experience with themes and custom editors. It has also been [independently audited](https://standardnotes.com/help/2/has-standard-notes-completed-a-third-party-security-audit). +**Standard Notes** is a simple and private notes app that features cross-platform sync for seamless use. It features E2EE on every platform, and a powerful desktop experience with themes and custom editors. + +Standard Notes has also undergone multiple [independent audits](https://standardnotes.com/help/2/has-standard-notes-completed-a-third-party-security-audit). [:octicons-home-16: Homepage](https://standardnotes.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://standardnotes.com/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://standardnotes.com/help){ .card-link title=Documentation} +[:octicons-info-16:](https://standardnotes.com/help){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/standardnotes){ .card-link title="Source Code" } -[:octicons-heart-16:](https://standardnotes.com/donate){ .card-link title=Contribute } +[:octicons-heart-16:](https://standardnotes.com/donate){ .card-link title="Contribute" }
Downloads @@ -37,7 +39,7 @@ If you are currently using an application like Evernote, Google Keep, or Microso - [:fontawesome-brands-windows: Windows](https://standardnotes.com) - [:simple-apple: macOS](https://standardnotes.com) - [:simple-linux: Linux](https://standardnotes.com) -- [:octicons-globe-16: Web](https://app.standardnotes.com) +- [:octicons-browser-16: Web](https://app.standardnotes.com)
@@ -51,13 +53,15 @@ Standard Notes has [joined Proton AG](https://standardnotes.com/blog/joining-for ![Notesnook logo](assets/img/notebooks/notesnook.svg){ align=right } -**Notesnook** is a free (as in speech) & open-source note-taking app focused on user privacy & ease of use. It features end-to-end encryption on all platforms with a powerful sync to take your notes on the go. You can easily import your notes from Evernote, OneNote & a lot of other apps using their [official importer](https://importer.notesnook.com). +**Notesnook** is a free (as in speech), open-source, and easy-to-use E2EE note-taking app focused on user privacy. + +It features sync functionality that allows you to access your notes on multiple platforms. You can easily import your notes from Evernote, OneNote, and other apps using their [official importer](https://importer.notesnook.com). [:octicons-home-16: Homepage](https://notesnook.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://notesnook.com/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://help.notesnook.com){ .card-link title=Documentation} +[:octicons-info-16:](https://help.notesnook.com){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/streetwriters/notesnook){ .card-link title="Source Code" } -[:octicons-heart-16:](https://github.com/streetwriters/notesnook/blob/master/CONTRIBUTING.md){ .card-link title=Contribute } +[:octicons-heart-16:](https://opencollective.com/notesnook){ .card-link title="Contribute" }
Downloads @@ -68,10 +72,10 @@ Standard Notes has [joined Proton AG](https://standardnotes.com/blog/joining-for - [:fontawesome-brands-windows: Windows](https://notesnook.com/downloads) - [:simple-apple: macOS](https://notesnook.com/downloads) - [:simple-linux: Linux](https://notesnook.com/downloads) -- [:simple-firefoxbrowser: Firefox](https://notesnook.com/notesnook-web-clipper) -- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/notesnook-web-clipper/kljhpemdlcnjohmfmkogahelkcidieaj) -- [:octicons-globe-16: Web](https://app.notesnook.com) - [:simple-flathub: Flathub](https://flathub.org/apps/com.notesnook.Notesnook) +- [:simple-firefoxbrowser: Firefox](https://notesnook.com/notesnook-web-clipper) +- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/kljhpemdlcnjohmfmkogahelkcidieaj) +- [:octicons-browser-16: Web](https://app.notesnook.com)
@@ -83,13 +87,15 @@ Standard Notes has [joined Proton AG](https://standardnotes.com/blog/joining-for ![Joplin logo](assets/img/notebooks/joplin.svg){ align=right } -**Joplin** is a free, open-source, and fully-featured note-taking and to-do application which can handle numerous markdown notes organized into notebooks and tags. It offers E2EE and can sync through Nextcloud, Dropbox, and more. It also offers easy import from Evernote and plain-text notes. +**Joplin** is a free, open-source, and fully-featured E2EE note-taking and to-do application which can handle numerous Markdown notes organized into notebooks and tags. + +It can sync through Nextcloud, Dropbox, and more. It also offers easy import from Evernote and plain-text notes. [:octicons-home-16: Homepage](https://joplinapp.org){ .md-button .md-button--primary } [:octicons-eye-16:](https://joplinapp.org/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://joplinapp.org/help){ .card-link title=Documentation} +[:octicons-info-16:](https://joplinapp.org/help){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/laurent22/joplin){ .card-link title="Source Code" } -[:octicons-heart-16:](https://joplinapp.org/donate){ .card-link title=Contribute } +[:octicons-heart-16:](https://joplinapp.org/donate){ .card-link title="Contribute" }
Downloads @@ -101,14 +107,13 @@ Standard Notes has [joined Proton AG](https://standardnotes.com/blog/joining-for - [:simple-apple: macOS](https://joplinapp.org/#desktop-applications) - [:simple-linux: Linux](https://joplinapp.org/#desktop-applications) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/joplin-web-clipper) -- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek) +- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/alofnhikmmkdbbbgpnglcpdollgjjfek)
-Joplin does not [support](https://github.com/laurent22/joplin/issues/289) password/PIN protection for the application itself or individual notes and notebooks. However, your data is still encrypted in transit and at the sync location using your master key. -Since January 2023, Joplin [supports biometrics](https://github.com/laurent22/joplin/commit/f10d9f75b055d84416053fab7e35438f598753e9) app lock for Android and iOS. +Joplin [does not support](https://github.com/laurent22/joplin/issues/289) password/PIN protection for the application itself or individual notes and notebooks. However, your data is still encrypted in transit and at the sync location using your master key. Since January 2023, Joplin [supports biometrics app lock](https://github.com/laurent22/joplin/commit/f10d9f75b055d84416053fab7e35438f598753e9) for Android and iOS. ### Cryptee @@ -117,23 +122,25 @@ Since January 2023, Joplin [supports biometrics](https://github.com/laurent22/jo ![Cryptee logo](./assets/img/notebooks/cryptee.svg#only-light){ align=right } ![Cryptee logo](./assets/img/notebooks/cryptee-dark.svg#only-dark){ align=right } -**Cryptee** is an open-source, web-based E2EE document editor and photo storage application. Cryptee is a PWA, which means that it works seamlessly across all modern devices without requiring native apps for each respective platform. +**Cryptee** is an open-source, web-based E2EE document editor and photo storage application. + +Cryptee offers 100 MB of storage for free, with paid options if you need more. Sign-up doesn't require an e-mail or other personally identifiable information. [:octicons-home-16: Homepage](https://crypt.ee){ .md-button .md-button--primary } [:octicons-eye-16:](https://crypt.ee/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://crypt.ee/help){ .card-link title=Documentation} +[:octicons-info-16:](https://crypt.ee/help){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/cryptee){ .card-link title="Source Code" }
Downloads -- [:octicons-globe-16: PWA](https://crypt.ee/download) +- [:octicons-browser-16: Web](https://crypt.ee/download)
-Cryptee offers 100 MB of storage for free, with paid options if you need more. Sign-up doesn't require an e-mail or other personally identifiable information. +Cryptee is a PWA, which means that it works seamlessly across all modern devices without requiring native apps for each respective platform. ## Local notebooks @@ -143,12 +150,12 @@ Cryptee offers 100 MB of storage for free, with paid options if you need more. ![Org-mode logo](assets/img/notebooks/org-mode.svg){ align=right } -**Org-mode** is a [major mode](https://gnu.org/software/emacs/manual/html_node/elisp/Major-Modes.html) for GNU Emacs. Org-mode is for keeping notes, maintaining to-do lists, planning projects, and authoring documents with a fast and effective plain-text system. Synchronization is possible with [file synchronization](file-sharing.md#file-sync) tools. +**Org-mode** is a [major mode](https://gnu.org/software/emacs/manual/html_node/elisp/Major-Modes.html) for GNU Emacs. Org-mode is for keeping notes, maintaining to-do lists, planning projects, and authoring documents with a fast and effective plain-text system. File synchronization is possible with tools like [Syncthing](file-sharing.md#syncthing-p2p). [:octicons-home-16: Homepage](https://orgmode.org){ .md-button .md-button--primary } -[:octicons-info-16:](https://orgmode.org/manuals.html){ .card-link title=Documentation} +[:octicons-info-16:](https://orgmode.org/manuals.html){ .card-link title="Documentation" } [:octicons-code-16:](https://git.savannah.gnu.org/cgit/emacs/org-mode.git){ .card-link title="Source Code" } -[:octicons-heart-16:](https://liberapay.com/bzg){ .card-link title=Contribute } +[:octicons-heart-16:](https://liberapay.com/bzg){ .card-link title="Contribute" } diff --git a/docs/os/android-overview.md b/docs/os/android-overview.md index 329fb23d9..502b68abb 100644 --- a/docs/os/android-overview.md +++ b/docs/os/android-overview.md @@ -131,7 +131,7 @@ If you have a Google account we suggest enrolling in the [Advanced Protection Pr The Advanced Protection Program provides enhanced threat monitoring and enables: -- Stricter two-factor authentication; e.g. that [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) **must** be used and disallows the use of [SMS OTPs](../basics/multi-factor-authentication.md#sms-or-email-mfa), [TOTP](../basics/multi-factor-authentication.md#time-based-one-time-password-totp) and [OAuth](https://en.wikipedia.org/wiki/OAuth) +- Stricter two-factor authentication; e.g. that [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) **must** be used and disallows the use of [SMS OTPs](../basics/multi-factor-authentication.md#sms-or-email-mfa), [TOTP](../basics/multi-factor-authentication.md#time-based-one-time-password-totp) and [OAuth](../basics/account-creation.md#sign-in-with-oauth) - Only Google and verified third-party apps can access account data - Scanning of incoming emails on Gmail accounts for [phishing](https://en.wikipedia.org/wiki/Phishing#Email_phishing) attempts - Stricter [safe browser scanning](https://google.com/chrome/privacy/whitepaper.html#malware) with Google Chrome @@ -153,7 +153,9 @@ If you have an EOL device shipped with Android 10 or above and are unable to run All devices with Google Play Services installed automatically generate an [advertising ID](https://support.google.com/googleplay/android-developer/answer/6048248) used for targeted advertising. Disable this feature to limit the data collected about you. -On Android distributions with [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), go to :gear: **Settings** → **Apps** → **Sandboxed Google Play** → **Google Settings** → **Ads**, and select *Delete advertising ID*. +On Android distributions with [sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), go to :gear: **Settings** → **Apps** → **Sandboxed Google Play** → **Google Settings** → **All services** → **Ads**. + +- [x] Select **Delete advertising ID** On Android distributions with privileged Google Play Services (which includes the stock installation on most devices), the setting may be in one of several locations. Check diff --git a/docs/os/linux-overview.md b/docs/os/linux-overview.md index 3697ff00d..312cb2a6d 100644 --- a/docs/os/linux-overview.md +++ b/docs/os/linux-overview.md @@ -55,7 +55,7 @@ Distros which use atomic updates, on the other hand, apply updates in full or no The atomic update method can achieve reliability with this model and is used for [distributions](../desktop.md#atomic-distributions) like Silverblue and NixOS. [Adam Šamalík](https://twitter.com/adsamalik) provides a presentation on how `rpm-ostree` works with Silverblue: -- [Let's try Fedora Silverblue — an immutable desktop OS! - Adam Šamalík](https://youtu.be/aMo4ZlWznao) (YouTube) +- [Let's try Fedora Silverblue — an immutable desktop OS! - Adam Šamalík](https://youtu.be/-hpV5l-gJnQ) (YouTube) ### “Security-focused” distributions diff --git a/docs/os/macos-overview.md b/docs/os/macos-overview.md index f5c6e9ae1..621bf71d7 100644 --- a/docs/os/macos-overview.md +++ b/docs/os/macos-overview.md @@ -195,7 +195,7 @@ Just because one of an app's processes is sandboxed doesn't mean they all are. Alternatively, you can check apps before you run them by running this command in the terminal: ``` zsh -% codesign -dvvv --entitlements - +codesign -dvvv --entitlements - ``` If an app is sandboxed, you should see the following output: @@ -215,7 +215,7 @@ The [Hardened Runtime](https://developer.apple.com/documentation/security/harden You can check if an app uses the Hardened Runtime using this command: ``` zsh -codesign --display --verbose /path/to/bundle.app +codesign -dv ``` If Hardened Runtime is enabled, you will see `flags=0x10000(runtime)`. The `runtime` output means Hardened Runtime is enabled. There might be other flags, but the runtime flag is what we're looking for here. diff --git a/docs/passwords.md b/docs/passwords.md index e5b65b283..36010e0e9 100644 --- a/docs/passwords.md +++ b/docs/passwords.md @@ -105,7 +105,7 @@ schema: - "@context": http://schema.org "@type": SoftwareApplication - name: gopass + name: Gopass image: /assets/img/password-management/gopass.svg url: https://gopass.pw applicationCategory: Password Manager @@ -127,14 +127,14 @@ schema: **Password managers** allow you to securely store and manage passwords and other credentials with the use of a master password. -[Introduction to Passwords :material-arrow-right-drop-circle:](./basics/passwords-overview.md) +[Introduction to Passwords :material-arrow-right-drop-circle:](basics/passwords-overview.md)

Info

Built-in password managers in software like browsers and operating systems are sometimes not as good as dedicated password manager software. The advantage of a built-in password manager is good integration with the software, but it can often be very simple and lack privacy and security features that standalone offerings have. -For example, the password manager in Microsoft Edge doesn't offer E2EE at all. Google's password manager has [optional](https://support.google.com/accounts/answer/11350823) E2EE, and [Apple's](https://support.apple.com/HT202303) offers E2EE by default. +For example, the password manager in Microsoft Edge doesn't offer end-to-end encryption at all. Google's password manager has [optional](https://support.google.com/accounts/answer/11350823) E2EE, and [Apple's](https://support.apple.com/HT202303) offers E2EE by default.
@@ -166,15 +166,15 @@ These password managers sync your passwords to a cloud server for easy accessibi - [:simple-linux: Linux](https://bitwarden.com/download) - [:simple-flathub: Flathub](https://flathub.org/apps/details/com.bitwarden.desktop) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/bitwarden-password-manager) -- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb) +- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/nngceckbapebfimnlniiiahkandclblb) - [:fontawesome-brands-edge: Edge](https://microsoftedge.microsoft.com/addons/detail/jbkfoedolllekgbhcbcoahefnbanhhlh) -- [:simple-safari: Safari](https://apps.apple.com/us/app/bitwarden/id1352778147) +- [:simple-safari: Safari](https://apps.apple.com/app/id1352778147) -Bitwarden uses [PBKDF2](https://bitwarden.com/help/kdf-algorithms/#pbkdf2) as its key derivation function (KDF) algorithm by default. It also offers [Argon2](https://bitwarden.com/help/kdf-algorithms/#argon2id), which is more secure, as an alternative. You can change your account's KDF algorithm in the web vault. +Bitwarden uses [PBKDF2](https://bitwarden.com/help/kdf-algorithms/#pbkdf2) as its key derivation function (KDF) algorithm by default. It also offers [Argon2](https://bitwarden.com/help/kdf-algorithms/#argon2id), which is more secure, as an alternative. You can change your account's KDF algorithm in the web vault: - [x] Select **Settings > Security > Keys > KDF algorithm > Argon2id** @@ -204,11 +204,11 @@ Bitwarden's server-side code is [open source](https://github.com/bitwarden/serve Downloads - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=proton.android.pass) -- [:simple-appstore: App Store](https://apps.apple.com/us/app/proton-pass-password-manager/id6443490629) +- [:simple-appstore: App Store](https://apps.apple.com/app/id6443490629) - [:fontawesome-brands-windows: Windows](https://proton.me/pass/download) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/proton-pass) -- [:simple-googlechrome: Chrome](https://chromewebstore.google.com/detail/proton-pass-free-password/ghmbeldphafepmbegfdlkpapadhbakde) -- [:fontawesome-brands-edge: Edge](https://chromewebstore.google.com/detail/proton-pass-free-password/ghmbeldphafepmbegfdlkpapadhbakde) +- [:simple-googlechrome: Chrome](https://chromewebstore.google.com/detail/ghmbeldphafepmbegfdlkpapadhbakde) +- [:fontawesome-brands-edge: Edge](https://microsoftedge.microsoft.com/addons/detail/gcllgfdnfnllodcaambdaknbipemelie) - [:octicons-browser-16: Web](https://pass.proton.me) @@ -229,7 +229,9 @@ All issues were addressed and fixed shortly after the [report](https://res.cloud ![1Password logo](assets/img/password-management/1password.svg){ align=right } -**1Password** is a password manager with a strong focus on security and ease-of-use that allows you to store passwords, passkeys, credit cards, software licenses, and any other sensitive information in a secure digital vault. Your vault is hosted on 1Password's servers for a [monthly fee](https://1password.com/sign-up). 1Password is [audited](https://support.1password.com/security-assessments) on a regular basis and provides exceptional customer support. 1Password is closed source; however, the security of the product is thoroughly documented in their [security white paper](https://1passwordstatic.com/files/security/1password-white-paper.pdf). +**1Password** is a password manager with a strong focus on security and ease-of-use that allows you to store passwords, passkeys, credit cards, software licenses, and any other sensitive information in a secure digital vault. Your vault is hosted on 1Password's servers for a [monthly fee](https://1password.com/sign-up). + +1Password is [audited](https://support.1password.com/security-assessments) on a regular basis and provides exceptional customer support. 1Password is closed source; however, the security of the product is thoroughly documented in their [security white paper](https://1passwordstatic.com/files/security/1password-white-paper.pdf). [:octicons-home-16: Homepage](https://1password.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://1password.com/legal/privacy){ .card-link title="Privacy Policy" } @@ -244,16 +246,16 @@ All issues were addressed and fixed shortly after the [report](https://res.cloud - [:simple-apple: macOS](https://1password.com/downloads/mac) - [:simple-linux: Linux](https://1password.com/downloads/linux) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/1password-x-password-manager) -- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/1password-%E2%80%93-password-mana/aeblfdkhhhdcdjpifhhbdiojplfjncoa) +- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/aeblfdkhhhdcdjpifhhbdiojplfjncoa) - [:fontawesome-brands-edge: Edge](https://microsoftedge.microsoft.com/addons/detail/dppgmdbiimibapkepcbdbmkaabgiofem) -- [:simple-safari: Safari](https://apps.apple.com/us/app/1password-for-safari/id1569813296) +- [:simple-safari: Safari](https://apps.apple.com/app/id1569813296) - [:octicons-browser-16: Web](https://my.1password.com/signin) -Traditionally, 1Password has offered the best password manager user experience for people using macOS and iOS; however, it has now achieved feature parity across all platforms. 1Password's clients boast many features geared towards families and less technical people, such as an intuitive UI for ease of use and navigation, as well as advanced functionality. Notably, nearly every feature of 1Password is available within its native mobile or desktop clients. +Traditionally, 1Password has offered the best password manager user experience for people using macOS and iOS; however, it has now achieved feature parity across all platforms. 1Password's clients boast many features geared towards families and less technical people, such as an intuitive UI for ease-of-use and navigation, as well as advanced functionality. Notably, nearly every feature of 1Password is available within its native mobile or desktop clients. Your 1Password vault is secured with both your master password and a randomized 34-character security key to encrypt your data on their servers. This security key adds a layer of protection to your data because your data is secured with high entropy regardless of your master password. Many other password manager solutions are entirely reliant on the strength of your master password to secure your data. @@ -276,7 +278,7 @@ Your 1Password vault is secured with both your master password and a randomized - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=com.psono.psono) - [:simple-appstore: App Store](https://apps.apple.com/app/id1545581224) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/psono-pw-password-manager) -- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/psonopw-password-manager/eljmjmgjkbmpmfljlmklcfineebidmlo) +- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/eljmjmgjkbmpmfljlmklcfineebidmlo) - [:simple-docker: Docker Hub](https://hub.docker.com/r/psono/psono-client) @@ -330,9 +332,9 @@ These options allow you to manage an encrypted password database locally. - [:fontawesome-brands-windows: Windows](https://keepassxc.org/download/#windows) - [:simple-apple: macOS](https://keepassxc.org/download/#mac) - [:simple-linux: Linux](https://keepassxc.org/download/#linux) -- [:simple-flathub: Flatpak](https://flathub.org/apps/details/org.keepassxc.KeePassXC) +- [:simple-flathub: Flathub](https://flathub.org/apps/details/org.keepassxc.KeePassXC) - [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/keepassxc-browser) -- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/keepassxc-browser/oboonakemofpalcgghocfoadofidjkkk) +- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/oboonakemofpalcgghocfoadofidjkkk) @@ -346,7 +348,7 @@ KeePassXC stores its export data as [CSV](https://en.wikipedia.org/wiki/Comma-se ![KeePassDX logo](assets/img/password-management/keepassdx.svg){ align=right } -**KeePassDX** is a lightweight password manager for Android; it allows for editing encrypted data in a single file in KeePass format and can fill in forms securely. The [pro version](https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro) of the app allows you to unlock cosmetic content and non-standard protocol features, but more importantly, it helps and encourages development. +**KeePassDX** is a lightweight password manager for Android; it allows for editing encrypted data in a single file in KeePass format and can fill in forms securely. [:octicons-home-16: Homepage](https://keepassdx.com){ .md-button .md-button--primary } [:octicons-info-16:](https://github.com/Kunzisoft/KeePassDX/wiki){ .card-link title="Documentation" } @@ -363,13 +365,15 @@ KeePassXC stores its export data as [CSV](https://en.wikipedia.org/wiki/Comma-se -### gopass (CLI) +The [pro version](https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro) of the app allows you to unlock cosmetic content and non-standard protocol features, but more importantly, it helps and encourages development. + +### Gopass (CLI)
-![gopass logo](assets/img/password-management/gopass.svg){ align=right } +![Gopass logo](assets/img/password-management/gopass.svg){ align=right } -**gopass** is a minimal password manager for the command line written in Go. It can be used within scripting applications and works on all major desktop and server operating systems. +**Gopass** is a minimal password manager for the command line written in Go. It can be used within scripting applications and works on all major desktop and server operating systems. [:octicons-home-16: Homepage](https://gopass.pw){ .md-button .md-button--primary } [:octicons-info-16:](https://github.com/gopasspw/gopass/tree/master/docs){ .card-link title="Documentation" } diff --git a/docs/pastebins.md b/docs/pastebins.md index 4f4e37d04..bf033ed2d 100644 --- a/docs/pastebins.md +++ b/docs/pastebins.md @@ -16,11 +16,11 @@ cover: pastebins.webp ![PrivateBin logo](assets/img/pastebins/privatebin.svg){ align=right } -**PrivateBin** is a minimalist, open-source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256-bit AES. It is the improved version of ZeroBin. +**PrivateBin** is a minimalist, open-source, online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256-bit AES. It is the improved version of ZeroBin. [:octicons-home-16: Homepage](https://privatebin.info){ .md-button .md-button--primary } [:octicons-server-16:](https://privatebin.info/directory){ .card-link title="Public Instances"} -[:octicons-info-16:](https://github.com/PrivateBin/PrivateBin/wiki/FAQ){ .card-link title=Documentation} +[:octicons-info-16:](https://github.com/PrivateBin/PrivateBin/wiki/FAQ){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/PrivateBin/PrivateBin){ .card-link title="Source Code" }
@@ -48,11 +48,11 @@ cover: pastebins.webp ### Minimum Requirements - Must be open source. -- Must implement "zero-trust" end-to-end encryption. +- Must implement "zero-trust" E2EE. - Must support password-protected files. ### 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. -- Should have a published audit from a reputable, independent third-party. +- Should have a published audit from a reputable, independent third party. diff --git a/docs/photo-management.md b/docs/photo-management.md index 4bf2fc0ed..17d44ab92 100644 --- a/docs/photo-management.md +++ b/docs/photo-management.md @@ -1,7 +1,7 @@ --- -title: "Photo Management" +title: Photo Management icon: material/image -description: Photo management tools to keep your personal photos safe from the prying eyes of cloud storage providers and other unauthorized access. +description: These photo management tools keep your personal photos safe from the prying eyes of cloud storage providers and other unauthorized parties. cover: photo-management.webp --- Protects against the following threat(s): @@ -15,59 +15,34 @@ Most cloud **photo management solutions** like Google Photos, Flickr, and Amazon
-![Ente logo](assets/img/photo-management/ente.svg#only-light){ align=right } -![Ente logo](assets/img/photo-management/ente-dark.svg#only-dark){ align=right } +![Ente logo](assets/img/photo-management/ente.svg){ align=right } -**Ente Photos** is an end-to-end encrypted photo backup service which supports automatic backups on iOS and Android. Their code is fully open-source, both on the client side and on the server side. It is also [self-hostable](https://github.com/ente-io/ente/tree/main/server#self-hosting). The free plan offers 5 GB of storage as long as you use the service at least once a year. +**Ente Photos** is an end-to-end encrypted photo backup service which supports automatic backups on iOS and Android. Their code is fully open source, both on the client side and on the server side. It is also [self-hostable](https://github.com/ente-io/ente/tree/main/server#self-hosting). + +The free plan offers 10 GB of storage as long as you use the service at least once a year. [:octicons-home-16: Homepage](https://ente.io){ .md-button .md-button--primary } [:octicons-eye-16:](https://ente.io/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://ente.io/faq){ .card-link title=Documentation} +[:octicons-info-16:](https://ente.io/faq){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/ente-io/ente){ .card-link title="Source Code" }
Downloads - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=io.ente.photos) -- [:simple-android: Android](https://ente.io/download) - [:simple-appstore: App Store](https://apps.apple.com/app/id1542026904) - [:simple-github: GitHub](https://github.com/ente-io/ente/releases?q=photos) +- [:simple-android: Android](https://ente.io/download) - [:fontawesome-brands-windows: Windows](https://ente.io/download) - [:simple-apple: macOS](https://ente.io/download) - [:simple-linux: Linux](https://ente.io/download) -- [:octicons-globe-16: Web](https://web.ente.io) +- [:octicons-browser-16: Web](https://web.ente.io)
-Ente Photos underwent an [audit by Cure53](https://ente.io/blog/cryptography-audit) in March 2023 and by [Fallible](https://ente.io/reports/Fallible-Audit-Report-19-04-2023.pdf) in April 2023. - -## Stingle - -
- -![Stingle logo](assets/img/photo-management/stingle.png#only-light){ align=right } -![Stingle logo](assets/img/photo-management/stingle-dark.png#only-dark){ align=right } - -**Stingle** is a gallery and camera application with built-in, end-to-end encrypted backup and sync functionality for your photos and videos. Storage starts at 1 GB for free accounts on their cloud, or you can host your own Stingle API server for total independence. - -[:octicons-home-16: Homepage](https://stingle.org){ .md-button .md-button--primary } -[:octicons-eye-16:](https://stingle.org/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://stingle.org/faq){ .card-link title=Documentation} -[:octicons-code-16:](https://github.com/stingle){ .card-link title="Source Code" } - -
-Downloads - -- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=org.stingle.photos) -- [:simple-android: Android](https://f-droid.org/en/packages/org.stingle.photos) -- [:simple-appstore: App Store](https://apps.apple.com/app/id1582535448) -- [:simple-github: GitHub](https://github.com/stingle/stingle-photos-android/releases) - -
- -
+Ente Photos underwent an audit by [Cure53](https://ente.io/blog/cryptography-audit) in March 2023 and by [Fallible](https://ente.io/reports/Fallible-Audit-Report-19-04-2023.pdf) in April 2023. ## PhotoPrism @@ -97,7 +72,7 @@ Ente Photos underwent an [audit by Cure53](https://ente.io/blog/cryptography-aud ### Minimum Requirements -- Cloud-hosted providers must enforce end-to-end encryption. +- Cloud-hosted providers must enforce E2EE. - Must offer a free plan or trial period for testing. - Must support TOTP or FIDO2 multifactor authentication, or passkey logins. - Must offer a web interface which supports basic file management functionality. @@ -106,4 +81,4 @@ Ente Photos underwent an [audit by Cure53](https://ente.io/blog/cryptography-aud ### Best Case -- Should have a published audit from a reputable, independent third-party. +- Should have a published audit from a reputable, independent third party. diff --git a/docs/privacy.md b/docs/privacy.md index 6b481d910..5c20c1ab1 100644 --- a/docs/privacy.md +++ b/docs/privacy.md @@ -4,7 +4,7 @@ description: We do not sell or share your data with any third-parties. --- ## What is Privacy Guides? -Privacy Guides is a community project operated by a number of active contributors. The public list of team members [can be found on our forum](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all). Privacy Guides is legally administered by [MAGIC Grants](https://magicgrants.org/), a 501(c)(3) public charity acting as our fiscal host. +Privacy Guides is a community project operated by a number of active contributors. The public list of team members [can be found on our forum](https://discuss.privacyguides.net/u?group=team&order=solutions&period=all). Privacy Guides is legally administered by [MAGIC Grants](https://magicgrants.org), a 501(c)(3) public charity acting as our fiscal host. As a project, we make available to the public: @@ -173,7 +173,7 @@ Privacy Guides does not respond to the (now deprecated) [Do Not Track HTTP heade ## Where does Privacy Guides store data about me? -Most data is hosted by [Triplebit](https://www.triplebit.org/) web services in the United States. +Most data is hosted by [Triplebit](https://www.triplebit.org) web services in the United States. Some publicly accessible data may be hosted by Content Delivery Networks with servers in other jurisdictions. For example, your profile picture may be stored on multiple servers around the world in order to improve the performance for visitors to our website. @@ -288,16 +288,16 @@ Privacy Guides uses the following subprocessors, and may share personal data wit | Subprocessor | Service | Function | Processing | Links | | ------------ | ------- | -------- | ---------- | ----- | -| [Bunny.net](https://bunny.net/) (Slovenia) | [Bunny CDN](https://bunny.net/cdn/) | Content Delivery Network services for distributing images and other static assets. | Slovenia, Global | [Privacy Notice](https://bunny.net/privacy/), [GDPR Center](https://bunny.net/gdpr/) | -| [Cloudflare](https://www.cloudflare.com/) (USA) | [Authoritative DNS](https://www.cloudflare.com/application-services/products/dns/) | Authoritative DNS services for our domain names. | USA, Global | [Privacy Notice](https://www.cloudflare.com/privacypolicy/), [GDPR Center](https://www.cloudflare.com/trust-hub/gdpr/) | +| [Bunny.net](https://bunny.net) (Slovenia) | [Bunny CDN](https://bunny.net/cdn) | Content Delivery Network services for distributing images and other static assets. | Slovenia, Global | [Privacy Notice](https://bunny.net/privacy), [GDPR Center](https://bunny.net/gdpr) | +| [Cloudflare](https://cloudflare.com) (USA) | [Authoritative DNS](https://cloudflare.com/application-services/products/dns) | Authoritative DNS services for our domain names. | USA, Global | [Privacy Notice](https://cloudflare.com/privacypolicy), [GDPR Center](https://cloudflare.com/trust-hub/gdpr) | | [Fediverse Communications LLC](https://fediverse.us) (USA) | PeerTube | For hosting public videos produced by Privacy Guides which are shared or embedded on this website. | USA | [More information](https://neat.tube/about/instance) | -| [GitHub](https://github.com/) (USA) | Git Repositories | *For visitors to this website*: sharing information with our visitors about the current release, repo star count, etc. | USA | [Privacy Notice](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement) | -| [GitHub](https://github.com/) (USA) | Git Repositories, Issues, Pull Requests | *For contributors to this website*: hosting our source code and communications platforms such as our issues tracker. | USA | [Privacy Notice](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement) | -| [GitHub](https://github.com/) (USA) | [Sponsors](https://github.com/sponsors/privacyguides) | For collecting payments for gifts to Privacy Guides | USA | [Privacy Notice](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement) | +| [GitHub](https://github.com) (USA) | Git Repositories | *For visitors to this website*: sharing information with our visitors about the current release, repo star count, etc. | USA | [Privacy Notice](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement) | +| [GitHub](https://github.com) (USA) | Git Repositories, Issues, Pull Requests | *For contributors to this website*: hosting our source code and communications platforms such as our issues tracker. | USA | [Privacy Notice](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement) | +| [GitHub](https://github.com) (USA) | [Sponsors](https://github.com/sponsors/privacyguides) | For collecting payments for gifts to Privacy Guides | USA | [Privacy Notice](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement) | | [Stripe](https://stripe.com) (USA) | Connect | *For certain donations via GitHub Sponsors*: payment processing for donations | USA | [Privacy Notice](https://stripe.com/privacy), [GDPR Center](https://stripe.com/legal/privacy-center) | -| [Triplebit](https://www.triplebit.org/) (USA) | Object Storage | For hosting static websites and static media content, and distributing static content | USA, Poland | [Privacy Notice](https://www.triplebit.org/privacy/) | -| [Triplebit](https://www.triplebit.org/) (USA) | [Umami Statistics](https://stats.triplebit.net/share/S80jBc50hxr5TquS/www.privacyguides.org) | For compiling aggregated statistics of our website visitor data based on server-side visitor info submissions | USA | [Privacy Notice](https://www.triplebit.org/privacy/) | -| [Triplebit](https://www.triplebit.org/) (USA) | Virtual Private Servers | For hosting our dynamic websites, storing and processing personal data. | USA | [Privacy Notice](https://www.triplebit.org/privacy/) | +| [Triplebit](https://www.triplebit.org) (USA) | Object Storage | For hosting static websites and static media content, and distributing static content | USA, Poland | [Privacy Notice](https://www.triplebit.org/privacy) | +| [Triplebit](https://www.triplebit.org) (USA) | [Umami Statistics](https://stats.triplebit.net/share/S80jBc50hxr5TquS/www.privacyguides.org) | For compiling aggregated statistics of our website visitor data based on server-side visitor info submissions | USA | [Privacy Notice](https://www.triplebit.org/privacy) | +| [Triplebit](https://www.triplebit.org) (USA) | Virtual Private Servers | For hosting our dynamic websites, storing and processing personal data. | USA | [Privacy Notice](https://www.triplebit.org/privacy) | ## Does Privacy Guides delete inactive accounts? diff --git a/docs/real-time-communication.md b/docs/real-time-communication.md index c30235d58..6c9afc006 100644 --- a/docs/real-time-communication.md +++ b/docs/real-time-communication.md @@ -1,6 +1,6 @@ --- meta_title: "The Best Private Instant Messengers - Privacy Guides" -title: "Real-Time Communication" +title: Real-Time Communication icon: material/chat-processing description: Encrypted messengers like Signal and SimpleX keep your sensitive communications secure from prying eyes. cover: real-time-communication.webp @@ -12,21 +12,17 @@ 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 come in the form of many [types of communication networks](./advanced/communication-network-types.md). +These recommendations for encrypted **real-time communication** are great for securing your sensitive communications. These instant messengers come in the form of many [types of communication networks](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 } +[: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 - -These messengers are great for securing your sensitive communications. - -### Signal +## Signal
![Signal logo](assets/img/messengers/signal.svg){ align=right } -**Signal** is a mobile app developed by Signal Messenger LLC. The app provides instant messaging and calls secured with the Signal Protocol, an extremely secure encryption protocol which supports forward secrecy[^1] and post-compromise security.[^2] +**Signal** is a mobile app developed by Signal Messenger LLC. The app provides instant messaging and calls secured with the Signal protocol, an extremely secure encryption protocol which supports forward secrecy[^1] and post-compromise security.[^2] [:octicons-home-16: Homepage](https://signal.org){ .md-button .md-button--primary } [:octicons-eye-16:](https://signal.org/legal/#privacy-policy){ .card-link title="Privacy Policy" } @@ -53,22 +49,23 @@ Signal requires your phone number for registration, however you should create a 1. In Signal, open the app's settings and tap your account profile at the top. 2. Tap **Username** and choose **Continue** on the "Set up your Signal username" screen. -3. Enter a username. Your username will always be paired with a unique set of digits to keep your username unique and prevent people from guessing it, for example if you enter "John" your username might end up being `@john.35`. By default, only 2 digits are paired with your username when you create it, but you can add more digits until you reach the username length limit (32 characters). +3. Enter a username. Your username will always be paired with a unique set of digits to keep your username unique and prevent people from guessing it. For example if you enter "John" your username might end up being `@john.35`. By default, only 2 digits are paired with your username when you create it, but you can add more digits until you reach the username length limit (32 characters). 4. Go back to the main app settings page and select **Privacy**. -5. Select **Phone Number** -6. Change the **Who Can See My Number** setting to: **Nobody** - -You can optionally change the **Who Can Find Me By Number** setting to **Nobody** as well, if you want to prevent people who already have your phone number from discovering your Signal account/username. - -Contact lists on Signal are encrypted using your Signal PIN and the server does not have access to them. Personal profiles are also encrypted and only shared with contacts you chat with. Signal supports [private groups](https://signal.org/blog/signal-private-group-system), where the server has no record of your group memberships, group titles, group avatars, or group attributes. Signal has minimal metadata when [Sealed Sender](https://signal.org/blog/sealed-sender) is enabled. The sender address is encrypted along with the message body, and only the recipient address is visible to the server. Sealed Sender is only enabled for people in your contacts list, but can be enabled for all recipients with the increased risk of receiving spam. - -The protocol was independently [audited](https://eprint.iacr.org/2016/1013.pdf) in 2016. The specification for the Signal protocol can be found in their [documentation](https://signal.org/docs). +5. Select **Phone Number**. +6. Change the **Who Can See My Number** setting to **Nobody**. +7. (Optional) Change the **Who Can Find Me By Number** setting to **Nobody** as well, if you want to prevent people who already have your phone number from discovering your Signal account/username We have some additional tips on configuring and hardening your Signal installation: [Signal Configuration and Hardening :material-arrow-right-drop-circle:](https://blog.privacyguides.org/2022/07/07/signal-configuration-and-hardening) -#### Molly (Android) +Contact lists on Signal are encrypted using your Signal PIN and the server does not have access to them. Personal profiles are also encrypted and only shared with contacts you chat with. + +Signal supports [private groups](https://signal.org/blog/signal-private-group-system), where the server has no record of your group memberships, group titles, group avatars, or group attributes. Signal has minimal metadata when [Sealed Sender](https://signal.org/blog/sealed-sender) is enabled. The sender address is encrypted along with the message body, and only the recipient address is visible to the server. Sealed Sender is only enabled for people in your contacts list, but can be enabled for all recipients with the increased risk of receiving spam. + +The protocol was independently [audited](https://eprint.iacr.org/2016/1013.pdf) in 2016. The specification for the Signal protocol can be found in their [documentation](https://signal.org/docs). + +### Molly (Android) If you use Android and your threat model requires protecting against [:material-target-account: Targeted Attacks](basics/common-threats.md#attacks-against-specific-individuals){ .pg-red } you may consider using this alternative app, which features a number of security and usability improvements, to access the Signal network. @@ -76,7 +73,7 @@ If you use Android and your threat model requires protecting against [:material- ![Molly logo](assets/img/messengers/molly.svg){ align=right } -**Molly** is an alternative Signal client for Android which allows you to encrypt the local database with a passphrase at rest, to have unused RAM data securely shredded, to route your connection via Tor, and [more](https://blog.privacyguides.org/2022/07/07/signal-configuration-and-hardening#privacy-and-security-features). It also has usability improvements including scheduled backups, automatic locking, [UnifiedPush](https://unifiedpush.org) support, and the ability to use your Android phone as a linked device instead of the primary device for a Signal account. +**Molly** is an alternative Signal client for Android which allows you to encrypt the local database with a passphrase at rest, to have unused RAM data securely shredded, to route your connection via Tor, and [more](https://blog.privacyguides.org/2022/07/07/signal-configuration-and-hardening#privacy-and-security-features). It also has usability improvements including scheduled backups, automatic locking, and the ability to use your Android phone as a linked device instead of the primary device for a Signal account. [:octicons-home-16: Homepage](https://molly.im){ .md-button .md-button--primary } [:octicons-eye-16:](https://signal.org/legal/#privacy-policy){ .card-link title="Privacy Policy" } @@ -99,17 +96,15 @@ Molly is updated every two weeks to include the latest features and bug fixes fr Note that you are trusting multiple parties by using Molly, as you now need to trust the Signal team *and* the Molly team to deliver safe and timely updates. -There is a version of Molly called **Molly-FOSS** which removes proprietary code like the Google services used by both Signal and Molly, at the expense of some features like battery-saving push notifications via Google Play Services. You can regain push notifications without Google Play Services in either version of Molly with [UnifiedPush](https://unifiedpush.org), but it requires running a separate program called [Mollysocket](https://github.com/mollyim/mollysocket) on another device to function. Mollysocket can either be self-hosted on a separate computer or server (VPS), or alternatively a public Mollysocket instance can be used ([step-by-step tutorial, in German](https://kuketz-blog.de/messenger-wechsel-von-signal-zu-molly-unifiedpush-mollysocket-ntfy)). +**Molly-FOSS** is a version of Molly which removes proprietary code like the Google services used by both Signal and Molly at the expense of some features (like battery-saving push notifications via Google Play Services). You can set up push notifications without Google Play Services in either version of Molly with [UnifiedPush](https://unifiedpush.org). Using this notification delivery method requires access to a [MollySocket](https://github.com/mollyim/mollysocket) server, but you can choose a public MollySocket instance for this.[^3] -All versions of Molly provide the same security improvements. +Both versions of Molly provide the same security improvements and support [reproducible builds](https://github.com/mollyim/mollyim-android/tree/main/reproducible-builds), meaning it's possible to confirm that the compiled APKs match the source code. -Molly and Molly-FOSS support [reproducible builds](https://github.com/mollyim/mollyim-android/tree/main/reproducible-builds), meaning it's possible to confirm that the compiled APKs match the source code. - -### SimpleX Chat +## SimpleX Chat
-![Simplex logo](assets/img/messengers/simplex.svg){ align=right } +![SimpleX Chat logo](assets/img/messengers/simplex.svg){ 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 [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray }. @@ -132,27 +127,27 @@ Molly and Molly-FOSS support [reproducible builds](https://github.com/mollyim/mo
-SimpleX provides direct messaging, group chats, and E2EE calls secured with the [SimpleX Messaging Protocol](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/simplex-messaging.md), which uses double ratchet encryption with quantum resistance. Additionally, SimpleX Chat provides metadata protection by using unidirectional ["simplex queues"](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/simplex-messaging.md#simplex-queue) to deliver messages. +SimpleX Chat provides direct messaging, group chats, and E2EE calls secured with the [SimpleX Messaging Protocol](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/simplex-messaging.md), which uses double ratchet encryption with quantum resistance. Additionally, SimpleX Chat provides metadata protection by using unidirectional ["simplex queues"](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/simplex-messaging.md#simplex-queue) to deliver messages. To participate in conversations on SimpleX Chat, you must scan a QR code or click an invite link. This allows you to verify a contact out-of-band, which protects against man-in-the-middle attacks by network providers. Your data can be exported and imported onto another device, as there are no central servers where this is backed up. -You can find a full list of the privacy and security [features](https://github.com/simplex-chat/simplex-chat#privacy-and-security-technical-details-and-limitations) implemented in SimpleX Chat on the app's repository. +You can find a full list of the privacy and security [features](https://github.com/simplex-chat/simplex-chat#privacy-and-security-technical-details-and-limitations) implemented in SimpleX Chat in the app's repository. SimpleX Chat was independently audited in [July 2024](https://simplex.chat/blog/20241014-simplex-network-v6-1-security-review-better-calls-user-experience.html#simplex-cryptographic-design-review-by-trail-of-bits) and in [October 2022](https://simplex.chat/blog/20221108-simplex-chat-v4.2-security-audit-new-website). -### Briar +## Briar
![Briar logo](assets/img/messengers/briar.svg){ 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 [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray }. 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. +**Briar** is an encrypted instant messenger that [connects](https://briarproject.org/how-it-works) to other clients using the [Tor network](alternative-networks.md#tor), making it an effective tool at circumventing [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray }. 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-home-16: Homepage](https://briarproject.org){ .md-button .md-button--primary } [:octicons-eye-16:](https://briarproject.org/privacy-policy){ .card-link title="Privacy Policy" } [:octicons-info-16:](https://code.briarproject.org/briar/briar/-/wikis/home){ .card-link title="Documentation" } [:octicons-code-16:](https://code.briarproject.org/briar/briar){ .card-link title="Source Code" } -[:octicons-heart-16:](https://briarproject.org){ .card-link title="Donation options are listed on the bottom of the homepage" } +[:octicons-heart-16:](https://code.briarproject.org/briar/briar#donate){ .card-link title="Contribute" }
Downloads @@ -168,120 +163,33 @@ SimpleX Chat was independently audited in [July 2024](https://simplex.chat/blog/ To add a contact on Briar, you must both add each other first. You can either exchange `briar://` links or scan a contact’s QR code if they are nearby. +Briar has a fully [published specification](https://code.briarproject.org/briar/briar-spec). Briar supports forward secrecy[^1] by using the Bramble [Handshake](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BHP.md) and [Transport](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BTP.md) protocol. + The client software was independently [audited](https://briarproject.org/news/2017-beta-released-security-audit), and the anonymous routing protocol uses the Tor network which has also been audited. -Briar has a fully [published specification](https://code.briarproject.org/briar/briar-spec). - -Briar supports forward secrecy[^1] by using the Bramble [Handshake](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BHP.md) and [Transport](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BTP.md) protocol. - -## Additional Options - -
-

Warning

- -These messengers do not have forward secrecy[^1], and while they fulfill certain needs that our previous recommendations may not, we do not recommend them for long-term or sensitive communications. Any key compromise among message recipients would affect the confidentiality of **all** past communications. - -
- -### Element - -
- -![Element logo](assets/img/messengers/element.svg){ 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-home-16: Homepage](https://element.io){ .md-button .md-button--primary } -[:octicons-eye-16:](https://element.io/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://element.io/help){ .card-link title="Documentation" } -[:octicons-code-16:](https://github.com/element-hq){ .card-link title="Source Code" } - -
-Downloads - -- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=im.vector.app) -- [:simple-appstore: App Store](https://apps.apple.com/app/id1083446067) -- [:simple-github: GitHub](https://github.com/element-hq/element-android/releases) -- [:fontawesome-brands-windows: Windows](https://element.io/download) -- [:simple-apple: macOS](https://element.io/download) -- [:simple-linux: Linux](https://element.io/download) -- [:octicons-globe-16: Web](https://app.element.io) - -
- -
- -Profile pictures, reactions, and nicknames are not encrypted. - -With the integration of [Element Call](https://element.io/blog/we-have-lift-off-element-x-call-and-server-suite-are-ready) into Element's web app, desktop apps, and its [rewritten mobile apps](https://element.io/blog/element-x-experience-the-future-of-element), group VoIP and video calls are E2EE by default. - -The Matrix protocol itself [theoretically supports forward secrecy](https://gitlab.matrix.org/matrix-org/olm/blob/master/docs/megolm.md#partial-forward-secrecy)[^1], however this is [not currently supported in Element](https://github.com/vector-im/element-web/issues/7101) due to it breaking some aspects of the user experience such as key backups and shared message history. - -The protocol was independently [audited](https://matrix.org/blog/2016/11/21/matrixs-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last) in 2016. The specification for the Matrix protocol can be found in their [documentation](https://spec.matrix.org/latest). The [Olm cryptographic ratchet](https://matrix.org/docs/matrix-concepts/end-to-end-encryption) used by Matrix is an implementation of Signal’s [Double Ratchet algorithm](https://signal.org/docs/specifications/doubleratchet). - -### Session - -
- -![Session logo](assets/img/messengers/session.svg){ align=right } - -**Session** is a decentralized messenger with a focus on private, secure, and anonymous communications. Session offers support for direct messages, group chats, and voice calls. - -Session uses the decentralized [Oxen Service Node Network](https://oxen.io) to store and route messages. Every encrypted message is routed through three nodes in the Oxen Service Node Network, making it virtually impossible for the nodes to compile meaningful information on those using the network. - -[:octicons-home-16: Homepage](https://getsession.org){ .md-button .md-button--primary } -[:octicons-eye-16:](https://getsession.org/privacy-policy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://getsession.org/faq){ .card-link title="Documentation" } -[:octicons-code-16:](https://github.com/oxen-io){ .card-link title="Source Code" } - -
-Downloads - -- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=network.loki.messenger) -- [:simple-appstore: App Store](https://apps.apple.com/app/id1470168868) -- [:simple-github: GitHub](https://github.com/oxen-io/session-android/releases) -- [:fontawesome-brands-windows: Windows](https://getsession.org/download) -- [:simple-apple: macOS](https://getsession.org/download) -- [:simple-linux: Linux](https://getsession.org/download) - -
- -
- -Session allows for E2EE in one-on-one chats or closed groups which allow for up to 100 members. It is also possible to [set up](https://docs.oxen.io/oxen-docs/products-built-on-oxen/session/guides/open-group-setup) or join open groups which can host thousands of members, but messages in these open groups are **not** end-to-end encrypted between participants. - -Session was previously based on Signal Protocol before replacing it with their own in December 2020. Session Protocol does [not](https://getsession.org/blog/session-protocol-technical-information) support forward secrecy.[^1] - -Oxen requested an independent audit for Session in March 2020. The audit [concluded](https://getsession.org/session-code-audit) in April 2021: - -> The overall security level of this application is good and makes it usable for privacy-concerned people. - -Session has a [white paper](https://arxiv.org/pdf/2002.04609.pdf) describing the technical details of the app and protocol. - ## 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 -- Has open-source clients. -- Does not require sharing personal identifiers (phone numbers or emails in particular) with contacts. -- Uses E2EE for private messages by default. -- Supports E2EE for all messages. -- Has been independently audited. +- Must have open-source clients. +- Must not require sharing personal identifiers (particularly phone numbers or emails) with contacts. +- Must use E2EE for private messages by default. +- Must support E2EE for all messages. +- Must support forward secrecy[^1] +- Must have a published audit from a reputable, independent third party. ### 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. -- Supports forward secrecy[^1] -- Supports Future Secrecy (Post-Compromise Security)[^2] -- Has open-source servers. -- Decentralized, i.e. [federated or P2P](advanced/communication-network-types.md). -- Uses E2EE for all messages by default. -- Supports Linux, macOS, Windows, Android, and iOS. +- Should support future secrecy (post-compromise security)[^2] +- Should have open-source servers. +- Should use a decentralized network, i.e. [federated or P2P](advanced/communication-network-types.md). +- Should use E2EE for all messages by default. +- Should support Linux, macOS, Windows, Android, and iOS. [^1]: [Forward secrecy](https://en.wikipedia.org/wiki/Forward_secrecy) is where keys are rotated very frequently, so that if the current encryption key is compromised, it does not expose **past** messages as well. -[^2]: Future Secrecy (or Post-Compromise Security) is a feature where an attacker is prevented from decrypting **future** messages after compromising a private key, unless they compromise more session keys in the future as well. This effectively forces the attacker to intercept all communication between parties, since they lose access as soon as a key exchange occurs that is not intercepted. +[^2]: Future secrecy (or [post-compromise security](https://eprint.iacr.org/2016/221.pdf)) is a feature where an attacker is prevented from decrypting **future** messages after compromising a private key, unless they compromise more session keys in the future as well. This effectively forces the attacker to intercept all communication between parties since they lose access as soon as a key exchange occurs that is not intercepted. +[^3]: You may refer to this step-by-step tutorial in German on how to set up UnifiedPush as the notification provider for Molly: [https://kuketz-blog.de/messenger-wechsel-von-signal-zu-molly-unifiedpush-mollysocket-ntfy](https://kuketz-blog.de/messenger-wechsel-von-signal-zu-molly-unifiedpush-mollysocket-ntfy). diff --git a/docs/search-engines.md b/docs/search-engines.md index 07027a23c..be1a5252e 100644 --- a/docs/search-engines.md +++ b/docs/search-engines.md @@ -1,8 +1,8 @@ --- -meta_title: "Recommended Search Engines: Anonymous Google Alternatives - Privacy Guides" -title: "Search Engines" +meta_title: "Recommended Search Engines: Anonymous Alternatives to Google - Privacy Guides" +title: Search Engines icon: material/search-web -description: Privacy-respecting search engines which don't build an advertising profile based on your searches. +description: Use privacy-respecting search engines which don't build an advertising profile based on your searches. cover: search-engines.webp global: - [randomize-element, "table tbody"] @@ -23,11 +23,25 @@ Consider using a [VPN](vpn.md) or [Tor](tor.md) if your threat model requires hi |---|---|---|---|---| | [Brave Search](#brave-search) | [Independent](https://brave.com/search-independence) | :material-check:{ .pg-green } | Anonymized[^1] | United States | | [DuckDuckGo](#duckduckgo) | [Bing](https://help.duckduckgo.com/results/sources) | :material-check:{ .pg-green } | Anonymized[^2] | United States | -| [Startpage](#startpage) | [Google and Bing](https://support.startpage.com/hc/articles/4522435533844-What-is-the-relationship-between-Startpage-and-your-search-partners-like-Google-and-Microsoft-Bing) | :material-check:{ .pg-green } | Anonymized[^3] | Netherlands | +| [Mullvad Leta](#mullvad-leta) | [Brave and Google](https://leta.mullvad.net/faq#what-can-leta-do) | :material-check:{ .pg-green } | Anonymized[^3] | Sweden | +| [Startpage](#startpage) | [Google and Bing](https://support.startpage.com/hc/articles/4522435533844-What-is-the-relationship-between-Startpage-and-your-search-partners-like-Google-and-Microsoft-Bing) | :material-check:{ .pg-green } | Anonymized[^4] | Netherlands | -[^1]: Brave Search collects aggregated usage metrics, which includes the OS and the user agent. However, they do not collect PII. To serve [anonymous local results](https://search.brave.com/help/anonymous-local-results), IP addresses are temporarily processed, but are not retained. [https://search.brave.com/help/privacy-policy](https://search.brave.com/help/privacy-policy) -[^2]: DuckDuckGo **does** log your searches for product improvement purposes, but not your IP address or any other PII. [https://duckduckgo.com/privacy](https://duckduckgo.com/privacy) -[^3]: Startpage logs details such as operating system, user agent, and language. They do not log your IP address, search queries, or other PII. [https://startpage.com/en/privacy-policy](https://startpage.com/en/privacy-policy) +[^1]: + Brave Search collects aggregated usage metrics, which includes the OS and the user agent. However, they do not collect PII. To serve [anonymous local results](https://search.brave.com/help/anonymous-local-results), IP addresses are temporarily processed, but are not retained. + + Brave Search: [*Brave Search privacy notice*](https://search.brave.com/help/privacy-policy) +[^2]: + DuckDuckGo **does** log your searches for product improvement purposes, but not your IP address or any other PII. + + DuckDuckGo Privacy Policy: [*We don't track you.*](https://duckduckgo.com/privacy) +[^3]: + Mullvad Leta logs your searches and stores them hashed with a secret in a RAM-based cache. The cache is removed after it reaches 30 days in age, or when the server-side Leta application is restarted. They do not collect any PII. + + Terms of Service: [*Service Usage*](https://leta.mullvad.net/terms-of-service) +[^4]: + Startpage logs details such as operating system, user agent, and language. They do not log your IP address, search queries, or other PII. + + Our Privacy Policy: [*How we have implemented truly anonymous analytics*](https://startpage.com/en/privacy-policy#section-4) ### Brave Search @@ -35,20 +49,18 @@ Consider using a [VPN](vpn.md) or [Tor](tor.md) if your threat model requires hi ![Brave Search logo](assets/img/search-engines/brave-search.svg){ align=right } -**Brave Search** is a search engine developed by Brave. The index is optimized against Google Search and therefore may provide more contextually accurate results compared to other alternatives. +**Brave Search** is a search engine developed by Brave. It includes unique features such as [Discussions](https://search.brave.com/help/discussions), which highlights conversation-focused results such as forum posts. -Brave Search includes unique features such as [Discussions](https://search.brave.com/help/discussions), which highlights conversation-focused results such as forum posts. +Brave Search is the default search engine for the [Brave Browser](desktop-browsers.md#brave). [:octicons-home-16: Homepage](https://search.brave.com){ .md-button .md-button--primary } [:simple-torbrowser:](https://search.brave4u7jddbv7cyviptqjc7jusxh72uik7zt6adtckl5f4nwy2v72qd.onion){ .card-link title="Onion Service" } [: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} - -
+[:octicons-info-16:](https://search.brave.com/help){ .card-link title="Documentation" }
-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. +If you use Brave Search while logged in to a Premium account, there is a risk of Brave correlating search queries with your account. We recommend you disable [Anonymous usage metrics](https://search.brave.com/help/usage-metrics) as it is enabled by default and can be disabled within settings. @@ -65,14 +77,38 @@ DuckDuckGo is the default search engine for the [Tor Browser](tor.md#tor-browser [:octicons-home-16: Homepage](https://duckduckgo.com){ .md-button .md-button--primary } [:simple-torbrowser:](https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion){ .card-link title="Onion Service" } [:octicons-eye-16:](https://duckduckgo.com/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://help.duckduckgo.com){ .card-link title=Documentation} - - +[:octicons-info-16:](https://help.duckduckgo.com){ .card-link title="Documentation" }
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. +### Mullvad Leta + +
+ +![Mullvad logo](assets/img/vpn/mullvad.svg){ align=right } + +**Mullvad Leta** is a search engine developed by Mullvad. It uses a [shared cache](https://leta.mullvad.net/faq#what-is-cached-search) to fetch search results and limit calls to the search APIs it uses. + +Mullvad Leta currently only provides text search results. It is the default search engine for the [Mullvad Browser](desktop-browsers.md#mullvad-browser). + +[:octicons-home-16: Homepage](https://leta.mullvad.net){ .md-button .md-button--primary } +[:simple-torbrowser:](http://uxngojcovdcyrmwkmkltyy2q7enzzvgv7vlqac64f2vl6hcrrqtlskqd.onion){ .card-link title="Onion Service" } +[:octicons-eye-16:](https://leta.mullvad.net/terms-of-service){ .card-link title="Privacy Policy" } +[:octicons-info-16:](https://leta.mullvad.net/faq){ .card-link title="Documentation" } + +
+ +
+

Tip

+ +Mullvad Leta is useful if you want to disable JavaScript in your browser, such as [Mullvad Browser](desktop-browsers.md#mullvad-browser) on the Safest security level. + +
+ +Mullvad Leta was [audited](https://mullvad.net/en/blog/security-audit-of-our-letamullvadnet-search-service) by Assured AB in March 2023. All issues were addressed and fixed shortly after the [report](https://assured.se/publications/Assured_Mullvad_Leta_pentest_report_2023.pdf). + ### Startpage
@@ -85,9 +121,7 @@ DuckDuckGo offers two [other versions](https://help.duckduckgo.com/features/non- [:octicons-home-16: Homepage](https://startpage.com){ .md-button .md-button--primary } [:simple-torbrowser:](http://startpagel6srwcjlue4zgq3zevrujfaow726kjytqbbjyrswwmjzcqd.onion){ .card-link title="Onion Service" } [: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} - - +[:octicons-info-16:](https://support.startpage.com/hc/categories/4481917470356-Startpage-Search-Engine){ .card-link title="Documentation" }
@@ -108,11 +142,9 @@ A [metasearch engine](https://en.wikipedia.org/wiki/Metasearch_engine) aggregate **SearXNG** is an open-source, self-hostable, metasearch engine. It is an actively maintained fork of [SearX](https://github.com/searx/searx). [:octicons-home-16: Homepage](https://searxng.org){ .md-button .md-button--primary } -[:octicons-server-16:](https://searx.space){ .card-link title="Public Instances"} +[:octicons-server-16:](https://searx.space){ .card-link title="Public Instances" } [:octicons-code-16:](https://github.com/searxng/searxng){ .card-link title="Source Code" } - - 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. diff --git a/docs/security-keys.md b/docs/security-keys.md index 10566671f..c5828d332 100644 --- a/docs/security-keys.md +++ b/docs/security-keys.md @@ -1,7 +1,7 @@ --- title: "Security Keys" -icon: 'material/key-chain' -description: Secure your internet accounts with Multi-Factor Authentication without sending your secrets to a third-party. +icon: material/key-chain +description: These security keys provide a form of phishing-immune authentication for accounts that support it. cover: multi-factor-authentication.webp --- Protects against the following threat(s): @@ -19,11 +19,11 @@ A physical **security key** adds a very strong layer of protection to your onlin ![Security Key Series by Yubico](assets/img/security-keys/yubico-security-key.webp){ width="315" }
-The **Yubico Security Key** series is the most cost-effective hardware security key with FIDO Level 2 certification. It supports FIDO2/WebAuthn and FIDO U2F, and works out of the box with most services that support a security key as a second factor, as well as many password managers. +The **Yubico Security Key** series is the most cost-effective hardware security key with FIDO Level 2 certification[^1]. It supports FIDO2/WebAuthn and FIDO U2F, and works out of the box with most services that support a security key as a second factor, as well as many password managers. [:octicons-home-16: Homepage](https://yubico.com/products/security-key){ .md-button .md-button--primary } [:octicons-eye-16:](https://yubico.com/support/terms-conditions/privacy-notice){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://docs.yubico.com){ .card-link title=Documentation} +[:octicons-info-16:](https://docs.yubico.com){ .card-link title="Documentation" } @@ -54,23 +54,21 @@ The firmware of Yubico's Security Keys is not updatable. If you want features in ![YubiKeys](assets/img/security-keys/yubikey.png){ width="400" } -The **YubiKey** series from Yubico are among the most popular security keys. The YubiKey 5 Series has a wide range of features such as: [Universal 2nd Factor (U2F)](https://en.wikipedia.org/wiki/Universal_2nd_Factor), [FIDO2 and WebAuthn](basics/multi-factor-authentication.md#fido-fast-identity-online), [Yubico OTP](basics/multi-factor-authentication.md#yubico-otp), [Personal Identity Verification (PIV)](https://developers.yubico.com/PIV), [OpenPGP](https://developers.yubico.com/PGP), [TOTP and HOTP](https://developers.yubico.com/OATH) authentication. +The **YubiKey** series from Yubico are among the most popular security keys with FIDO Level 2 Certification[^1]. The YubiKey 5 Series has a wide range of features such as [Universal 2nd Factor (U2F)](https://en.wikipedia.org/wiki/Universal_2nd_Factor), [FIDO2 and WebAuthn](basics/multi-factor-authentication.md#fido-fast-identity-online), [Yubico OTP](basics/multi-factor-authentication.md#yubico-otp), [Personal Identity Verification (PIV)](https://developers.yubico.com/PIV), [OpenPGP](https://developers.yubico.com/PGP), and [TOTP and HOTP](https://developers.yubico.com/OATH) authentication. [:octicons-home-16: Homepage](https://yubico.com/products/yubikey-5-overview){ .md-button .md-button--primary } [:octicons-eye-16:](https://yubico.com/support/terms-conditions/privacy-notice){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://docs.yubico.com){ .card-link title=Documentation} +[:octicons-info-16:](https://docs.yubico.com){ .card-link title="Documentation" } -The [comparison table](https://yubico.com/store/compare) shows the features and how the YubiKeys compare to each other and to Yubico's [Security Key](#yubico-security-key) series. One of the benefits of the YubiKey series is that one key can do almost everything you could expect from a hardware security key. We encourage you to take their [quiz](https://yubico.com/quiz) before purchasing in order to make sure you make the right choice. - -The YubiKey 5 series has FIDO Level 1 certification, which is the most common. However, some governments or other organizations may require a key with Level 2 certification, in which case you'll have to purchase a [YubiKey 5 **FIPS** series](https://yubico.com/products/yubikey-fips) key, or a [Yubico Security Key](#yubico-security-key). Most people do not have to worry about this distinction. +The [comparison table](https://yubico.com/store/compare) shows how the YubiKeys compare to each other and to Yubico's [Security Key](#yubico-security-key) series in terms of features and other specifications. One of the benefits of the YubiKey series is that one key can do almost everything you could expect from a hardware security key. We encourage you to take their [quiz](https://yubico.com/quiz) before purchasing in order to make sure you choose the right security key. YubiKeys can be programmed using the [YubiKey Manager](https://yubico.com/support/download/yubikey-manager) or [YubiKey Personalization Tools](https://yubico.com/support/download/yubikey-personalization-tools). For managing TOTP codes, you can use the [Yubico Authenticator](https://yubico.com/products/yubico-authenticator). All of Yubico's clients are open source. -For models which support HOTP and TOTP, there are 2 slots in the OTP interface which could be used for HOTP and 32 slots to store TOTP secrets. These secrets are stored encrypted on the key and never expose them to the devices they are plugged into. Once a seed (shared secret) is given to the Yubico Authenticator, it will only give out the six-digit codes, but never the seed. This security model helps limit what an attacker can do if they compromise one of the devices running the Yubico Authenticator and make the YubiKey resistant to a physical attacker. +For models which support HOTP and TOTP, there are 2 slots in the OTP interface which could be used for HOTP and 32 slots to store TOTP secrets. These secrets are stored encrypted on the key and never exposed to the devices they are plugged into. Once a seed (shared secret) is given to the Yubico Authenticator, it will only give out the six-digit codes, but never the seed. This security model helps limit what an attacker can do if they compromise one of the devices running the Yubico Authenticator and make the YubiKey resistant to a physical attacker.

Warning

@@ -87,17 +85,17 @@ The firmware of YubiKey is not updatable. If you want features in newer firmware ![Nitrokey](assets/img/security-keys/nitrokey.jpg){ width="300" } -**Nitrokey** has a security key capable of [FIDO2 and WebAuthn](basics/multi-factor-authentication.md#fido-fast-identity-online) called the **Nitrokey FIDO2**. For PGP support, you need to purchase one of their other keys such as the **Nitrokey Start**, **Nitrokey Pro 2** or the **Nitrokey Storage 2**. +**Nitrokey** has a security key capable of [FIDO2 and WebAuthn](basics/multi-factor-authentication.md#fido-fast-identity-online) called the **Nitrokey FIDO2**. For PGP support, you need to purchase one of their other keys such as the **Nitrokey Start**, **Nitrokey Pro 2**, or the **Nitrokey Storage 2**. [:octicons-home-16: Homepage](https://nitrokey.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://nitrokey.com/data-privacy-policy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://docs.nitrokey.com){ .card-link title=Documentation} +[:octicons-info-16:](https://docs.nitrokey.com){ .card-link title="Documentation" }
-The [comparison table](https://nitrokey.com/#comparison) shows the features and how the Nitrokey models compare. The **Nitrokey 3** listed will have a combined feature set. +The [comparison table](https://nitrokey.com/products/nitrokeys) shows how the different Nitrokey models compare to each other in terms of features and other specifications. The **Nitrokey 3** listed will have a combined feature set. Nitrokey models can be configured using the [Nitrokey app](https://nitrokey.com/download). @@ -113,7 +111,7 @@ While Nitrokeys do not release the HOTP/TOTP secrets to the device they are plug

Warning

-Resetting the OpenPGP interface on a Nitrokey will also make the password database [inaccessible](https://docs.nitrokey.com/pro/linux/factory-reset). +Resetting the OpenPGP interface on a Nitrokey [Pro 2](https://docs.nitrokey.com/nitrokeys/pro/factory-reset) or Nitrokey [Start 2](https://docs.nitrokey.com/nitrokeys/storage/factory-reset) will also make the password database inaccessible.
@@ -123,7 +121,7 @@ Resetting the OpenPGP interface on a Nitrokey will also make the password databa ### Minimum Requirements -- Must use high quality, tamper resistant hardware security modules. +- Must use high-quality, tamper-resistant hardware security modules. - Must support the latest FIDO2 specification. - Must not allow private key extraction. - Devices which cost over $35 must support handling OpenPGP and S/MIME. @@ -132,7 +130,9 @@ Resetting the OpenPGP interface on a Nitrokey will also make the password databa 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. -- Should be available in USB-C form-factor. +- Should be available in USB-C form factor. - Should be available with NFC. - Should support TOTP secret storage. - Should support secure firmware updates. + +[^1]: Some governments or other organizations may require a key with Level 2 certification, but most people do not have to worry about this distinction. diff --git a/docs/self-hosting/email-servers.md b/docs/self-hosting/email-servers.md new file mode 100644 index 000000000..7cf55f78d --- /dev/null +++ b/docs/self-hosting/email-servers.md @@ -0,0 +1,65 @@ +--- +title: Email Servers +meta_title: "Self-Hosted Email - Privacy Guides" +icon: material/email +description: For our more technical readers, self-hosting your own email can provide additional privacy assurances by having maximum control over your data. +cover: email.webp +--- +Protects against the following threat(s): + +- [:material-server-network: Service Providers](../basics/common-threats.md#privacy-from-service-providers){ .pg-teal } + +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: + +- [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 + +
+ +![Stalwart logo](../assets/img/self-hosting/stalwart.svg){ 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 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 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" } + +
+ +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 (WKD) on your domain, and if you use an email client which supports PGP and WKD for outgoing mail (like Thunderbird), then this is the easiest way to get self-hosted E2EE compatibility with all [Proton Mail](../email.md#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 + +
+ +![Mailcow logo](../assets/img/self-hosting/mailcow.svg){ align=right } + +**Mailcow** is an advanced mail server perfect for those with Linux experience. It has everything you need in a Docker container: a mail server with DKIM support, antivirus and spam monitoring, webmail and ActiveSync with SOGo, and web-based administration with 2FA support. + +[:octicons-home-16: Homepage](https://mailcow.email){ .md-button .md-button--primary } +[:octicons-info-16:](https://docs.mailcow.email){ .card-link title="Documentation" } +[:octicons-code-16:](https://github.com/mailcow/mailcow-dockerized){ .card-link title="Source Code" } +[:octicons-heart-16:](https://servercow.de/mailcow?lang=en#sal){ .card-link title="Contribute" } + +
+ +## Mail-in-a-Box + +
+ +![Mail-in-a-Box logo](../assets/img/self-hosting/mail-in-a-box.svg){ align=right } + +**Mail-in-a-Box** is an automated setup script for deploying a mail server on Ubuntu. Its goal is to make it easier for people to set up their own mail server. + +[:octicons-home-16: Homepage](https://mailinabox.email){ .md-button .md-button--primary } +[:octicons-info-16:](https://mailinabox.email/guide.html){ .card-link title="Documentation" } +[:octicons-code-16:](https://github.com/mail-in-a-box/mailinabox){ .card-link title="Source Code" } + +
diff --git a/docs/self-hosting/index.md b/docs/self-hosting/index.md new file mode 100644 index 000000000..7874dc23b --- /dev/null +++ b/docs/self-hosting/index.md @@ -0,0 +1,169 @@ +--- +title: Self-Hosting +meta_title: "Self-Hosted Software and Services - Privacy Guides" +description: For our more technical readers, self-hosted software and services can provide additional privacy assurances since you have maximum control over your data. +cover: router.webp +--- +Protects against the following threat(s): + +- [:material-server-network: Service Providers](../basics/common-threats.md#privacy-from-service-providers){ .pg-teal } + +Using **self-hosted software and services** can be a way to achieve a higher level of privacy through digital sovereignty, particularly independence from cloud servers controlled by product developers or vendors. By self-hosting, we mean hosting applications and data on your own hardware. + +Self-hosting your own solutions requires advanced technical knowledge and a deep understanding of the associated risks. By becoming the host for yourself and possibly others, you take on responsibilities you might not otherwise have. Self-hosting privacy software improperly can leave you worse off than using e.g. an end-to-end encrypted service provider, so it is best avoided if you are not already comfortable doing so. + +## :material-email: Email Servers + +
+ +- ![Stalwart logo](../assets/img/self-hosting/stalwart.svg){ .twemoji loading=lazy } [Stalwart](email-servers.md#stalwart) +- ![Mailcow logo](../assets/img/self-hosting/mailcow.svg){ .twemoji loading=lazy } [Mailcow](email-servers.md#mailcow) +- ![Mail-in-a-Box logo](../assets/img/self-hosting/mail-in-a-box.svg){ .twemoji loading=lazy } [Mail-in-a-Box](email-servers.md#mail-in-a-box) + +
+ +[Learn more :material-arrow-right-drop-circle:](email-servers.md) + +## :material-account-supervisor-circle-outline: Social Networks + +Self-hosting your own instance of a social network software can help circumvent potential [censorship on a server level](../social-networks.md#censorship-resistance) by a public server's administrator or admin team. + +### Mastodon + +
+ +![Mastodon logo](../assets/img/social-networks/mastodon.svg){ align=right } + +**Mastodon** is a social network based on open web protocols and free, open-source software. It uses the decentralized **:simple-activitypub: ActivityPub** protocol. + +[:octicons-home-16:](https://joinmastodon.org){ .card-link title="Homepage" } +[:octicons-info-16:](https://docs.joinmastodon.org/admin/prerequisites){ .card-link title="Admin Documentation" } + +
+ +Mastodon [integrates with the Tor network](https://docs.joinmastodon.org/admin/optional/tor) for more extreme scenarios where even your underlying hosting provider is subject to censorship, but this may limit who can access your content to only other servers which integrate with Tor (like most other hidden services). + +Mastodon benefits greatly from a large and active self-hosting community, and its administration is comprehensively documented. While many other ActivityPub platforms can require extensive technical knowledge to run and troubleshoot, Mastodon has very stable and tested releases, and it can generally be run securely without issue by anyone who can use the Linux command line and follow step-by-step instructions. + +### Element + +
+ +![Element logo](../assets/img/social-networks/element.svg){ align=right } + +**Element** is the flagship client for the **:simple-matrix: Matrix** protocol, an open standard that enables decentralized communication by way of federated chat rooms. + +[:octicons-home-16:](https://element.io){ .card-link title="Homepage" } +[:octicons-info-16:](https://element-hq.github.io/synapse/latest){ .card-link title="Admin Documentation" } +[:octicons-code-16:](https://github.com/element-hq){ .card-link title="Source Code" } + +
+ +## :material-flip-to-front: Frontends + +Self-hosting your own instance of a web-based frontend can help you circumvent rate limits that you may encounter on high-traffic, public instances. It is important that you have other people using your instance as well in order for you to blend in. You should be careful with where and how you are hosting, as other peoples' usage will be linked to your hosting. + +
+ +- ![Redlib logo](../assets/img/frontends/redlib.svg){ .lg .middle .twemoji } [**Redlib (Reddit)**](../frontends.md#redlib) + + --- + + [:octicons-info-16:](https://github.com/redlib-org/redlib#deployment){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/redlib-org/redlib){ .card-link title="Source Code" } + +- ![ProxiTok logo](../assets/img/frontends/proxitok.svg){ .lg .middle .twemoji } [**ProxiTok (TikTok)**](../frontends.md#proxitok) + + --- + + [:octicons-info-16:](https://github.com/pablouser1/ProxiTok/wiki/Self-hosting){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/pablouser1/ProxiTok){ .card-link title="Source Code" } + +- ![Invidious logo](../assets/img/frontends/invidious.svg#only-light){ .twemoji }![Invidious logo](../assets/img/frontends/invidious-dark.svg#only-dark){ .twemoji } [**Invidious (YouTube)**](../frontends.md#invidious) + + --- + + [:octicons-home-16:](https://invidious.io){ .card-link title="Homepage" } + [:octicons-info-16:](https://docs.invidious.io/installation){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/iv-org/invidious){ .card-link title="Source Code" } + +- ![Piped logo](../assets/img/frontends/piped.svg){ .twemoji } [**Piped (YouTube)**](../frontends.md#piped) + + --- + + [:octicons-info-16:](https://docs.piped.video/docs/self-hosting){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/TeamPiped/Piped){ .card-link title="Source Code" } + +
+ +## More Tools... + +Tool recommendations in other categories of the website also provide a self-hosted option, so you could consider this if you are confident in your ability to host the software after reading their documentation. + +
+ +- ![Addy.io logo](../assets/img/email-aliasing/addy.svg){ .twemoji } [**Addy.io**](../email-aliasing.md#addyio) + + --- + + [:octicons-home-16:](https://addy.io){ .card-link title="Homepage" } + [:octicons-info-16:](https://addy.io/self-hosting){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/anonaddy){ .card-link title="Source Code" } + +- ![SimpleLogin logo](../assets/img/email-aliasing/simplelogin.svg){ .twemoji } [**SimpleLogin**](../email-aliasing.md#simplelogin) + + --- + + [:octicons-home-16:](https://addy.io){ .card-link title="Homepage" } + [:octicons-info-16:](https://github.com/simple-login/app#prerequisites){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/simple-login){ .card-link title="Source Code" } + +- ![CryptPad logo](../assets/img/document-collaboration/cryptpad.svg){ .twemoji } [**CryptPad**](../document-collaboration.md#cryptpad) + + --- + + [:octicons-home-16:](https://cryptpad.fr){ .card-link title="Homepage" } + [:octicons-info-16:](https://docs.cryptpad.org/en/admin_guide/index.html){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/xwiki-labs/cryptpad){ .card-link title="Source Code" } + +- ![Miniflux logo](../assets/img/news-aggregators/miniflux.svg#only-light){ .twemoji }![Miniflux logo](../assets/img/news-aggregators/miniflux-dark.svg#only-dark){ .twemoji } [**Miniflux**](../news-aggregators.md#miniflux) + + --- + + [:octicons-home-16:](https://miniflux.app){ .card-link title="Homepage" } + [:octicons-info-16:](https://miniflux.app/docs/index.html#administration-guide){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/miniflux/v2){ .card-link title="Source Code" } + +- ![Standard Notes logo](../assets/img/notebooks/standard-notes.svg){ .twemoji } [**Standard Notes**](../notebooks.md#standard-notes) + + --- + + [:octicons-home-16:](https://standardnotes.com){ .card-link title="Homepage" } + [:octicons-info-16:](https://standardnotes.com/help/47/can-i-self-host-standard-notes){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/standardnotes){ .card-link title="Source Code" } + +- ![PrivateBin logo](../assets/img/pastebins/privatebin.svg){ .twemoji } [**PrivateBin**](../pastebins.md#privatebin) + + --- + + [:octicons-home-16:](https://privatebin.info){ .card-link title="Homepage" } + [:octicons-info-16:](https://github.com/PrivateBin/PrivateBin/blob/master/doc/Installation.md){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/PrivateBin/PrivateBin){ .card-link title="Source Code" } + +- ![Paaster logo](../assets/img/pastebins/paaster.svg){ .twemoji } [**Paaster**](../pastebins.md#paaster) + + --- + + [:octicons-home-16:](https://paaster.io){ .card-link title="Homepage" } + [:octicons-info-16:](https://github.com/WardPearce/paaster#deployment){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/WardPearce/paaster){ .card-link title="Source Code" } + +- ![SimpleX Chat logo](../assets/img/messengers/simplex.svg){ .twemoji } [**SimpleX Chat**](../real-time-communication.md#simplex-chat) + + --- + + [:octicons-home-16:](https://simplex.chat){ .card-link title="Homepage" } + [:octicons-info-16:](https://simplex.chat/docs/server.html){ .card-link title="Admin Documentation" } + [:octicons-code-16:](https://github.com/simplex-chat){ .card-link title="Source Code" } + +
diff --git a/docs/social-networks.md b/docs/social-networks.md new file mode 100644 index 000000000..913ec9704 --- /dev/null +++ b/docs/social-networks.md @@ -0,0 +1,201 @@ +--- +title: Social Networks +icon: material/account-supervisor-circle-outline +description: Find a new social network that doesn’t pry into your data or monetize your profile. +cover: social-networks.webp +--- +Protects against the following threat(s): + +- [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray } +- [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown } + +These privacy-respecting **social networks** allow you to participate in online communities without giving up your personal information like your full name, phone number, and other data commonly requested by tech companies. + +A growing problem among social media platforms is censorship in two different forms. First, they often acquiesce to illegitimate censorship requests, either from malicious governments or their own internal policies. Second, they often require accounts to access walled-off content that would otherwise be published freely on the open internet; this effectively censors the browsing activities of privacy-conscious users who are unable to pay the privacy cost of opening an account on these networks. + +The social networks we recommend solve the issue of censorship by operating atop an open and decentralized social networking protocol. They also don't require an account merely to view publicly available content. + +You should note that **no** social networks are appropriate for private or sensitive communications. For chatting directly with others, you should use a recommended [instant messenger](real-time-communication.md) with strong end-to-end encryption, and only use direct messages on social media in order to establish a more private and secure chat platform with your contacts. + +## Decentralization + +Decentralized social networks are built on an architecture that is fundamentally different than mainstream social media platforms, yet quite similar to the underlying structure of email. Instead of opening an account under a single, unified service like you would for Facebook or Discord, you instead choose an independent, public server to join. The server you join can communicate with and discover other servers; this aspect of decentralization is also known as *federation*. + +A significant benefit of this decentralized model is that there is no central authority which can censor your account across the entire network, though it is possible for your account to be banned or silenced by an individual server. + +A caveat of this decentralized model is that each server is its own legal entity, with its own privacy policy, terms of use, administration team, and moderators. While many of these servers are far *less* restrictive and more privacy-respecting than traditional social media platforms, some can be far *more* restrictive or potentially *worse* for your privacy. Typically, the software on which the social network runs does not discriminate between these administrators or place any limitations on their powers. + +## Censorship Resistance + +While censorship in decentralized social networks does not exist on a network level, it is very possible to experience censorship on a server level depending on a server's administrator. Administrators have the power to *defederate* from other servers, which leads to limiting the content you can view and the people you can interact with. + +If you are greatly concerned about an existing server censoring your content, the content available to you, or other servers, you generally have two options: + +1. **Host the social network software yourself.** This approach gives you the exact same censorship resistance as any other website you can host yourself, which is fairly high. + +2. **Use a managed hosting service.** We don't have any specific recommendations, but there are a variety of hosting services which will create a brand-new server on your own domain (or occasionally a subdomain of their domain, but we recommend against this unless registering your own domain presents too much of a burden to your privacy). + + Typically, hosting providers will handle the *technical* side of your server, but completely leave the *moderation* side up to you. This often represents a better approach than self-hosting for most people because you can benefit from greater control over your own server without worrying about technical problems or unpatched security vulnerabilities. + + You should look closely at your hosting provider's terms of service and acceptable use policies before registering. These are often far more broad than typical hosted server rules, and they are far less likely to be enforced without recourse, but they can still be restrictive in undesirable ways. + +## Mastodon + +
+ +![Mastodon logo](assets/img/social-networks/mastodon.svg){ align=right } + +**Mastodon** is a social network based on open web protocols and free, open-source software. It uses the **:simple-activitypub: ActivityPub** protocol, which is decentralized like email: Users can exist on different servers or even different platforms but still communicate with each other. + +[:octicons-home-16: Homepage](https://joinmastodon.org){ .md-button .md-button--primary } +[:octicons-info-16:](https://docs.joinmastodon.org){ .card-link title="Documentation" } + +
+ +There are many software platforms which use ActivityPub as their backend social networking protocol, meaning they can talk to servers even when they are running different software. For example, PeerTube is a video publishing software that uses ActivityPub, meaning you can follow channels on PeerTube either with another PeerTube account, *or* with a Mastodon account because Mastodon also uses ActivityPub. + +We chose to recommend Mastodon over other ActivityPub software as your primary social media platform for these reasons: + +1. Mastodon has a solid history of security updates. In the handful of circumstances where major security vulnerabilities have been found, they coordinate patch releases quickly and cleanly. Historically they have also backported these security patches to older feature branches. This makes it easier for less experienced server hosts who may not feel comfortable upgrading to the latest releases right away to keep their instances secure. Mastodon also has an update notification system built in to the web interface, making it much more likely for server administrators to be aware of critical security patches available for their instance. + +2. Mastodon is largely usable with most content types. While it is primarily a microblogging platform, Mastodon easily handles longer posts, image posts, video posts, and most other posts you might encounter when following ActivityPub users who aren't on Mastodon. This makes your Mastodon account an ideal "central hub" for following anyone regardless of the platform they chose to use. In contrast, if you were only using a PeerTube account, you would *only* be able to follow other video channels, for example. + +3. Mastodon has fairly comprehensive privacy controls. It has many built-in features which allow you to limit how and when your data is shared, some of which we'll cover below. They also develop new features with privacy in mind. For example, while other ActivityPub software quickly implemented "quote posts" by merely handling links to other posts with a slightly different embed modal, Mastodon is [developing](https://blog.joinmastodon.org/2025/02/bringing-quote-posts-to-mastodon) a quote post feature which will give you more fine-grained control when your post is quoted. + +### Choosing an Instance + +To benefit the most from Mastodon, it is critical to choose a server, or "instance," which is well aligned with the type of content you want to post or read about. We do not currently recommend any specific instances, but you may find advice within our communities. We recommend avoiding *mastodon.social* and *mastodon.online* because they are operated by the same company which develops Mastodon itself. From the perspective of decentralization, it is better in the long term to separate software developers and server hosts so that no one party can exert too much control over the network as a whole. + +### Recommended Privacy Settings + +From Mastodon's web interface, click the **Administration** link in the right sidebar. Within the administration control panel, you'll find these sections in the left sidebar: + +#### Public Profile + +There are a number of privacy controls under the **privacy and reach** tab here. Most notably, pay attention to these: + +- [ ] **Automatically accept new followers**: You should consider unchecking this box to have a private profile. This will allow you to review who can follow your account before accepting them. + + In contrast to most social media platforms, if you have a private profile you still have the *option* to publish posts which are publicly visible to non-followers and can still be boosted by non-followers. Therefore, unchecking this box is the only way to have the *choice* to publish to either the entire world or a select group of people. + +- [ ] **Show follows and followers on profile**: You should uncheck this box to hide your social graph from the public. It is fairly uncommon for the list of people you follow to have some genuine benefit to others, but that information can present a risk to you. + +- [ ] **Display from which app you sent a post**: You should uncheck this box to prevent revealing information about your personal computing setup to others unnecessarily. + +The other privacy controls on this page should be read through, but we would stress that they are **not** technical controls—they are merely requests that you make to others. For example, if you choose to hide your profile from search engines on this page, **nothing** is actually stopping a search engine from reading your profile. You are merely requesting search engine indexes not publish your content to their users. + +You will likely still wish to make these requests because they can practically reduce your digital footprint. However, they should not be *relied* upon. The only effective way to hide your posts from search engines and others is to post with non-public (followers only) visibility settings *and* limit who can follow your account. + +#### Preferences + +You should change your **posting privacy** setting from public to: **Followers-only - Only show to followers**. + +Note that this only changes your default settings to prevent accidental over-sharing. You can always adjust your visibility level when composing a new post. + +#### Automated post deletion + +- [x] Check the **Automatically delete old posts** box. + +The default settings here are fine, and will delete any posts you make after 2 weeks, unless you favorite (star) them. This gives you an easy way to control which posts stick around forever, and which ones are only ephemeral. Many settings about how long and when posts are kept can be adjusted here to suit your own needs, however. + +It is very rare for social media posts older than a few weeks to be read or relevant to others. These older posts are often ignored because they are challenging to deal with in bulk, but they can build a fairly comprehensive profile about you over time. You should always strive to publish content ephemerally by default, and only keep posts around for longer than that very intentionally. + +### Posting Content + +When publishing a new post, you will have the option to choose from one of these visibility settings: + +- **Public**, which publishes your content to anyone on the internet. +- **Quiet public**, which you should consider equivalent to publicly posting! This is not a technical guarantee, but merely a request you are making to other servers to hide your post from some feeds. +- **Followers**, which publishes your content only to your followers. If you did not follow our recommendation of restricting your followers, you should consider this equivalent to publicly posting! +- **Specific people**, which only shares the post with people who are specifically mentioned within the post. This is Mastodon's version of direct messages, but should never be relied on for private communications as we covered earlier since Mastodon has no E2EE. + +If you used our recommended configuration settings above, you should be posting to **Followers** by default, and only posting to **Public** on an intentional and case-by-case basis. + +## Element + +
+ +![Element logo](assets/img/social-networks/element.svg){ align=right } + +**Element** is the flagship client for the **:simple-matrix: [Matrix](https://matrix.org/docs/chat_basics/matrix-for-im)** protocol, an [open standard](https://spec.matrix.org/latest) that enables decentralized communication by way of federated chat rooms. Users can exist on different homeservers but still communicate with each other. + +[:octicons-home-16: Homepage](https://element.io){ .md-button .md-button--primary } +[:octicons-eye-16:](https://element.io/privacy){ .card-link title="Privacy Policy" } +[:octicons-info-16:](https://element.io/help){ .card-link title="Documentation" } +[:octicons-code-16:](https://github.com/element-hq){ .card-link title="Source Code" } + +
+Downloads + +- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=im.vector.app) +- [:simple-appstore: App Store](https://apps.apple.com/app/id1083446067) +- [:simple-github: GitHub](https://github.com/element-hq/element-android/releases) +- [:fontawesome-brands-windows: Windows](https://element.io/download) +- [:simple-apple: macOS](https://element.io/download) +- [:simple-linux: Linux](https://element.io/download) +- [:octicons-browser-16: Web](https://app.element.io) + +
+ +
+ +### Choosing a Homeserver + +To benefit the most from Matrix, it is critical to choose a homeserver which is well aligned with the subject(s) you want to chat about. We do not currently recommend any specific homeservers, but you may find advice within our communities or third-party resources like [*joinmatrix.org*](https://servers.joinmatrix.org). We recommend avoiding *matrix.org* because they are operated by the same company which develops Matrix itself. From the perspective of decentralization, it is better in the long term to separate software developers and server hosts so that no one party can exert too much control over the network as a whole. + +### Recommended Privacy Settings + +From Element's web or desktop app, go to :gear: → **All settings** to find these sections: + +#### Sessions + +By default, when you log in to Element on a new device, the session name will be automatically populated with the Matrix client and platform you used for login. This information may be visible to other users depending on the Matrix client they use. + +To prevent revealing information about your personal device to others unnecessarily, consider emptying the session name; this will change the session name to the randomly generated alphanumeric Session ID instead. + +#### Preferences + +- [ ] Uncheck **Send read receipts** +- [ ] Uncheck **Send typing notifications** + +You should uncheck these options to reduce the exposure of metadata to other users when chatting in a public room. + +#### Voice & Video + +- [ ] Uncheck **Allow Peer-to-Peer for 1:1 calls** +- [ ] Uncheck **Allow fallback call assist server (turn.matrix.org)** + +If you do decide to use Element for one-to-one communication, we recommend unchecking these settings to prevent the exposure of your IP address to the other party. + +#### Security & Privacy + +##### Manage integrations (scalar.vector.im) + +A Matrix integration manager connects Matrix to third-party services such as bots, bridges, and other enhancements. Element collects information to provide these services to those using an integration manager; you can review its detailed [Privacy Notice](https://element.io/integration-manager-privacy-notice) for the exact information Element collects and the ways it uses such information. + +As an end user on a public homeserver, you can consider unchecking the **Enable the integration manager** option, which does not affect the visibility of bots or other third-party services. As a homeserver administrator, consider whether the additional parties with which you share your data are worth the extra functionality. + +##### Sessions + +- [ ] (Optional) Uncheck **Record the client name, version, and url to recognize sessions for easily in session manager** + +Unchecking this option may make it more diffcult to discern your active sessions if you logged in to your Matrix account on multiple devices. + +#### Encryption + +- [x] (Optional) Check **In encrypted rooms, only send messages to verified users** + +With this setting enabled, unverified users (i.e., those who have not used the **Verify User** function) and unverified devices of verified users will not receive your messages in a room with encryption enabled. This may limit the messages you can view and the people you can interact with. + +## 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. + +- Must be free and open-source software. +- Must use a federated protocol to communicate with other instances of the social networking software. +- Must not have non-technical restrictions on who can be federated with. +- Must be usable within a standard [web browser](desktop-browsers.md). +- Must make public content accessible to visitors without an account. +- Must allow you to limit who can follow your profile. +- Must allow you to post content visible only to your followers. +- Must support modern web application security standards/features (including [multifactor authentication](multi-factor-authentication.md)). diff --git a/docs/tools.md b/docs/tools.md index abbff2431..bd38a9370 100644 --- a/docs/tools.md +++ b/docs/tools.md @@ -9,6 +9,9 @@ description: A complete list of the privacy tools, services, software, and hardw If you're looking for a specific solution to something, these are the hardware and software tools we recommend in a variety of categories. Our recommended privacy tools are primarily chosen based on security features, with additional emphasis on decentralized and open-source tools. They are applicable to a variety of threat models ranging from protection against global mass surveillance programs and avoiding big tech companies to mitigating attacks, but only you can determine what will work best for your needs. +
+ +
[VPN Providers](vpn.md){ .md-button } [Password Managers](passwords.md){ .md-button } [Email Providers](email.md){ .md-button } @@ -16,6 +19,19 @@ If you're looking for a specific solution to something, these are the hardware a [DNS Servers](dns.md){ .md-button } [Email Aliasing Services](email-aliasing.md){ .md-button } [Photo Organization Tools](photo-management.md){ .md-button } +
+ +
+ +
+ +
+ +[Self-hosting recommendations](self-hosting/index.md) have been moved to their own category. + +
+ +
If you want assistance figuring out the best privacy tools and alternative programs for your needs, start a discussion on our [forum](https://discuss.privacyguides.net) or our [Matrix](https://matrix.to/#/#privacyguides:matrix.org) community! @@ -114,7 +130,6 @@ For more details about each project, why they were chosen, and additional tips o
-- ![Orbot logo](assets/img/self-contained-networks/orbot.svg){ .twemoji loading=lazy } [Orbot (Smartphone Tor Proxy)](tor.md#orbot) - ![Onion Browser logo](assets/img/self-contained-networks/onion_browser.svg){ .twemoji loading=lazy } [Onion Browser (Tor for iOS)](tor.md#onion-browser-ios)
@@ -215,22 +230,11 @@ If you're looking for added **security**, you should always ensure you're connec
-- ![addy.io logo](assets/img/email-aliasing/addy.svg){ .twemoji loading=lazy } [addy.io](email-aliasing.md#addyio) +- ![Addy.io logo](assets/img/email-aliasing/addy.svg){ .twemoji loading=lazy } [Addy.io](email-aliasing.md#addyio) - ![SimpleLogin logo](assets/img/email-aliasing/simplelogin.svg){ .twemoji loading=lazy } [SimpleLogin](email-aliasing.md#simplelogin) -
-
-### Self-Hosting Email - -
- -- ![Stalwart logo](assets/img/email/stalwart.svg){ .twemoji loading=lazy } [Stalwart](email.md#stalwart) -- ![Mailcow logo](assets/img/email/mailcow.svg){ .twemoji loading=lazy } [Mailcow](email.md#mailcow) -- ![Mail-in-a-Box logo](assets/img/email/mail-in-a-box.svg){ .twemoji loading=lazy } [Mail-in-a-Box](email.md#mail-in-a-box) - -
@@ -241,7 +245,6 @@ If you're looking for added **security**, you should always ensure you're connec - ![Thunderbird logo](assets/img/email-clients/thunderbird.svg){ .twemoji loading=lazy } [Thunderbird](email-clients.md#thunderbird) - ![Apple Mail logo](assets/img/email-clients/applemail.png){ .twemoji loading=lazy } [Apple Mail (macOS)](email-clients.md#apple-mail-macos) -- ![Canary Mail logo](assets/img/email-clients/canarymail.svg){ .twemoji loading=lazy } [Canary Mail (iOS)](email-clients.md#canary-mail-ios) - ![FairEmail logo](assets/img/email-clients/fairemail.svg){ .twemoji loading=lazy } [FairEmail (Android)](email-clients.md#fairemail-android) - ![GNOME Evolution logo](assets/img/email-clients/evolution.svg){ .twemoji loading=lazy } [GNOME Evolution (Linux)](email-clients.md#gnome-evolution-gnome) - ![Kontact logo](assets/img/email-clients/kontact.svg){ .twemoji loading=lazy } [Kontact (Linux)](email-clients.md#kontact-kde) @@ -290,7 +293,7 @@ We [recommend](dns.md#recommended-providers) a number of encrypted DNS servers b
- ![RethinkDNS logo](assets/img/android/rethinkdns.svg#only-light){ .twemoji loading=lazy }![RethinkDNS logo](assets/img/android/rethinkdns-dark.svg#only-dark){ .twemoji loading=lazy } [RethinkDNS](dns.md#rethinkdns) -- ![dnscrypt-proxy logo](assets/img/dns/dnscrypt-proxy.svg){ .twemoji loading=lazy } [dnscrypt-proxy](dns.md#dnscrypt-proxy) +- ![DNSCrypt-Proxy logo](assets/img/dns/dnscrypt-proxy.svg){ .twemoji loading=lazy } [DNSCrypt-Proxy](dns.md#dnscrypt-proxy)
@@ -334,8 +337,7 @@ We [recommend](dns.md#recommended-providers) a number of encrypted DNS servers b
-- ![Ente logo](assets/img/photo-management/ente.svg#only-light){ .twemoji loading=lazy }![Ente logo](assets/img/photo-management/ente.svg#only-dark){ .twemoji loading=lazy } [Ente Photos](photo-management.md#ente-photos) -- ![Stingle logo](assets/img/photo-management/stingle.png#only-light){ .twemoji loading=lazy }![Stingle logo](assets/img/photo-management/stingle-dark.png#only-dark){ .twemoji loading=lazy } [Stingle](photo-management.md#stingle) +- ![Ente logo](assets/img/photo-management/ente.svg){ .twemoji loading=lazy } [Ente Photos](photo-management.md#ente-photos) - ![PhotoPrism logo](assets/img/photo-management/photoprism.svg){ .twemoji loading=lazy } [PhotoPrism](photo-management.md#photoprism)
@@ -348,6 +350,7 @@ We [recommend](dns.md#recommended-providers) a number of encrypted DNS servers b - ![Brave Search logo](assets/img/search-engines/brave-search.svg){ .twemoji loading=lazy } [Brave Search](search-engines.md#brave-search) - ![DuckDuckGo logo](assets/img/search-engines/duckduckgo.svg){ .twemoji loading=lazy } [DuckDuckGo](search-engines.md#duckduckgo) +- ![Mullvad logo](assets/img/vpn/mullvad.svg){ .twemoji loading=lazy } [Mullvad Leta](search-engines.md#mullvad-leta) - ![SearXNG logo](assets/img/search-engines/searxng.svg){ .twemoji loading=lazy } [SearXNG](search-engines.md#searxng) - ![Startpage logo](assets/img/search-engines/startpage.svg#only-light){ .twemoji loading=lazy }![Startpage logo](assets/img/search-engines/startpage-dark.svg#only-dark){ .twemoji loading=lazy } [Startpage](search-engines.md#startpage) @@ -362,7 +365,7 @@ We [recommend](dns.md#recommended-providers) a number of encrypted DNS servers b
- ![Kobold logo](assets/img/ai-chat/kobold.png){ .twemoji loading=lazy } [Kobold.cpp](ai-chat.md#koboldcpp) -- ![Llamafile logo](assets/img/ai-chat/llamafile.svg){ .twemoji loading=lazy } [Llamafile](ai-chat.md#llamafile) +- ![Llamafile logo](assets/img/ai-chat/llamafile.webp){ .twemoji loading=lazy } [Llamafile](ai-chat.md#llamafile) - ![Ollama logo](assets/img/ai-chat/ollama.png){ .twemoji loading=lazy } [Ollama (CLI)](ai-chat.md#ollama-cli)
@@ -424,7 +427,7 @@ For encrypting your OS drive, we typically recommend using the encryption tool y -#### Cross-platform Tools +#### Cross-Platform Tools
@@ -486,11 +489,11 @@ For encrypting your OS drive, we typically recommend using the encryption tool y
-- ![drip. logo](assets/img/health-and-wellness/drip.png){ .twemoji loading=lazy } [drip.](health-and-wellness.md#drip) +- ![Drip logo](assets/img/health-and-wellness/drip.png){ .twemoji loading=lazy } [Drip](health-and-wellness.md#drip) - ![Euki logo](assets/img/health-and-wellness/euki.svg){ .twemoji loading=lazy } [Euki](health-and-wellness.md#euki) -- ![Apple Health logo](assets/img/health-and-wellness/apple-health.svg#only-light){ .twemoji loading=lazy } ![Apple Health logo](assets/img/health-and-wellness/apple-health-dark.svg#only-dark){ .twemoji loading=lazy }[Apple Health](health-and-wellness.md#apple-health) +- ![Apple Health logo](assets/img/health-and-wellness/apple-health.svg#only-light){ .twemoji loading=lazy } ![Apple Health logo](assets/img/health-and-wellness/apple-health-dark.svg#only-dark){ .twemoji loading=lazy } [Apple Health](health-and-wellness.md#apple-health) - ![Gadgetbridge logo](assets/img/health-and-wellness/gadgetbridge.svg#only-light){ .twemoji loading=lazy }![Gadgetbridge logo](assets/img/health-and-wellness/gadgetbridge-dark.svg#only-dark){ .twemoji loading=lazy } [Gadgetbridge](health-and-wellness.md#gadgetbridge) -- ![Apple Health logo](assets/img/health-and-wellness/apple-health.svg#only-light){ .twemoji loading=lazy } ![Apple Health logo](assets/img/health-and-wellness/apple-health-dark.svg#only-dark){ .twemoji loading=lazy }[Apple Health Records](health-and-wellness.md#apple-health-records) +- ![Apple Health logo](assets/img/health-and-wellness/apple-health.svg#only-light){ .twemoji loading=lazy } ![Apple Health logo](assets/img/health-and-wellness/apple-health-dark.svg#only-dark){ .twemoji loading=lazy } [Apple Health Records](health-and-wellness.md#apple-health-records) - ![CommonHealth logo](assets/img/health-and-wellness/commonhealth.png){ .twemoji loading=lazy } [CommonHealth](health-and-wellness.md#commonhealth)
@@ -581,7 +584,7 @@ For encrypting your OS drive, we typically recommend using the encryption tool y - ![Psono logo](assets/img/password-management/psono.svg){ .twemoji loading=lazy } [Psono](passwords.md#psono) - ![KeePassXC logo](assets/img/password-management/keepassxc.svg){ .twemoji loading=lazy } [KeePassXC](passwords.md#keepassxc) - ![KeePassDX logo](assets/img/password-management/keepassdx.svg){ .twemoji loading=lazy } [KeePassDX (Android)](passwords.md#keepassdx-android) -- ![gopass logo](assets/img/password-management/gopass.svg){ .twemoji loading=lazy } [gopass (CLI)](passwords.md#gopass-cli) +- ![Gopass logo](assets/img/password-management/gopass.svg){ .twemoji loading=lazy } [Gopass (CLI)](passwords.md#gopass-cli)
@@ -605,13 +608,22 @@ For encrypting your OS drive, we typically recommend using the encryption tool y - ![Signal logo](assets/img/messengers/signal.svg){ .twemoji loading=lazy } [Signal](real-time-communication.md#signal) - ![Briar logo](assets/img/messengers/briar.svg){ .twemoji loading=lazy } [Briar](real-time-communication.md#briar) - ![SimpleX Chat logo](assets/img/messengers/simplex.svg){ .twemoji loading=lazy } [SimpleX Chat](real-time-communication.md#simplex-chat) -- ![Element logo](assets/img/messengers/element.svg){ .twemoji loading=lazy } [Element](real-time-communication.md#element) -- ![Session logo](assets/img/messengers/session.svg){ .twemoji loading=lazy } [Session](real-time-communication.md#session) [Learn more :material-arrow-right-drop-circle:](real-time-communication.md) +### Social Networks + +
+ +- ![Mastodon logo](assets/img/social-networks/mastodon.svg){ .twemoji loading=lazy } [Mastodon](social-networks.md#mastodon) +- ![Element logo](assets/img/social-networks/element.svg){ .twemoji loading=lazy } [Element](social-networks.md#element) + +
+ +[Learn more :material-arrow-right-drop-circle:](social-networks.md) + ## Hardware ### Security Keys @@ -678,13 +690,14 @@ For encrypting your OS drive, we typically recommend using the encryption tool y
- ![Qubes OS logo](assets/img/qubes/qubes_os.svg){ .twemoji loading=lazy } [Qubes OS (Xen VM Distribution)](desktop.md#qubes-os) -- ![Fedora logo](assets/img/linux-desktop/fedora.svg){ .twemoji loading=lazy } [Fedora Workstation](desktop.md#fedora-workstation) +- ![Fedora logo](assets/img/linux-desktop/fedora.svg){ .twemoji loading=lazy } [Fedora Linux](desktop.md#fedora-linux) - ![openSUSE Tumbleweed logo](assets/img/linux-desktop/opensuse-tumbleweed.svg){ .twemoji loading=lazy } [openSUSE Tumbleweed](desktop.md#opensuse-tumbleweed) - ![Arch logo](assets/img/linux-desktop/archlinux.svg){ .twemoji loading=lazy } [Arch Linux](desktop.md#arch-linux) - ![Fedora logo](assets/img/linux-desktop/fedora.svg){ .twemoji loading=lazy } [Fedora Atomic Desktops](desktop.md#fedora-atomic-desktops) - ![NixOS logo](assets/img/linux-desktop/nixos.svg){ .twemoji loading=lazy } [NixOS](desktop.md#nixos) - ![Whonix logo](assets/img/linux-desktop/whonix.svg){ .twemoji loading=lazy } [Whonix (Tor)](desktop.md#whonix) - ![Tails logo](assets/img/linux-desktop/tails.svg){ .twemoji loading=lazy } [Tails (Live Boot)](desktop.md#tails) +- ![Secureblue logo](assets/img/linux-desktop/secureblue.svg){ .twemoji loading=lazy } [Secureblue](desktop.md#secureblue) - ![Kicksecure logo](assets/img/linux-desktop/kicksecure.svg){ .twemoji loading=lazy } [Kicksecure](desktop.md#kicksecure)
@@ -710,9 +723,10 @@ These tools may provide utility for certain individuals. They provide functional
-- ![I2P logo](./assets/img/self-contained-networks/i2p.svg#only-light){ .twemoji loading=lazy } ![I2P logo](./assets/img/self-contained-networks/i2p-dark.svg#only-dark){ .twemoji loading=lazy } [I2P](alternative-networks.md#i2p-the-invisible-internet-project) -- ![Tor logo](./assets/img/self-contained-networks/tor.svg){ .twemoji loading=lazy } [Tor](alternative-networks.md#tor) -- ![Snowflake logo](assets/img/browsers/snowflake.svg#only-light){ .twemoji loading=lazy }![Snowflake logo](assets/img/browsers/snowflake-dark.svg#only-dark){ .twemoji loading=lazy } [Snowflake](alternative-networks.md#snowflake) +- ![I2P logo](assets/img/self-contained-networks/i2p.svg#only-light){ .twemoji loading=lazy } ![I2P logo](assets/img/self-contained-networks/i2p-dark.svg#only-dark){ .twemoji loading=lazy } [I2P](alternative-networks.md#i2p-the-invisible-internet-project) +- ![Tor logo](assets/img/self-contained-networks/tor.svg){ .twemoji loading=lazy } [Tor](alternative-networks.md#tor) +- ![Orbot logo](assets/img/self-contained-networks/orbot.svg){ .twemoji loading=lazy } [Orbot (Mobile Tor Proxy)](alternative-networks.md#orbot) +- ![Snowflake logo](assets/img/self-contained-networks/snowflake.svg#only-light){ .twemoji loading=lazy }![Snowflake logo](assets/img/self-contained-networks/snowflake-dark.svg#only-dark){ .twemoji loading=lazy } [Snowflake](alternative-networks.md#snowflake)
@@ -722,7 +736,7 @@ These tools may provide utility for certain individuals. They provide functional
-- ![MVT logo](assets/img/device-integrity/mvt.webp){ .twemoji loading=lazy } [Mobile Verification Toolkit](device-integrity.md#mobile-verification-toolkit) +- ![MVT logo](assets/img/device-integrity/mvt.webp#only-light){ .twemoji loading=lazy }![MVT logo](assets/img/device-integrity/mvt-dark.png#only-dark){ .twemoji loading=lazy } [Mobile Verification Toolkit](device-integrity.md#mobile-verification-toolkit) - ![iMazing logo](assets/img/device-integrity/imazing.png){ .twemoji loading=lazy } [iMazing (iOS)](device-integrity.md#imazing-ios) - ![Auditor logo](assets/img/device-integrity/auditor.svg#only-light){ .twemoji loading=lazy }![Auditor logo](assets/img/device-integrity/auditor-dark.svg#only-dark){ .twemoji loading=lazy } [Auditor (Android)](device-integrity.md#auditor-android) diff --git a/docs/tor.md b/docs/tor.md index b18c98fe3..bb59f2375 100644 --- a/docs/tor.md +++ b/docs/tor.md @@ -31,7 +31,7 @@ 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 .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 } +[:material-movie-open-play-outline: Video: Why You Need Tor](https://www.privacyguides.org/videos/2025/03/02/why-you-need-tor){ .md-button }

Tip

@@ -42,7 +42,7 @@ Before connecting to Tor, please ensure you've read our [overview](advanced/tor- There are a variety of ways to connect to the Tor network from your device, the most commonly used being the **Tor Browser**, a fork of Firefox designed for [:material-incognito: anonymous](basics/common-threats.md#anonymity-vs-privacy){ .pg-purple } browsing for desktop computers and Android. -Some of these apps are better than others, and again making a determination comes down to your threat model. If you are a casual Tor user who is not worried about your ISP collecting evidence against you, using apps like [Orbot](#orbot) or mobile browser apps to access the Tor network is probably fine. Increasing the number of people who use Tor on an everyday basis helps reduce the bad stigma of Tor, and lowers the quality of "lists of Tor users" that ISPs and governments may compile. +Some of these apps are better than others; making a determination comes down to your threat model. If you are a casual Tor user who is not worried about your ISP collecting evidence against you, using mobile browser apps like [Onion Browser](#onion-browser-ios) to access the Tor network is probably fine. Increasing the number of people who use Tor on an everyday basis helps reduce the bad stigma of Tor, and lowers the quality of "lists of Tor users" that ISPs and governments may compile. If more complete anonymity is paramount to your situation, you should **only** be using the desktop Tor Browser client, ideally in a [Whonix](desktop.md#whonix) + [Qubes](desktop.md#qubes-os) configuration. Mobile browsers are less common on Tor (and more fingerprintable as a result), and other configurations are not as rigorously tested against deanonymization. @@ -52,13 +52,13 @@ If more complete anonymity is paramount to your situation, you should **only** b ![Tor Browser logo](assets/img/browsers/tor.svg){ align=right } -**Tor Browser** is the choice if you need anonymity, as it provides you with access to the Tor network and bridges, and it includes default settings and extensions that are automatically configured by the default security levels: *Standard*, *Safer* and *Safest*. +**Tor Browser** is the top choice if you need anonymity, as it provides you with access to the Tor network and bridges, and it includes default settings and extensions that are automatically configured by the default security levels: *Standard*, *Safer* and *Safest*. [:octicons-home-16: Homepage](https://torproject.org){ .md-button .md-button--primary } [:simple-torbrowser:](http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion){ .card-link title="Onion Service" } -[:octicons-info-16:](https://tb-manual.torproject.org){ .card-link title=Documentation } +[:octicons-info-16:](https://tb-manual.torproject.org){ .card-link title="Documentation" } [:octicons-code-16:](https://gitlab.torproject.org/tpo/applications/tor-browser){ .card-link title="Source Code" } -[:octicons-heart-16:](https://donate.torproject.org){ .card-link title=Contribute } +[:octicons-heart-16:](https://donate.torproject.org){ .card-link title="Contribute" }
Downloads @@ -80,63 +80,25 @@ You should **never** install any additional extensions on Tor Browser or edit `a
-The Tor Browser is designed to prevent fingerprinting, or identifying you based on your browser configuration. Therefore, it is imperative that you do **not** modify the browser beyond the default [security levels](https://tb-manual.torproject.org/security-settings). +The Tor Browser is designed to prevent fingerprinting, or identifying you based on your browser configuration. Therefore, it is imperative that you do **not** modify the browser beyond the default [security levels](https://tb-manual.torproject.org/security-settings). When modifying the security level setting, you **must** always restart the browser before continuing to use it. Otherwise, [the security settings may not be fully applied](https://www.privacyguides.org/articles/2025/05/02/tor-security-slider-flaw), putting you at a higher risk of fingerprinting and exploits than you may expect based on the setting chosen. In addition to installing Tor Browser on your computer directly, there are also operating systems designed specifically to connect to the Tor network such as [Whonix](desktop.md#whonix) on [Qubes OS](desktop.md#qubes-os), which provide even greater security and protections than the standard Tor Browser alone. -## Orbot - -
- -![Orbot logo](assets/img/self-contained-networks/orbot.svg){ align=right } - -**Orbot** is a free Tor VPN for smartphones which routes traffic from any app on your device through the Tor network. - -[:octicons-home-16: Homepage](https://orbot.app){ .md-button .md-button--primary } -[:octicons-eye-16:](https://orbot.app/privacy-policy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://orbot.app/faqs){ .card-link title=Documentation} -[:octicons-code-16:](https://orbot.app/code){ .card-link title="Source Code" } -[:octicons-heart-16:](https://orbot.app/donate){ .card-link title=Contribute } - -
-Downloads - -- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=org.torproject.android) -- [:simple-appstore: App Store](https://apps.apple.com/app/id1609461599) -- [:simple-github: GitHub](https://github.com/guardianproject/orbot/releases) - -
- -
- -We previously recommended enabling the *Isolate Destination Address* preference in Orbot settings. While this setting can theoretically improve privacy by enforcing the use of a different circuit for each IP address you connect to, it doesn't provide a practical advantage for most applications (especially web browsing), can come with a significant performance penalty, and increases the load on the Tor network. We no longer recommend adjusting this setting from its default value unless you know you need to.[^1] - -
-

Tips for Android

- -Orbot can proxy individual apps if they support SOCKS or HTTP proxying. It can also proxy all your network connections using [VpnService](https://developer.android.com/reference/android/net/VpnService) and can be used with the VPN kill switch in :gear: **Settings** → **Network & internet** → **VPN** → :gear: → **Block connections without VPN**. - -Orbot is often outdated on the Guardian Project's [F-Droid repository](https://guardianproject.info/fdroid) and [Google Play](https://play.google.com/store/apps/details?id=org.torproject.android), so consider downloading directly from the [GitHub repository](https://github.com/guardianproject/orbot/releases) instead. - -All versions are signed using the same signature, so they should be compatible with each other. - -
- -On iOS, Orbot has some limitations that could potentially cause crashes or leaks: iOS does not have an effective OS-level feature to block connections without a VPN like Android does, and iOS has an artificial memory limit for network extensions that makes it challenging to run Tor in Orbot without crashes. Currently, it is always safer to use Tor on a desktop computer compared to a mobile device. - ## Onion Browser (iOS)
![Onion Browser logo](assets/img/self-contained-networks/onion_browser.svg){ align=right } -**Onion Browser** is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the [Tor Project](https://support.torproject.org/glossary/onion-browser). [:material-star-box: Read our latest Onion Browser review.](https://www.privacyguides.org/articles/2024/09/18/onion-browser-review/) +**Onion Browser** is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the [Tor Project](https://support.torproject.org/glossary/onion-browser). + +[:material-star-box: Read our latest Onion Browser review.](https://www.privacyguides.org/articles/2024/09/18/onion-browser-review) [:octicons-home-16: Homepage](https://onionbrowser.com){ .md-button .md-button--primary } [:octicons-eye-16:](https://onionbrowser.com/privacy-policy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://onionbrowser.com/faqs){ .card-link title=Documentation} +[:octicons-info-16:](https://onionbrowser.com/faqs){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/OnionBrowser/OnionBrowser){ .card-link title="Source Code" } -[:octicons-heart-16:](https://onionbrowser.com/donate){ .card-link title=Contribute } +[:octicons-heart-16:](https://onionbrowser.com/donate){ .card-link title="Contribute" }
Downloads @@ -149,6 +111,4 @@ On iOS, Orbot has some limitations that could potentially cause crashes or leaks Onion Browser does not provide the same levels of privacy protections as Tor Browser does on desktop platforms. For casual use it is a perfectly fine way to access hidden services, but if you're concerned about being traced or monitored by advanced adversaries you should not rely on this as an anonymity tool. -[Notably](https://github.com/privacyguides/privacyguides.org/issues/2929), Onion Browser does not *guarantee* all requests go through Tor. When using the built-in version of Tor, [your real IP **will** be leaked via WebRTC and audio/video streams](https://onionbrowser.com/faqs) due to limitations of WebKit. It is *safer* to use Onion Browser alongside Orbot, but this still comes with some limitations on iOS (noted in the Orbot section above). - -[^1]: The `IsolateDestAddr` setting is discussed on the [Tor mailing list](https://lists.torproject.org/pipermail/tor-talk/2012-May/024403.html) and [Whonix's Stream Isolation documentation](https://whonix.org/wiki/Stream_Isolation), where both projects suggest that it is usually not a good approach for most people. +[Notably](https://github.com/privacyguides/privacyguides.org/issues/2929), Onion Browser does not *guarantee* all requests go through Tor. When using the built-in version of Tor, [your real IP **will** be leaked via WebRTC and audio/video streams](https://onionbrowser.com/faqs) due to limitations of WebKit. It is *safer* to use Onion Browser alongside [Orbot](alternative-networks.md#orbot), but this still comes with some limitations on iOS. diff --git a/docs/vpn.md b/docs/vpn.md index 161f2b329..6698f6cb9 100644 --- a/docs/vpn.md +++ b/docs/vpn.md @@ -34,7 +34,7 @@ Our recommended providers use encryption, support WireGuard & OpenVPN, and have |---|---|---|---|---|--- | [Proton](#proton-vpn) | 112+ | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } Partial Support | :material-information-outline:{ .pg-blue } Limited Support | Cash | [IVPN](#ivpn) | 37+ | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } | :material-information-outline:{ .pg-blue } Outgoing Only | Monero, Cash -| [Mullvad](#mullvad) | 45+ | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } | :material-check:{ .pg-green } | Monero, Cash +| [Mullvad](#mullvad) | 49+ | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } | :material-check:{ .pg-green } | Monero, Cash ### Proton VPN @@ -108,6 +108,15 @@ Unfortunately, it does not work very well in countries where sophisticated filte 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). +
+

How to opt out of sharing telemetry

+ +On Android, Proton hides telemetry settings under the misleadingly labeled "**Help us fight censorship**" menu in the settings panel. On other platforms these settings can be found under the "**Usage statistics**" menu. + +We are noting this because while we don't necessarily recommend against sharing anonymous usage statistics with developers, it is important that these settings are easily found and clearly labeled. + +
+ #### :material-information-outline:{ .pg-blue } Additional Notes Proton VPN clients support two-factor authentication on all platforms. Proton VPN has their own servers and datacenters in Switzerland, Iceland and Sweden. They offer content blocking and known-malware blocking with their DNS service. Additionally, Proton VPN also offers "Tor" servers allowing you to easily connect to onion sites, but we still strongly recommend using [the official Tor Browser](tor.md#tor-browser) for this purpose. @@ -133,8 +142,9 @@ System crashes [may occur](https://protonvpn.com/support/macos-t2-chip-kill-swit Downloads - [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=net.ivpn.client) -- [:octicons-moon-16: Accrescent](https://accrescent.app/app/net.ivpn.client) - [:simple-appstore: App Store](https://apps.apple.com/app/id1193122683) +- [:octicons-moon-16: Accrescent](https://accrescent.app/app/net.ivpn.client) +- [:simple-github: GitHub](https://github.com/ivpn/android-app/releases) - [:fontawesome-brands-windows: Windows](https://ivpn.net/apps-windows) - [:simple-apple: macOS](https://ivpn.net/apps-macos) - [:simple-linux: Linux](https://ivpn.net/apps-linux) diff --git a/includes/abbreviations.en.txt b/includes/abbreviations.en.txt index 4d2f9adac..de1c9c556 100644 --- a/includes/abbreviations.en.txt +++ b/includes/abbreviations.en.txt @@ -107,3 +107,5 @@ *[W3C]: World Wide Web Consortium *[XMPP]: Extensible Messaging and Presence Protocol *[PWA]: Progressive Web App +*[PWAs]: Progressive Web Apps +*[WKD]: Web Key Directory diff --git a/includes/contributors.md b/includes/contributors.md index 70c082895..404971458 100644 --- a/includes/contributors.md +++ b/includes/contributors.md @@ -29,427 +29,446 @@
matchboxbananasynergy

📖 🔬 🤔 👀 📝
fria

📖 👀 🔬 💬 🐛 🤔 +
jordan warne

📖 📹 🔬 🤔 💬 📣 +
Em

📝 📣 🤔 +
Kevin Pham

📝 📣 💬 🔬 🤔 📖 + +
GitHub Actions

🚇
Triplebit

🚇
MAGIC Grants

💼 - -
Netlify

🚇
Dependabot

💻 🚇 + +
Hetzner Cloud

🚇
Cloudflare

🚇
Open Collective

💼 - -
Safing

💵
Dan Arel

📝 📖 🔬 + +
Techlore

💵
elitejake

📖
samsepi0l

📖 - -
rollsicecream

📖 💬 🌍 👀
Henry Fisher

📖 + +
Nate Bartram

📝
Sam Howell

📝
asddsaz

📖 - -
Hugo Costa

📖
C-O-M-P-A-R-T-M-E-N-T-A-L-I-Z-A-T-I-O-N

📖 + +
Alberto Strappazzon

📖
Victorhck

📖
Tai Lam

📖 🚧 - -
NinebitX

📖
Alexander Antukh

📖 + +
Gusted

📖
redoomed1

👀 📖
Offpics

📖 - -
kimg45

📖
djoate

📖 + +
afighttilldeath

📖
Paul Verbeke

📖 🌍 🐛 🧑‍🏫
Mitchell Cash

📖 - -
NeverDucky

📖
efb4f5ff-1298-471a-8973-3d47447115dc

📖 + +
Stephen Karl Larroque

📖
0rdinant

📖
Zenithium

📖 - -
Jordan Gwyn

📖
Guru

📖 + +
datoshkr

📖
Kcchouette

📖
Jacob Neplokh

📖 - -
Leonardo Mazzon

📖 🐛 💵 📣 💬 🌍
Andrew Chong

📖 + +
Wok

📖
nopeitsnothing

📖
Lynn Stephenson

📖 - -
Cory Solovewicz

📖
noClaps

📖 + +
Brian

📖
SkewedZeppelin

📖 💬
Arcadius3D

📖 - -
vpnarea

📖
namazso

📖 💬 + +
cYDN48

📖
gjhklfdsa

📖
Pavel Zolotarevskiy

📖 - -
quiddity-wp

📖
Nikhil Jha

📖 + +
Subatomic Honda Civic

📖
ticklemyIP

📖
jermanuts

📖 - -
conorohiggins

📖
TechFanTheo

📖 + +
Ryan Taylor

📖
Positron832

📖
JustLuckNoSkill

📖 - -
Arkadiy

📖
Jack Chou

📖 + +
ave

📖
Boo

📖
IDKwhattoputhere

📖 - -
idkrn

📖
ggg27

📖 + +
WalterKlosse

📖
Tom Hacohen

📖
Paul Feuvraux

📖 - -
Scott Bennett

📖
Federico Ariel Castagnini

📖 + +
jslawler-gh

📖
spaceoden

📖
xe3

📖 - -
Andrew Morgan

📖
Caleb King

📖 + +
Eduardo

📖
NafeezJS

📖
Sloofy

📖 - -
Sam Schlinkert

📖
Gabor Luk

📖 + +
DeiAsPie

📖
Davide Taviani

📖
spanishharlem

📖 - -
Jacob Gonzales

📖
Kaede

📖 + +
LABB

📖
Raviu8

📖
Peter Dave Hello

📖 - -
Rose

📖
Oskar Sharipov

📖 + +
Samuel Lucas

📖
NylaTheWolf

📖
Matthew Davis

📖 - -
Mark Cohen

📖
Mad Scientist

📖 + +
Maarten

📖
William Davis

📖
William Thomas Wilkins

📖 - -
wylel

📖
Will Browning

📖 + +
Yi Cao

📖
Yusuf Daglioglu

📖
Zack

📖 - -
ZH王

📖
ansuz

📖 + +
archeite

📖
asdfghjz

📖
ayaen

📖 - -
b-harper

📖
Loic Vourch

📖 + +
crasm

📖
eagerto-learn

📖
egecelikci

📖 - -
elleybean

📖
Evan Song

📖 + +
pynixis

📖
Seirdy

📖
Ryan Huang

📖 - -
Sascha P.

📖
Securified

📖 + +
Sergey Musiyenko

📖
Spydar007

📖
Steven Bach

📖 - -
Steven Lehn

📖
Steven van de Graaf

📖 + +
Sven Kortekaas

📖
Tejas Gupta

📖
Tebowy Seba

📖 - -
Ted Gravlin

📖
TheFrenchGhosty

📖 + +
TheNoobWar

📖
Thomas Rientjes

📖
Tim Vergenz

📖 - -
Tom Sullivan

📖
Tony Tan

📖 + +
TroubleDog54

📖
User486375

📖
Nicholas Christensen

📖 - -
oppressor1761

📖
pbbob

📖 + +
pdjpdjpdj

📖
Stella Polaris

📖 🔬 📣 💬 👀
regaldude

📖 - -
rusty-snake

📖
sacha

📖 + +
schwukas

📖
sh-dv

📖
szTheory

📖 - -
Thunderbolt Digital

📖
E. S. Leonesco

📖 + +
titanism

📖
tomac4t

📖
virustotalop

📖 - -
wintr

📖
xelarate86

📖 + +
yeoneer

📖
foxt

📖
Freddie

📖 - -
ghbjklhv

📖
Raymond Hill

📖 + +
luke crouch

📖
fd1f744993de14178e6c

📖
habitualname

📖 - -
hook

📖
nein

📖 + +
jkhgvfgvsth

📖
joaonsg

📖
johnnyburnaway

📖 - -
jus9

📖
kc1212

📖 + +
kryptish

📖
m3t

📖
macau23

📖 - -
mat1th

📖
MWM

📖 -
Michael Plews

📖 -
moritztk

📖 -
Aaron Horler

📖 +
Michael Plews

📖 +
moritztk

📖
Commenter

📖
Cédric Laubacher

📖
Daniel Peukert

📖 -
David Breese

📖 -
Dimitris Apostolou

📖 +
David Breese

📖 +
Dimitris Apostolou

📖
Dyrimon

📖
Ikel Atomig

📖
Elias Ojala

📖 -
Feni Brian

📖 -
Filip Š

📖 +
Feni Brian

📖 +
Filip Š

📖
Felix Albroscheit

📖
GReagle

📖
Gamma

📖 -
GetBoz

📖 -
GrimPixel

📖 +
GetBoz

📖 +
GrimPixel

📖
Guillem L. Jara

📖
HxxxxxS

📖
Himanshu Chandola

📖 -
Issam Maghni

📖 -
ItsDonny

📖 +
Issam Maghni

📖 +
ItsDonny

📖
Abdullah Atta

📖
Adam Sroka

📖
criadoperez

📖 -
Alex Amiryan

📖 -
Alex Shoup

📖 +
Alex Amiryan

📖 +
Alex Shoup

📖
Alex Thomassen

📖
Amolith

📖
Andrea Scarpino

📖 -
Armando Lüscher

📖 -
Ash T

📖 +
Armando Lüscher

📖 +
Ash T

📖
Bernd Eichelberger

📖
BionicBison05

📖
Brent Gervais

📖 -
Brian Cooper

📖 -
Caboose700

📖 +
Brian Cooper

📖 +
Caboose700

📖
Cadel Watson

📖
trosel

📖
Carl

📖 -
Chad Birch

📖 -
Chris Barry

📖 +
Chad Birch

📖 +
Chris Barry

📖
Júlio Ferraz

📖
Jack Hill

📖
Mathias Oterhals Myklebust

📖 -
Mats Estensen

📖 -
Matt Baer

📖 +
Mats Estensen

📖 +
Matt Baer

📖
Mehdi Chaouch

📖
Mike Perrone

📖
Mitch Wilkins

📖 -
Mo

📖 -
Morten Linderud

📖 +
Mo

📖 +
Morten Linderud

📖
natzim

📖
Douglas

📖
Nick

📖 -
NielDB

📖 -
Nihal Raj

📖 +
NielDB

📖 +
Nihal Raj

📖
Noah

📖
Panagiotis "Ivory" Vasilopoulos

📖
Patrick R

📖 -
Fart Attorney

📖 -
Pilou

📖 +
Fart Attorney

📖 +
Pilou

📖
PoorPockets McNewHold

📖 🌍
PrinceKael

📖
Richard

📖 -
Jaden Site

📖 -
Jake Zeal

📖 +
Jaden Site

📖 +
Jake Zeal

📖
James Kerrane

📖
Sell

📖
YMHuang

📖 -
Jonathan Vansina

📖 -
jorgeluiscarrillo

📖 +
Jonathan Vansina

📖 +
jorgeluiscarrillo

📖
Julian

📖
Kefaku

📖
Kevin Brennan

📖 -
Kyle Spearrin

📖 -
Leon Allen

📖 +
Kyle Spearrin

📖 +
Leon Allen

📖
LisaWilbourn

📖
Lord Shedy

📖
Louis Wolfers

📖 -
Lunush

📖 -
MMR

📖 +
Lunush

📖 +
MMR

📖
Mads Peter Rommedahl

📖
Manuel Quarneti

📖
Marco Menzel

📖 -
Mario

📖 -
skye

💬 +
Mario

📖 +
skye

💬
r2fo

🌍
LamTrinh.Dev

📖 🐛 💬
frostlike

💬 -
Merlin Scholz

🌍 -
jordan warne

📖 +
Merlin Scholz

🌍
Dženan

🌍
jx tsai

🌍
backstab5983

📖
antgig

📖 -
Ákos Nikházy

📖 +
Ákos Nikházy

📖
Francois Marier

📖
5-tom

📖
Ralphie0511

📖
aleksejs1

📖 -
Martin

📖 +
Martin

📖
Overwatch

📖
Kieran Colfer

📖
Triple T

📖
IDON-TEXIST

📖 -
Yusuf Daglioglu

📖 +
Yusuf Daglioglu

📖
Yi Cao

📖
Sayf Dhū al-Faqār

📖
eylenburg

📖
Kieran Colfer

📖 -
Justin Ehrenhofer

📖 💼 🔍 +
Justin Ehrenhofer

📖 💼 🔍
Alex Bruch

🌍
qiyongzheng

📖
Sam K

📖 📣 💬 +
Spirizer

🌍 + + +
jordbm

📖 🚧 🛡️ +
Austin Huang

📖 💬 +
Ward

📖 +
oilmaint

📖 +
headdirt

📖 + + +
Quentin McRee

📖 +
Sven

📖 +
Tom Honour

📖 +
Brogio

📖 +
Nathan Youngman

📖 + + +
Jeremy

📖 diff --git a/mkdocs.blog.yml b/mkdocs.blog.yml index a9b0f6a70..ee6f08692 100644 --- a/mkdocs.blog.yml +++ b/mkdocs.blog.yml @@ -47,7 +47,7 @@ extra: - fontawesome/brands/creative-commons - fontawesome/brands/creative-commons-by - fontawesome/brands/creative-commons-sa - homepage: https://www.privacyguides.org/en/ + homepage: !ENV [MAIN_SITE_BASE_URL, "https://www.privacyguides.org/en/"] generator: false context: !ENV [BUILD_CONTEXT, "production"] offline: !ENV [BUILD_OFFLINE, false] @@ -118,7 +118,7 @@ theme: - search.highlight extra_css: - - assets/stylesheets/extra.css?v=20240829 + - assets/stylesheets/extra.css?v=20250723 watch: - theme @@ -131,8 +131,10 @@ plugins: post_url_format: "{date}/{file}" post_excerpt: required post_excerpt_max_authors: 0 + post_readtime: false authors_profiles: true authors_profiles_toc: true + pagination_per_page: 20 categories_allowed: - Announcements - Opinion @@ -206,17 +208,23 @@ markdown_extensions: toc_depth: 3 nav: - - !ENV [NAV_HOME, "Home"]: /en/ - - !ENV [NAV_KNOWLEDGE_BASE, "Knowledge Base"]: /en/basics/why-privacy-matters/ - - !ENV [NAV_RECOMMENDATIONS, "Recommendations"]: /en/tools/ + - !ENV [NAV_HOME, "Home"]: !ENV [MAIN_SITE_BASE_URL, "/en/"] + - !ENV [NAV_KNOWLEDGE_BASE, "Knowledge Base"]: + !ENV [MAIN_SITE_KNOWLEDGE_BASE_URL, "/en/basics/why-privacy-matters/"] + - !ENV [NAV_RECOMMENDATIONS, "Recommendations"]: + !ENV [MAIN_SITE_RECOMMENDATIONS_URL, "/en/tools/"] - !ENV [NAV_BLOG, "Articles"]: - index.md - editorial.md - tags.md - - !ENV [NAV_VIDEOS, "Videos"]: /videos/ - - !ENV [NAV_ABOUT, "About"]: /en/about/ - - "Donate": /en/about/donate/ + - !ENV [NAV_VIDEOS, "Videos"]: !ENV [VIDEOS_SITE_BASE_URL, "/videos/"] - !ENV [NAV_FORUM, "Forum"]: "https://discuss.privacyguides.net/" + - !ENV [NAV_WIKI, "Wiki"]: + !ENV [ + NAV_WIKI_LINK, + "https://discuss.privacyguides.net/c/community-wiki/9411/none", + ] + - !ENV [NAV_ABOUT, "About"]: !ENV [MAIN_SITE_ABOUT_URL, "/en/about/"] validation: nav: diff --git a/mkdocs.insiders.yml b/mkdocs.insiders.yml new file mode 100644 index 000000000..65525b5a6 --- /dev/null +++ b/mkdocs.insiders.yml @@ -0,0 +1,18 @@ +INHERIT: mkdocs.yml + +watch: + - theme + - includes + - mkdocs.yml + +markdown_extensions: + material.extensions.preview: + sources: + exclude: + - index.md + - tools.md + - about.md + - about/* + targets: + exclude: + - about/contributors.md diff --git a/mkdocs.net.yml b/mkdocs.net.yml deleted file mode 100644 index 3c5024020..000000000 --- a/mkdocs.net.yml +++ /dev/null @@ -1,198 +0,0 @@ -# Copyright (c) 2022-2024 Jonah Aragon - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -# IN THE SOFTWARE. - -docs_dir: "net" -site_url: "https://www.privacyguides.net/" -site_dir: "site/net" - -site_name: Privacy Guides Community -site_description: "Discover privacy tools and resources, ask questions, and stay informed at the biggest digital rights and privacy tech community online." -edit_uri_template: blob/main/net/{path}?plain=1 - -extra: - privacy_guides: - footer: - intro: - !ENV [ - FOOTER_INTRO, - "Privacy Guides is a non-profit, socially motivated website that provides information for protecting your data security and privacy.", - ] - note: - !ENV [ - FOOTER_NOTE, - "We do not make money from recommending certain products, and we do not use affiliate links.", - ] - copyright: - author: - !ENV [FOOTER_COPYRIGHT_AUTHOR, "Privacy Guides and contributors."] - date: !ENV [FOOTER_COPYRIGHT_DATE, "2019-2025"] - license: - - fontawesome/brands/creative-commons - - fontawesome/brands/creative-commons-by - - fontawesome/brands/creative-commons-sa - homepage: https://www.privacyguides.org/en/ - generator: false - context: !ENV [BUILD_CONTEXT, "production"] - offline: !ENV [BUILD_OFFLINE, false] - deploy: !ENV DEPLOY_ID - social: - - icon: simple/mastodon - link: https://mastodon.neat.computer/@privacyguides - name: !ENV [SOCIAL_MASTODON, "Mastodon"] - - icon: simple/matrix - link: https://matrix.to/#/#privacyguides:matrix.org - name: !ENV [SOCIAL_MATRIX, "Matrix"] - - icon: simple/discourse - link: https://discuss.privacyguides.net/ - name: !ENV [SOCIAL_FORUM, "Forum"] - - icon: simple/github - link: https://github.com/privacyguides - name: !ENV [SOCIAL_GITHUB, "GitHub"] - - icon: simple/torbrowser - link: http://www.xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion/ - name: !ENV [SOCIAL_TOR_SITE, "Hidden service"] - -repo_url: - !ENV [BUILD_REPO_URL, "https://github.com/privacyguides/privacyguides.org"] -repo_name: "" - -theme: - name: material - language: en - custom_dir: theme - font: - text: Public Sans - code: DM Mono - palette: - - media: "(prefers-color-scheme)" - scheme: default - accent: deep purple - toggle: - icon: material/brightness-auto - name: !ENV [THEME_DARK, "Switch to dark mode"] - - media: "(prefers-color-scheme: dark)" - scheme: slate - accent: amber - toggle: - icon: material/brightness-2 - name: !ENV [THEME_LIGHT, "Switch to light mode"] - - media: "(prefers-color-scheme: light)" - scheme: default - accent: deep purple - toggle: - icon: material/brightness-5 - name: !ENV [THEME_AUTO, "Switch to system theme"] - favicon: assets/brand/logos/png/favicon-32x32.png - icon: - repo: simple/github - features: - - announce.dismiss - - navigation.tracking - - navigation.tabs - - navigation.sections - - navigation.expand - - navigation.path - - navigation.indexes - - navigation.footer - - content.action.edit - - content.tabs.link - - content.tooltips - - search.highlight - -extra_css: - - assets/stylesheets/extra.css?v=20240829 - -watch: - - theme - - includes - -plugins: - tags: {} - privacy: - enabled: !ENV [BUILD_PRIVACY, true] - offline: - enabled: !ENV [BUILD_OFFLINE, false] - minify_html: {} - group: - enabled: !ENV [BUILD_INSIDERS, true] - plugins: - macros: {} - meta: {} - optimize: - enabled: !ENV [OPTIMIZE, PRODUCTION, NETLIFY, false] - typeset: {} - social: - cards: !ENV [CARDS, true] - cards_dir: assets/img/social - cards_layout_dir: theme/layouts - cards_layout: page - -markdown_extensions: - admonition: {} - pymdownx.details: {} - pymdownx.superfences: - custom_fences: - - name: mermaid - class: mermaid - format: !!python/name:pymdownx.superfences.fence_code_format - pymdownx.tabbed: - alternate_style: true - pymdownx.arithmatex: - generic: true - pymdownx.critic: {} - pymdownx.caret: {} - pymdownx.keys: {} - pymdownx.mark: {} - pymdownx.tilde: {} - pymdownx.snippets: - auto_append: - - !ENV [BUILD_ABBREVIATIONS, "includes/abbreviations.en.txt"] - pymdownx.tasklist: - custom_checkbox: true - attr_list: {} - def_list: {} - md_in_html: {} - meta: {} - abbr: {} - pymdownx.emoji: - emoji_index: !!python/name:material.extensions.emoji.twemoji - emoji_generator: !!python/name:material.extensions.emoji.to_svg - tables: {} - footnotes: {} - toc: - permalink: true - toc_depth: 4 - -nav: - - !ENV [NAV_HOME, "Home"]: https://www.privacyguides.org/en/ - - !ENV [NAV_KNOWLEDGE_BASE, "Knowledge Base"]: - https://www.privacyguides.org/en/basics/why-privacy-matters/ - - !ENV [NAV_RECOMMENDATIONS, "Recommendations"]: - https://www.privacyguides.org/en/tools/ - - !ENV [NAV_BLOG, "Articles"]: https://www.privacyguides.org/articles/ - - !ENV [NAV_ABOUT, "About"]: https://www.privacyguides.org/en/about/ - - "Donate": https://www.privacyguides.org/en/about/donate/ - - !ENV [NAV_CHANGELOG, "Changelog"]: - "https://github.com/privacyguides/privacyguides.org/releases" - - !ENV [NAV_FORUM, "Forum"]: "https://discuss.privacyguides.net/" - -validation: - nav: - not_found: info diff --git a/mkdocs.videos.yml b/mkdocs.videos.yml index d62c34307..3627d9896 100644 --- a/mkdocs.videos.yml +++ b/mkdocs.videos.yml @@ -47,7 +47,7 @@ extra: - fontawesome/brands/creative-commons - fontawesome/brands/creative-commons-by - fontawesome/brands/creative-commons-sa - homepage: https://www.privacyguides.org/en/ + homepage: !ENV [MAIN_SITE_BASE_URL, "https://www.privacyguides.org/en/"] generator: false context: !ENV [BUILD_CONTEXT, "production"] offline: !ENV [BUILD_OFFLINE, false] @@ -118,7 +118,7 @@ theme: - search.highlight extra_css: - - assets/stylesheets/extra.css?v=20240829 + - assets/stylesheets/extra.css?v=20250723 watch: - theme @@ -198,15 +198,22 @@ markdown_extensions: toc_depth: 4 nav: - - !ENV [NAV_HOME, "Home"]: /en/ - - !ENV [NAV_KNOWLEDGE_BASE, "Knowledge Base"]: /en/basics/why-privacy-matters/ - - !ENV [NAV_RECOMMENDATIONS, "Recommendations"]: /en/tools/ - - !ENV [NAV_BLOG, "Articles"]: /articles/ + - !ENV [NAV_HOME, "Home"]: !ENV [MAIN_SITE_BASE_URL, "/en/"] + - !ENV [NAV_KNOWLEDGE_BASE, "Knowledge Base"]: + !ENV [MAIN_SITE_KNOWLEDGE_BASE_URL, "/en/basics/why-privacy-matters/"] + - !ENV [NAV_RECOMMENDATIONS, "Recommendations"]: + !ENV [MAIN_SITE_RECOMMENDATIONS_URL, "/en/tools/"] + - !ENV [NAV_BLOG, "Articles"]: !ENV [ARTICLES_SITE_BASE_URL, "/articles/"] - !ENV [NAV_VIDEOS, "Videos"]: - index.md - - !ENV [NAV_ABOUT, "About"]: /en/about/ - - "Donate": /en/about/donate/ + - playlists.md - !ENV [NAV_FORUM, "Forum"]: "https://discuss.privacyguides.net/" + - !ENV [NAV_WIKI, "Wiki"]: + !ENV [ + NAV_WIKI_LINK, + "https://discuss.privacyguides.net/c/community-wiki/9411/none", + ] + - !ENV [NAV_ABOUT, "About"]: !ENV [MAIN_SITE_ABOUT_URL, "/en/about/"] validation: nav: diff --git a/mkdocs.yml b/mkdocs.yml index 44bd0d6a4..28114f4f0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -281,7 +281,7 @@ theme: - search.highlight extra_css: - - assets/stylesheets/extra.css?v=20250306 + - assets/stylesheets/extra.css?v=20250723 extra_javascript: - path: assets/javascripts/randomize-element.js?v=20250306 defer: true @@ -393,6 +393,9 @@ nav: - "os/windows/group-policies.md" - !ENV [NAV_RECOMMENDATIONS, "Recommendations"]: - "tools.md" + - !ENV [NAV_SELF_HOSTING, "Self-Hosting"]: + - "self-hosting/index.md" + - "self-hosting/email-servers.md" - !ENV [NAV_INTERNET_BROWSING, "Internet Browsing"]: - "tor.md" - "desktop-browsers.md" @@ -428,6 +431,7 @@ nav: - "passwords.md" - "pastebins.md" - "real-time-communication.md" + - "social-networks.md" - !ENV [NAV_HARDWARE, "Hardware"]: - "mobile-phones.md" - "security-keys.md" @@ -442,10 +446,15 @@ nav: - !ENV [NAV_ADVANCED, "Advanced"]: - "alternative-networks.md" - "device-integrity.md" - - !ENV [NAV_BLOG, "Articles"]: "/articles/" - - !ENV [NAV_VIDEOS, "Videos"]: /videos/ + - !ENV [NAV_BLOG, "Articles"]: !ENV [ARTICLES_SITE_BASE_URL, "/articles/"] + - !ENV [NAV_VIDEOS, "Videos"]: !ENV [VIDEOS_SITE_BASE_URL, "/videos/"] - !ENV [NAV_FORUM, "Forum"]: !ENV [NAV_FORUM_LINK, "https://discuss.privacyguides.net/"] + - !ENV [NAV_WIKI, "Wiki"]: + !ENV [ + NAV_WIKI_LINK, + "https://discuss.privacyguides.net/c/community-wiki/9411/none", + ] - !ENV [NAV_ABOUT, "About"]: - "about.md" - "about/donate.md" @@ -473,6 +482,7 @@ nav: - "meta/uploading-images.md" - "meta/git-recommendations.md" - "meta/commit-messages.md" + - "meta/pr-comments.md" validation: nav: diff --git a/modules/mkdocs-material b/modules/mkdocs-material index 573ea60dc..ce2cca8c5 160000 --- a/modules/mkdocs-material +++ b/modules/mkdocs-material @@ -1 +1 @@ -Subproject commit 573ea60dc618719bff3897a4fdae22ab2cd725e8 +Subproject commit ce2cca8c5240ae520e09a67954de09949bd04efe diff --git a/net/index.md b/net/index.md deleted file mode 100644 index 24e271ab1..000000000 --- a/net/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Weekly Discussions -meta_title: Privacy Guides Community -hide: - - footer - - toc - - navigation -schema: - - - "@context": https://schema.org - "@type": Organization - "@id": https://www.privacyguides.org/ - name: Privacy Guides - url: https://www.privacyguides.org/ - logo: https://www.privacyguides.org/en/assets/brand/logos/png/square/pg-yellow.png - sameAs: - - https://twitter.com/privacy_guides - - https://github.com/privacyguides - - https://www.wikidata.org/wiki/Q111710163 - - https://www.youtube.com/@privacyguides - - https://mastodon.neat.computer/@privacyguides - - - "@context": https://schema.org - "@type": WebSite - name: Privacy Guides - alternateName: ["Privacy Guides Community", "Privacy Guides Forum", "Privacy & Security Forum", "Privacy Discussions", "Privacy Community", "PG Community"] - url: "https://www.privacyguides.net/" - isPartOf: "https://www.privacyguides.org/" ---- - -Discover privacy tools and resources, ask questions, and stay informed at the biggest digital rights and privacy tech community online. - -[Open Forum](https://discuss.privacyguides.net){.md-button .md-button--primary} -[View Resources](https://www.privacyguides.org/en/tools/){.md-button} - -
-
    - - - -
-
diff --git a/run.sh b/run.sh index 247027325..d24f3690e 100755 --- a/run.sh +++ b/run.sh @@ -113,31 +113,8 @@ fi # Set theme if insiders if $insiders ; then - random_num=$RANDOM export BUILD_INSIDERS=true - cmd_flags+=("--config-file=$PWD/.mkdocs-insiders-$random_num.yml") - touch "$PWD/.mkdocs-insiders-$random_num.yml" - cat <> "$PWD/.mkdocs-insiders-$random_num.yml" -INHERIT: mkdocs.yml - -watch: - - theme - - includes - - mkdocs.yml - -markdown_extensions: - material.extensions.preview: - sources: - exclude: - - index.md - - tools.md - - about.md - - about/* - targets: - exclude: - - about/contributors.md -EOT - trap 'rm $PWD/.mkdocs-insiders-$random_num.yml' EXIT + cmd_flags+=("--config-file=$PWD/mkdocs.insiders.yml") fi # Run the command with the specified language diff --git a/theme/assets/brand b/theme/assets/brand index db7578576..e567eb3f0 160000 --- a/theme/assets/brand +++ b/theme/assets/brand @@ -1 +1 @@ -Subproject commit db75785763ddcbf2790000a5a18b9d937dbdfeb7 +Subproject commit e567eb3f0e6cb54242a809661d78d884caa05b72 diff --git a/theme/assets/img/ai-chat/llamafile.svg b/theme/assets/img/ai-chat/llamafile.svg deleted file mode 100644 index cbbe78273..000000000 --- a/theme/assets/img/ai-chat/llamafile.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/theme/assets/img/ai-chat/llamafile.webp b/theme/assets/img/ai-chat/llamafile.webp new file mode 100644 index 000000000..c31b751f3 Binary files /dev/null and b/theme/assets/img/ai-chat/llamafile.webp differ diff --git a/theme/assets/img/cover/ai-chatbots.webp b/theme/assets/img/cover/ai-chatbots.webp index cdba241ca..4c29ee225 100644 Binary files a/theme/assets/img/cover/ai-chatbots.webp and b/theme/assets/img/cover/ai-chatbots.webp differ diff --git a/theme/assets/img/cover/health-cover.webp b/theme/assets/img/cover/health-cover.webp deleted file mode 100644 index ebbba4bd7..000000000 Binary files a/theme/assets/img/cover/health-cover.webp and /dev/null differ diff --git a/theme/assets/img/cover/health.webp b/theme/assets/img/cover/health.webp new file mode 100644 index 000000000..793ae0217 Binary files /dev/null and b/theme/assets/img/cover/health.webp differ diff --git a/theme/assets/img/cover/language-tools.webp b/theme/assets/img/cover/language-tools.webp index 9d48a5f6e..f36f5fc0c 100644 Binary files a/theme/assets/img/cover/language-tools.webp and b/theme/assets/img/cover/language-tools.webp differ diff --git a/theme/assets/img/cover/maps.webp b/theme/assets/img/cover/maps.webp index 5425cf47b..e4f5e320d 100644 Binary files a/theme/assets/img/cover/maps.webp and b/theme/assets/img/cover/maps.webp differ diff --git a/theme/assets/img/cover/office-suites.webp b/theme/assets/img/cover/office-suites.webp index 98196c97e..ee000c210 100644 Binary files a/theme/assets/img/cover/office-suites.webp and b/theme/assets/img/cover/office-suites.webp differ diff --git a/theme/assets/img/cover/pastebins.webp b/theme/assets/img/cover/pastebins.webp index 10055084f..87951fb5f 100644 Binary files a/theme/assets/img/cover/pastebins.webp and b/theme/assets/img/cover/pastebins.webp differ diff --git a/theme/assets/img/cover/social-networks.webp b/theme/assets/img/cover/social-networks.webp new file mode 100644 index 000000000..162e25297 Binary files /dev/null and b/theme/assets/img/cover/social-networks.webp differ diff --git a/theme/assets/img/device-integrity/mvt-dark.png b/theme/assets/img/device-integrity/mvt-dark.png new file mode 100644 index 000000000..9528e8757 Binary files /dev/null and b/theme/assets/img/device-integrity/mvt-dark.png differ diff --git a/theme/assets/img/email-clients/canarymail.svg b/theme/assets/img/email-clients/canarymail.svg deleted file mode 100644 index bdf6151da..000000000 --- a/theme/assets/img/email-clients/canarymail.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/theme/assets/img/linux-desktop/secureblue.svg b/theme/assets/img/linux-desktop/secureblue.svg new file mode 100644 index 000000000..184db76e9 --- /dev/null +++ b/theme/assets/img/linux-desktop/secureblue.svg @@ -0,0 +1,97 @@ + + + + diff --git a/theme/assets/img/messengers/session.svg b/theme/assets/img/messengers/session.svg deleted file mode 100644 index 90162e871..000000000 --- a/theme/assets/img/messengers/session.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/theme/assets/img/meta/pr-avoid-general-comments.png b/theme/assets/img/meta/pr-avoid-general-comments.png new file mode 100644 index 000000000..986bdfd11 Binary files /dev/null and b/theme/assets/img/meta/pr-avoid-general-comments.png differ diff --git a/theme/assets/img/meta/pr-threaded-comment.png b/theme/assets/img/meta/pr-threaded-comment.png new file mode 100644 index 000000000..974779c4e Binary files /dev/null and b/theme/assets/img/meta/pr-threaded-comment.png differ diff --git a/theme/assets/img/pastebins/paaster.svg b/theme/assets/img/pastebins/paaster.svg index aa512eb07..2e52ac682 100644 --- a/theme/assets/img/pastebins/paaster.svg +++ b/theme/assets/img/pastebins/paaster.svg @@ -1 +1,22 @@ - + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/theme/assets/img/photo-management/ente-dark.svg b/theme/assets/img/photo-management/ente-dark.svg deleted file mode 100644 index 22e986b39..000000000 --- a/theme/assets/img/photo-management/ente-dark.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/theme/assets/img/photo-management/ente.svg b/theme/assets/img/photo-management/ente.svg index e1dba0de6..956fcf375 100644 --- a/theme/assets/img/photo-management/ente.svg +++ b/theme/assets/img/photo-management/ente.svg @@ -1 +1,2 @@ - + + diff --git a/theme/assets/img/photo-management/stingle-dark.png b/theme/assets/img/photo-management/stingle-dark.png deleted file mode 100644 index f22dfd26c..000000000 Binary files a/theme/assets/img/photo-management/stingle-dark.png and /dev/null differ diff --git a/theme/assets/img/photo-management/stingle.png b/theme/assets/img/photo-management/stingle.png deleted file mode 100644 index 8b22a6a78..000000000 Binary files a/theme/assets/img/photo-management/stingle.png and /dev/null differ diff --git a/theme/assets/img/browsers/snowflake-dark.svg b/theme/assets/img/self-contained-networks/snowflake-dark.svg similarity index 99% rename from theme/assets/img/browsers/snowflake-dark.svg rename to theme/assets/img/self-contained-networks/snowflake-dark.svg index 842dd7d2d..6f95f080e 100644 --- a/theme/assets/img/browsers/snowflake-dark.svg +++ b/theme/assets/img/self-contained-networks/snowflake-dark.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/theme/assets/img/browsers/snowflake.svg b/theme/assets/img/self-contained-networks/snowflake.svg similarity index 99% rename from theme/assets/img/browsers/snowflake.svg rename to theme/assets/img/self-contained-networks/snowflake.svg index a0ca2116c..2d470e427 100644 --- a/theme/assets/img/browsers/snowflake.svg +++ b/theme/assets/img/self-contained-networks/snowflake.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/theme/assets/img/email/mail-in-a-box.svg b/theme/assets/img/self-hosting/mail-in-a-box.svg similarity index 100% rename from theme/assets/img/email/mail-in-a-box.svg rename to theme/assets/img/self-hosting/mail-in-a-box.svg diff --git a/theme/assets/img/email/mailcow.svg b/theme/assets/img/self-hosting/mailcow.svg similarity index 99% rename from theme/assets/img/email/mailcow.svg rename to theme/assets/img/self-hosting/mailcow.svg index fc00d42d7..62b1f0a07 100644 --- a/theme/assets/img/email/mailcow.svg +++ b/theme/assets/img/self-hosting/mailcow.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/theme/assets/img/email/stalwart.svg b/theme/assets/img/self-hosting/stalwart.svg similarity index 100% rename from theme/assets/img/email/stalwart.svg rename to theme/assets/img/self-hosting/stalwart.svg diff --git a/theme/assets/img/messengers/element.svg b/theme/assets/img/social-networks/element.svg similarity index 100% rename from theme/assets/img/messengers/element.svg rename to theme/assets/img/social-networks/element.svg diff --git a/theme/assets/img/social-networks/mastodon.svg b/theme/assets/img/social-networks/mastodon.svg new file mode 100644 index 000000000..0f8baebfc --- /dev/null +++ b/theme/assets/img/social-networks/mastodon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme/assets/stylesheets/extra.css b/theme/assets/stylesheets/extra.css index 2faf2e002..ed15da61a 100644 --- a/theme/assets/stylesheets/extra.css +++ b/theme/assets/stylesheets/extra.css @@ -599,3 +599,8 @@ 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- .md-typeset .mdx-donors-total { font-weight:700 } + +.md-typeset small { + opacity: 1; + color: var(--md-default-fg-color--light); +} diff --git a/theme/blog-post.html b/theme/blog-post.html index f40a39327..71dfde674 100644 --- a/theme/blog-post.html +++ b/theme/blog-post.html @@ -118,7 +118,7 @@