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

Compare commits

...

273 Commits
v2.20 ... v3.8

Author SHA1 Message Date
2df3405598 Download translations dynamically (#2120) 2023-04-11 12:47:54 -05:00
ebfb448ed2 Add Mullvad Browser (#2109) 2023-04-11 09:56:12 -05:00
fc12732e93 Don't recommend Orbot IsolateDestAddr (#2121)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-04-11 22:10:24 +09:30
0e457065a0 Clarify source availability in MFA criteria (#2113) 2023-04-10 17:53:11 -05:00
b074ed9401 Fix broken links (#2112)
Co-Authored-By: jermanuts <109705802+jermanuts@users.noreply.github.com>
2023-04-07 13:35:29 -05:00
b4804752e1 Brave corrections, additions and fixes (#2115) 2023-04-07 13:13:07 -05:00
4c805daa7e Update dependencies 2023-04-06 15:53:16 -05:00
416f468a20 Bump pillow from 9.4.0 to 9.5.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.4.0 to 9.5.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/9.4.0...9.5.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 12:23:43 +00:00
1f6dfc4e6f Bump mkdocs-git-committers-plugin-2 from 1.1.1 to 1.1.2
Bumps [mkdocs-git-committers-plugin-2](https://github.com/ojacques/mkdocs-git-committers-plugin-2) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/ojacques/mkdocs-git-committers-plugin-2/releases)
- [Commits](https://github.com/ojacques/mkdocs-git-committers-plugin-2/compare/1.1.1...1.1.2)

---
updated-dependencies:
- dependency-name: mkdocs-git-committers-plugin-2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 21:49:49 +09:30
4847c25066 New Crowdin Translations (#2110)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-04-04 21:38:20 -05:00
6582156917 Fix Crowdin YAML Bug (#2106) 2023-04-04 21:26:29 -05:00
e29ed5de35 Revert "Official banner"
This reverts commit 09b4799dbf.
2023-04-01 22:30:04 -05:00
09b4799dbf Official banner 2023-03-31 20:17:25 -05:00
d1c4abcd4f Add some structured data entities (#2106) 2023-03-29 14:27:39 -05:00
77c073c602 Deploy preview warning (#2104) 2023-03-27 10:11:11 -05:00
d25b4021d5 Link to NPO Radio 1 interview (#2103) 2023-03-27 09:51:11 -05:00
37632d93ec Update website metadata (#2098) 2023-03-23 06:39:01 +00:00
321eccb7d6 Remove Librem Key Recommendation (#2101) 2023-03-23 01:30:18 -05:00
aefa3e75c4 Recommend Tresorit (#2100) 2023-03-22 13:34:49 -05:00
8fc748109d MIT License source code (#2096) 2023-03-21 17:21:51 -05:00
7b75ad0514 Use GitHub issue form syntax (#2095) 2023-03-21 17:15:55 -05:00
a88689fb43 Add dependency version locks (#2094) 2023-03-21 15:23:17 -05:00
3f5bbbd492 Update Dependabot configuration 2023-03-21 11:05:52 -05:00
3499498be7 Add Onion Service path overview diagram (#2089) 2023-03-20 14:53:09 +10:30
1bde6c2920 Bump crowdin/github-action from 1.7.0 to 1.7.1
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 14:51:18 +10:30
14b2f975e2 Updated Proton Mail, U2F/FIDO2 support (#2092)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-20 14:49:59 +10:30
29658d1d98 New Crowdin Translations (#2088)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-14 16:54:06 +10:30
3e7d6c6ac2 Bump actions/cache from 3.3.0 to 3.3.1
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 04:59:12 +00:00
60f0a8df9f Create Kiwix/ZIM Download 2023-03-11 19:37:24 -06:00
9112720140 Enable offline builds (#2087) 2023-03-11 19:02:09 -06:00
c99bdda06f Add abbreviation KYC (#2086) 2023-03-11 18:53:28 -06:00
3849c523ef Remove digital legacy heading (#2081) 2023-03-11 18:52:54 -06:00
9e35e2ef8a New Crowdin Translations (#2074)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-12 01:27:24 +10:30
5bad28ff6d Add page descriptions to docs (#2075)
Co-authored-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
Signed-off-by: Jonah Aragon <github@aragon.science>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-11 02:40:11 +10:30
3955114451 Fix merge conflict mistakes (#2080)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-11 02:33:35 +10:30
d2316dd782 Bump actions/cache from 3.2.6 to 3.3.0
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.6 to 3.3.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.6...v3.3.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-11 02:20:46 +10:30
99618de520 Proton Drive is now open source (#2083)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-11 02:19:31 +10:30
5c41b3c2f2 Redesign larger pages (#2078)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-09 16:52:16 +10:30
ac8c5a30d1 Add private payment methods overview (#1068) 2023-03-09 15:13:09 +10:30
45bfe22c61 Fix theme switcher (#2077)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-08 14:27:20 +10:30
65db9d3fee Revert some changes from cc69609 (#2073) 2023-03-06 13:49:03 -06:00
f3f092d1a3 Add breadcrumb metadata (#2072) 2023-03-05 14:52:02 -06:00
35c95c029c Improve our About page (#2071) 2023-03-03 12:18:38 -06:00
7fb07925ec SEO fixes (#2070) 2023-03-03 09:27:46 -06:00
dc4199d7c4 Expand Permissions on Android (#2030) 2023-03-03 19:15:48 +10:30
fda35b5f70 Use logo for social card (#2069) 2023-03-02 14:24:16 -06:00
9e16a63caa New Crowdin translations by GitHub Action (#2065) 2023-03-03 04:05:27 +10:30
47377df8da Fix external resource errors (#2066) 2023-03-02 11:01:48 -06:00
28c576110c Enable social card generation (#2068) 2023-03-01 21:28:32 -06:00
d63dc04aff Enable asset optimization (#2061) 2023-03-01 13:05:14 -06:00
e336699480 Use flag for language selector icon (#2062) 2023-03-01 13:04:52 -06:00
aaec10b83e Remove mkdocs.en.yml from Crowdin (#2064) 2023-03-01 12:54:19 -06:00
9cbebf239b Fix #1930 (#2060) 2023-03-01 08:59:44 -06:00
97350b6245 GitHub Pages fix 2023-03-01 07:56:07 -06:00
f0621e257b New Crowdin Translations (#2058)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-03-01 07:16:04 +01:00
1ac4dd75c7 Download Translations from Crowdin (#2054) 2023-02-28 21:12:51 -06:00
4c8cd3f295 Stop using i18n plugin (#2054) 2023-02-28 20:11:33 -06:00
bfaba1cd11 Add biometrics note (#2055)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-03-01 12:38:44 +10:30
66efe4a27f Adjust mobile width issues (#2051) 2023-02-28 08:43:33 -06:00
657e977074 F-Droid consistency (#2052) 2023-02-28 20:56:30 +10:30
f516235dd4 Handle standard language codes properly (#2050) 2023-02-27 21:52:36 -06:00
cc696093ce Add abbreviations to Crowdin (#2049) 2023-02-27 18:56:23 -06:00
4da25bc39a Skip untranslated files 2023-02-27 17:01:31 -06:00
6245ed8581 Update dependencies (#2048) 2023-02-27 16:27:01 -06:00
d9b9092ac3 Disable translation uploads 2023-02-27 14:14:51 -06:00
7a6fc90114 New Crowdin translations by GitHub Action (#2039) 2023-02-27 14:05:05 -06:00
ef7cf862d4 [ImgBot] Optimize images (#2043)
Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2023-02-27 13:58:35 -06:00
f396afa15f Support l10n of config strings (#2045) 2023-02-27 13:54:55 -06:00
227609f768 Use Invidious for Embeds (#2046) 2023-02-27 13:34:27 -06:00
425914a33d Add french specific GDPR mention (#2040)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-28 03:43:21 +10:30
131f91ad56 New Crowdin translations by GitHub Action (#2038) 2023-02-28 00:16:34 +10:30
9b008f2b76 Add FR specific, multi languages context (#2035)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-27 23:59:05 +10:30
2a4947bd72 Fix MFA consistency in criteria (#2034) 2023-02-27 19:05:39 +10:30
829883c450 Use consistent language across articles for open-source (#2033) 2023-02-27 19:02:22 +10:30
e52286a1b0 New Crowdin translations by GitHub Action (#2032)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-27 15:25:13 +10:30
2a85daa3fa Fix Crowdin Download Workflow
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
2023-02-26 21:30:15 -06:00
052671197b Create 404 Page (#2031) 2023-02-26 12:37:19 -06:00
f6ca66bbb4 Enable Hebrew, French, Dutch (#2022)
add french translations for navigation categories (#2028)

Co-Authored-By: Paul Verbeke 🇫🇷 <github.f9qel@simplelogin.com>
Co-Authored-By: Daniel Gray <dngray@privacyguides.org>
Co-Authored-By: Niek de Wilde 🇳🇱 <niek@privacyguides.org>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-Authored-By: fireinme 🇮🇱 <126413261+freeopensourc@users.noreply.github.com>
2023-02-26 11:53:34 -06:00
d03f91b1c0 Remove nerd term "use case", fix typos (#2029) 2023-02-25 23:58:23 -06:00
74928bb4c7 Fix mistakes in various files (#2027) 2023-02-25 16:31:15 +10:30
7b6a158e4d Add Crowdin Translations (#2026)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2023-02-24 16:47:54 -06:00
2150385184 Update GitHub Workflows (#2023) 2023-02-24 16:39:07 -06:00
561f6a7463 Configure HTTP Headers (#2021) 2023-02-24 11:12:00 -06:00
23b7effac9 Fix Black Line on Brave (#2018)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-22 21:14:25 +10:30
1cd29c6972 Bump actions/cache from 3.2.5 to 3.2.6
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.5...v3.2.6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-22 04:15:52 +00:00
ebf28c2b35 Fix grammar on LibreTube entry (#2016)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-22 04:21:35 +10:30
3498602fdd Fix typo in frontends page (#2017)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-22 04:18:27 +10:30
7c6ebc5ebb Add LibreTube Logo (#2001)
Co-authored-by: Jonah Aragon <github@aragon.science>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-20 14:00:00 +10:30
d011fe716e Warning about k-9 reply mailing list (#2012) 2023-02-20 13:45:36 +10:30
428121c0c7 Clarify PGP on Apple Mail (#2011)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-19 00:54:32 +10:30
3361de1705 Remove ExifCleaner (#2000) 2023-02-17 08:15:22 -06:00
242894c291 Downrank messengers without PFS (#1999)
Co-Authored-By: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
2023-02-16 15:24:48 -06:00
d67dcaea11 Define criteria on all pages (#1980) 2023-02-16 10:06:49 -06:00
e901d0db22 Update Fedora description (fs-verity) (#1997)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-17 01:20:42 +10:30
815739b7bc Bump crowdin/github-action from 1.6.0 to 1.7.0
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-16 04:58:09 +00:00
1b9d8f9c14 fix typo in Email Services (#1995)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-16 14:26:40 +10:30
70a6cda9d5 Consistent references to "Linux" (#1993) 2023-02-15 14:30:53 -06:00
e6f6498908 Mention linux updates (#1984)
Co-Authored-By: Jonah Aragon <jonah@triplebit.net>
Co-Authored-By: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
2023-02-15 13:29:48 -06:00
687a36e7db Disable Firefox Accounts telemetry (#1992)
Co-Authored-By: Jonah Aragon <jonah@triplebit.net>
2023-02-15 13:27:35 -06:00
94fa083700 Other uBO lists (#1986) 2023-02-15 08:05:31 -06:00
752db84b86 Correct dead link in DoH description (#1985) 2023-02-15 08:03:21 -06:00
d5a732e08c Improve email criteria (#1982) 2023-02-15 07:55:51 -06:00
2746861567 Remove Microsoft Office suggestion (#1979) 2023-02-15 07:51:23 -06:00
f4f28ce821 Remove incorrect information about Tutanota (#1981) 2023-02-15 07:50:07 -06:00
b0ce8cea24 Adds Yattee to "Frontends" (#1955)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-15 02:39:21 +10:30
43cdf87ad3 Update forum domain (#1976) 2023-02-14 09:40:59 -06:00
9782ddf60f Fix typos in Android and Email Services (#1974)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-15 01:57:45 +10:30
8ffa8207ff Move Cryptee to Notebooks section (#1975)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-15 01:47:03 +10:30
ff30001aff Fix admonitions (#1973) 2023-02-13 11:13:59 -06:00
145e0af811 Fix typo Linux overview (#1971)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-12 22:49:53 +10:30
e91f63045d Fix Briar id in Privacy Tools page (#1970)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-12 22:42:24 +10:30
790293b792 Bump actions/cache from 3.2.4 to 3.2.5
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.4...v3.2.5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-10 16:07:50 +00:00
d4f1195bb3 Disable Dependabot for Python dependencies (#1968) 2023-02-11 02:21:52 +10:30
e4d89b0894 Update mkdocs-material (#1967) 2023-02-11 02:20:51 +10:30
a9a7864889 Mention Proton's letter of attestation (#1966) 2023-02-11 02:20:42 +10:30
d6bab0c4f8 Fix typo Qubes OS overview (#1965)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-11 02:20:19 +10:30
27fe6a4c41 Missing comma, grammar, fix onion link (#1941) 2023-02-07 00:04:32 +10:30
bd1ff328a7 Fix broken links across the site (#1963)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-06 19:59:59 +10:30
64d736a7ef Remove subheading Other/Android messengers (#1962)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-06 19:55:45 +10:30
a1e40a79ba Adds Win, Linux download for Briar (#1961)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-06 19:44:45 +10:30
baece71b49 Add Accrescent download for ExifEraser (#1957)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-06 19:13:55 +10:30
f5910c4b2b Add mention for Atlas Of Surveillance (#1951)
Co-authored-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-02-06 19:09:18 +10:30
d35437cafa Bump actions/cache from 3.2.3 to 3.2.4
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.3...v3.2.4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 04:03:20 +00:00
41bb717191 Bump crowdin/github-action from 1.5.3 to 1.6.0
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.5.3...v1.6.0)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 22:16:09 +10:30
fdb59b32b9 DoH/3 support AdGuard, NextDNS, Cloudflare (#1959)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-01-30 22:13:02 +10:30
c1f8a1e00c Updates to Brave description (#1952) 2023-01-25 13:12:25 +10:30
070a9b157c Fix broken link (#1950)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-01-21 13:42:47 +10:30
a17363080e Update Mullvad countries (#1948)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-01-20 18:21:13 +10:30
f714a82d84 Bump actions/configure-pages from 2 to 3
Bumps [actions/configure-pages](https://github.com/actions/configure-pages) from 2 to 3.
- [Release notes](https://github.com/actions/configure-pages/releases)
- [Commits](https://github.com/actions/configure-pages/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/configure-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-19 22:15:45 +10:30
3efe31dc29 Bump crowdin/github-action from 1.5.2 to 1.5.3
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.5.2...1.5.3)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-19 22:14:46 +10:30
670331bcd9 Prefer Anycast or Geosteering support (#1944) 2023-01-19 22:12:11 +10:30
bd5506bab8 Remove DNSCrypt support for ControlD (#1943) 2023-01-16 16:26:12 +10:30
eb2fd3bccb Mention disabling crash reports (#1940) 2023-01-11 23:56:37 +10:30
478c2cee3b Remove macOS/iOS config profile info (#1934)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-01-11 22:57:24 +10:30
dd96ff1b56 Add note on built-in password managers (#1937) 2023-01-11 06:17:10 -06:00
2c61157cbc Remove redundant/broken links from Psono description (#1936)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-01-10 22:41:13 +10:30
a110fb0489 Add iOS download to Proton Drive (#1935)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-01-10 22:34:44 +10:30
b66845af14 Bump actions/cache from 3.2.2 to 3.2.3
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.2...v3.2.3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-10 04:03:28 +00:00
39f67789c4 Flathub link for ONLYOFFICE (#1931)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2023-01-10 02:45:29 +10:30
603bec291e Use SVG for ProxiTok and fix button (#1929) 2023-01-10 02:27:49 +10:30
80f1e8ca51 Criteria updates to email: Require export and headers (#1933) 2023-01-10 00:48:46 +10:30
fa9faa5648 Add ProxiTok (#1926) 2023-01-06 17:19:38 +00:00
95126762a6 VPN server update (#1925) 2023-01-05 19:29:04 +10:30
0d597160cf Account creation section (#1723)
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
Co-authored-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
Co-authored-by: Daniel Gray <dngray@privacyguides.org>
2023-01-04 23:01:43 +10:30
dc0cd7d35f Elaborate on digital legacy PR (#1924) 2022-12-29 02:23:00 +10:30
10812ede81 Update Android 13+ DoH description (#1920)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-28 17:04:49 +10:30
53b2c2af89 Bump actions/cache from 3.2.0 to 3.2.2
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.0 to 3.2.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.0...v3.2.2)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-28 15:43:01 +10:30
78e0cf7a42 Updating blog post link (#1921)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-28 15:42:02 +10:30
0c2b119089 Add Digital Legacy and Account Termination info to Email Providers (#1915) 2022-12-24 08:15:05 -06:00
22572e096f Bump actions/cache from 3.0.11 to 3.2.0
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.11 to 3.2.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.11...v3.2.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-25 00:33:05 +10:30
41215f7433 Remove Advanced Data Protection from Filevault (#1917) 2022-12-24 04:26:15 -06:00
750b73c589 Remove Twitter icon from footer (#1916)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-19 22:45:38 +10:30
2edd012619 Update Tutanota 2FA to Include Android and iOS (#1914)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-18 14:10:29 +10:30
2172eab26a Add Advanced Data Protection to Safari (#1911)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-17 17:33:20 +10:30
724b70ae51 Update Filevault for Advanced Data Protection (#1913)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-17 17:27:13 +10:30
b9937e8630 Bump crowdin/github-action from 1.5.1 to 1.5.2
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.5.1...1.5.2)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-13 04:03:41 +00:00
303bf1aff6 Add SimpleX Chat to tools page (#1909)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-13 04:24:21 +10:30
ba435096f3 Fix broken link on suggestions page (#1906)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-11 22:32:06 +10:30
3ae6f80797 Fix search suggestions (#1905)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-12-11 00:28:25 +10:30
67535a820c Replace F-Droid link (#1904) 2022-12-10 14:29:02 +10:30
c7ff34b330 Remove DNSCrypt mention for NextDNS (#1903) 2022-12-07 22:31:48 +10:30
703c291ba3 Recommend against Nextcloud E2EE (#1901) 2022-12-02 00:26:19 +00:00
e3ee1cf1bb Update Qubes Documentation (#1568)
Co-Authored-By: Sharp-tailed Grouse <sharptail@riseup.net>
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-11-28 19:07:14 +10:30
ae171cee7b Fix Olivia's Mastodon Link (#1897)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-11-27 22:42:04 +10:30
c477e7af46 Expand Thunderbird description (#1892) 2022-11-26 19:15:32 +00:00
c113f03264 Add warning about Proton VPN killswitch Intel Macs (#1780)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-11-25 22:08:35 +10:30
b6167fda1a Add SimpleX Chat (#1893) 2022-11-25 10:43:14 +00:00
9525deaf51 Remove EteSync (#1894) 2022-11-21 16:10:17 +00:00
9911fa781e Added link to About section (#1896)
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2022-11-22 02:13:25 +10:30
dc75bcf42e Bump crowdin/github-action from 1.5.0 to 1.5.1
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.5.0...1.5.1)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 04:12:11 +00:00
43c7b5329d Add changelog to navbar (#1880)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-11-15 21:01:36 +10:30
3f6cc30f06 Bump crowdin/github-action from 1.4.16 to 1.5.0
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.4.16 to 1.5.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.4.16...1.5.0)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-15 14:58:20 +10:30
05cb8ee35c Update team members (#1889)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-11-15 14:55:46 +10:30
6a469b1fa6 Removed HTTPS mention from Tor Page (#1891) 2022-11-14 16:12:14 +00:00
78a8f8c061 Update IVPN download links (#1888) 2022-11-13 22:26:47 +00:00
8979e0ce79 Update links (#1886)
Co-authored-by: Kai Tebay <95620167+KaiTebay@users.noreply.github.com>
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-11-06 19:29:46 -06:00
ed873cd800 Clarify email criteria (#1873)
Co-authored-by: Kai Tebay <95620167+KaiTebay@users.noreply.github.com>
2022-11-01 16:55:16 -05:00
4f8663321a About category changes (#1875)
Co-authored-by: Freddy <freddy@privacyguides.org>
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
Co-authored-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
Co-authored-by: Kai Tebay <95620167+KaiTebay@users.noreply.github.com>
2022-11-01 16:54:42 -05:00
b20785b3b6 grammar on microcode updates for linux (#1877) 2022-11-01 04:39:15 -05:00
31bc2cd5af Remove F-Droid Mentions From vpn.md (#1876) 2022-10-28 21:35:32 +00:00
1b5d83137c Statistics page (#1869) 2022-10-24 19:51:32 -05:00
e7d22bb1f2 Fix CoC Page (#1870) 2022-10-24 19:51:19 -05:00
ab5c9f8222 Redirect past links to current pages (#1871) 2022-10-24 19:42:55 -05:00
b4c0aac903 Bump crowdin/github-action from 1.4.15 to 1.4.16 (#1866)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 19:08:19 -05:00
5f4f23ea65 Move KB articles to blog (#1867) 2022-10-24 18:55:06 -05:00
887022c7c0 Fix admonition design 2022-10-24 09:32:32 -05:00
b9612deb98 Netlify Configuration 2022-10-24 08:58:19 -05:00
c4f5871160 Recreate Blog (#1865) 2022-10-24 08:35:36 -05:00
f5dac93435 Enable Netlify deployments 2022-10-23 17:18:58 -05:00
0a98bcb36b Remove mention of encrypted boot (#1850) 2022-10-22 17:36:08 +10:30
4815008e23 Bump crowdin/github-action from 1.4.14 to 1.4.15
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.4.14 to 1.4.15.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.4.14...1.4.15)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 17:00:07 +10:30
acd802e15e Add iOS Page (#1750)
Co-authored-by: Morten Lautrup <44033709+purtual@users.noreply.github.com>
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
Co-authored-by: Kai Tebay <95620167+KaiTebay@users.noreply.github.com>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-10-22 16:59:25 +10:30
ef657b4afd KB Cleanup (#1848)
Co-Authored-By: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
2022-10-22 00:56:15 -05:00
8afb128ce3 Add authorship affirmation (#1849) 2022-10-21 19:00:15 -05:00
d4266679b3 Add Onion link to Whonix card (#1844) 2022-10-19 07:45:22 +00:00
1be248c1ca Add Brave Sync to Desktop and Mobile Brave cards (#1847) 2022-10-19 06:17:50 +00:00
1ec3dbf27c Add links to GrapheneOS vs CalyxOS page (#1842)
Signed-off-by: Daniel Gray <dng@disroot.org>
Signed-off-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
2022-10-16 14:17:42 +10:30
95a14f35d7 Fix Note on Brave Tor Window Setting (#1841)
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-10-16 00:35:08 +00:00
812558db5c Writing review of Common Threats (#1836)
Co-authored-by: Jonah Aragon <github@aragon.science>
Signed-off-by: Daniel Gray <dng@disroot.org>
Signed-off-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-10-16 01:12:29 +10:30
7a3fdd42ab Update Tor window setting location (#1840)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-10-15 14:12:23 +10:30
a263b5a95a Add Send & ffsend to File Sharing page (#1837)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-10-15 03:38:38 +10:30
27fec327fd Bump actions/cache from 3.0.10 to 3.0.11
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.10 to 3.0.11.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.10...v3.0.11)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 04:09:34 +00:00
6c9dc8c5d4 Update Strongbox information (#1835) 2022-10-11 19:22:39 +10:30
7f09bd69a9 Standardize download sections (#1826)
Co-authored-by: Jonah Aragon <github@aragon.science>
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-10-11 16:28:18 +10:30
226b9f7885 Mention NeoStore in DivestOS description (#1829)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-10-10 04:17:24 +10:30
a74b6cc7bc Remove pricing from Proton Mail card (#1832) 2022-10-10 04:13:59 +10:30
f3086e4416 Replace Reddit Link with Forum Link in Tools Page (#1833) 2022-10-10 04:13:52 +10:30
126805b5ba Clarifications, VPN overview (#1825) 2022-10-10 04:13:46 +10:30
4235d62136 Bump actions/cache from 3.0.8 to 3.0.10
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.8 to 3.0.10.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.8...v3.0.10)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 00:43:38 +10:30
a87d5cb227 Replaced Reddit with Forum link (#1831)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-10-05 00:42:09 +10:30
df90475594 Revise OpenWrt card (#1827) 2022-10-02 13:01:51 +00:00
ebf589096b Writing style changes to index page (#1817)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-30 20:51:19 +09:30
64c7e30e37 Writing style changes to threat-modeling page (#1819)
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-30 20:47:48 +09:30
afc078b9f4 Link to forum and migrate blog (#1822) 2022-09-29 11:14:41 -05:00
ee70f568dc Notebooks Page Cleanup (#1815)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-30 01:12:01 +09:30
3ab0c984e8 Relicensing (#1820) 2022-09-29 10:14:43 -05:00
aaff8259d4 Remove Neo Store, Rephrase F-droid section (#1821) 2022-09-28 22:29:47 +00:00
9c85a65190 Improve Cryptee card (#1814) 2022-09-27 21:45:24 +00:00
23a2419dc8 PrivacyTools FAQ (#1808) 2022-09-27 21:31:44 +09:30
a1bd21f365 Remove warnings for web e2ee across the site (#1813) 2022-09-27 04:33:59 -05:00
5bf2e8bf1f Add mention of SaaS and self-hosting for Etesync (#1812) 2022-09-26 23:41:09 +00:00
bc8045c2a0 Remove pricing (#1811) 2022-09-26 01:18:51 +00:00
faf6d34ec1 Clarify password manager and TOTP storage (#1810)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-26 10:11:21 +09:30
02c65f45e3 Add Nitter and Frontends Page Cleanup (#1809)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-26 10:08:39 +09:30
666df1dd65 Bump crowdin/github-action from 1.4.13 to 1.4.14
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.4.13 to 1.4.14.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.4.13...1.4.14)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-25 21:54:38 +09:30
7c84c44b3d Fix typo in "GrapheneOS or CalyxOS?" page (#1807) 2022-09-24 23:10:55 -05:00
1cc1bd3ad6 Correct typos in "Signal Configuration" (#1805) 2022-09-24 22:23:24 +00:00
21f5b7f84f Remove mention of Proton Drive being in beta (#1804) 2022-09-24 16:22:33 +00:00
befce0f1d9 Correct discussions link after feedback (#1802) 2022-09-23 14:17:54 +00:00
23c74a6dc3 Correct 2 typos in "Hide Nothing" (#1803) 2022-09-23 14:16:35 +00:00
b92347cba3 Add .en to Communication Network Type page (#1796) 2022-09-20 19:45:41 +00:00
e7f8f1c8c0 Add Frontends Page (#1792) 2022-09-20 19:29:41 +00:00
70c0905b2b Fix broken internal links (#1782)
Co-Authored-By: Jonah Aragon <jonah@triplebit.net>
Co-Authored-By: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-09-20 10:30:00 +09:30
36528b2eb8 Fixed iOS capitalization (#1794) 2022-09-19 13:35:46 -05:00
f7258ebe8d Consistent bold text in cards (#1781) 2022-09-16 21:11:41 +00:00
2dd8e847f6 Email section cleaning (#1779) 2022-09-16 19:16:21 +00:00
1dbcac4d5b Remove About section from homepage (#1778)
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-09-16 18:21:13 +00:00
688abddc43 VPN - Correct the number of countries, add last checked date annotation (#1774) 2022-09-16 17:41:49 +00:00
bca9692c37 Add DoQ and DoH3 support to the Control D listing (#1775) 2022-09-16 12:33:53 -05:00
f2162cf28a Add Real-Time Communication Category to Knowledge Base (#1770)
Co-authored-by: Morten Lautrup <44033709+purtual@users.noreply.github.com>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-16 23:17:51 +09:30
4c159a3261 Fix Diceware links (#1772)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-16 22:38:10 +09:30
b3a254463d Change hidden to onion, remove F-droid mention (#1771)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-16 22:35:10 +09:30
2b58befda4 Change GrapheneOS/CalyxOS comparison page name (#1768)
* use 'or' instead
2022-09-15 19:21:38 +01:00
0b8edd035c Bump crowdin/github-action from 1.4.12 to 1.4.13 (#1766)
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-15 11:33:48 -05:00
9f6cd454a8 Fix TOTP app link (#1767) 2022-09-15 10:24:42 -05:00
8309e56cb3 Add GitHub Releases to Orbot's Downloads (#1765) 2022-09-14 19:20:23 +00:00
c88dc960d2 Add mention of HIBP's Latest Breaches Feed To Passwords Knowledge Base Article (#1761) 2022-09-14 09:17:52 +00:00
2c5707a9ba Update Tails description (#1760)
Co-Authored-By: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-09-13 18:20:00 -05:00
cc3bcd9d94 Increase GrapheneOS user profile count to 32 (#1758) 2022-09-13 22:40:29 +00:00
982dc64730 Clarify Qubes OS mention in Tor Page (#1759) 2022-09-13 22:29:55 +00:00
0660fbf119 GrapheneOS/CalyxOS Comparison Page Improvements (#1753)
Co-authored-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
Co-authored-by: Jonah Aragon <github@aragon.science>
2022-09-13 17:53:59 +00:00
9d14330cde Remove I2P and Freenet (#1756) 2022-09-13 12:48:10 -05:00
16cb2daf2a Improve Android introduction (#1757) 2022-09-13 18:42:14 +01:00
173a9b6d30 Disable HTML Minification (#1755) 2022-09-13 10:34:39 -05:00
429c643866 Add Strogbox to Tools and capitalization (#1754)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-13 16:01:40 +09:30
a974b8485c Add Strongbox to Password Managers (#1743) 2022-09-12 11:33:31 -05:00
667996df8d Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-13 01:55:03 +09:30
93663bca8e Readme.md aesthetics (#1748) 2022-09-13 01:53:25 +09:30
ja
66bb715834 Add PrivacyBlur iOS download (#1733) 2022-09-09 16:33:06 +00:00
ecbc75e955 Add Code of Conduct to website (#1738) 2022-09-09 11:16:15 -05:00
dd87672a73 Remove custom theme icons (#1731) 2022-09-09 10:36:54 -05:00
e07feb8aa9 Fix phrasing in MFA page (#1732)
Co-authored-by: Jonah Aragon <github@aragon.science>
2022-09-09 14:28:26 +00:00
72f74406b9 Blog replacement (#1704) 2022-09-08 16:46:12 -05:00
193a8d512a Add link to Email Metadata Overview (#1730)
Signed-off-by: Morten Lautrup <44033709+purtual@users.noreply.github.com>
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-09-08 16:01:08 +00:00
137f16d0a9 Updates to Proton Mail Listing (#1728)
Co-authored-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
2022-09-07 15:40:41 +00:00
35af82b3f1 Re-order Password Managers (#1722) 2022-09-07 07:08:00 +00:00
8cc83258b7 Grammar fixes on the 1Password card (#1705) 2022-09-06 20:12:55 -05:00
7e1f0196f9 Use latest pipenv version for GitHub Actions
Fixes #1714
2022-09-06 10:23:20 -05:00
54e8229454 Introduction to Passwords Knowledge Base Article (#1708) 2022-09-06 15:14:25 +00:00
2e3cecf285 Update dependencies 2022-09-02 10:18:42 -05:00
13c05dc07f Change 'utilize' to 'use' (#1710)
Co-Authored-By: Jonah Aragon <jonah@triplebit.net>
2022-09-01 22:11:33 -05:00
0ba070dc8e Parallel mirroring 2022-09-01 22:11:03 -05:00
5f970c58ac Use pipenv version 2022.8.24 for GitHub Actions 2022-09-01 21:32:26 -05:00
375 changed files with 9046 additions and 5332 deletions

20
.gitattributes vendored
View File

@ -1,3 +1,23 @@
# Copyright (c) 2020-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
# Auto detect text files and perform LF normalization
* text=auto

22
.github/CODEOWNERS vendored
View File

@ -1,3 +1,23 @@
# Copyright (c) 2019-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
# Additional Co-Owners are added to the TOP of this file
# High-traffic pages
@ -6,6 +26,8 @@
# Org
/docs/about/ @jonaharagon
CODE_OF_CONDUCT.md @jonaharagon
CITATION.cff
LICENSE @jonaharagon
README.md @jonaharagon @dngray

View File

@ -1,8 +0,0 @@
---
name: "Content Correction"
about: Report any inaccurate, incorrect, or outdated information on the website.
---
## Description
**URL of affected page:**

View File

@ -0,0 +1,66 @@
# Copyright (c) 2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: "Content Correction"
description: Report any inaccurate, incorrect, or outdated information on the website.
labels: ["t:correction"]
body:
- type: markdown
attributes:
value: |
This form is for reporting verifiable issues with our website.
If you simply disagree with an opinion on the website, please open a discussion [on our forum](https://discuss.privacyguides.net/) instead.
- type: input
attributes:
label: Affected page
description: Please let us know which page the incorrect information can be found on.
placeholder: "https://www.privacyguides.org/en/data-redaction/"
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: Please let us know what should be fixed.
placeholder: The Google Play Store link for ExifEraser is broken...
validations:
required: true
- type: textarea
id: source
attributes:
label: Sources
description: Please provide reliable sources that support the change you are requesting.
validations:
required: true
- type: checkboxes
id: checklist
attributes:
label: Before submitting
description: The Code of Conduct helps create a safe space for everyone. We require that everyone agrees to it.
options:
- label: I am reporting something that is verifiably incorrect, not a suggestion or opinion.
required: true
- label: I agree to the [Community Code of Conduct](https://www.privacyguides.org/en/code_of_conduct/).
required: true

View File

@ -1,15 +0,0 @@
---
name: "Website Issue"
about: Report a bug with the website. (NO CONTENT ISSUES)
---
<!--
READ ME FIRST:
This is NOT the place to request changes to the content of the website.
This is NOT the place to report issues with our services like Matrix.
This is ONLY for reporting bugs or technical issues with www.privacyguides.org, the website.
Please add screenshots if applicable.
-->

View File

@ -0,0 +1,101 @@
# Copyright (c) 2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: "Website Issue"
description: Report a bug with the website.
labels: ["t:bug"]
assignees:
- jonaharagon
body:
- type: markdown
attributes:
value: |
This form is only for reporting a technical bug __with our website__, like broken images, broken CSS, issues with search or themes, etc.
This is not the place to report an issue with Matrix, Discourse, or our other hosted services.
If you want us to fix inaccurate information on the website, go back and use the content correction form.
If you want to make another suggestion, please [use our discussion forum](https://discuss.privacyguides.net/) instead.
- type: textarea
id: description
attributes:
label: Bug description
description: |
Please give a detailed description of the bug.
Explain how the website does not behave as you would expect it to, and be as specific as possible.
If you have found a workaround or a fix for the problem too, please let us know.
validations:
required: true
- type: textarea
id: affected-pages
attributes:
label: Affected pages
description: |
Please list all pages where you've noticed this issue, or let us know if it affects every page on the site.
value: |
-
- type: dropdown
id: browser
attributes:
label: Browser
description: |
Please select the browser(s) you have noticed this issue with.
If your browser is not listed or the version is relevant, you may select _Other_ and provide more details in the description above.
multiple: true
options:
- Firefox
- Tor Browser
- Chrome
- Safari
- Edge
- Other
- type: dropdown
id: os
attributes:
label: Operating System
description: |
Please select the operating system(s) you have noticed this issue with.
multiple: true
options:
- Linux
- macOS
- Windows
- Android
- iOS
- Other
- type: checkboxes
id: checklist
attributes:
label: Before submitting
description: The Code of Conduct helps create a safe space for everyone. We require that everyone agrees to it.
options:
- label: I am reporting something that is broken on the website, not making a suggestion.
required: true
- label: I agree to the [Community Code of Conduct](https://www.privacyguides.org/en/code_of_conduct/).
required: true
- type: markdown
attributes:
value: Thank you for letting us know about this!

View File

@ -1,12 +1,36 @@
# Copyright (c) 2020-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
blank_issues_enabled: false
contact_links:
- name: Suggest a New Provider or Software
url: https://github.com/privacyguides/privacyguides.org/discussions/new
- name: Suggest Adding or Removing a Tool
url: https://discuss.privacyguides.net/c/site-development/suggestions
about: Suggest something new for us to look at, or something we should remove.
- name: Suggest a New Guide
url: https://discuss.privacyguides.net/c/site-development/guide-suggestions
about: Suggest an area where you think guidance might be required.
- name: Ask a Question
url: https://github.com/privacyguides/privacyguides.org/discussions/new
url: https://discuss.privacyguides.net/c/privacy/questions
about: Let us know if something doesn't make sense!
- name: Share an Idea
url: https://github.com/privacyguides/privacyguides.org/discussions/new
url: https://discuss.privacyguides.net/c/site-development
about: Suggest a new feature/section/page or anything else for the website.
- name: Report a Translation Issue
url: https://crowdin.com/project/privacyguides/discussions

View File

@ -1,26 +1,24 @@
<!-- READ ENTIRELY BEFORE SUBMITTING:
Changes proposed in this PR:
-
<!-- SCROLL TO BOTTOM TO AGREE!:
Please use a descriptive title for your PR, it will be included in our changelog!
**********
By submitting a PR, you are agreeing to release your work to the public domain
persuant to the terms described in our LICENSE file (CC0 1.0 Universal).
**********
Please share with us what you've changed.
If you are adding a software recommendation, give us a link to its website or
source code.
If you are making changes that you have a conflict of interest with, please
disclose this as well (this does not disqualify your PR by any means):
Conflict of interest contributions involve contributing about yourself,
family, friends, clients, employers, or your financial and other relationships.
Any external relationship can trigger a conflict of interest.
That someone has a conflict of interest is a description of a situation,
NOT a judgement about that person's opinions, integrity, or good faith.
If you have a conflict of interest, you MUST disclose who is paying you for
this contribution, who the client is (if for example, you are being paid by
an advertising agency), and any other relevant affiliations.
-->
<!-- Place an x in the boxes below, like: [x] -->
- [ ] I have disclosed any relevant conflicts of interest in my post.
- [ ] I agree to grant Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform, relicense, and distribute my contribution as part of this project.
- [ ] I am the sole author of this work. <!-- Do not check this box if you are not -->
- [ ] I agree to the [Community Code of Conduct](https://www.privacyguides.org/en/code_of_conduct/).
<!-- What's this? When you submit a PR, you keep the Copyright for the work you
are contributing. We need you to agree to the above terms in order for us to
publish this contribution to our website. -->

View File

@ -1,5 +1,33 @@
# Copyright (c) 2021-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
version: 2
registries:
github-privacyguides:
type: git
url: https://github.com
username: x-access-token
password: ${{secrets.REPO_PAT}}
updates:
# Maintain dependencies for GitHub Actions
@ -13,12 +41,23 @@ updates:
- "jonaharagon"
labels:
- "fix:github_actions"
# Maintain submodules
- package-ecosystem: "gitsubmodule"
directory: "/"
registries:
- github-privacyguides
schedule:
interval: "daily"
labels:
- "fix:submodules"
# Maintain dependencies for pipenv
- package-ecosystem: "pip"
directory: "/"
ignore:
- dependency-name: "mkdocs-material"
insecure-external-code-execution: allow
registries:
- github-privacyguides
schedule:
interval: "daily"
assignees:

51
.github/workflows/crowdin-upload.yml vendored Normal file
View File

@ -0,0 +1,51 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 💬 Crowdin Upload
on:
workflow_dispatch:
push:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
synchronize-with-crowdin:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: crowdin action
uses: crowdin/github-action@v1.7.1
with:
upload_sources: true
upload_sources_args: '--auto-update --delete-obsolete'
download_translations: false
config: crowdin.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}

View File

@ -1,27 +0,0 @@
name: 💬 Crowdin Upload
on:
push:
branches: [ main ]
jobs:
synchronize-with-crowdin:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: crowdin action
uses: crowdin/github-action@1.4.12
with:
upload_sources: true
upload_sources_args: '--auto-update --delete-obsolete'
upload_translations: false
download_translations: false
config: crowdin.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}

View File

@ -1,3 +1,23 @@
# Copyright (c) 2022 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 🪞 Push to Mirrors
on: [ push, delete, create ]
@ -7,7 +27,7 @@ concurrency:
group: git-mirror
jobs:
git-mirror:
gitlab:
runs-on: ubuntu-latest
steps:
- name: Mirror to GitLab
@ -18,10 +38,9 @@ jobs:
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
destination-repo: "git@gitlab.com:privacyguides/privacyguides.org.git"
- name: Cleanup
run: |
sudo rm -rf privacyguides.org.git
codeberg:
runs-on: ubuntu-latest
steps:
- name: Mirror to Codeberg
uses: wearerequired/git-mirror-action@v1
env:
@ -30,10 +49,9 @@ jobs:
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
destination-repo: "git@codeberg.org:privacyguides/privacyguides.org.git"
- name: Cleanup
run: |
sudo rm -rf privacyguides.org.git
sourcehut:
runs-on: ubuntu-latest
steps:
- name: Mirror to SourceHut
uses: wearerequired/git-mirror-action@v1
env:

View File

@ -1,3 +1,23 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 🛠️ Deploy to GitHub Pages
on:
@ -11,7 +31,7 @@ concurrency:
cancel-in-progress: true
env:
PYTHON_VERSION: 3.x
PYTHON_VERSION: 3.8
jobs:
build:
@ -23,21 +43,19 @@ jobs:
uses: actions/checkout@v3
with:
fetch-depth: '0'
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}
ssh-key: ${{ secrets.ACTIONS_SSH_KEY }}
submodules: 'true'
- name: Pages setup
uses: actions/configure-pages@v2
uses: actions/configure-pages@v3
- name: Python setup
uses: actions/setup-python@v4
with:
python-version: '3.10'
python-version: '3.8'
- name: Cache files
uses: actions/cache@v3.0.8
uses: actions/cache@v3.3.1
with:
key: ${{ github.ref }}
path: .cache
@ -52,15 +70,8 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARDS: true
run: |
pipenv run mkdocs build --config-file mkdocs.production.yml
mv .well-known site/
pipenv run mkdocs build --config-file config/mkdocs.en.yml
pipenv run mkdocs --version
- name: Matrix homeserver configuration
run: |
mkdir -p site/.well-known/matrix
curl -o site/.well-known/matrix/server https://matrix.privacyguides.org/.well-known/matrix/server
curl -o site/.well-known/matrix/client https://matrix.privacyguides.org/.well-known/matrix/client
- name: Package website
uses: actions/upload-pages-artifact@v1

View File

@ -1,47 +0,0 @@
name: 🔂 Surge PR Preview
on:
pull_request_target:
types: [opened, synchronize, reopened]
# Ensures that only one mirror task will run at a time.
concurrency:
group: surge-sh
jobs:
preview:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
contents: write
environment: preview
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: '0'
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}
ssh-key: ${{ secrets.ACTIONS_SSH_KEY }}
submodules: 'true'
- name: Set up Python runtime
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Deploy to surge.sh
uses: afc163/surge-preview@v1
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARDS: true
with:
surge_token: ${{ secrets.SURGE_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}
dist: site
failOnError: 'true'
build: |
pip install pipenv
pipenv install
pipenv run mkdocs build --config-file mkdocs.production.yml

View File

@ -1,3 +1,23 @@
# Copyright (c) 2021-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: 📦 Releases
on:
@ -6,14 +26,81 @@ on:
- '*'
jobs:
release:
build:
name: Create Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v2
- uses: ncipollo/release-action@v1
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: '0'
ssh-key: ${{ secrets.ACTIONS_SSH_KEY }}
submodules: 'true'
- name: Pages setup
uses: actions/configure-pages@v3
- name: Python setup
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Cache files
uses: actions/cache@v3.3.1
with:
key: ${{ github.ref }}
path: .cache
- name: Install Python dependencies
run: |
pip install pipenv
pipenv install
- name: Build website
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARDS: true
run: |
pipenv run mkdocs build --config-file config/mkdocs.offline.yml
pipenv run mkdocs --version
- name: Package website
run: |
tar -czvf offline.tar.gz site
zip -r -q offline.zip site
- name: Upload tar.gz file
uses: actions/upload-artifact@v3
with:
name: offline.tar.gz
path: offline.tar.gz
- name: Upload zip file
uses: actions/upload-artifact@v3
with:
name: offline.zip
path: offline.zip
- name: Create ZIM File
uses: addnab/docker-run-action@v3
with:
image: ghcr.io/openzim/zim-tools:3.1.3
options: -v ${{ github.workspace }}:/data
run: |
zimwriterfs -w index.html -I assets/brand/PNG/Square/pg-yellow.png -l eng -t "Privacy Guides" -d "Your central privacy and security resource to protect yourself online." -c "Privacy Guides" -p "Jonah Aragon" -n "Privacy Guides" -e "https://github.com/privacyguides/privacyguides.org" /data/site /data/privacy_guides.zim
- name: Upload ZIM file
uses: actions/upload-artifact@v3
with:
name: privacy_guides.zim
path: privacy_guides.zim
- name: Create release notes
uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
token: ${{ secrets.REPO_TOKEN }}
artifacts: "offline.zip,offline.tar.gz,privacy_guides.zim"

5
.gitignore vendored
View File

@ -1,2 +1,7 @@
site
.cache
/i18n/
/includes/*
!/includes/*.en.*
/theme/overrides/*
!/theme/overrides/*.en.*

10
.gitmodules vendored
View File

@ -1,6 +1,6 @@
[submodule "mkdocs-material-insiders"]
path = mkdocs-material
url = git@github.com:privacyguides/mkdocs-material-insiders.git
[submodule "docs/assets/brand"]
path = docs/assets/brand
[submodule "theme/assets/brand"]
path = theme/assets/brand
url = https://github.com/privacyguides/brand.git
[submodule "modules/mkdocs-material"]
path = modules/mkdocs-material
url = git@github.com:privacyguides/mkdocs-material-insiders.git

View File

@ -1,3 +1,23 @@
# Copyright (c) 2022 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
default: true
line-length: false
ul-indent:

2
Brewfile.netlify Normal file
View File

@ -0,0 +1,2 @@
brew "pngquant"
brew "crowdin"

View File

@ -1,37 +1,88 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
cff-version: 1.2.0
title: Privacy Guides
message: 'If you reference this website, please cite it in your work.'
message: "If you reference this website, please cite it in your work."
type: software
authors:
- email: jonah@privacyguides.org
- family-names: Aragon
given-names: Jonah
family-names: Aragon
orcid: 'https://orcid.org/0000-0001-6996-4965'
- name: The Privacy Guides team
website: 'https://github.com/orgs/privacyguides/people'
repository-code: 'https://github.com/privacyguides/privacyguides.org'
website: "https://www.jonaharagon.com"
orcid: "https://orcid.org/0000-0001-6996-4965"
- name: The Privacy Guides Team
website: "https://github.com/orgs/privacyguides/people"
repository-code: "https://github.com/privacyguides/privacyguides.org"
license:
- MIT
- CC-BY-ND-4.0
references:
- authors:
- family-names: Donath
given-names: Martin
title: 'mkdocs-material'
title: "mkdocs-material"
type: software
repository-code: 'https://github.com/squidfunk/mkdocs-material'
repository-code: "https://github.com/squidfunk/mkdocs-material"
license: MIT
preferred-citation:
type: website
title: Privacy Guides
authors:
- email: jonah@privacyguides.org
- family-names: Aragon
given-names: Jonah
family-names: Aragon
orcid: 'https://orcid.org/0000-0001-6996-4965'
- given-names: Daniel
family-names: Gray
email: dngray@privacyguides.org
- name: The Privacy Guides team
website: 'https://github.com/orgs/privacyguides/people'
- name: Various project contributors
url: 'https://www.privacyguides.org'
website: "https://www.jonaharagon.com"
orcid: "https://orcid.org/0000-0001-6996-4965"
- family-names: Gray
given-names: Daniel
alias: dngray
website: "https://polarbear.army"
- family-names: Wilde
given-names: Niek
name-particle: de
alias: blacklight447
- given-names: Freddy
website: "https://freddy.lol"
- alias: mfwmyfacewhen
website: "https://github.com/mfwmyfacewhen"
- given-names: Olivia
alias: hook
- alias: nitrohorse
website: "https://nitrohorse.com"
- family-names: Suomalainen
given-names: Aminda
alias: Mikaela
website: "https://aminda.eu"
- family-names: Potocki
given-names: Dawid
website: "https://dawidpotocki.com"
- alias: matchboxbananasynergy
website: "https://banana.omg.lol"
- family-names: Tran
given-names: Thien
alias: Tommy
website: "https://tommytran.io"
- alias: samsepi0l
website: "https://github.com/d4rklynk"
- name: Privacy Guides Contributors
website: "https://github.com/privacyguides/privacyguides.org/graphs/contributors"
url: "https://www.privacyguides.org"
abstract: >-
Privacy Guides is a socially motivated website that
provides information for protecting your data
@ -44,4 +95,4 @@ preferred-citation:
- encryption
- website
- markdown
license: CC0-1.0
license: CC-BY-ND-4.0

468
LICENSE
View File

@ -1,116 +1,392 @@
CC0 1.0 Universal
Attribution-NoDerivatives 4.0 International
Statement of Purpose
=======================================================================
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator and
subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific
works ("Commons") that the public can reliably and without fear of later
claims of infringement build upon, modify, incorporate in other works, reuse
and redistribute as freely as possible in any form whatsoever and for any
purposes, including without limitation commercial purposes. These owners may
contribute to the Commons to promote the ideal of a free culture and the
further production of creative, cultural and scientific works, or to gain
reputation or greater distribution for their Work in part through the use and
efforts of others.
Using Creative Commons Public Licenses
For these and/or other purposes and motivations, and without any expectation
of additional consideration or compensation, the person associating CC0 with a
Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
and publicly distribute the Work under its terms, with knowledge of his or her
Copyright and Related Rights in the Work and the meaning and intended legal
effect of CC0 on those rights.
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not limited
to, the following:
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
i. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;
=======================================================================
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
Creative Commons Attribution-NoDerivatives 4.0 International Public
License
v. rights protecting the extraction, dissemination, use and reuse of data in
a Work;
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-NoDerivatives 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation thereof,
including any amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations thereof.
Section 1 -- Definitions.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time
extensions), (iii) in any current or future medium and for any number of
copies, and (iv) for any purpose whatsoever, including without limitation
commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
the Waiver for the benefit of each member of the public at large and to the
detriment of Affirmer's heirs and successors, fully intending that such Waiver
shall not be subject to revocation, rescission, cancellation, termination, or
any other legal or equitable action to disrupt the quiet enjoyment of the Work
by the public as contemplated by Affirmer's express Statement of Purpose.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account
Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
is so judged Affirmer hereby grants to each affected person a royalty-free,
non transferable, non sublicensable, non exclusive, irrevocable and
unconditional license to exercise Affirmer's Copyright and Related Rights in
the Work (i) in all territories worldwide, (ii) for the maximum duration
provided by applicable law or treaty (including future time extensions), (iii)
in any current or future medium and for any number of copies, and (iv) for any
purpose whatsoever, including without limitation commercial, advertising or
promotional purposes (the "License"). The License shall be deemed effective as
of the date CC0 was applied by Affirmer to the Work. Should any part of the
License for any reason be judged legally invalid or ineffective under
applicable law, such partial invalidity or ineffectiveness shall not
invalidate the remainder of the License, and in such case Affirmer hereby
affirms that he or she will not (i) exercise any of his or her remaining
Copyright and Related Rights in the Work or (ii) assert any associated claims
and causes of action with respect to the Work, in either case contrary to
Affirmer's express Statement of Purpose.
b. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
4. Limitations and Disclaimers.
c. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
d. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
b. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or
other defects, accuracy, or the present or absence of errors, whether or not
discoverable, all to the greatest extent permissible under applicable law.
e. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without limitation
any person's Copyright and Related Rights in the Work. Further, Affirmer
disclaims responsibility for obtaining any necessary consents, permissions
or other rights required for any use of the Work.
f. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to this
CC0 or use of the Work.
g. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
For more information, please see
<http://creativecommons.org/publicdomain/zero/1.0/>
h. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
i. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
j. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce and reproduce, but not Share, Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material, You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
For the avoidance of doubt, You do not have permission under
this Public License to Share Adapted Material.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database, provided You do not Share
Adapted Material;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.

View File

@ -1,6 +1,7 @@
MIT License
Copyright (c) 2020 Refactoring UI Inc.
Copyright (c) 2019 - 2023 Jonah Aragon <jonah@triplebit.net>
Copyright (c) 2020 - 2023 Privacy Guides contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

38
Pipfile
View File

@ -1,20 +1,38 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
mkdocs = "*"
mkdocs-material = {path = "./mkdocs-material"}
mkdocs-static-i18n = "*"
mkdocs-git-revision-date-localized-plugin = "*"
typing-extensions = "*"
mkdocs-minify-plugin = "*"
mkdocs-rss-plugin = "*"
mkdocs-git-committers-plugin-2 = "*"
mkdocs-material = {path = "./modules/mkdocs-material"}
mkdocs-git-revision-date-localized-plugin = "~=1.2"
mkdocs-git-committers-plugin-2 = "~=1.1"
mkdocs-macros-plugin = "~=0.7"
pillow = "~=9.5"
cairosvg = "~=2.7"
[dev-packages]
scour = "*"
scour = "~=0.38"
[requires]
python_version = "3.10"
python_version = "3.8"

927
Pipfile.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -9,30 +9,20 @@
<p><em>Your central privacy and security resource to protect yourself online.</em></p>
<a href="https://opencollective.com/privacyguides">
<img src="https://img.shields.io/opencollective/all/privacyguides">
</a></p>
<p><a href="https://www.reddit.com/r/PrivacyGuides/">
<img src="https://img.shields.io/reddit/subreddit-subscribers/PrivacyGuides?label=Subscribe%20to%20r%2FPrivacyGuides&style=social">
</a>
<a href="https://mastodon.social/@privacyguides">
<img src="https://img.shields.io/mastodon/follow/107604420394178246?style=social">
<p><a href="https://mastodon.neat.computer/@privacyguides">
<img src="https://img.shields.io/mastodon/follow/109298532634697668?domain=https%3A%2F%2Fmastodon.neat.computer&label=Follow%20%40privacyguides%40neat.computer&style=social">
</a>
<a href="https://twitter.com/privacy_guides">
<img src="https://img.shields.io/twitter/follow/privacy_guides?style=social">
</a>
<a href="https://discuss.privacyguides.net/">
<img src="https://img.shields.io/discourse/users?label=Join%20our%20forum&logo=discourse&server=https%3A%2F%2Fdiscuss.privacyguides.net&style=social">
</a>
<a href="https://github.com/privacyguides/privacyguides.org/stargazers">
<img src="https://img.shields.io/github/stars/privacyguides?style=social">
</a></p>
<a href="https://github.com/privacyguides/privacyguides.org/issues">
<img src="https://img.shields.io/github/issues-raw/privacyguides/privacyguides.org">
</a>
<a href="https://github.com/privacyguides/privacyguides.org/issues?q=is%3Aissue+is%3Aclosed">
<img src="https://img.shields.io/github/issues-closed-raw/privacyguides/privacyguides.org">
</a>
<a href="https://github.com/privacyguides/privacyguides.org/pulls">
<p><a href="https://github.com/privacyguides/privacyguides.org/pulls">
<img src="https://img.shields.io/github/issues-pr-raw/privacyguides/privacyguides.org">
</a>
<a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+is%3Aclosed">
@ -40,31 +30,31 @@
</a>
<a href="https://crowdin.com/project/privacyguides">
<img src="https://badges.crowdin.net/privacyguides/localized.svg">
</a>
<a href="https://opencollective.com/privacyguides">
<img src="https://img.shields.io/opencollective/all/privacyguides">
</a></p>
</div>
## About
**Privacy Guides** is a socially motivated website that provides information for protecting your data security and privacy. We are a non-profit collective operated entirely by volunteer team members and contributors.
**Privacy Guides** is a socially motivated website that provides information for protecting your data security and privacy. Our mission is to inform the public about the value of digital privacy, and global government initiatives which aim to monitor your online activity. We are a non-profit collective operated entirely by volunteer team members and contributors. Our website is free of advertisements and not affiliated with any of the listed providers.
Our current list of team members can be found [here](https://github.com/orgs/privacyguides/people). Additionally, [many people](https://github.com/privacyguides/privacyguides.org/graphs/contributors) have made contributions to the project, and you can too!
The current list of team members can be found [here](https://www.privacyguides.org/about/#our-team). Additionally, [many people](https://github.com/privacyguides/privacyguides.org/graphs/contributors) have made contributions to the project, and you can too!
*Featured on: [Tweakers](https://tweakers.net/reviews/10568/op-zoek-naar-privacyvriendelijke-tools-niek-de-wilde-van-privacy-guides.html), [The New York Times](https://www.nytimes.com/wirecutter/guides/online-security-social-media-privacy/), and [Wired](https://www.wired.com/story/firefox-mozilla-2022/)*
## Contributing
- 💬 [Start a discussion or suggest an idea](https://github.com/privacyguides/privacyguides.org/discussions)
- 💬 [Start a discussion or suggest an idea](https://discuss.privacyguides.net/)
- 💖 [Sponsor the project](https://github.com/sponsors/privacyguides)
- 🈴 [Help translate the site](https://crwd.in/privacyguides) [[Matrix chat](https://matrix.to/#/#pg-i18n:aragon.sh)]
- 🈴 [Help translate the site](https://crowdin.com/project/privacyguides) [[Matrix chat](https://matrix.to/#/#pg-i18n:aragon.sh)]
- 📝 Edit the site, everything's accessible in this repo
- Browse our [open issues](https://github.com/privacyguides/privacyguides.org/issues) to see what needs to be updated
- View some contribution tips on our [contributor's wiki](https://github.com/privacyguides/privacyguides.org/wiki)
- View the list of [approved topics waiting for a PR](https://discuss.privacyguides.net/tag/approved)
- Read some writing tips in our [style guide](https://www.privacyguides.org/en/meta/writing-style/)
### Blog
We aspire to publish the best articles about privacy on the net. From hot-takes to long-form essays, we are looking for stylish and well-written pieces.
This not a place for sponsored content or SEO-obsessed posts. Please do **not** pitch us this, as we don't take kindly to it and your email will be blocked. *Caveat scriptor.*
Submit stories or requests to: `freddy@privacyguides.org`
All contributors to the site are listed [here](https://github.com/privacyguides/privacyguides.org/graphs/contributors). If you make a substantial (i.e. copyright eligible) contribution to the project and would like to be formally credited, you are welcome to include your information in the appropriate `authors` section in [`CITATION.cff`](/CITATION.cff) as well, just submit a PR or ask @jonaharagon to make the change.
## Mirrors
@ -74,43 +64,56 @@ Submit stories or requests to: `freddy@privacyguides.org`
[![Codeberg](https://img.shields.io/static/v1?logo=codeberg&label=&message=Codeberg&color=000&style=for-the-badge)](https://codeberg.org/privacyguides/privacyguides.org)
[![SourceHut](https://img.shields.io/static/v1?logo=git&label=&message=SourceHut&color=000&style=for-the-badge)](https://git.sr.ht/~jonaharagon/privacyguides.org)
## License
Copyright &copy; 2019 - 2023 [Privacy Guides contributors](https://github.com/privacyguides/privacyguides.org/graphs/contributors).
Privacy Guides content is licensed under the [Creative Commons Attribution-NoDerivatives 4.0 International Public License](/LICENSE), and the underlying source code used to format and display that content on [www.privacyguides.org](https://www.privacyguides.org) is licensed under the [MIT License](/LICENSE-CODE).
Generally speaking, **content** can be found in the [`/docs`](/docs), [`/theme/assets/img`](/theme/assets/img), [`/includes`](/includes), and [`/i18n`](/i18n) folders; and **source code** and configuration files can be found in the [`/config`](/config) and [`/theme`](/theme) folders, and in the root of this repository. Any source code snippets contained within documentation files are [MIT Licensed](/LICENSE-CODE). Please contact us if you require clarification on any of these terms.
These licenses do not apply to any work where another license is otherwise noted.
**Logos** in the [`/theme/assets/img`](/theme/assets/img) folder may not be original works of Privacy Guides and therefore cannot be (re)licensed by us. We believe that these logos obtained from third-party providers are either in the public domain or **fair use**. In a nutshell, legal [fair use doctrine](https://www.copyright.gov/fair-use/more-info.html) allows the use of copyrighted images in order to identify the subject for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. *When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.*
You may comply with our license terms in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. You **may not** use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
When you contribute to this repository you are doing so under the above licenses, and you are granting Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project.
## Developing
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.
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. You can install the website locally with the open-source version of `mkdocs-material`:
1. Clone this repository:
- `git clone https://github.com/privacyguides/privacyguides.org.git` (then `cd privacyguides.org`)
- `git submodule init`
- `git submodule update docs/assets/brand`
- `git config gpg.ssh.allowedSignersFile .allowed_signers`
2. Install [Python 3.6+](https://www.python.org/downloads/) (currently only tested with 3.10)
3. Install [dependencies](/Pipfile): `pip install mkdocs mkdocs-material mkdocs-static-i18n typing-extensions`
4. Serve the site locally: `mkdocs serve`
- The site will be available at `http://localhost:8000`
- You can build the site locally with `mkdocs build`
- Your local version of the site may be missing functionality, which is expected. If you are submitting a PR, please ensure the automatic preview generated for your PR looks correct, as that site will be built with the production insiders build.
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. Running this website locally without access to insiders is unsupported. If you are submitting a PR, please ensure the automatic preview generated for your PR looks correct, as that site will be built with the production insiders build.
**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.10**
3. Install Python **3.8**, this is the only version supported by Netlify
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: `pipenv run mkdocs serve --config-file mkdocs.production.yml` (set `CARDS=true` to generate social cards)
6. Serve the site locally: `pipenv run mkdocs serve --config-file config/mkdocs.en.yml` (set `CARDS=true` to generate social cards)
- The site will be available at `http://localhost:8000`
- You can build the site locally with `pipenv run mkdocs build`
- You can build the site locally with `pipenv run mkdocs build --config-file config/mkdocs.en.yml`
- 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: `pipenv run mkdocs serve --config-file config/mkdocs.fr.yml` (replacing the config file with any 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
1. Create a new tag: `git tag -s v2.X.X -m 'Some message'`
1. Create a new tag: `git tag -s v3.X.X -m 'Some message'`
- [View existing tags](https://github.com/privacyguides/privacyguides.org/tags)
- Tag [numbering](https://semver.org/): Increment the MINOR (2nd) number when making significant changes (adding/deleting pages, etc.), increment the PATCH (3rd) number when making minor changes (typos, bug fixes). Probably leave the MAJOR number at 2 until a massive revamp (v1 -> v2 was the Jekyll to MkDocs transition).
- Tag [numbering](https://semver.org/): Increment the MINOR (2nd) number when making significant changes (adding/deleting pages, etc.), increment the PATCH (3rd) number when making minor changes (typos, bug fixes). Probably leave the MAJOR number at 3 until a massive revamp (v1 -> v2 was the Jekyll to MkDocs transition, v2 -> v3 was the introduction of translations).
- Consider enabling GPG tag signing by default (`git config tag.gpgSign true`) to avoid missing signatures
2. Push the tag to GitHub: `git push --tags`
3. A GitHub Release will be automatically created and deployed to the live site.

86
_redirects Normal file
View File

@ -0,0 +1,86 @@
# Copyright (c) 2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
# Auto detect text files and perform LF normalization
/ /en/ 302 Language=en
/ /fr/ 302 Language=fr
/ /he/ 302 Language=he
/ /nl/ 302 Language=nl
/ /en/ 302
/.well-known/matrix/* https://matrix.privacyguides.org/.well-known/matrix/:splat 200
/kb /en/basics/threat-modeling/
/:lang/kb /:lang/basics/threat-modeling/
/coc /en/CODE_OF_CONDUCT/
/license https://github.com/privacyguides/privacyguides.org/tree/main/README.md#license
/team /en/about/
/browsers /en/desktop-browsers/
/blog https://blog.privacyguides.org
/basics/dns-overview /en/advanced/dns-overview/
/basics/tor-overview /en/advanced/tor-overview/
/real-time-communication/communication-network-types /en/advanced/communication-network-types
/advanced/real-time-communication /en/advanced/communication-network-types
/android/overview /en/os/android-overview/
/linux-desktop/overview /en/os/linux-overview/
/android/grapheneos-vs-calyxos https://blog.privacyguides.org/2022/04/21/grapheneos-or-calyxos/
/ios/configuration https://blog.privacyguides.org/2022/10/22/ios-configuration-guide/
/linux-desktop/hardening https://blog.privacyguides.org/2022/04/22/linux-system-hardening/
/linux-desktop/sandboxing https://blog.privacyguides.org/2022/04/22/linux-application-sandboxing/
/advanced/signal-configuration-hardening https://blog.privacyguides.org/2022/07/07/signal-configuration-and-hardening/
/real-time-communication/signal-configuration-hardening https://blog.privacyguides.org/2022/07/07/signal-configuration-and-hardening/
/advanced/integrating-metadata-removal https://blog.privacyguides.org/2022/04/09/integrating-metadata-removal/
/advanced/erasing-data https://blog.privacyguides.org/2022/05/25/secure-data-erasure/
/operating-systems /en/desktop/
/threat-modeling /en/basics/threat-modeling/
/self-contained-networks /en/tor/
/privacy-policy /en/about/privacy-policy/
/metadata-removal-tools /en/data-redaction/
/basics /en/kb
/software/file-encryption /en/encryption/
/providers /en/tools/#service-providers
/software/calendar-contacts /en/calendar/
/calendar-contacts /en/calendar/
/software/metadata-removal-tools /en/data-redaction/
/contact /en/about/
/welcome-to-privacy-guides https://blog.privacyguides.org/2021/09/14/welcome-to-privacy-guides/
/software/email /en/email-clients/
/providers/paste /en/tools/
/blog/2019/10/05/understanding-vpns https://www.jonaharagon.com/posts/understanding-vpns/
/terms-and-notices /en/about/notices/
/software/networks /en/tor/
/social-news-aggregator /en/news-aggregators/
/basics/erasing-data https://blog.privacyguides.org/2022/05/25/secure-data-erasure/
/linux-desktop /en/desktop/
/providers/:slug /en/:slug/
/software/:slug /en/:slug/
/blog/* https://blog.privacyguides.org/:splat
/assets/* /en/assets/:splat
/:slug/ /en/:slug/
/about/:slug/ /en/about/:slug/
/advanced/:slug/ /en/advanced/:slug/
/basics/:slug/ /en/basics/:slug/
/meta/:slug/ /en/meta/:slug/
/os/:slug/ /en/os/:slug/

138
config/mkdocs.common.yml Normal file
View File

@ -0,0 +1,138 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
extra:
context: !ENV [CONTEXT, "production"]
social:
- icon: simple/mastodon
link: https://mastodon.neat.computer/@privacyguides
name: Mastodon
- icon: simple/matrix
link: https://matrix.to/#/#privacyguides:matrix.org
name: Matrix
- icon: simple/discourse
link: https://discuss.privacyguides.net/
name: Forum
- icon: simple/github
link: https://github.com/privacyguides
name: GitHub
alternate:
- name: English
link: /en/
lang: en
icon: https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/1f1fa-1f1f8.svg
- name: Français
link: /fr/
lang: fr
icon: https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/1f1eb-1f1f7.svg
- name: עִברִית
link: /he/
lang: he
icon: https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/1f1ee-1f1f1.svg
- name: Nederlands
link: /nl/
lang: nl
icon: https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/1f1f3-1f1f1.svg
repo_url: https://github.com/privacyguides/privacyguides.org
repo_name: ""
theme:
name: material
custom_dir: ../theme
favicon: assets/brand/png/favicon/favicon-32x32.png
icon:
repo: simple/github
features:
- navigation.tracking
- navigation.tabs
- navigation.sections
- navigation.expand
- navigation.path
- navigation.indexes
- content.tooltips
- search.highlight
extra_css:
- assets/stylesheets/extra.css?v=3.2.0
extra_javascript:
- assets/javascripts/mathjax.js
- assets/javascripts/feedback.js
watch:
- ../theme
- ../includes
- mkdocs.common.yml
plugins:
tags: {}
search: {}
macros: {}
meta: {}
git-committers:
enabled: !ENV [NETLIFY, false]
repository: privacyguides/privacyguides.org
branch: main
git-revision-date-localized:
enabled: !ENV [NETLIFY, false]
exclude:
- index.md
fallback_to_build_date: true
privacy:
external_assets_exclude:
- cdn.jsdelivr.net/npm/mathjax@3/*
- api.privacyguides.net/*
optimize:
enabled: !ENV [NETLIFY, false]
typeset: {}
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: {}
pymdownx.tasklist:
custom_checkbox: true
attr_list: {}
def_list: {}
md_in_html: {}
meta: {}
abbr: {}
pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
tables: {}
footnotes: {}
toc:
permalink: true
toc_depth: 4

170
config/mkdocs.en.yml Normal file
View File

@ -0,0 +1,170 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
INHERIT: mkdocs.common.yml
docs_dir: '../docs'
site_url: "https://www.privacyguides.org/en/"
site_dir: '../site/en'
site_name: Privacy Guides
site_description: |
Privacy Guides is your central privacy and security resource to protect yourself online.
copyright: |
<b>Privacy Guides</b> is a non-profit, socially motivated website that provides information for protecting your data security and privacy.<br>
We do not make money from recommending certain products, and we do not use affiliate links.<br>
&copy; 2019 - 2023 Privacy Guides and contributors.
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m245.83 214.87-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"></path></svg></span>
Content licensed under <a href="/license"><strong>CC BY-ND 4.0</strong></a>.
edit_uri: edit/main/docs/
extra:
generator: false
analytics:
provider: plausible
property: privacyguides.org
feedback:
title: "Was this page helpful?"
ratings:
- icon: material/robot-happy-outline
name: "This page was helpful"
data: Helpful
note: "Thanks for your feedback!"
- icon: material/robot-confused
name: "This page could be improved"
data: Needs Improvement
note: "Thanks for your feedback! Help us improve this page by opening a <a href='https://discuss.privacyguides.net/'>discussion on our forum</a>."
theme:
language: en
logo: ../theme/assets/brand/SVG/Logo/privacy-guides-logo-notext-colorbg.svg
font:
text: Public Sans
code: DM Mono
palette:
- media: "(prefers-color-scheme)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-auto
name: "Switch to dark mode"
- media: "(prefers-color-scheme: dark)"
scheme: slate
accent: amber
toggle:
icon: material/brightness-2
name: "Switch to light mode"
- media: "(prefers-color-scheme: light)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-5
name: "Switch to system theme"
plugins:
social:
cards: !ENV [NETLIFY, false]
cards_color:
fill: "#FFD06F"
text: "#2d2d2d"
cards_dir: assets/img/social
cards_font: Public Sans
cache_dir: .cache/plugin/social-en
markdown_extensions:
pymdownx.snippets:
auto_append:
- includes/abbreviations.en.txt
nav:
- Home: 'index.md'
- Knowledge Base:
- 'basics/threat-modeling.md'
- 'basics/common-threats.md'
- 'basics/common-misconceptions.md'
- 'basics/account-creation.md'
- 'basics/account-deletion.md'
- Technology Essentials:
- 'basics/passwords-overview.md'
- 'basics/multi-factor-authentication.md'
- 'basics/email-security.md'
- 'basics/vpn-overview.md'
- Operating Systems:
- 'os/android-overview.md'
- 'os/linux-overview.md'
- 'os/qubes-overview.md'
- Advanced Topics:
- 'advanced/dns-overview.md'
- 'advanced/tor-overview.md'
- 'advanced/payments.md'
- 'advanced/communication-network-types.md'
- kb-archive.md
- Recommendations:
- 'tools.md'
- Internet Browsing:
- 'tor.md'
- 'desktop-browsers.md'
- 'mobile-browsers.md'
- Operating Systems:
- 'android.md'
- 'desktop.md'
- 'router.md'
- Providers:
- 'cloud.md'
- 'dns.md'
- 'email.md'
- 'financial-services.md'
- 'search-engines.md'
- 'vpn.md'
- Software:
- 'calendar.md'
- 'cryptocurrency.md'
- 'data-redaction.md'
- 'email-clients.md'
- 'encryption.md'
- 'file-sharing.md'
- 'frontends.md'
- 'multi-factor-authentication.md'
- 'news-aggregators.md'
- 'notebooks.md'
- 'passwords.md'
- 'productivity.md'
- 'real-time-communication.md'
- 'video-streaming.md'
- About:
- 'about/index.md'
- 'about/criteria.md'
- 'about/statistics.md'
- 'about/notices.md'
- 'about/privacy-policy.md'
- Community:
- 'about/donate.md'
- Online Services: 'about/services.md'
- Code of Conduct: 'CODE_OF_CONDUCT.md'
- 'about/privacytools.md'
- Contributing:
- Writing Guide:
- 'meta/writing-style.md'
- 'meta/brand.md'
- Technical Guides:
- 'meta/uploading-images.md'
- 'meta/git-recommendations.md'
- Changelog: 'https://github.com/privacyguides/privacyguides.org/releases'
- Forum: 'https://discuss.privacyguides.net/'
- Blog: 'https://blog.privacyguides.org/'

170
config/mkdocs.fr.yml Normal file
View File

@ -0,0 +1,170 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
INHERIT: mkdocs.common.yml
docs_dir: '../i18n/fr'
site_url: "https://www.privacyguides.org/fr/"
site_dir: '../site/fr'
site_name: Privacy Guides
site_description: |
Privacy Guides est votre ressource centrale en matière de vie privée et de sécurité pour vous protéger en ligne.
copyright: |
<b>Privacy Guides</b> is a non-profit, socially motivated website that provides information for protecting your data security and privacy.<br>
We do not make money from recommending certain products, and we do not use affiliate links.<br>
&copy; 2019 - 2023 Privacy Guides and contributors.
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m245.83 214.87-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"></path></svg></span>
Content licensed under <a href="/license"><strong>CC BY-ND 4.0</strong></a>.
edit_uri: edit/main/i18n/fr/
extra:
generator: false
analytics:
provider: plausible
property: privacyguides.org
feedback:
title: "Cette page vous a été utile ?"
ratings:
- icon: material/robot-happy-outline
name: "Cette page a été utile"
data: Helpful
note: "Merci pour votre retour !"
- icon: material/robot-confused
name: "Cette page pourrait être améliorée"
data: Needs Improvement
note: "Thanks for your feedback! Help us improve this page by opening a <a href='https://discuss.privacyguides.net/'>discussion on our forum</a>."
theme:
language: fr
logo: ../../theme/assets/brand/SVG/Logo/privacy-guides-logo-notext-colorbg.svg
font:
text: Public Sans
code: DM Mono
palette:
- media: "(prefers-color-scheme)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-auto
name: "Basculer en mode sombre"
- media: "(prefers-color-scheme: dark)"
scheme: slate
accent: amber
toggle:
icon: material/brightness-2
name: "Basculer en mode clair"
- media: "(prefers-color-scheme: light)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-5
name: "Basculer vers le thème du système"
plugins:
social:
cards: !ENV [NETLIFY, false]
cards_color:
fill: "#FFD06F"
text: "#2d2d2d"
cards_dir: assets/img/social
cards_font: Public Sans
cache_dir: .cache/plugin/social-fr
markdown_extensions:
pymdownx.snippets:
auto_append:
- includes/abbreviations.fr.txt
nav:
- Accueil: 'index.md'
- Base de connaissances:
- 'basics/threat-modeling.md'
- 'basics/common-threats.md'
- 'basics/common-misconceptions.md'
- 'basics/account-creation.md'
- 'basics/account-deletion.md'
- Les essentiels de la technologie:
- 'basics/passwords-overview.md'
- 'basics/multi-factor-authentication.md'
- 'basics/email-security.md'
- 'basics/vpn-overview.md'
- "Systèmes d'exploitation":
- 'os/android-overview.md'
- 'os/linux-overview.md'
- 'os/qubes-overview.md'
- "Sujets avancés":
- 'advanced/dns-overview.md'
- 'advanced/tor-overview.md'
- 'advanced/payments.md'
- 'advanced/communication-network-types.md'
- kb-archive.md
- Recommandations:
- 'tools.md'
- Navigation internet:
- 'tor.md'
- 'desktop-browsers.md'
- 'mobile-browsers.md'
- "Systèmes d'exploitation":
- 'android.md'
- 'desktop.md'
- 'router.md'
- "Fournisseurs":
- 'cloud.md'
- 'dns.md'
- 'email.md'
- 'financial-services.md'
- 'search-engines.md'
- 'vpn.md'
- "Logiciels":
- 'calendar.md'
- 'cryptocurrency.md'
- 'data-redaction.md'
- 'email-clients.md'
- 'encryption.md'
- 'file-sharing.md'
- 'frontends.md'
- 'multi-factor-authentication.md'
- 'news-aggregators.md'
- 'notebooks.md'
- 'passwords.md'
- 'productivity.md'
- 'real-time-communication.md'
- 'video-streaming.md'
- "À propos":
- 'about/index.md'
- 'about/criteria.md'
- 'about/statistics.md'
- 'about/notices.md'
- 'about/privacy-policy.md'
- Community:
- 'about/donate.md'
- Online Services: 'about/services.md'
- Code of Conduct: 'CODE_OF_CONDUCT.md'
- 'about/privacytools.md'
- Contributing:
- Writing Guide:
- 'meta/writing-style.md'
- 'meta/brand.md'
- Technical Guides:
- 'meta/uploading-images.md'
- 'meta/git-recommendations.md'
- Journal des modifications: 'https://github.com/privacyguides/privacyguides.org/releases'
- Forum: 'https://discuss.privacyguides.net/'
- Blog: 'https://blog.privacyguides.org/'

174
config/mkdocs.he.yml Normal file
View File

@ -0,0 +1,174 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
INHERIT: mkdocs.common.yml
docs_dir: '../i18n/he'
site_url: "https://www.privacyguides.org/he/"
site_dir: '../site/he'
site_name: Privacy Guides
site_description: |
Privacy Guides (מדריכי פרטיות) הם משאב הפרטיות והאבטחה המרכזי שלכם כדי להגן על עצמכם באופן מקוון.
copyright: |
<b>Privacy Guides</b> is a non-profit, socially motivated website that provides information for protecting your data security and privacy.<br>
We do not make money from recommending certain products, and we do not use affiliate links.<br>
&copy; 2019 - 2023 Privacy Guides and contributors.
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m245.83 214.87-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"></path></svg></span>
Content licensed under <a href="/license"><strong>CC BY-ND 4.0</strong></a>.
edit_uri: edit/main/i18n/he/
extra:
generator: false
analytics:
provider: plausible
property: privacyguides.org
feedback:
title: "האם הדף הזה עזר לך?"
ratings:
- icon: material/robot-happy-outline
name: "הדף הזה היה מועיל"
data: Helpful
note: "תודה על המשוב שלך!"
- icon: material/robot-confused
name: "דף זה יכול להשתפר"
data: Needs Improvement
note: "תודה על המשוב שלך! Help us improve this page by opening a <a href='https://discuss.privacyguides.net/'>discussion on our forum</a>."
extra_css:
- assets/stylesheets/extra.css?v=3.2.0
- assets/stylesheets/lang-he.css?v=3.4.0
theme:
language: he
logo: ../../theme/assets/brand/SVG/Logo/privacy-guides-logo-notext-colorbg.svg
font:
text: Open Sans
code: Cousine
palette:
- media: "(prefers-color-scheme)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-auto
name: "עבור למצב כהה"
- media: "(prefers-color-scheme: dark)"
scheme: slate
accent: amber
toggle:
icon: material/brightness-2
name: "עבור למצב בהיר"
- media: "(prefers-color-scheme: light)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-5
name: "עבור לערכת הנושא של המערכת"
plugins:
social:
cards: !ENV [NETLIFY, false]
cards_color:
fill: "#FFD06F"
text: "#2d2d2d"
cards_dir: assets/img/social
cards_font: Suez One
cache_dir: .cache/plugin/social-he
markdown_extensions:
pymdownx.snippets:
auto_append:
- includes/abbreviations.he.txt
nav:
- "דף הבית": 'index.md'
- "ידע בסיסי":
- 'basics/threat-modeling.md'
- 'basics/common-threats.md'
- 'basics/common-misconceptions.md'
- 'basics/account-creation.md'
- 'basics/account-deletion.md'
- "יסודות הטכנולוגיה":
- 'basics/passwords-overview.md'
- 'basics/multi-factor-authentication.md'
- 'basics/email-security.md'
- 'basics/vpn-overview.md'
- "מערכות הפעלה":
- 'os/android-overview.md'
- 'os/linux-overview.md'
- 'os/qubes-overview.md'
- "נושאים מתקדמים":
- 'advanced/dns-overview.md'
- 'advanced/tor-overview.md'
- 'advanced/payments.md'
- 'advanced/communication-network-types.md'
- kb-archive.md
- "המלצות":
- 'tools.md'
- "גלישה באינטרנט":
- 'tor.md'
- 'desktop-browsers.md'
- 'mobile-browsers.md'
- "מערכות הפעלה":
- 'android.md'
- 'desktop.md'
- 'router.md'
- "ספקים":
- 'cloud.md'
- 'dns.md'
- 'email.md'
- 'financial-services.md'
- 'search-engines.md'
- 'vpn.md'
- "תוכנה":
- 'calendar.md'
- 'cryptocurrency.md'
- 'data-redaction.md'
- 'email-clients.md'
- 'encryption.md'
- 'file-sharing.md'
- 'frontends.md'
- 'multi-factor-authentication.md'
- 'news-aggregators.md'
- 'notebooks.md'
- 'passwords.md'
- 'productivity.md'
- 'real-time-communication.md'
- 'video-streaming.md'
- "על אודות":
- 'about/index.md'
- 'about/criteria.md'
- 'about/statistics.md'
- 'about/notices.md'
- 'about/privacy-policy.md'
- Community:
- 'about/donate.md'
- Online Services: 'about/services.md'
- Code of Conduct: 'CODE_OF_CONDUCT.md'
- 'about/privacytools.md'
- Contributing:
- Writing Guide:
- 'meta/writing-style.md'
- 'meta/brand.md'
- Technical Guides:
- 'meta/uploading-images.md'
- 'meta/git-recommendations.md'
- "יומן שינויים": 'https://github.com/privacyguides/privacyguides.org/releases'
- "פורום": 'https://discuss.privacyguides.net/'
- "בלוג": 'https://blog.privacyguides.org/'

170
config/mkdocs.nl.yml Normal file
View File

@ -0,0 +1,170 @@
# Copyright (c) 2022-2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
INHERIT: mkdocs.common.yml
docs_dir: '../i18n/nl'
site_url: "https://www.privacyguides.org/nl/"
site_dir: '../site/nl'
site_name: Privacy Guides
site_description: |
Privacy Guides is jouw centrale bron voor privacy en beveiliging om jezelf online te beschermen.
copyright: |
<b>Privacy Guides</b> is een non-profit, sociaal gemotiveerde website die informatie biedt voor de bescherming van jouw gegevensbeveiliging en privacy.<br>
Wij verdienen geen geld met het aanbevelen van bepaalde producten, en wij maken geen gebruik van affiliate links.<br>
&copy; 2019 - 2023 Privacy Guides en medewerkers.
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m245.83 214.87-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"></path></svg></span>
Inhoud gelicentieerd onder <a href="/license"><strong>CC BY-ND 4.0</strong></a>.
edit_uri: edit/main/docs/
extra:
generator: false
analytics:
provider: plausible
property: privacyguides.org
feedback:
title: "Was deze pagina nuttig?"
ratings:
- icon: material/robot-happy-outline
name: "Deze pagina was nuttig"
data: Helpful
note: "Bedankt voor je feedback!"
- icon: material/robot-confused
name: "Deze pagina kan worden verbeterd"
data: Needs Improvement
note: "Bedankt voor jouw feedback! Help ons deze pagina te verbeteren door een <a href='https://discuss.privacyguides.net/'>discussie te openen op ons forum</a>."
theme:
language: nl
logo: ../../theme/assets/brand/SVG/Logo/privacy-guides-logo-notext-colorbg.svg
font:
text: Public Sans
code: DM Mono
palette:
- media: "(prefers-color-scheme)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-auto
name: "Verander naar donker thema"
- media: "(prefers-color-scheme: dark)"
scheme: slate
accent: amber
toggle:
icon: material/brightness-2
name: "Verander naar licht thema"
- media: "(prefers-color-scheme: light)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-5
name: "Verander naar systeem thema"
plugins:
social:
cards: !ENV [NETLIFY, false]
cards_color:
fill: "#FFD06F"
text: "#2d2d2d"
cards_dir: assets/img/social
cards_font: Public Sans
cache_dir: .cache/plugin/social-nl
markdown_extensions:
pymdownx.snippets:
auto_append:
- includes/abbreviations.nl.txt
nav:
- Home: 'index.md'
- Kennisbank:
- 'basics/threat-modeling.md'
- 'basics/common-threats.md'
- 'basics/common-misconceptions.md'
- 'basics/account-creation.md'
- 'basics/account-deletion.md'
- Technologie essenties:
- 'basics/passwords-overview.md'
- 'basics/multi-factor-authentication.md'
- 'basics/email-security.md'
- 'basics/vpn-overview.md'
- Besturings systemen:
- 'os/android-overview.md'
- 'os/linux-overview.md'
- 'os/qubes-overview.md'
- Gevorderde onderwerpen:
- 'advanced/dns-overview.md'
- 'advanced/tor-overview.md'
- 'advanced/payments.md'
- 'advanced/communication-network-types.md'
- kb-archive.md
- Recommendaties:
- 'tools.md'
- Surfen op het internet:
- 'tor.md'
- 'desktop-browsers.md'
- 'mobile-browsers.md'
- Besturings systemen:
- 'android.md'
- 'desktop.md'
- 'router.md'
- Providers:
- 'cloud.md'
- 'dns.md'
- 'email.md'
- 'financial-services.md'
- 'search-engines.md'
- 'vpn.md'
- Software:
- 'calendar.md'
- 'cryptocurrency.md'
- 'data-redaction.md'
- 'email-clients.md'
- 'encryption.md'
- 'file-sharing.md'
- 'frontends.md'
- 'multi-factor-authentication.md'
- 'news-aggregators.md'
- 'notebooks.md'
- 'passwords.md'
- 'productivity.md'
- 'real-time-communication.md'
- 'video-streaming.md'
- Over ons:
- 'about/index.md'
- 'about/criteria.md'
- 'about/statistics.md'
- 'about/notices.md'
- 'about/privacy-policy.md'
- Community:
- 'about/donate.md'
- Online Services: 'about/services.md'
- Code of Conduct: 'CODE_OF_CONDUCT.md'
- 'about/privacytools.md'
- Contributing:
- Writing Guide:
- 'meta/writing-style.md'
- 'meta/brand.md'
- Technical Guides:
- 'meta/uploading-images.md'
- 'meta/git-recommendations.md'
- Changelog: 'https://github.com/privacyguides/privacyguides.org/releases'
- Forum: 'https://discuss.privacyguides.net/'
- Blog: 'https://blog.privacyguides.org/'

159
config/mkdocs.offline.yml Normal file
View File

@ -0,0 +1,159 @@
# Copyright (c) 2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
INHERIT: mkdocs.common.yml
docs_dir: '../docs'
site_url: "https://www.privacyguides.org/"
site_dir: '../site'
site_name: Privacy Guides
site_description: |
Privacy Guides is your central privacy and security resource to protect yourself online.
copyright: |
<b>Privacy Guides</b> is a non-profit, socially motivated website that provides information for protecting your data security and privacy.<br>
We do not make money from recommending certain products, and we do not use affiliate links.<br>
&copy; 2019 - 2023 Privacy Guides and contributors.
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m245.83 214.87-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"></path></svg></span><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"></path></svg></span>
Content licensed under <a href="https://www.privacyguides.org/license"><strong>CC BY-ND 4.0</strong></a>.
repo_url: ""
extra:
generator: false
analytics: false
alternate: false
offline: true
theme:
language: en
logo: ../theme/assets/brand/SVG/Logo/privacy-guides-logo-notext-colorbg.svg
font:
text: Public Sans
code: DM Mono
palette:
- media: "(prefers-color-scheme)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-auto
name: "Switch to dark mode"
- media: "(prefers-color-scheme: dark)"
scheme: slate
accent: amber
toggle:
icon: material/brightness-2
name: "Switch to light mode"
- media: "(prefers-color-scheme: light)"
scheme: default
accent: deep purple
toggle:
icon: material/brightness-5
name: "Switch to system theme"
features:
- navigation.tabs
- navigation.sections
- navigation.indexes
- content.tooltips
- search.highlight
plugins:
offline:
enabled: true
markdown_extensions:
pymdownx.snippets:
auto_append:
- includes/abbreviations.en.txt
nav:
- Home: 'index.md'
- Knowledge Base:
- 'basics/threat-modeling.md'
- 'basics/common-threats.md'
- 'basics/common-misconceptions.md'
- 'basics/account-creation.md'
- 'basics/account-deletion.md'
- Technology Essentials:
- 'basics/passwords-overview.md'
- 'basics/multi-factor-authentication.md'
- 'basics/email-security.md'
- 'basics/vpn-overview.md'
- Operating Systems:
- 'os/android-overview.md'
- 'os/linux-overview.md'
- 'os/qubes-overview.md'
- Advanced Topics:
- 'advanced/dns-overview.md'
- 'advanced/tor-overview.md'
- 'advanced/payments.md'
- 'advanced/communication-network-types.md'
- kb-archive.md
- Recommendations:
- 'tools.md'
- Internet Browsing:
- 'tor.md'
- 'desktop-browsers.md'
- 'mobile-browsers.md'
- Operating Systems:
- 'android.md'
- 'desktop.md'
- 'router.md'
- Providers:
- 'cloud.md'
- 'dns.md'
- 'email.md'
- 'financial-services.md'
- 'search-engines.md'
- 'vpn.md'
- Software:
- 'calendar.md'
- 'cryptocurrency.md'
- 'data-redaction.md'
- 'email-clients.md'
- 'encryption.md'
- 'file-sharing.md'
- 'frontends.md'
- 'multi-factor-authentication.md'
- 'news-aggregators.md'
- 'notebooks.md'
- 'passwords.md'
- 'productivity.md'
- 'real-time-communication.md'
- 'video-streaming.md'
- About:
- 'about/index.md'
- 'about/criteria.md'
- 'about/statistics.md'
- 'about/notices.md'
- 'about/privacy-policy.md'
- Community:
- 'about/donate.md'
- Online Services: 'about/services.md'
- Code of Conduct: 'CODE_OF_CONDUCT.md'
- 'about/privacytools.md'
- Contributing:
- Writing Guide:
- 'meta/writing-style.md'
- 'meta/brand.md'
- Technical Guides:
- 'meta/uploading-images.md'
- 'meta/git-recommendations.md'
- Changelog: 'https://github.com/privacyguides/privacyguides.org/releases'
- Forum: 'https://discuss.privacyguides.net/'
- Blog: 'https://blog.privacyguides.org/'

View File

@ -1,18 +1,37 @@
project_id_env: CROWDIN_PROJECT_ID
# Copyright (c) 2023 Jonah Aragon <jonah@triplebit.net>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
api_token_env: CROWDIN_PERSONAL_TOKEN
project_id: "509862"
"preserve_hierarchy": true
files:
- source: "/docs/**/*.en.*"
translation: "/docs/**/%file_name%.%locale_with_underscore%.%file_extension%"
translation_replace:
"en.": ""
update_option: update_as_unapproved
- source: "/docs/**/*.*"
translation: "/i18n/%two_letters_code%/**/%file_name%.%file_extension%"
skip_untranslated_files: false
- source: "/theme/overrides/*.en.html"
translation: "/theme/overrides/%file_name%.%locale_with_underscore%.html"
translation: "/theme/overrides/%file_name%.%two_letters_code%.html"
translation_replace:
"en.": ""
- source: "/includes/*.en.md"
translation: "/includes/%file_name%.%locale_with_underscore%.md"
skip_untranslated_files: false
- source: "/includes/*.en.*"
translation: "/includes/%file_name%.%two_letters_code%.%file_extension%"
translation_replace:
"en.": ""
update_option: update_as_unapproved
skip_untranslated_files: false

18
docs/404.md Normal file
View File

@ -0,0 +1,18 @@
---
hide:
- feedback
meta:
- property: "robots"
content: "noindex, nofollow"
---
# 404 - Not Found
We couldn't find the page you were looking for! Maybe you were looking for one of these?
- [Introduction to Threat Modeling](basics/threat-modeling.md)
- [Recommended DNS Providers](dns.md)
- [Best Desktop Web Browsers](desktop-browsers.md)
- [Best VPN Providers](vpn.md)
- [Privacy Guides Forum](https://discuss.privacyguides.net)
- [Our Blog](https://blog.privacyguides.org)

53
docs/CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,53 @@
# Community Code of Conduct
**We pledge** to make our community a harassment-free experience for everyone.
**We strive** to create a positive environment, using welcoming and inclusive language, and being respectful of the viewpoints of others.
**We do not allow** inappropriate or otherwise unacceptable behavior, such as sexualized language, trolling and insulting comments, or otherwise promoting intolerance or harassment.
## Community Standards
What we expect from members of our communities:
1. **Don't spread misinformation**
We are creating an evidence-based educational community around information privacy and security, not a home for conspiracy theories. For example, when making a claim that a certain piece of software is malicious or that certain telemetry data is privacy invasive, explain in detail what is collected and how it collected. Claims of this nature must be backed by technical evidence.
1. **Don't abuse our willingness to help**
Our community members are not your free tech support. We are happy to help you with specific steps on your privacy journey if you are willing to put in effort on your end. We are not willing to answer endlessly repeated questions about generic computer problems you could have answered yourself with a 30-second internet search. Don't be a [help vampire](https://slash7.com/2006/12/22/vampires/).
1. **Behave in a positive and constructive manner**
Examples of behavior that contributes to a positive environment for our community include:
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall community
### Unacceptable Behavior
The following behaviors are considered harassment and are unacceptable within our community:
- The use of sexualized language or imagery, and sexual attention or advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Scope
Our Code of Conduct applies within all project spaces, as well as when an individual is representing the Privacy Guides project in other communities.
We are responsible for clarifying the standards of our community, and have the right to remove or alter the comments of those participating within our community, as necessary and at our discretion.
### Contact
If you observe a problem on a platform like Matrix or Reddit, please contact our moderators on that platform in chat, via DM, or through any designated "Modmail" system.
If you have a problem elsewhere, or a problem our community moderators are unable to resolve, reach out to `jonah@privacyguides.org` and/or `dngray@privacyguides.org`.
All community leaders are obligated to respect the privacy and security of the reporter of any incident.

View File

@ -1,11 +0,0 @@
---
title: "About Privacy Guides"
---
**Privacy Guides** is a socially motivated website that provides information for protecting your data security and privacy. We are a non-profit collective operated entirely by volunteer team members and contributors.
Our current list of team members can be found [here on GitHub](https://github.com/orgs/privacyguides/people). Additionally, [many people](https://github.com/privacyguides/privacyguides.org/graphs/contributors) have made contributions to the project. You can too, we're open sourced on GitHub!
Our team members review all changes made to the website and handle administrative duties such as web hosting and financials, however they do not personally profit from any contributions made to this site. Our financials are transparently hosted by the Open Collective Foundation 501(c)(3) at [opencollective.com/privacyguides](https://opencollective.com/privacyguides). Donations to Privacy Guides are generally tax deductible in the United States.
:fontawesome-brands-creative-commons: :fontawesome-brands-creative-commons-zero: Unless otherwise noted, the original content on this website is made available under a [CC0 1.0 Universal Public Domain Dedication](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE). This means that it is completely free of copyright and can be used or reshared as you wish. Though not strictly required, we do kindly request you attribute us by linking back to our homepage from your project.

40
docs/about/criteria.md Normal file
View File

@ -0,0 +1,40 @@
---
title: General Criteria
---
!!! example "Work in Progress"
The following page is a work in progress, and does not reflect the full criteria for our recommendations at this time. Past discussion on this topic: [#24](https://github.com/privacyguides/privacyguides.org/discussions/24)
Below are some things that must apply to all submissions to Privacy Guides. Each category will have additional requirements for inclusion.
## Financial Disclosure
We do not make money from recommending certain products, we do not use affiliate links, and we do not provide special consideration to project donors.
## General Guidelines
We apply these priorities when considering new recommendations:
- **Secure**: Tools should follow security best-practices wherever applicable.
- **Source Availability**: Open source projects are generally preferred over equivalent proprietary alternatives.
- **Cross-Platform**: We typically prefer recommendations to be cross-platform, to avoid vendor lock-in.
- **Active Development**: The tools that we recommend should be actively developed, unmaintained projects will be removed in most cases.
- **Usability**: Tools should be accessible to most computer users, an overly technical background should not be required.
- **Documented**: Tools should have clear and extensive documentation for use.
## Developer Self-Submissions
We have these requirements in regard to developers which wish to submit their project or software for consideration.
- Must disclose affiliation, i.e. your position within the project being submitted.
- Must have a security whitepaper if it is a project that involves handling of sensitive information like a messenger, password manager, encrypted cloud storage etc.
- Third party audit status. We want to know if you have one, or have one planned. If possible please mention who will be conducting the audit.
- Must explain what the project brings to the table in regard to privacy.
- Does it solve any new problem?
- Why should anyone use it over the alternatives?
- Must state what the exact threat model is with their project.
- It should be clear to potential users what the project can provide, and what it cannot.

View File

@ -2,13 +2,13 @@
title: Supporting Us
---
<!-- markdownlint-disable MD036 -->
It takes a lot of [people](https://github.com/privacyguides/privacyguides.org/graphs/contributors) and [work](https://github.com/privacyguides/privacyguides.org/pulse/monthly) to keep Privacy Guides up to date and spreading the word about privacy and mass surveillance. If you like what we do, the best way to help out is by getting involved by [editing the site](https://github.com/privacyguides/privacyguides.org) or [contributing translations](https://crowdin.com/project/privacyguides).
It takes a lot of [people](https://github.com/privacyguides/privacyguides.org/graphs/contributors) and [work](https://github.com/privacyguides/privacyguides.org/pulse/monthly) to keep Privacy Guides up to date and spreading the word about privacy and mass surveillance. If you like what we do, consider getting involved by [editing the site](https://github.com/privacyguides/privacyguides.org) or [contributing translations](https://crowdin.com/project/privacyguides).
If you want to support us financially, the most convenient method for us is contributing via Open Collective, a website operated by our fiscal host. Open Collective accepts payments via credit/debit card, PayPal, and bank transfers.
[Donate on OpenCollective.com](https://opencollective.com/privacyguides/donate){ .md-button .md-button--primary }
Donations made directly to us Open Collective are generally tax-deductible in the US, because our fiscal host (the Open Collective Foundation) is a registered 501(c)3 organization. You will receive a receipt from the Open Collective Foundation after donating. Privacy Guides does not provide financial advice, and you should contact your tax advisor to find out whether this is applicable to you.
Donations made directly to us on Open Collective are generally tax-deductible in the US, because our fiscal host (the Open Collective Foundation) is a registered 501(c)3 organization. You will receive a receipt from the Open Collective Foundation after donating. Privacy Guides does not provide financial advice, and you should contact your tax advisor to find out whether this is applicable to you.
If you already make use of GitHub sponsorships, you can also sponsor our organization there.

101
docs/about/index.md Normal file
View File

@ -0,0 +1,101 @@
---
title: "About Privacy Guides"
description: Privacy Guides is a socially motivated website that provides information for protecting your data security and privacy.
schema:
"@context": https://schema.org
"@type": Organization
"@id": https://www.privacyguides.org/
name: Privacy Guides
url: https://www.privacyguides.org/en/about/
logo: https://www.privacyguides.org/en/assets/brand/png/square/pg-yellow.png
sameAs:
- https://twitter.com/privacy_guides
- https://github.com/privacyguides
- https://www.wikidata.org/wiki/Q111710163
- https://opencollective.com/privacyguides
- https://www.youtube.com/@privacyguides
- https://mastodon.neat.computer/@privacyguides
---
![Privacy Guides logo](../assets/brand/png/square/pg-yellow.png){ align=right }
**Privacy Guides** is a socially motivated website that provides [information](/kb) for protecting your data security and privacy. Our mission is to inform the public about the value of digital privacy, and global government initiatives which aim to monitor your online activity. We are a non-profit collective operated entirely by volunteer [team members](https://discuss.privacyguides.net/g/team) and contributors. Our website is free of advertisements and not affiliated with any of the listed providers.
[:octicons-home-16:](https://www.privacyguides.org/){ .card-link title=Homepage }
[:octicons-code-16:](https://github.com/privacyguides/privacyguides.org){ .card-link title="Source Code" }
[:octicons-heart-16:](donate.md){ .card-link title=Contribute }
> To find [privacy-focused alternative] apps, check out sites like Good Reports and **Privacy Guides**, which list privacy-focused apps in a variety of categories, notably including email providers (usually on paid plans) that arent run by the big tech companies.
— [New York Times](https://www.nytimes.com/wirecutter/guides/online-security-social-media-privacy/)
> If you're looking for a new VPN, you can go to the discount code of just about any podcast. If you are looking for a **good** VPN, you need professional help. The same goes for email clients, browsers, operating systems and password managers. How do you know which of these is the best, most privacy-friendly option? For that there is **Privacy Guides**, a platform on which a number of volunteers search day in, day out for the best privacy-friendly tools to use on the internet.
— [Tweakers.net](https://tweakers.net/reviews/10568/op-zoek-naar-privacyvriendelijke-tools-niek-de-wilde-van-privacy-guides.html) [Translated from Dutch]
Also featured on: [Ars Technica](https://arstechnica.com/gadgets/2022/02/is-firefox-ok/), [Wirecutter](https://www.nytimes.com/wirecutter/guides/practical-guide-to-securing-windows-pc/) [[2](https://www.nytimes.com/wirecutter/guides/practical-guide-to-securing-your-mac/)], [NPO Radio 1](https://www.nporadio1.nl/nieuws/binnenland/8eaff3a2-8b29-4f63-9b74-36d2b28b1fe1/ooit-online-eens-wat-doms-geplaatst-ga-jezelf-eens-googlen-en-kijk-dan-wat-je-tegenkomt), and [Wired](https://www.wired.com/story/firefox-mozilla-2022/).
## History
Privacy Guides was launched in September 2021 as a continuation of the [defunct](privacytools.md) "PrivacyTools" open-source educational project. We recognized the importance of independent, criteria-focused product recommendations and general knowledge in the privacy space, which is why we needed to preserve the work that had been created by so many contributors since 2015 and make sure that information had a stable home on the web indefinitely.
In 2022, we completed the transition of our main website framework from Jekyll to MkDocs, using the `mkdocs-material` documentation software. This change made open-source contributions to our site significantly easier for outsiders, because instead of needing to know complicated syntax to write posts effectively, contributing is now as easy as writing a standard Markdown document.
We additionally launched our new discussion forum at [discuss.privacyguides.net](https://discuss.privacyguides.net/) as a community platform to share ideas and ask questions about our mission. This augments our existing community on Matrix, and replaced our previous GitHub Discussions platform, decreasing our reliance on proprietary discussion platforms.
So far in 2023 we've launched international translations of our website in [French](/fr/), [Hebrew](/he/), and [Dutch](/nl/), with more languages on the way, made possible by our excellent translation team on [Crowdin](https://crowdin.com/project/privacyguides). We plan to continue carrying forward our mission of outreach and education, and finding ways to more clearly highlight the dangers of a lack of privacy awareness in the modern digital age, and the prevalence and harms of security breaches across the technology industry.
## Our Team
??? person "@jonah"
- [:simple-discourse: Discourse](https://discuss.privacyguides.net/u/jonah)
- [:simple-github: GitHub](https://github.com/jonaharagon "@jonaharagon")
- [:simple-mastodon: Mastodon](https://mastodon.neat.computer/@jonah "@jonah@neat.computer"){rel=me}
- [:fontawesome-solid-house: Homepage](https://www.jonaharagon.com)
??? person "@niek-de-wilde"
- [:simple-discourse: Discourse](https://discuss.privacyguides.net/u/Niek-de-Wilde)
- [:simple-github: GitHub](https://github.com/blacklight447 "@blacklight447")
- [:simple-mastodon: Mastodon](https://mastodon.social/@blacklight447 "@blacklight447@mastodon.social"){rel=me}
??? person "@dngray"
- [:simple-discourse: Discourse](https://discuss.privacyguides.net/u/dngray)
- [:simple-github: GitHub](https://github.com/dngray "@dngray")
- [:simple-mastodon: Mastodon](https://mastodon.social/@dngray "@dngray@mastodon.social"){rel=me}
- [:fontawesome-solid-envelope: Email](mailto:dngray@privacyguides.org)
??? person "@freddy"
- [:simple-discourse: Discourse](https://discuss.privacyguides.net/u/freddy)
- [:simple-github: GitHub](https://github.com/freddy-m "@freddy-m")
- [:simple-mastodon: Mastodon](https://social.lol/@freddy "@freddy@social.lol"){rel=me}
- [:fontawesome-solid-envelope: Email](mailto:freddy@privacyguides.org)
- [:fontawesome-solid-house: Homepage](https://freddy.omg.lol)
??? person "@mfwmyfacewhen"
- [:simple-discourse: Discourse](https://discuss.privacyguides.net/u/mfwmyfacewhen)
- [:simple-github: GitHub](https://github.com/mfwmyfacewhen "@mfwmyfacewhen")
- [:fontawesome-solid-house: Homepage](https://mfw.omg.lol)
??? person "@olivia"
- [:simple-discourse: Discourse](https://discuss.privacyguides.net/u/olivia)
- [:simple-github: GitHub](https://github.com/hook9 "@hook9")
- [:simple-mastodon: Mastodon](https://mastodon.neat.computer/@oliviablob "@oliviablob@neat.computer"){rel=me}
Additionally, [many people](https://github.com/privacyguides/privacyguides.org/graphs/contributors) have made contributions to the project. You can too, we're open sourced on GitHub, and accepting translation suggestions on [Crowdin](https://crowdin.com/project/privacyguides).
Our team members review all changes made to the website and handle administrative duties such as web hosting and financials, however they do not personally profit from any contributions made to this site. Our financials are transparently hosted by the Open Collective Foundation 501(c)(3) at [opencollective.com/privacyguides](https://opencollective.com/privacyguides). Donations to Privacy Guides are generally tax-deductible in the United States.
## Site License
!!! danger ""
The following is a human-readable summary of (and not a substitute for) the [license](/license).
:fontawesome-brands-creative-commons: :fontawesome-brands-creative-commons-by: :fontawesome-brands-creative-commons-nd: Unless otherwise noted, the original content on this website is made available under the [Creative Commons Attribution-NoDerivatives 4.0 International Public License](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE). This means that you are free to copy and redistribute the material in any medium or format for any purpose, even commercially; as long as you give appropriate credit to `Privacy Guides (www.privacyguides.org)` and provide a link to the license. You may do so in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. If you remix, transform, or build upon the content of this website, you may not distribute the modified material.
This license is in place to prevent people from sharing our work without giving proper credit, and to prevent people from modifying our work in a way that could be used to mislead people. If you find the terms of this license too restrictive for the project you're working on, please reach out to us at `jonah@privacyguides.org`. We are happy to provide alternative licensing options for well-intentioned projects in the privacy space!

View File

@ -1,7 +1,5 @@
---
title: "Notices and Disclaimers"
hide:
- toc
---
## Legal Disclaimer
@ -14,30 +12,39 @@ Privacy Guides is an open source project contributed to under licenses that incl
Privacy Guides additionally does not warrant that this website will be constantly available, or available at all.
## Licenses
## Licensing Overview
Unless otherwise noted, all content on this website is made freely available under the terms of the [Creative Commons CC0 1.0 Universal](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE).
!!! danger ""
The following is a human-readable summary of (and not a substitute for) the [license](/license).
Unless otherwise noted, all **content** on this website is made available under the terms of the [Creative Commons Attribution-NoDerivatives 4.0 International Public License](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE). The underlying **source code** used to generate this website and display that content is released under the [MIT License](https://github.com/privacyguides/privacyguides.org/tree/main/LICENSE-CODE).
This does not include third-party code embedded in this repository, or code where a superseding license is otherwise noted. The following are notable examples, but this list may not be all-inclusive:
* [MathJax](https://github.com/privacyguides/privacyguides.org/blob/main/docs/assets/javascripts/mathjax.js) is licensed under the [Apache License 2.0](https://github.com/privacyguides/privacyguides.org/blob/main/docs/assets/javascripts/LICENSE.mathjax.txt).
* [MathJax](https://github.com/privacyguides/privacyguides.org/blob/main/theme/assets/javascripts/mathjax.js) is licensed under the [Apache License 2.0](https://github.com/privacyguides/privacyguides.org/blob/main/docs/assets/javascripts/LICENSE.mathjax.txt).
* The [Bagnard](https://github.com/privacyguides/brand/tree/main/WOFF/bagnard) heading font is licensed under the [SIL Open Font License 1.1](https://github.com/privacyguides/brand/blob/main/WOFF/bagnard/LICENSE.txt).
* The [Public Sans](https://github.com/privacyguides/brand/tree/main/WOFF/public_sans) font used for most text on the site is licensed under the terms detailed [here](https://github.com/privacyguides/brand/blob/main/WOFF/public_sans/LICENSE.txt).
* The [DM Mono](https://github.com/privacyguides/brand/tree/main/WOFF/dm_mono) font used for monospaced text on the site is licensed under the [SIL Open Font License 1.1](https://github.com/privacyguides/brand/blob/main/WOFF/dm_mono/LICENSE.txt).
Portions of this notice itself were adopted from [opensource.guide](https://github.com/github/opensource.guide/blob/master/notices.md) on GitHub. That resource and this page itself are released under [CC-BY-4.0](https://github.com/github/opensource.guide/blob/master/LICENSE).
This means that you can use the human-readable content in this repository for your own project, per the terms outlined in the CC0 1.0 Universal text. You **may not** use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
This means that you can use the human-readable content in this repository for your own project, per the terms outlined in the Creative Commons Attribution-NoDerivatives 4.0 International Public License text. You may do so in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. You **may not** use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
We believe that the logos and other images in `assets` obtained from third-party providers are either in the public domain or **fair use**. In a nutshell, legal [fair use doctrine](https://www.copyright.gov/fair-use/more-info.html) allows the use of copyrighted images in order to identify the subject matter for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. *When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.*
When you contribute to this repository you are doing so under the above licenses.
When you contribute to our website you are doing so under the above licenses, and you are granting Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project.
## Acceptable Use
You may not use this website in any way that causes or may cause damage to the website or impairment of the availability or accessibility of Privacy Guides, or in any way which is unlawful, illegal, fraudulent, harmful, or in connection with any unlawful, illegal, fraudulent, or harmful purpose or activity.
You must not conduct any systematic or automated data collection activities on or in relation to this website without express written consent from Aragon Ventures LLC, including:
You must not conduct any systematic or automated data collection activities on or in relation to this website without express written consent, including:
* Excessive Automated Scans
* Denial of Service Attacks
* Scraping
* Data Mining
* 'Framing' (IFrames)
---
*Portions of this notice itself were adopted from [opensource.guide](https://github.com/github/opensource.guide/blob/master/notices.md) on GitHub. That resource and this page itself are released under [CC-BY-4.0](https://creativecommons.org/licenses/by-sa/4.0/).*

View File

@ -8,13 +8,13 @@ Privacy Guides is a community project operated by a number of active volunteer c
The privacy of our website visitors is important to us, so we do not track any individual people. As a visitor to our website:
- No personal information is collected
- No information such as cookies is stored in the browser
- No information such as cookies are stored in the browser
- No information is shared with, sent to or sold to third-parties
- No information is shared with advertising companies
- No information is mined and harvested for personal and behavioral trends
- No information is monetized
You can view the data we collect at [stats.privacyguides.net/privacyguides.org](https://stats.privacyguides.net/privacyguides.org).
You can view the data we collect on our [statistics](statistics.md) page.
We run a self-hosted installation of [Plausible Analytics](https://plausible.io) to collect some anonymous usage data for statistical purposes. The goal is to track overall trends in our website traffic, it is not to track individual visitors. All the data is in aggregate only. No personal data is collected.
@ -43,7 +43,7 @@ We will store your account data as long as your account remains open. After clos
The Privacy Guides team generally does not have access to personal data outside of limited access granted via some moderation panels. Inquiries regarding your personal information should be sent directly to:
```
```text
Jonah Aragon
Services Administrator
jonah@privacyguides.org
@ -52,9 +52,10 @@ jonah@privacyguides.org
For all other inquiries, you can contact any member of our team.
For complaints under GDPR more generally, you may lodge complaints with your local data protection supervisory authorities.
In France it's the Commission Nationale de l'Informatique et des Libertés which take care and handle the complaints. They provide a [template of complaint letter](https://www.cnil.fr/en/plaintes) to use.
## About This Policy
We will post any new versions of this statement [here](privacy-policy.en.md). We may change how we announce changes in future versions of this document. In the meantime we may update our contact information at any time without announcing a change. Please refer to the [Privacy Policy](privacy-policy.en.md) for the latest contact information at any time.
We will post any new versions of this statement [here](privacy-policy.md). We may change how we announce changes in future versions of this document. In the meantime we may update our contact information at any time without announcing a change. Please refer to the [Privacy Policy](privacy-policy.md) for the latest contact information at any time.
A full revision [history](https://github.com/privacyguides/privacyguides.org/commits/main/docs/about/privacy-policy.en.md) of this page can be found on GitHub.
A full revision [history](https://github.com/privacyguides/privacyguides.org/commits/main/docs/about/privacy-policy.md) of this page can be found on GitHub.

117
docs/about/privacytools.md Normal file
View File

@ -0,0 +1,117 @@
---
title: "PrivacyTools FAQ"
---
# Why we moved on from PrivacyTools
In September 2021, every active contributor unanimously agreed to move from PrivacyTools to work on this site: Privacy Guides. This decision was made because PrivacyTools founder and controller of the domain name had disappeared for an extended period of time and could not be contacted.
Having built a reputable site and set of services on PrivacyTools.io, this caused grave concerns for the future of PrivacyTools, as any future disruption could wipe out the entire organization with no recovery method. This transition was communicated to the PrivacyTools community many months in advance via a variety of channels including its blog, Twitter, Reddit, and Mastodon to ensure the entire process went as smoothly as possible. We did this to ensure nobody was kept in the dark, which has been our modus operandi since our team was created, and to make sure Privacy Guides was recognized as the same reliable organization that PrivacyTools was before the transition.
After the organizational move was completed, the founder of PrivacyTools returned and began to spread misinformation about the Privacy Guides project. They continue to spread misinformation in addition to operating a paid link farm on the PrivacyTools domain. We are creating this page to clear up any misconceptions.
## What is PrivacyTools?
PrivacyTools was created in 2015 by "BurungHantu," who wanted to make a privacy information resource - helpful tools following the Snowden revelations. The site grew into a flourishing open-source project with [many contributors](https://github.com/privacytools/privacytools.io/graphs/contributors), some eventually given various organizational responsibilities, such as operating online services like Matrix and Mastodon, managing and reviewing changes to the site on GitHub, finding sponsors for the project, writing blog posts and operating social media outreach platforms like Twitter, etc.
Beginning in 2019, BurungHantu grew more and more distant from the active development of the website and communities, and began delaying payments he was responsible for related to the servers we operated. To avoid having our system administrator pay server costs out of their own pocket, we changed the donation methods listed on the site from BurungHantu's personal PayPal and crypto accounts to a new OpenCollective page on [October 31, 2019](https://web.archive.org/web/20210729184557/https://blog.privacytools.io/privacytools-io-joins-the-open-collective-foundation/). This had the added benefits of making our finances completely transparent, a value we strongly believe in, and tax-deductible in the United States, because they were being held by the Open Collective Foundation 501(c)3. This change was unanimously agreed upon by the team and went uncontested.
## Why We Moved On
In 2020, BurungHantu's absence grew much more noticeable. At one point, we required the domain's nameservers to be changed to nameservers controlled by our system administrator to avoid future disruption, and this change was not completed for over a month after the initial request. He would disappear from the public chat and private team chat rooms on Matrix for months at a time, occasionally popping in to give some small feedback or promise to be more active before disappearing once again.
In October 2020, the PrivacyTools system administrator (Jonah) [left](https://web.archive.org/web/20210729190742/https://blog.privacytools.io/blacklight447-taking-over/) the project because of these difficulties, handing control to another long-time contributor. Jonah had been operating nearly every PrivacyTools service and acting as the *de facto* project lead for website development in BurungHantu's absence, thus his departure was a significant change to the organization. At the time, because of these significant organizational changes, BurungHantu promised the remaining team he would return to take control of the project going forward. ==The PrivacyTools team reached out via several communication methods over the following months, but did not receive any response.==
## Domain Name Reliance
At the beginning of 2021, the PrivacyTools team grew worried about the future of the project, because the domain name was set to expire on 1st March 2021. The domain was ultimately renewed by BurungHantu with no comment.
The teams concerns were not addressed, and we realized this would be a problem every year: If the domain expired it would have allowed it to be stolen by squatters or spammers, thus ruining the organization's reputation. We also would have had trouble reaching the community to inform them of what took place.
Without being in any contact with BurungHantu, we decided the best course of action would be to move to a new domain name while we still had guaranteed control over the old domain name, sometime before March 2022. This way, we would be able to cleanly redirect all PrivacyTools resources to the new site without any interruption in service. This decision was made many months in advance and communicated to the entire team in the hopes that BurungHantu would reach out and assure his continued support for the project, because with a recognizable brand name and large communities online, moving away from "PrivacyTools" was the least desirable possible outcome.
In mid-2021 the PrivacyTools team reached out to Jonah, who agreed to rejoin the team to help with the transition.
## Community Call to Action
At the end of July 2021, we [informed](https://web.archive.org/web/20210729184422/https://blog.privacytools.io/the-future-of-privacytools/) the PrivacyTools community of our intention to choose a new name and continue the project on a new domain, to be [chosen](https://web.archive.org/web/20210729190935/https://aragon.cloud/apps/forms/cMPxG9KyopapBbcw) on 2nd August 2022. In the end, "Privacy Guides" was selected, with the `privacyguides.org` domain already owned by Jonah for a side-project from 2020 that went undeveloped.
## Control of r/privacytoolsIO
Simultaneously with the ongoing website issues at privacytools.io, the r/privacytoolsIO moderation team was facing challenges with managing the subreddit. The subreddit had always been operated mostly independently of the website's development, but BurungHantu was the primary moderator of the subreddit as well, and he was the only moderator granted "Full Control" privileges. u/trai_dep was the only active moderator at the time, and [posted](https://www.reddit.com/r/redditrequest/comments/o9tllh/requesting_rprivacytoolsio_im_only_active_mod_top/) a request to Reddit's administrators on June 28, 2021, asking to be granted the primary moderator position and full control privileges, in order to make necessary changes to the Subreddit.
Reddit requires that subreddits have active moderators. If the primary moderator is inactive for a lengthy period of time (such as a year) the primary moderation position can be re-appointed to the next moderator in line. For this request to have been granted, BurungHantu had to have been completely absent from all Reddit activity for a long period of time, which was consistent with his behaviors on other platforms.
> If you were removed as moderator from a subreddit through Reddit request it is because your lack of response and lack of activity qualified the subreddit for an r/redditrequest transfer.
>
> r/redditrequest is Reddit's way of making sure communities have active moderators and is part of the [Moderator Code of Conduct](https://www.redditinc.com/policies/moderator-code-of-conduct).
## Beginning the Transition
On September 14th, 2021, we [announced](https://www.privacyguides.org/blog/2021/09/14/welcome-to-privacy-guides/) the beginning of our migration to this new domain:
> [...] we found it necessary to make this switch sooner rather than later to ensure people would find out about this transition as soon as possible. This gives us adequate time to transition the domain name, which is currently redirecting to www.privacyguides.org, and it hopefully gives everyone enough time to notice the change, update bookmarks and websites, etc.
This change [entailed:](https://www.reddit.com/r/PrivacyGuides/comments/pnhn4a/rprivacyguides_privacyguidesorg_what_you_need_to/)
- Redirecting www.privacytools.io to [www.privacyguides.org](https://www.privacyguides.org).
- Archiving the source code on GitHub to preserve our past work and issue tracker, which we continued to use for months of future development of this site.
- Posting announcements to our subreddit and various other communities informing people of the official change.
- Formally closing privacytools.io services, like Matrix and Mastodon, and encouraging existing users to migrate as soon as possible.
Things appeared to be going smoothly, and most of our active community made the switch to our new project exactly as we hoped.
## Following Events
Roughly a week following the transition, BurungHantu returned online for the first time in nearly a year, however nobody on our team was willing to return to PrivacyTools because of his historic unreliability. Rather than apologize for his prolonged absence, he immediately went on the offensive and positioned the transition to Privacy Guides as an attack against him and his project. He subsequently [deleted](https://www.reddit.com/r/privacytoolsIO/comments/pp9yie/comment/hd49wbn) many of these posts when it was pointed out by the community that he had been absent and abandoned the project.
At this point, BurungHantu claimed he wanted to continue working on privacytools.io on his own and requested that we remove the redirect from www.privacytools.io to [www.privacyguides.org](https://www.privacyguides.org). We obliged and requested that he keep the subdomains for Matrix, Mastodon, and PeerTube active for us to run as a public service to our community for at least a few months, in order to allow users on those platforms to easily migrate to other accounts. Due to the federated nature of the services we provided, they were tied to specific domain names making it very difficult to migrate (and in some cases impossible).
Unfortunately, because control of the r/privacytoolsIO subreddit was not returned to BurungHantu at his demand (further information below), those subdomains were [cut off](https://www.reddit.com/r/PrivacyGuides/comments/pymthv/comment/hexwrps/) at the beginning of October, ending any migration possibilities to any users still using those services.
Following this, BurungHantu made false accusations about Jonah stealing donations from the project. BurungHantu had over a year since the alleged incident occurred, and yet he never made anyone aware of it until after the Privacy Guides migration. BurungHantu has been repeatedly asked for proof and to comment on the reason for his silence by the team [and the community](https://twitter.com/TommyTran732/status/1526153536962281474), and has not done so.
BurungHantu also made a [twitter post](https://twitter.com/privacytoolsIO/status/1510560676967710728) alleging that an "attorney" had reached out to him on Twitter and was providing advice, in another attempt to bully us into giving him control of our subreddit, and as part of his smear campaign to muddy the waters surrounding the launch of Privacy Guides while pretending to be a victim.
## PrivacyTools.io Now
As of September 25th 2022 we are seeing BurungHantu's overall plans come to fruition on privacytools.io, and this is the very reason we decided to create this explainer page today. The website he is operating appears to be a heavily SEO-optimized version of the site which recommends tools in exchange for financial compensation. Very recently, IVPN and Mullvad, two VPN providers near-universally [recommended](../vpn.md) by the privacy community and notable for their stance against affiliate programs were removed from PrivacyTools. In their place? NordVPN, Surfshark, ExpressVPN, and hide.me; Giant VPN corporations with untrustworthy platforms and business practices, notorious for their aggressive marketing and affiliate programs.
==**PrivacyTools has become exactly the type of site we [warned against](https://web.archive.org/web/20210729205249/https://blog.privacytools.io/the-trouble-with-vpn-and-privacy-reviews/) on the PrivacyTools blog in 2019.**== We've tried to keep our distance from PrivacyTools since the transition, but their continued harassment towards our project and now their absurd abuse of the credibility their brand gained over 6 years of open source contributions is extremely troubling to us. Those of us actually fighting for privacy are not fighting against each other, and are not getting our advice from the highest bidder.
## r/privacytoolsIO Now
After the launch of [r/PrivacyGuides](https://www.reddit.com/r/privacyguides), it was impractical for u/trai_dep to continue moderating both subreddits, and with the community on-board with the transition, r/privacytoolsIO was [made](https://www.reddit.com/r/privacytoolsIO/comments/qk7qrj/a_new_era_why_rptio_is_now_a_restricted_sub/) a restricted sub in a post on November 1st, 2021:
> [...] The growth of this Sub was the result of great effort, across several years, by the PrivacyGuides.org team. And by every one of you.
>
> A Subreddit is a great deal of work to administer and moderate. Like a garden, it requires patient tending and daily care. Its not a task for dilettantes or commitment-challenged people. It cant thrive under a gardener who abandons it for several years, then shows up demanding this years harvest as their tribute. Its unfair to the team formed years ago. Its unfair to you. [...]
Subreddits do not belong to anybody, and they especially do not belong to brand-holders. They belong to their communities, and the community and its moderators made the decision to support the move to r/PrivacyGuides.
In the months since, BurungHantu has threatened and begged for returning subreddit control to his account in [violation](https://www.reddit.com/r/redditrequest/wiki/top_mod_removal/) of Reddit rules:
> Retaliation from any moderator with regards to removal requests is disallowed.
For a community with many thousands of remaining subscribers, we feel that it would be incredibly disrespectful to return control of that massive platform to the person who abandoned it for over a year, and who now operates a website that we feel provides very low-quality information. Preserving the years of past discussions in that community is more important to us, and thus u/trai_dep and the rest of the subreddit moderation team has made the decision to keep r/privacytoolsIO as-is.
## OpenCollective Now
Our fundraising platform, OpenCollective, is another source of contention. Our position is that OpenCollective was put in place by our team and managed by our team to fund services we currently operate and which PrivacyTools no longer does. We [reached out](https://opencollective.com/privacyguides/updates/transitioning-to-privacy-guides) to all of our donors regarding our move to Privacy Guides, and we were unanimously supported by our sponsors and community.
Thus, the funds in OpenCollective belong to Privacy Guides, they were given to our project, and not the owner of a well known domain name. In the announcement made to donors on September 17th, 2021, we offered refunds to any donor who disagrees with the stance we took, but nobody has taken us up on this offer:
> If any sponsors or backers disagree with or feel misled by these recent events and would like to request a refund given these highly unusual circumstances, please get in touch with our project admin by emailing jonah@triplebit.net.
## Further Reading
This topic has been discussed extensively within our communities in various locations, and it seems likely that most people reading this page will already be familiar with the events leading up to the move to Privacy Guides. Some of our previous posts on the matter may have extra detail we omitted here for brevity. They have been linked below for the sake of completion.
- [June 28, 2021 request for control of r/privacytoolsIO](https://www.reddit.com/r/redditrequest/comments/o9tllh/requesting_rprivacytoolsio_im_only_active_mod_top/)
- [July 27, 2021 announcement of our intentions to move on the PrivacyTools blog, written by the team](https://web.archive.org/web/20210729184422/https://blog.privacytools.io/the-future-of-privacytools/)
- [Sept 13, 2021 announcement of the beginning of our transition to Privacy Guides on r/privacytoolsIO](https://www.reddit.com/r/privacytoolsIO/comments/pnql46/rprivacyguides_privacyguidesorg_what_you_need_to/)
- [Sept 17, 2021 announcement on OpenCollective from Jonah](https://opencollective.com/privacyguides/updates/transitioning-to-privacy-guides)
- [Sept 30, 2021 Twitter thread detailing most of the events now described on this page](https://twitter.com/privacy_guides/status/1443633412800225280)
- [Oct 1, 2021 post by u/dng99 noting subdomain failure](https://www.reddit.com/r/PrivacyGuides/comments/pymthv/comment/hexwrps/)
- [Apr 2, 2022 response by u/dng99 to PrivacyTools' accusatory blog post](https://www.reddit.com/comments/tuo7mm/comment/i35kw5a/)
- [May 16, 2022 response by @TommyTran732 on Twitter](https://twitter.com/TommyTran732/status/1526153497984618496)
- [Sep 3, 2022 post on Techlore's forum by @dngray](https://discuss.techlore.tech/t/has-anyone-seen-this-video-wondering-your-thoughts/792/20)

38
docs/about/services.md Normal file
View File

@ -0,0 +1,38 @@
# Privacy Guides Services
We run a number of web services to test out features and promote cool decentralized, federated, and/or open-source projects. Many of these services are available to the public and are detailed below.
[:material-comment-alert: Report an issue](https://discuss.privacyguides.net/c/services/2){ .md-button .md-button--primary }
## Discourse
- Domain: [discuss.privacyguides.net](https://discuss.privacyguides.net)
- Availability: Public
- Source: [github.com/discourse/discourse](https://github.com/discourse/discourse)
## Gitea
- Domain: [code.privacyguides.dev](https://code.privacyguides.dev)
- Availability: Invite-Only
Access may be granted upon request to any team working on *Privacy Guides*-related development or content.
- Source: [snapcraft.io/gitea](https://snapcraft.io/gitea)
## Matrix
- Domain: [matrix.privacyguides.org](https://matrix.privacyguides.org)
- Availability: Invite-Only
Access may be granted upon request to Privacy Guides team members, Matrix moderators, third-party Matrix community administrators, Matrix bot operators, and other individuals in need of a reliable Matrix presence.
- Source: [github.com/spantaleev/matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)
## SearXNG
- Domain: [search.privacyguides.net](https://search.privacyguides.net)
- Availability: Public
- Source: [github.com/searxng/searxng-docker](https://github.com/searxng/searxng-docker)
## Invidious
- Domain: [invidious.privacyguides.net](https://invidious.privacyguides.net)
- Availability: Semi-Public
We host Invidious primarily to serve embedded YouTube videos on our website, this instance is not intended for general-purpose use and may be limited at any time.
- Source: [github.com/iv-org/invidious](https://github.com/iv-org/invidious)

60
docs/about/statistics.md Normal file
View File

@ -0,0 +1,60 @@
---
title: Traffic Statistics
---
## Website Statistics
<iframe plausible-embed src="https://stats.privacyguides.net/share/privacyguides.org?auth=IxTl2wRhi3uxF09rd1NSn&embed=true&theme=system&background=transparent" scrolling="no" frameborder="0" loading="lazy" style="width: 1px; min-width: 100%; height: 1600px;" id="plausibleFrame"></iframe>
<div style="font-size: 14px; padding-bottom: 14px;">Stats powered by <a target="_blank" style="color: #4F46E5; text-decoration: underline;" href="https://plausible.io">Plausible Analytics</a></div>
<script async src="https://stats.privacyguides.net/js/embed.host.js"></script>
<script>
/* Set palette on initial load */
var palette = __md_get("__palette")
if (palette && typeof palette.color === "object") {
var theme = palette.color.scheme === "slate" ? "dark" : "light"
document.getElementById('plausibleFrame').src = 'https://stats.privacyguides.net/share/privacyguides.org?auth=IxTl2wRhi3uxF09rd1NSn&embed=true&theme=' + theme + '&background=transparent';
}
/* Register event handlers after documented loaded */
document.addEventListener("DOMContentLoaded", function() {
var ref = document.querySelector("[data-md-component=palette]")
ref.addEventListener("change", function() {
var palette = __md_get("__palette")
if (palette && typeof palette.color === "object") {
var theme = palette.color.scheme === "slate" ? "dark" : "light"
document.getElementById('plausibleFrame').src = 'https://stats.privacyguides.net/share/privacyguides.org?auth=IxTl2wRhi3uxF09rd1NSn&embed=true&theme=' + theme + '&background=transparent';
}
})
})
</script>
## Blog Statistics
<iframe plausible-embed src="https://stats.privacyguides.net/share/blog.privacyguides.org?auth=onWV76WWcsDifUqlaHEAg&embed=true&theme=system&background=transparent" scrolling="no" frameborder="0" loading="lazy" style="width: 1px; min-width: 100%; height: 1600px;" id="blogFrame"></iframe>
<div style="font-size: 14px; padding-bottom: 14px;">Stats powered by <a target="_blank" style="color: #4F46E5; text-decoration: underline;" href="https://plausible.io">Plausible Analytics</a></div>
<script async src="https://stats.privacyguides.net/js/embed.host.js"></script>
<script>
/* Set palette on initial load */
var palette = __md_get("__palette")
if (palette && typeof palette.color === "object") {
var theme = palette.color.scheme === "slate" ? "dark" : "light"
document.getElementById('blogFrame').src = 'https://stats.privacyguides.net/share/blog.privacyguides.org?auth=onWV76WWcsDifUqlaHEAg&embed=true&theme=' + theme + '&background=transparent';
}
/* Register event handlers after documented loaded */
document.addEventListener("DOMContentLoaded", function() {
var ref = document.querySelector("[data-md-component=palette]")
ref.addEventListener("change", function() {
var palette = __md_get("__palette")
if (palette && typeof palette.color === "object") {
var theme = palette.color.scheme === "slate" ? "dark" : "light"
document.getElementById('blogFrame').src = 'https://stats.privacyguides.net/share/blog.privacyguides.org?auth=onWV76WWcsDifUqlaHEAg&embed=true&theme=' + theme + '&background=transparent';
}
})
})
</script>

View File

@ -0,0 +1,103 @@
---
title: "Types of Communication Networks"
icon: 'material/transit-connection-variant'
description: An overview of several network architectures commonly used by instant messaging applications.
---
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 }
## Centralized Networks
![Centralized networks diagram](../assets/img/layout/network-centralized.svg){ align=left }
Centralized messengers are those where all participants are on the same server or network of servers controlled by the same organization.
Some self-hosted messengers allow you to set up your own server. Self-hosting can provide additional privacy guarantees, such as no usage logs or limited access to metadata (data about who is talking to whom). Self-hosted centralized messengers are isolated and everyone must be on the same server to communicate.
**Advantages:**
- New features and changes can be implemented more quickly.
- Easier to get started with and to find contacts.
- Most mature and stable features ecosystems, as they are easier to program in a centralized software.
- Privacy issues may be reduced when you trust a server that you're self-hosting.
**Disadvantages:**
- Can include [restricted control or access](https://drewdevault.com/2018/08/08/Signal.html). This can include things like:
- Being [forbidden from connecting third-party clients](https://github.com/LibreSignal/LibreSignal/issues/37#issuecomment-217211165) to the centralized network that might provide for greater customization or a better experience. Often defined in Terms and Conditions of usage.
- Poor or no documentation for third-party developers.
- The [ownership](https://web.archive.org/web/20210729191953/https://blog.privacytools.io/delisting-wire/), privacy policy, and operations of the service can change easily when a single entity controls it, potentially compromising the service later on.
- Self-hosting requires effort and knowledge of how to set up a service.
## Federated Networks
![Federated networks diagram](../assets/img/layout/network-decentralized.svg){ align=left }
Federated messengers use multiple, independent, decentralized servers that are able to talk to each other (email is one example of a federated service). Federation allows system administrators to control their own server and still be a part of the larger communications network.
When self-hosted, members of a federated server can discover and communicate with members of other servers, although some servers may choose to remain private by being non-federated (e.g., work team server).
**Advantages:**
- Allows for greater control over your own data when running your own server.
- Allows you to choose whom to trust your data with by choosing between multiple "public" servers.
- Often allows for third-party clients which can provide a more native, customized, or accessible experience.
- Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member).
**Disadvantages:**
- Adding new features is more complex because these features need to be standardized and tested to ensure they work with all servers on the network.
- Due to the previous point, features can be lacking, or incomplete or working in unexpected ways compared to centralized platforms, such as message relay when offline or message deletion.
- Some metadata may be available (e.g., information like "who is talking to whom," but not actual message content if E2EE is used).
- Federated servers generally require trusting your server's administrator. They may be a hobbyist or otherwise not a "security professional," and may not serve standard documents like a privacy policy or terms of service detailing how your data is used.
- Server administrators sometimes choose to block other servers, which are a source of unmoderated abuse or break general rules of accepted behavior. This will hinder your ability to communicate with members of those servers.
## Peer-to-Peer Networks
![P2P diagram](../assets/img/layout/network-distributed.svg){ align=left }
P2P messengers connect to a [distributed network](https://en.wikipedia.org/wiki/Distributed_networking) of nodes to relay a message to the recipient without a third-party server.
Clients (peers) usually find each other through the use of a [distributed computing](https://en.wikipedia.org/wiki/Distributed_computing) network. Examples of this include [Distributed Hash Tables](https://en.wikipedia.org/wiki/Distributed_hash_table) (DHT), used by [torrents](https://en.wikipedia.org/wiki/BitTorrent_(protocol)) and [IPFS](https://en.wikipedia.org/wiki/InterPlanetary_File_System) for example. Another approach is proximity based networks, where a connection is established over WiFi or Bluetooth (for example, Briar or the [Scuttlebutt](https://www.scuttlebutt.nz) social network protocol).
Once a peer has found a route to its contact via any of these methods, a direct connection between them is made. Although messages are usually encrypted, an observer can still deduce the location and identity of the sender and recipient.
P2P networks do not use servers, as peers communicate directly between each other and hence cannot be self-hosted. However, some additional services may rely on centralized servers, such as user discovery or relaying offline messages, which can benefit from self-hosting.
**Advantages:**
- Minimal information is exposed to third-parties.
- Modern P2P platforms implement E2EE by default. There are no servers that could potentially intercept and decrypt your transmissions, unlike centralized and federated models.
**Disadvantages:**
- Reduced feature set:
- Messages can only be sent when both peers are online, however, your client may store messages locally to wait for the contact to return online.
- Generally increases battery usage on mobile devices, because the client must stay connected to the distributed network to learn about who is online.
- Some common messenger features may not be implemented or incompletely, such as message deletion.
- Your IP address and that of the contacts you're communicating with may be exposed if you do not use the software in conjunction with a [VPN](../vpn.md) or [Tor](../tor.md). Many countries have some form of mass surveillance and/or metadata retention.
## Anonymous Routing
![Anonymous routing diagram](../assets/img/layout/network-anonymous-routing.svg){ align=left }
A messenger using [anonymous routing](https://doi.org/10.1007/978-1-4419-5906-5_628) hides either the identity of the sender, the receiver, or evidence that they have been communicating. Ideally, a messenger should hide all three.
There are [many](https://doi.org/10.1145/3182658) different ways to implement anonymous routing. One of the most famous is [onion routing](https://en.wikipedia.org/wiki/Onion_routing) (i.e. [Tor](tor-overview.md)), which communicates encrypted messages through a virtual [overlay network](https://en.wikipedia.org/wiki/Overlay_network) that hides the location of each node as well as the recipient and sender of each message. The sender and recipient never interact directly and only meet through a secret rendezvous node so that there is no leak of IP addresses nor physical location. Nodes cannot decrypt messages, nor the final destination; only the recipient can. Each intermediary node can only decrypt a part that indicates where to send the still encrypted message next, until it arrives at the recipient who can fully decrypt it, hence the "onion layers."
Self-hosting a node in an anonymous routing network does not provide the hoster with additional privacy benefits, but rather contributes to the whole network's resilience against identification attacks for everyone's benefit.
**Advantages:**
- Minimal to no information is exposed to other parties.
- Messages can be relayed in a decentralized manner even if one of the parties is offline.
**Disadvantages:**
- Slow message propagation.
- Often limited to fewer media types, mostly text, since the network is slow.
- Less reliable if nodes are selected by randomized routing, some nodes may be very far from the sender and receiver, adding latency or even failing to transmit messages if one of the nodes goes offline.
- More complex to get started, as the creation and secured backup of a cryptographic private key is required.
- Just like other decentralized platforms, adding features is more complex for developers than on a centralized platform. Hence, features may be lacking or incompletely implemented, such as offline message relaying or message deletion.

View File

@ -1,6 +1,7 @@
---
title: "Introduction to DNS"
title: "DNS Overview"
icon: material/dns
description: The Domain Name System is the "phonebook of the internet," helping your browser find the website it's looking for.
---
The [Domain Name System](https://en.wikipedia.org/wiki/Domain_Name_System) is the 'phonebook of the Internet'. DNS translates domain names to IP addresses so browsers and other services can load Internet resources, through a decentralized network of servers.
@ -79,7 +80,7 @@ Encrypted DNS can refer to one of a number of protocols, the most common ones be
[**DNS over HTTPS**](https://en.wikipedia.org/wiki/DNS_over_HTTPS) as defined in [RFC 8484](https://datatracker.ietf.org/doc/html/rfc8484) packages queries in the [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) protocol and provides security with HTTPS. Support was first added in web browsers such as Firefox 60 and Chrome 83.
Native implementation of DoH showed up in iOS 14, macOS 11, Microsoft Windows, and Android 13 (however, it won't be enabled [by default](https://android-review.googlesource.com/c/platform/packages/modules/DnsResolver/+/1833144)). General Linux desktop support is waiting on the systemd [implementation](https://github.com/systemd/systemd/issues/8639) so [installing third-party software is still required](../dns.md#linux).
Native implementation of DoH showed up in iOS 14, macOS 11, Microsoft Windows, and Android 13 (however, it won't be enabled [by default](https://android-review.googlesource.com/c/platform/packages/modules/DnsResolver/+/1833144)). General Linux desktop support is waiting on the systemd [implementation](https://github.com/systemd/systemd/issues/8639) so [installing third-party software is still required](../dns.md#encrypted-dns-proxies).
## What can an outside party see?
@ -109,7 +110,7 @@ We can see the [connection establishment](https://en.wikipedia.org/wiki/Transmis
## Why **shouldn't** I use encrypted DNS?
In locations where there is internet filtering (or censorship), visiting forbidden resources may have its own consequences which you should consider in your [threat model](threat-modeling.md). We do **not** suggest the use of encrypted DNS for this purpose. Use [Tor](https://torproject.org) or a [VPN](../vpn.md) instead. If you're using a VPN, you should use your VPN's DNS servers. When using a VPN, you are already trusting them with all your network activity.
In locations where there is internet filtering (or censorship), visiting forbidden resources may have its own consequences which you should consider in your [threat model](../basics/threat-modeling.md). We do **not** suggest the use of encrypted DNS for this purpose. Use [Tor](https://torproject.org) or a [VPN](../vpn.md) instead. If you're using a VPN, you should use your VPN's DNS servers. When using a VPN, you are already trusting them with all your network activity.
When we do a DNS lookup, it's generally because we want to access a resource. Below, we will discuss some of the methods that may disclose your browsing activities even when using encrypted DNS:

View File

@ -1,36 +0,0 @@
---
title: "Secure Data Erasure"
icon: 'material/harddisk-remove'
---
**Erasing data** from your computer may seem like a simple task, but if you want to make sure the data is truly unrecoverable, there are some things you should consider.
!!! tip
You should use [full disk encryption](../encryption.md#os-full-disk-encryption) on your storage devices. If your device is stolen or needs to be returned under warranty your privacy may be at risk.
To erase a storage device **thoroughly**, you should securely erase the whole device and not individual files.
## Erasing Your Entire Drive
When you delete a file, the operating system marks the space where the deleted file was as "empty." That "empty" space can be fairly easily undeleted, yielding the original file.
### Magnetic storage
If the disk is a magnetic storage device, such as a spinning hard disk, we suggest using [`nwipe`](https://en.wikipedia.org/wiki/Nwipe). `nwipe` can be installed in most Linux distributions. If you wish to use a complete boot environment on a system, consider using [ShredOS Disk Eraser](https://github.com/PartialVolume/shredos.x86_64). ShredOS boots straight into `nwipe` and allows you to erase available disks. To install it to a flash USB stick see the [installation methods](https://github.com/PartialVolume/shredos.x86_64/blob/master/README.md#obtaining-and-writing-shredos-to-a-usb-flash-drive-the-easy-way-).
Once you have your boot media, enter your system's UEFI settings and boot from the USB stick. Commonly used keys to access UEFI are ++f2++, ++f12++, or ++del++. Follow the on-screen prompts to wipe your data.
![ShredOS](../assets/img/erasing-data/shredos.png)
### Flash Storage
For [flash memory](https://en.wikipedia.org/wiki/Flash_memory) (SSD, NVMe, etc) devices we suggest the ATA Secure Erase command. Methods such as `nwipe` should not be used on flash storage devices as it may damage their performance. The "Secure Erase" feature is often accessible through the UEFI setup menu.
It is also possible to complete a Secure Erase using the [`hdparm`](https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase) command, or [Microsoft Secure Group Commands](https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/security-group-commands).
Physical destruction may be necessary to securely erase devices such as memory cards, USB sticks and unusable hard disks.
## Erasing Specific Files
Securely shredding **individual files** is difficult if not impossible. Copies can exist in a variety of ways such as through manual, or automatic backups, [wear leveling](https://en.wikipedia.org/wiki/Wear_leveling) (on modern [flash storage](https://en.wikipedia.org/wiki/Solid-state_drive)), caching and filesystem [journaling](https://en.wikipedia.org/wiki/Journaling_file_system).
Wear leveled devices do not guarantee a fixed relationship between [logical blocks addressed](https://en.wikipedia.org/wiki/Logical_block_addressing) through the interface. This means that the physical locations in which the data is stored may be different to where it is actually located, so shredding may not provide adequate security.

View File

@ -1,162 +0,0 @@
---
title: "Integrating Metadata Removal"
icon: 'material/data-matrix-remove'
---
When sharing files, it's important to remove associated metadata. Image files commonly include [Exif](https://en.wikipedia.org/wiki/Exif) data, and sometimes photos even include GPS coordinates within its metadata.
While there are plenty of metadata removal tools, they typically aren't convenient to use. The guides featured here aim to detail how to integrate metadata removal tools in a simple fashion by utilizing easy-to-access system features.
- [Recommended metadata removal tools :hero-arrow-circle-right-fill:](../data-redaction.md)
## macOS
This guide uses the [Shortcuts](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) app to add an [ExifTool](../data-redaction.md#exiftool) script to the *Quick Actions* context menu within Finder. Shortcuts is developed by Apple and bundled in with macOS by default.
Shortcuts is quite intuitive to work with, so if you don't like the behavior demoed here then experiment with your own solution. For example, you could set the shortcut to take a clipboard input instead. The sky's the limit.
![ExifTool Quick Action](../assets/img/integrating-metadata-removal/preview-macos.png)
### Prerequisites
1. [Homebrew](https://brew.sh): a package manager.
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
2. ExifTool is a tool for viewing and manipulating image, audio, video, and PDF metadata.
```bash
brew install exiftool
```
!!! note
You can check if ExifTool is installed by running `exiftool -ver`. You should see a version number.
### Creating the Shortcut
1. Open **Shortcuts.app** and create a new shortcut
2. In the shortcut's options, check **Use as Quick Action** and **Finder**
3. Set up the retrieval options:
- Receive **Images, Media, and PDFs** input from **Quick Actions**
- If there is no input select **Continue**
4. Add the **Run Shell Script** action to the shortcut. You may need to enable **Allow Running Scripts** in Shortcut.app's settings
5. Set up the shell script action:
- Select **zsh** from the shell list
- Set the input to **Shortcut Input**
- Select **as arguments** for the pass input
- Leave **Run as administrator** unchecked
6. Use the following as the body of the script:
```bash
for f in "$@"
do
exiftool -all= "$f";
done
```
![macOS metadata removal shortcut](../assets/img/integrating-metadata-removal/shortcut-macos.png)
!!! tip "Worth Mentioning"
The open-source [ImageOptim](https://imageoptim.com/mac) app integrates into Finder's *Services* context menu by default. While it is primarily an image optimization app, it also removes metadata.
### Enabling & using the Shortcut
1. The shortcut will be accessible through **Quick Actions** context menu within Finder.
2. If you want to reposition the shortcut within the context menu, go to:<br>
**System Preferences** → **Extensions** → **Finder and drag the shortcut's position**.
## iOS and iPadOS
[Shortcuts](https://support.apple.com/guide/shortcuts/welcome/ios) can be made accessible through the system Share Sheet, making accessing those shortcuts very convenient. This guide will show you how to build a metadata removal shortcut and integrate it into the system *Share Sheet*.
!!! warning
This method of metadata removal is not as comprehensive at removing metadata as utilities like [ExifTool](../data-redaction.md#exiftool) and [mat2](../data-redaction.md#mat2) are.
The lack of *good* metadata removal apps on the App Store is what makes this solution worthwhile.
![Don't preserve metadata shortcut](../assets/img/integrating-metadata-removal/preview-ios.png)
### Prerequisites
1. [Shortcuts](https://apps.apple.com/us/app/shortcuts/id915249334) via the App Store.
### Creating the Shortcut
1. Create a new Shortcut
2. Enter the Shortcut's settings and check **Show in Share Sheet**
3. Add a **Receive** action and set it to receive **Images** from **Share Sheet**
4. Add an **If** action
5. Set the **If** action to **Shortcut Input** and **has any value**
6. Add an **Otherwise** action
7. Add an **End If** action
8. Add a **Convert** action and set it to **If Result** and **Match Input**
9. Finally, add a **Share** action and set that to **Converted Image**
10. Make sure that you uncheck **preserve metadata**
![iOS/iPadOS metadata removal shortcut](../assets/img/integrating-metadata-removal/shortcut-ios.png)
### Enabling & using the Shortcut
1. The shortcut should be available through the system Share Sheet. If it is not, then a device restart may be required.
2. Optionally, you can add the shortcut to your home screen.
## Windows
Windows allows you to place files in a **SendTo** folder which then appear in the *Send to* context menu. This guide will show you how to add an [ExifTool](../data-redaction.md#exiftool) batch script to this menu.
![Send to metadata removal shortcut](../assets/img/integrating-metadata-removal/preview-windows.jpg)
### Prerequisites
1. ExifTool is a tool for viewing and manipulating image, audio, video, and PDF metadata. We suggest you read the [Installation instructions](https://exiftool.org/install.html#Windows) on the official website.
!!! note
You can check if ExifTool is present in your [PATH](https://www.computerhope.com/issues/ch000549.htm) by running `exiftool -ver` in Command Prompt. You should see a version number.
### Creating the shortcut
1. Navigate to `%appdata%\Microsoft\Windows\SendTo`
2. Right click in the **SendTo** folder and create a new **Text Document**
3. Name the file `ExifTool.bat` (any name works, however it must end in `.bat`)
!!! note
You may need to check if [file name extensions](https://support.microsoft.com/en-us/windows/common-file-name-extensions-in-windows-da4a4430-8e76-89c5-59f7-1cdbbc75cb01) are enabled.
4. Open **ExifTool.bat** in Notepad
5. Copy the following into the document:
```bat
exiftool -fast4 -if "$filepermissions =~ /^.w/" %*
if not errorlevel 0 (
echo Some files are write protected
exit /b %errorlevel%
)
exiftool -all= %*
```
6. Save
### Using the shortcut
1. Right click a supported file and choose **ExifTool.bat** within the *Send to* context menu.

83
docs/advanced/payments.md Normal file
View File

@ -0,0 +1,83 @@
---
title: Private Payments
icon: material/hand-coin
---
There's a reason data about your buying habits is considered the holy grail of ad targeting: your purchases can leak a veritable treasure trove of data about you. Unfortunately, the current financial system is anti-privacy by design, enabling banks, other companies, and governments to easily trace transactions. Nevertheless, you have plenty of options when it comes to making payments privately.
## Cash
For centuries, **cash** has functioned as the primary form of private payment. Cash has excellent privacy properties in most cases, is widely accepted in most countries, and is **fungible**, meaning it is non-unique and completely interchangable.
Cash payment laws vary by country. In the United States, special disclosure is required for cash payments over $10,000 to the IRS on [Form 8300](https://www.irs.gov/businesses/small-businesses-self-employed/form-8300-and-reporting-cash-payments-of-over-10000). The receiving business is required to ID verify the payees name, address, occupation, date of birth, and Social Security Number or other TIN (with some exceptions). Lower limits without ID such as $3,000 or less exist for exchanges and money transmission. Cash also contains serial numbers. These are almost never tracked by merchants, but they can be used by law enforcement in targeted investigations.
Despite this, its typically the best option.
## Prepaid Cards & Gift Cards
Its relatively simple to purchase gift cards and prepaid cards at most grocery stores and convenience stores with cash. Gift cards usually dont have a fee, though prepaid cards often do, so pay close attention to these fees and expiry dates. Some stores may ask to see your ID at checkout to reduce fraud.
Gift cards usually have limits of up to $200 per card, but some offer limits of up to $2,000 per card. Prepaid cards (eg: from Visa or Mastercard) usually have limits of up to $1,000 per card.
Gift cards have the downside of being subject to merchant policies, which can have terrible terms and restrictions. For example, some merchants dont accept payment in gift cards exclusively, or they may cancel the value of the card if they consider you to be a high-risk user. Once you have merchant credit, the merchant has a strong degree of control over this credit.
Prepaid cards dont allow cash withdrawals from ATMs or “peer-to-peer” payments in Venmo and similar apps.
Cash remains the best option for in-person purchases for most people. Gift cards can be useful for the savings they bring. Prepaid cards can be useful for places that dont accept cash. Gift cards and prepaid cards are easier to use online than cash, and they are easier to acquire with cryptocurrencies than cash.
### Online Marketplaces
If you have [cryptocurrency](../cryptocurrency.md), you can purchase gift cards with an online gift card marketplace. Some of these services offer ID verification options for higher limits, but they also allow accounts with just an email address. Basic limits start at $5,000-10,000 a day for basic accounts, and significantly higher limits for ID verified accounts (if offered).
When buying gift cards online, there is usually a slight discount. Prepaid cards are usually sold online at face value or with a fee. If you buy prepaid cards and gift cards with cryptocurrencies, you should strongly prefer to pay with Monero which provides strong privacy, more on this below. Paying for a gift card with a traceable payment method negates the benefits a gift card can provide when purchased with cash or Monero.
- [Online Gift Card Marketplaces :material-arrow-right-drop-circle:](../financial-services.md#gift-card-marketplaces)
## Virtual Cards
Another way to protect your information from merchants online is to use virtual, single-use cards which mask your actual banking or billing information. This is primarily useful for protecting you from merchant data breaches, less sophisticated tracking or purchase correlation by marketing agencies, and online data theft. They do **not** assist you in making a purchase completely anonymously, nor do they hide any information from the banking institution themselves. Regular financial institutions which offer virtual cards are subject to "Know Your Customer" (KYC) laws, meaning they may require your ID or other identifying information.
- [Recommended Payment Masking Services :material-arrow-right-drop-circle:](../financial-services.md#payment-masking-services)
These tend to be good options for recurring/subscription payments online, while prepaid gift cards are preferred for one-time transactions.
## Cryptocurrency
Cryptocurrencies are a digital form of currency designed to work without central authorities such as a government or bank. While *some* cryptocurrency projects can allow you to make private transactions online, many use a public blockchain which does not provide any transaction privacy. Cryptocurrencies also tend to be very volatile assets, meaning their value can change rapidly and significantly at any time. As such, we generally don't recommend using cryptocurrency as a long-term store of value. If you decide to use cryptocurrency online, make sure you have a full understanding of its privacy aspects beforehand, and only invest amounts which would not be disastrous to lose.
!!! danger
The vast majority of cryptocurrencies operate on a **public** blockchain, meaning that every transaction is public knowledge. This includes even most well-known cryptocurrencies like Bitcoin and Ethereum. Transactions with these cryptocurrencies should not be considered private and will not protect your anonymity.
Additionally, many if not most cryptocurrencies are scams. Make transactions carefully with only projects you trust.
### Privacy Coins
There are a number of cryptocurrency projects which purport to provide privacy by making transactions anonymous. We recommend using one which provides transaction anonymity **by default** to avoid operational errors.
- [Recommended Cryptocurrency :material-arrow-right-drop-circle:](../cryptocurrency.md#coins)
Privacy coins have been subject to increasing scrutiny by government agencies. In 2020, [the IRS published a $625,000 bounty](https://www.forbes.com/sites/kellyphillipserb/2020/09/14/irs-will-pay-up-to-625000-if-you-can-crack-monero-other-privacy-coins/?sh=2e9808a085cc) for tools which can break Bitcoin Lightning Network and/or Monero's transaction privacy. They ultimately [paid two companies](https://sam.gov/opp/5ab94eae1a8d422e88945b64181c6018/view) (Chainalysis and Integra Fec) a combined $1.25 million for tools which purport to do so (it is unknown which cryptocurrency network these tools target). Due to the secrecy surrounding tools like these, ==none of these methods of tracing cryptocurrencies have been independently confirmed.== However, it is quite likely that tools which assist targeted investigations into private coin transactions exist, and that privacy coins only succeed in thwarting mass surveillance.
### Other Coins (Bitcoin, Ethereum, etc.)
The vast majority of cryptocurrency projects use a public blockchain, meaning that all transactions are both easily traceable and permanent. As such, we strongly discourage the use of most cryptocurrency for privacy-related reasons.
Anonymous transactions on a public blockchain are *theoretically* possible, and the Bitcoin wiki [gives one example of a "completely anonymous" transaction](https://en.bitcoin.it/wiki/Privacy#Example_-_A_perfectly_private_donation). However, doing so requires a complicated setup involving Tor and "solo-mining" a block to generate completely independent cryptocurrency, a practice which has not been practical for nearly any enthusiast for many years.
==Your best option is to avoid these cryptocurrencies entirely and stick with one which provides privacy by default.== Attempting to use other cryptocurrency is outside the scope of this site and strongly discouraged.
### Wallet Custody
With cryptocurrency there are two forms of wallets: custodial wallets and noncustodial wallets. Custodial wallets are operated by centralized companies/exchanges, where the private key for your wallet is held by that company, and you can access them anywhere typically with a regular username and password. Noncustodial wallets are wallets where you control and manage the private keys to access it. Assuming you keep your wallet's private keys secured and backed up, noncustodial wallets provide greater security and censorship-resistance over custodial wallets, because your cryptocurrency can't be stolen or frozen by a company with custody over your private keys. Key custody is especially important when it comes to privacy coins: Custodial wallets grant the operating company the ability to view your transactions, negating the privacy benefits of those cryptocurrencies.
### Acquisition
Acquiring [cryptocurrencies](../cryptocurrency.md) like Monero privately can be difficult. P2P marketplaces like [LocalMonero](https://localmonero.co/), a platform which facilitates trades between people, are one option that can be used. If using an exchange which requires KYC is an acceptable risk for you as long as subsequent transactions can't be traced, a much easier option is to purchase Monero on an exchange like [Kraken](https://kraken.com/), or purchase Bitcoin/Litecoin from a KYC exchange which can then be swapped for Monero. Then, you can withdraw the purchased Monero to your own noncustodial wallet to use privately from that point forward.
If you go this route, make sure to purchase Monero at different times and in different amounts than where you will spend it. If you purchase $5000 of Monero at an exchange and make a $5000 purchase in Monero an hour later, those actions could potentially be correlated by an outside observer regardless of which path the Monero took. Staggering purchases and purchasing larger amounts of Monero in advance to later spend on multiple smaller transactions can avoid this pitfall.
## Additional Considerations
When you're making a payment in-person with cash, make sure to keep your in-person privacy in mind. Security cameras are ubiquitous. Consider wearing non-distinct clothing and a face mask (such as a surgical mask or N95). Dont sign up for rewards programs or provide any other information about yourself.
When purchasing online, ideally you should do so over [Tor](tor-overview.md). However, many merchants dont allow purchases with Tor. You can consider using a [recommended VPN](../vpn.md) (paid for with cash, gift card, or Monero), or making the purchase from a coffee shop or library with free Wi-Fi. If you are ordering a physical item that needs to be delivered, you will need to provide a delivery address. You should consider using a PO box, private mailbox, or work address.

View File

@ -1,260 +0,0 @@
---
title: "Signal Configuration and Hardening"
icon: 'material/chat-processing'
---
[Signal](../real-time-communication.md#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.
This guide details actions you can take to configure and harden Signal in accordance with your [threat model](../basics/threat-modeling.md).
## Signal Configuration
### 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.
Additionally, your Signal PIN can also double as a registration lock that prevents others from registering with your number.
!!! attention "Registration Lock"
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.
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 **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](../passwords.md).
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**
- [x] Turn on **Registration Lock**
!!! Important
If you forget the PIN and have enabled a registration lock, you may be locked out of your account for up to 7 days.
You can learn more about Signal PIN on [Signal's website](https://support.signal.org/hc/en-us/articles/360007059792-Signal-PIN).
### Safety Numbers
Safety numbers are a feature in Signal that allows you to ensure that messages are delivered securely between verified devices.
It is best practice to always compare safety numbers with your contacts. This can be done in a couple of ways:
- Scanning your contact's QR code while viewing their safety number.
- Comparing the safety numbers on both ends, be it visually or audibly.
!!! 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.
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**
Once you've compared the safety numbers on both devices, you can mark that contact as **Verified**.
A checkmark will appear in the chat header by your contact's name when the safety number is marked as verified. It will remain verified unless the safety number changes or you manually change the verification status.
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.
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.
You can learn more about safety numbers on [Signal's website](https://support.signal.org/hc/en-us/articles/360007060632-What-is-a-safety-number-and-why-do-I-see-that-it-changed-).
### Disappearing Messages
While communication in Signal is E2EE, the messages are still available on the devices, unless they are manually deleted.
It is good practice to set up disappearing messages in Signal's settings so that any chats you start will disappear after a specified amount of time has passed.
On Android/iOS:
- Select :material-dots-vertical: **Settings** > **Privacy**
- Under **Disappearing messages**, select **Default timer for new chats**
- Select the desired amount of time and select **Save**
!!! tip "Override the global default for specific contacts"
- Go to a chat with a contact
- Select :material-dots-vertical: on the top right
- Select **Disappearing messages**
- Select the desired amount of time and select **Save**
We recommend setting up a reasonable timer by default, such as one week, and adjusting it per contact as you see fit.
!!! tip "Snapchat-like Functionality"
Signal allows you to send "view-once" media that are automatically removed from the conversation after they have been viewed.
### Disable Link Previews
Signal offers the ability to retrieve previews of webpages linked within a conversation.
This means that when you send a link, a request will be sent to that website so that a preview of the website can be displayed alongside the link. Thus, we recommend disabling link previews.
Your recipient doesn't make any requests unless they open the link on their end.
On Android/iOS:
- 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.
On Android:
- Select :material-dots-vertical: **Settings** > **Privacy**
- [x] Turn on **Screen Security**
On iOS:
- Select :material-dots-vertical: **Settings** > **Privacy**
- [x] Turn on **Hide Screen in App Switcher**
### Screen Lock
If someone gets a hold of your device while it is unlocked, you run the risk of them being able to open the Signal app and look at your conversations.
To mitigate this, you can leverage the Screen Lock option to require additional authentication before Signal can be accessed.
On Android/iOS:
- 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 Android:
- Select :material-dots-vertical: **Settings** > **Notifications**
- Select **Show**
- Select **No name or message** or **Name only** respectively.
On iOS:
- Select :material-dots-vertical: **Settings** > **Notifications**
- Select **Show**
- Select **No name or Content** or **Name Only** respectively.
### Call Relaying
Signal allows you to relay all calls (including video calls) through the Signal server to avoid revealing your IP address to your contact. This may reduce call quality.
On Android/iOS:
- 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
If Signal is blocked in your country, Signal allows you to set up a proxy to bypass it.
!!! Warning
All traffic remains opaque to the proxy operator. However, the censoring party could learn that you are using Signal through a proxy because the app [fails to route all the IP connections to the proxy](https://community.signalusers.org/t/traffic-not-routed-to-tls-proxies-can-expose-users-to-censors/27479).
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)
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 who you spoke to, when, and for how long.
If you use iCloud and you dont want to share call history on Signal, confirm its turned off:
- Select :material-dots-vertical: **Settings** > **Privacy**
- [ ] Turn off **Show Calls in Recents**
## Signal Hardening
### Avoid Device Linking
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.
If your threat model calls for it, avoid linking your Signal account to a desktop device to reduce your attack surface.
### Endpoint Security
Signal takes security very seriously, however there is only so much an app can do to protect you.
It is very important to take device security on both ends into account to ensure that your conversations are kept private.
We recommend an up-to-date [GrapheneOS](/android/#grapheneos) or iOS device.
### Molly (Android)
On Android you can consider using **Molly**, a fork of the Signal mobile client which aims to provide extensive hardening and anti-forensic features.
!!! recommendation
![Molly logo](../assets/img/messengers/molly.svg){ align=right }
**Molly** is an independent Signal fork which offers additional security features, including locking the app at rest, securely shredding unused RAM data, routing via Tor, and more.
[: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" }
[:octicons-info-16:](https://github.com/mollyim/mollyim-android/wiki){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/mollyim/mollyim-android){ .card-link title="Source Code" }
[:octicons-heart-16:](https://opencollective.com/mollyim){ .card-link title=Contribute }
??? downloads
- [:pg-f-droid: F-Droid](https://molly.im/download/fdroid/)
- [:fontawesome-brands-github: GitHub](https://github.com/mollyim/mollyim-android/releases)
Molly offers two variants of the app: **Molly** and **Molly-FOSS**.
The former is identical to Signal with the addition of Molly's improvements and security features. The latter, Molly-FOSS, removes Google's proprietary code, which is used for some key features (e.g., [FCM](https://en.wikipedia.org/wiki/Firebase_Cloud_Messaging) and Google Maps integration), in an effort to make it fully open-source.
A comparison of the two versions is available in the [project's repository](https://github.com/mollyim/mollyim-android#readme).
Both versions of Molly 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.
#### Features
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.
!!! note
As long as Molly is locked, you will not receive notifications for any incoming messages or calls until you unlock it again.
Once enabled, a configurable lock timer can be set, after which point Molly will lock itself if you haven't unlocked your device for that specific time period. Alternatively, you can manually lock the app whenever you want.
For the database encryption feature to be useful, two conditions must be met:
1. Molly has to be locked at the time an attacker gains access to the device. This can include a physical attack in which the attacker seizes your device and manages to unlock the device itself, or a remote attack, in which the device is compromised and manages to elevate privileges to root.
1. If you become aware that your device has been compromised, you should not unlock Molly's database.
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.
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](../self-contained-networks.md#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.
#### Caveats
- Molly does not support SMS messages within the app, unlike the official Signal app.
- Molly removes Signal's Mobilecoin integration.
- Molly is updated every two weeks to include the latest features and bug fixes from Signal. The exception is security issues, that are patched as soon as possible. That said, you should be aware that there might be a slight delay compared to upstream.
- By using Molly, you are extending your trust to another party, as you now need to trust the Signal team, as well as the Molly team.

View File

@ -1,15 +1,24 @@
---
title: "Tor Overview"
icon: 'pg/tor'
icon: 'simple/torproject'
description: Tor is a free to use, decentralized network designed for using the internet with as much privacy as possible.
---
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.
## Path Building
## Path Building to Clearnet Services
Tor works by routing your traffic through a network comprised of thousands of volunteer-run servers called nodes (or relays).
"Clearnet services" are websites which you can access with any browser, like [privacyguides.org](https://www.privacyguides.org). Tor lets you connect to these websites anonymously by routing your traffic through a network comprised of thousands of volunteer-run servers called nodes (or relays).
Every time you connect to Tor, it will choose three nodes to build a path to the internet—this path is called a "circuit." Each of these nodes has its own function:
Every time you [connect to Tor](../tor.md), it will choose three nodes to build a path to the internet—this path is called a "circuit."
<figure markdown>
![Tor path showing your device connecting to an entry node, middle node, and exit node before reaching the destination website](../assets/img/how-tor-works/tor-path.svg#only-light)
![Tor path showing your device connecting to an entry node, middle node, and exit node before reaching the destination website](../assets/img/how-tor-works/tor-path-dark.svg#only-dark)
<figcaption>Tor circuit pathway</figcaption>
</figure>
Each of these nodes has its own function:
### The Entry Node
@ -33,10 +42,16 @@ The exit node will be chosen at random from all available Tor nodes ran with an
[^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))
<figure markdown>
![Tor path](../assets/img/how-tor-works/tor-path.svg#only-light)
![Tor path](../assets/img/how-tor-works/tor-path-dark.svg#only-dark)
<figcaption>Tor circuit pathway</figcaption>
## 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.
<figure style="width:100%" markdown>
![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)
![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-dark.svg#only-dark)
<figcaption>Tor circuit pathway with Onion Services. Nodes in the <span class="pg-blue">blue</span> fence belong to your browser, while nodes in the <span class="pg-red">red</span> fence belong to the server, so their identity is hidden from you.</figcaption>
</figure>
## Encryption
@ -70,10 +85,10 @@ Though Tor does provide strong privacy guarantees, one must be aware that Tor is
If you wish to use Tor for browsing the web, we only recommend the **official** Tor Browser—it is designed to prevent fingerprinting.
- [Browsers: Tor Browser :hero-arrow-circle-right-fill:](../desktop-browsers.md#tor-browser)
- [Tor Browser :material-arrow-right-drop-circle:](../tor.md#tor-browser)
## Additional Resources
- [Tor Browser User Manual](https://tb-manual.torproject.org)
- [How Tor Works - Computerphile](https://www.youtube-nocookie.com/embed/QRYzre4bf7I) <small>(YouTube)</small>
- [Tor Onion Services - Computerphile](https://www.youtube-nocookie.com/embed/lVcbq_a5N9I) <small>(YouTube)</small>
- [How Tor Works - Computerphile](https://invidious.privacyguides.net/embed/QRYzre4bf7I?local=true) <small>(YouTube)</small>
- [Tor Onion Services - Computerphile](https://invidious.privacyguides.net/embed/lVcbq_a5N9I?local=true) <small>(YouTube)</small>

View File

@ -1,12 +1,95 @@
---
title: "Android"
icon: 'fontawesome/brands/android'
icon: 'simple/android'
description: You can replace the operating system on your Android phone with these secure and privacy-respecting alternatives.
schema:
-
"@context": http://schema.org
"@type": WebPage
name: Private Android Operating Systems
url: "./"
-
"@context": http://schema.org
"@type": CreativeWork
name: Android
image: /assets/img/android/android.svg
url: https://source.android.com/
sameAs: https://en.wikipedia.org/wiki/Android_(operating_system)
-
"@context": http://schema.org
"@type": CreativeWork
name: GrapheneOS
image: /assets/img/android/grapheneos.svg
url: https://grapheneos.org/
sameAs: https://en.wikipedia.org/wiki/GrapheneOS
subjectOf:
"@context": http://schema.org
"@type": WebPage
url: "./"
-
"@context": http://schema.org
"@type": CreativeWork
name: Divest
image: /assets/img/android/divestos.svg
url: https://divestos.org/
sameAs: https://en.wikipedia.org/wiki/DivestOS
subjectOf:
"@context": http://schema.org
"@type": WebPage
url: "./"
-
"@context": http://schema.org
"@type": Product
name: Pixel
brand:
"@type": Brand
name: Google
image: /assets/img/android/google-pixel.png
sameAs: https://en.wikipedia.org/wiki/Google_Pixel
review:
"@type": Review
author:
"@type": Organization
name: Privacy Guides
-
"@context": http://schema.org
"@type": MobileApplication
name: Shelter
applicationCategory: Utilities
operatingSystem: Android
-
"@context": http://schema.org
"@type": MobileApplication
name: Auditor
applicationCategory: Utilities
operatingSystem: Android
-
"@context": http://schema.org
"@type": MobileApplication
name: Secure Camera
applicationCategory: Utilities
operatingSystem: Android
-
"@context": http://schema.org
"@type": MobileApplication
name: Secure PDF Viewer
applicationCategory: Utilities
operatingSystem: Android
---
These are the Android operating systems, devices, and apps we recommend to maximize your mobile device's security and privacy. We also have additional Android-related information:
![Android logo](assets/img/android/android.svg){ align=right }
- [General Android Overview and Recommendations :hero-arrow-circle-right-fill:](android/overview.md)
- [Why we recommend GrapheneOS over CalyxOS :hero-arrow-circle-right-fill:](android/grapheneos-vs-calyxos.md)
The **Android Open Source Project** is an open-source mobile operating system led by Google which powers the majority of the world's mobile devices. Most phones sold with Android are modified to include invasive integrations and apps such as Google Play Services, so you can significantly improve your privacy on your mobile device by replacing your phone's default installation with a version of Android without these invasive features.
[:octicons-home-16:](https://source.android.com/){ .card-link title=Homepage }
[:octicons-info-16:](https://source.android.com/docs){ .card-link title=Documentation}
[:octicons-code-16:](https://cs.android.com/android/platform/superproject/){ .card-link title="Source Code" }
These are the Android operating systems, devices, and apps we recommend to maximize your mobile device's security and privacy. To learn more about Android:
[General Android Overview :material-arrow-right-drop-circle:](os/android-overview.md){ .md-button }
[Why we recommend GrapheneOS over CalyxOS :material-arrow-right-drop-circle:](https://blog.privacyguides.org/2022/04/21/grapheneos-or-calyxos/){ .md-button }
## AOSP Derivatives
@ -33,7 +116,7 @@ We recommend installing one of these custom Android operating systems on your de
[:octicons-code-16:](https://grapheneos.org/source){ .card-link title="Source Code" }
[:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute }
GrapheneOS supports [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), which runs [Google Play Services](https://en.wikipedia.org/wiki/Google_Play_Services) fully sandboxed like any other regular app. This means you can take advantage of most Google Play Services, such as [push notifications](https://firebase.google.com/docs/cloud-messaging/), while giving you full control over their permissions and access, and while containing them to a specific [work profile](android/overview.md#work-profile) or [user profile](android/overview.md#user-profiles) of your choice.
GrapheneOS supports [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), which runs [Google Play Services](https://en.wikipedia.org/wiki/Google_Play_Services) fully sandboxed like any other regular app. This means you can take advantage of most Google Play Services, such as [push notifications](https://firebase.google.com/docs/cloud-messaging/), while giving you full control over their permissions and access, and while containing them to a specific [work profile](os/android-overview.md#work-profile) or [user profile](os/android-overview.md#user-profiles) of your choice.
Google Pixel phones are the only devices that currently meet GrapheneOS's [hardware security requirements](https://grapheneos.org/faq#device-support).
@ -47,17 +130,18 @@ Google Pixel phones are the only devices that currently meet GrapheneOS's [hardw
DivestOS inherits many [supported devices](https://divestos.org/index.php?page=devices&base=LineageOS) from LineageOS. It has signed builds, making it possible to have [verified boot](https://source.android.com/security/verifiedboot) on some non-Pixel devices.
[:octicons-home-16: Homepage](https://divestos.org){ .md-button .md-button--primary }
[:pg-tor:](http://divestoseb5nncsydt7zzf5hrfg44md4bxqjs5ifcv4t7gt7u6ohjyyd.onion){ .card-link title=Onion }
[:simple-torbrowser:](http://divestoseb5nncsydt7zzf5hrfg44md4bxqjs5ifcv4t7gt7u6ohjyyd.onion){ .card-link title="Onion Service" }
[:octicons-eye-16:](https://divestos.org/index.php?page=privacy_policy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://divestos.org/index.php?page=faq){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/divested-mobile){ .card-link title="Source Code" }
[:octicons-heart-16:](https://divested.dev/index.php?page=donate){ .card-link title=Contribute }
DivestOS has automated kernel vulnerability ([CVE](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures)) [patching](https://gitlab.com/divested-mobile/cve_checker), fewer proprietary blobs, a custom [hosts](https://divested.dev/index.php?page=dnsbl) file, and [F-Droid](https://www.f-droid.org) as the app store. Its hardened WebView, [Mulch](https://gitlab.com/divested-mobile/mulch), enables [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) for all architectures and [network state partitioning](https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning), and receives out-of-band updates.
DivestOS has automated kernel vulnerability ([CVE](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures)) [patching](https://gitlab.com/divested-mobile/cve_checker), fewer proprietary blobs, and a custom [hosts](https://divested.dev/index.php?page=dnsbl) file. Its hardened WebView, [Mulch](https://gitlab.com/divested-mobile/mulch), enables [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) for all architectures and [network state partitioning](https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning), and receives out-of-band updates.
DivestOS also includes kernel patches from GrapheneOS and enables all available kernel security features via [defconfig hardening](https://github.com/Divested-Mobile/DivestOS-Build/blob/master/Scripts/Common/Functions.sh#L758). All kernels newer than version 3.4 include full page [sanitization](https://lwn.net/Articles/334747/) and all ~22 Clang-compiled kernels have [`-ftrivial-auto-var-init=zero`](https://reviews.llvm.org/D54604?id=174471) enabled.
DivestOS implements some system hardening patches originally developed for GrapheneOS. DivestOS 16.0 and higher implements GrapheneOS's [`INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) and SENSORS permission toggle, [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), [exec-spawning](android/grapheneos-vs-calyxos.md#additional-hardening), [JNI](https://en.wikipedia.org/wiki/Java_Native_Interface) [constification](https://en.wikipedia.org/wiki/Const_(computer_programming)), and partial [bionic](https://en.wikipedia.org/wiki/Bionic_(software)) hardening patchsets. 17.1 and higher features GrapheneOS's per-network full [MAC randomization](https://en.wikipedia.org/wiki/MAC_address#Randomization) option, [`ptrace_scope`](https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html) control, and automatic reboot/Wi-Fi/Bluetooth [timeout options](https://grapheneos.org/features).
DivestOS implements some system hardening patches originally developed for GrapheneOS. DivestOS 16.0 and higher implements GrapheneOS's [`INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) and SENSORS permission toggle, [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), [exec-spawning](https://blog.privacyguides.org/2022/04/21/grapheneos-or-calyxos/#additional-hardening), [JNI](https://en.wikipedia.org/wiki/Java_Native_Interface) [constification](https://en.wikipedia.org/wiki/Const_(computer_programming)), and partial [bionic](https://en.wikipedia.org/wiki/Bionic_(software)) hardening patchsets. 17.1 and higher features GrapheneOS's per-network full [MAC randomization](https://en.wikipedia.org/wiki/MAC_address#Randomization) option, [`ptrace_scope`](https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html) control, and automatic reboot/Wi-Fi/Bluetooth [timeout options](https://grapheneos.org/features).
DivestOS uses F-Droid as its default app store. Normally, we would recommend avoiding F-Droid due to its numerous [security issues](#f-droid). However, doing so on DivestOS isn't viable; the developers update their apps via their own F-Droid repositories ([DivestOS Official](https://divestos.org/fdroid/official/?fingerprint=E4BE8D6ABFA4D9D4FEEF03CDDA7FF62A73FD64B75566F6DD4E5E577550BE8467) and [DivestOS WebView](https://divestos.org/fdroid/webview/?fingerprint=FB426DA1750A53D7724C8A582B4D34174E64A84B38940E5D5A802E1DFF9A40D2)). We recommend disabling the official F-Droid app and using [Neo Store](https://github.com/NeoApplications/Neo-Store/) with the DivestOS repositories enabled to keep those components up to date. For other apps, our recommended methods of obtaining them still apply.
!!! warning
@ -77,7 +161,7 @@ A few more tips regarding Android devices and operating system compatibility:
- Do not buy devices that have reached or are near their end-of-life, additional firmware updates must be provided by the manufacturer.
- Do not buy preloaded LineageOS or /e/ OS phones or any Android phones without proper [Verified Boot](https://source.android.com/security/verifiedboot) support and firmware updates. These devices also have no way for you to check whether they've been tampered with.
- In short, if a device or Android distribution is not listed here, there is probably a good reason, so check our [discussions](https://github.com/privacyguides/privacyguides.org/discussions) page.
- In short, if a device or Android distribution is not listed here, there is probably a good reason. Check out our [forum](https://discuss.privacyguides.net/) to find details!
### Google Pixel
@ -102,9 +186,9 @@ The installation of GrapheneOS on a Pixel phone is easy with their [web installe
A few more tips for purchasing a Google Pixel:
- If you're after a bargain on a Pixel device, we suggest buying an "**a**" model, just after the next flagship is released. Discounts are usually available because Google will be trying to clear their stock.
- Consider price beating options and specials offered at brick and mortar stores.
- Consider price beating options and specials offered at physical stores.
- Look at online community bargain sites in your country. These can alert you to good sales.
- Google provides a list showing the [support cycle](https://support.google.com/nexus/answer/4457705) for each one of their devices. The price per day for a device can be calculated as: $\text{Cost} \over \text {EOL Date }-\text{ Current Date}$, meaning that the longer use of the device the lower cost per day.
- Google provides a list showing the [support cycle](https://support.google.com/nexus/answer/4457705) for each one of their devices. The price per day for a device can be calculated as: $\text{Cost} \over \text {EOL Date}-\text{Current Date}$, meaning that the longer use of the device the lower cost per day.
## General Apps
@ -126,8 +210,7 @@ We recommend a wide variety of Android apps throughout this site. The apps liste
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=net.typeblog.shelter)
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/net.typeblog.shelter)
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=net.typeblog.shelter)
!!! warning
@ -152,8 +235,8 @@ We recommend a wide variety of Android apps throughout this site. The apps liste
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.attestation.auditor)
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/Auditor/releases)
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=app.attestation.auditor.play)
- [:simple-github: GitHub](https://github.com/GrapheneOS/Auditor/releases)
- [:material-cube-outline: GrapheneOS App Store](https://github.com/GrapheneOS/Apps/releases)
Auditor performs attestation and intrusion detection by:
@ -161,12 +244,12 @@ Auditor performs attestation and intrusion detection by:
- Using a [Trust On First Use (TOFU)](https://en.wikipedia.org/wiki/Trust_on_first_use) model between an *auditor* and *auditee*, the pair establish a private key in the [hardware-backed keystore](https://source.android.com/security/keystore/) of the *Auditor*.
- The *auditor* can either be another instance of the Auditor app or the [Remote Attestation Service](https://attestation.app).
- The *auditor* records the current state and configuration of the *auditee*.
- Should tampering with the operating system of the *auditee* after the pairing is complete, the auditor will be aware of the change in the device state and configurations.
- Should tampering with the operating system of the *auditee* happen after the pairing is complete, the auditor will be aware of the change in the device state and configurations.
- You will be alerted to the change.
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](self-contained-networks.md#orbot) or a VPN to hide your IP address from the attestation service.
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.
To make sure that your hardware and operating system is genuine, [perform local attestation](https://grapheneos.org/install/web#verifying-installation) immediately after the device has been installed and prior to any internet connection.
### Secure Camera
@ -176,7 +259,7 @@ To make sure that your hardware and operating system is genuine, [perform local
![Secure camera logo](assets/img/android/secure_camera.svg#only-light){ align=right }
![Secure camera logo](assets/img/android/secure_camera-dark.svg#only-dark){ align=right }
**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.
**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-info-16:](https://grapheneos.org/usage#camera){ .card-link title=Documentation}
@ -185,8 +268,8 @@ To make sure that your hardware and operating system is genuine, [perform local
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.camera.play)
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/Camera/releases)
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.camera.play)
- [:simple-github: GitHub](https://github.com/GrapheneOS/Camera/releases)
- [:material-cube-outline: GrapheneOS App Store](https://github.com/GrapheneOS/Apps/releases)
Main privacy features include:
@ -218,8 +301,8 @@ Main privacy features include:
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.pdfviewer.play)
- [:fontawesome-brands-github: GitHub](https://github.com/GrapheneOS/PdfViewer/releases)
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.pdfviewer.play)
- [:simple-github: GitHub](https://github.com/GrapheneOS/PdfViewer/releases)
- [:material-cube-outline: GrapheneOS App Store](https://github.com/GrapheneOS/Apps/releases)
## Obtaining Applications
@ -243,49 +326,10 @@ The Google Play Store requires a Google account to login which is not great for
??? downloads
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/com.aurora.store/)
- [:fontawesome-brands-gitlab: GitLab](https://gitlab.com/AuroraOSS/AuroraStore/-/releases)
- [:simple-gitlab: GitLab](https://gitlab.com/AuroraOSS/AuroraStore/-/releases)
Aurora Store does not allow you to download paid apps with their anonymous account feature. You can optionally log in with your Google account with Aurora Store to download apps you have purchased, which does give access to the list of apps you've installed to Google, however you still benefit from not requiring the full Google Play client and Google Play Services or microG on your device.
### F-Droid
![F-Droid logo](assets/img/android/f-droid.svg){ align=right width=120px }
F-Droid is often recommended as an alternative to Google Play, particularly in the privacy community. The option to add third-party repositories and not be confined to Google's walled garden has led to its popularity. F-Droid additionally has [reproducible builds](https://f-droid.org/en/docs/Reproducible_Builds/) for some applications and is dedicated to free and open-source software. However, there are problems with the official F-Droid client, their quality control, and how they build, sign and deliver packages, outlined in this [post](https://wonderfall.dev/fdroid-issues/).
Sometimes the official F-Droid repository may fall behind on updates. F-Droid maintainers reuse package IDs while signing apps with their own keys, which is not ideal as it does give the F-Droid team ultimate trust. The Google Play version of some apps may contain unwanted telemetry or lack features that are available in the F-Droid version.
We have these general tips:
- Check if the app developers have their own F-Droid repository first, e.g. [Bitwarden](https://bitwarden.com/), [Samourai Wallet](https://www.samouraiwallet.com/), or [Newpipe](https://newpipe.net/), which have their own repositories with less telemetry, additional features or faster updates. This is the ideal situation and you should be using these repositories if possible.
- Check if an app is available on the [IzzyOnDroid](https://apt.izzysoft.de/fdroid/) repository. The IzzyOnDroid repository pulls builds directly from GitHub and is the next best thing to the developers' own repositories. We recommend that you download the GitHub builds and install them manually first, then use IzzyOnDroid for any subsequent updates. This will ensure that the signature of the applications you get from IzzyOnDroid matches that of the developer and the packages have not been tampered with.
- Check if there are any differences between the F-Droid version and the Google Play Store version. Some applications like [IVPN](https://www.ivpn.net/) do not include certain features (eg [AntiTracker](https://www.ivpn.net/knowledgebase/general/antitracker-faq/)) in their Google Play Store build out of fear of censorship by Google.
Evaluate whether the additional features in the F-Droid build are worth the slower updates. Also think about whether faster updates from the Google Play Store are worth the potential privacy issues in your [threat model](basics/threat-modeling.md).
#### Neo Store
The official F-Droid client targets a [low API level](https://wonderfall.dev/fdroid-issues/#3-low-target-api-level-sdk-for-client--apps) and does not utilize the [seamless updates](https://www.androidcentral.com/google-will-finally-bring-seamless-app-updates-alternative-app-stores-android-12) feature introduced in Android 12. Targeting lower API levels means that the F-Droid client cannot take advantage of the new improvements in the application sandboxes that comes with higher API levels. For automatic updates to work, the F-Droid client requires that the [Privileged Extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged/) be included in the operating system, granting it more privileges than what a normal app would have, which is not great for security.
To mitigate these problems, we recommend [Neo Store](https://github.com/NeoApplications/Neo-Store) as it supports seamless updates on Android 12 and above without needing any special privileges and targets a higher API level.
!!! recommendation
![Neo Store logo](assets/img/android/neo-store.png){ align=right }
**Neo Store** is a modern F-Droid client made with MaterialUI, forked from [Foxy Droid](https://github.com/kitsunyan/foxy-droid).
Unlike the official F-Droid client, Neo Store supports seamless updates on Android 12 and above without the need for a privileged extension. If your Android distribution is on Android 12 or above and does not include the [F-Droid privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged/), it is highly recommended that you use Neo Store instead of the official client.
[:octicons-repo-16: Repository](https://github.com/NeoApplications/Neo-Store){ .md-button .md-button--primary }
[:octicons-code-16:](https://github.com/NeoApplications/Neo-Store){ .card-link title="Source Code" }
??? downloads
- [:fontawesome-brands-android: IzzyOnDroid (APK)](https://android.izzysoft.de/repo/apk/com.machiav3lli.fdroid)
- [:fontawesome-brands-github: GitHub](https://github.com/NeoApplications/Neo-Store/releases)
### Manually with RSS Notifications
For apps that are released on platforms like GitHub and GitLab, you may be able to add an RSS feed to your [news aggregator](/news-aggregators) that will help you keep track of new releases.
@ -334,3 +378,51 @@ If you download APK files to install manually, you can verify their signature wi
Signer #1 certificate SHA-1 digest: 23e108677a2e1b1d6e6b056f3bb951df7ad5570c
Signer #1 certificate MD5 digest: dbbcd0cac71bd6fa2102a0297c6e0dd3
```
### F-Droid
![F-Droid logo](assets/img/android/f-droid.svg){ align=right width=120px }
==We do **not** currently recommend F-Droid as a way to obtain apps.== F-Droid is often recommended as an alternative to Google Play, particularly in the privacy community. The option to add third-party repositories and not be confined to Google's walled garden has led to its popularity. F-Droid additionally has [reproducible builds](https://f-droid.org/en/docs/Reproducible_Builds/) for some applications and is dedicated to free and open-source software. However, there are [notable problems](https://privsec.dev/posts/android/f-droid-security-issues/) with the official F-Droid client, their quality control, and how they build, sign, and deliver packages.
Due to their process of building apps, apps in the official F-Droid repository often fall behind on updates. F-Droid maintainers also reuse package IDs while signing apps with their own keys, which is not ideal as it gives the F-Droid team ultimate trust.
Other popular third-party repositories such as [IzzyOnDroid](https://apt.izzysoft.de/fdroid/) alleviate some of these concerns. The IzzyOnDroid repository pulls builds directly from GitHub and is the next best thing to the developers' own repositories. However, it is not something that we can recommend, as apps are typically [removed](https://github.com/vfsfitvnm/ViMusic/issues/240#issuecomment-1225564446) from that respository when they make it to the main F-Droid repository. While that makes sense (since the goal of that particular repository is to host apps before they're accepted into the main F-Droid repository), it can leave you with installed apps which no longer receive updates.
That said, the [F-Droid](https://f-droid.org/en/packages/) and [IzzyOnDroid](https://apt.izzysoft.de/fdroid/) repositories are home to countless apps, so they can be a useful tool to search for and discover open-source apps that you can then download through Play Store, Aurora Store, or by getting the APK directly from the developer. It is important to keep in mind that some apps in these repositories have not been updated in years and may rely on unsupported libraries, among other things, posing a potential security risk. You should use your best judgement when looking for new apps via this method.
!!! note
In some rare cases, the developer of an app will only distribute it through F-Droid ([Gadgetbridge](https://gadgetbridge.org/) is one example of this). If you really need an app like that, we recommend using [Neo Store](https://github.com/NeoApplications/Neo-Store/) instead of the official F-Droid app to obtain it.
## 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.
!!! example "This section is new"
We are working on establishing defined criteria for every section of our site, and this may be subject to change. If you have any questions about our criteria, please [ask on our forum](https://discuss.privacyguides.net/latest) and don't assume we didn't consider something when making our recommendations if it is not listed here. There are many factors considered and discussed when we recommend a project, and documenting every single one is a work-in-progress.
### Operating Systems
- Must be open-source software.
- Must support bootloader locking with custom AVB key support.
- Must receive major Android updates within 0-1 months of release.
- Must receive Android feature updates (minor version) within 0-14 days of release.
- Must receive regular security patches within 0-5 days of release.
- Must **not** be "rooted" out of the box.
- Must **not** enable Google Play Services by default.
- Must **not** require system modification to support Google Play Services.
### Devices
- Must support at least one of our recommended custom operating systems.
- Must be currently sold new in stores.
- Must receive a minimum of 5 years of security updates.
- Must have dedicated secure element hardware.
### Applications
- Applications on this page must not be applicable to any other software category on the site.
- General applications should extend or replace core system functionality.
- Applications should receive regular updates and maintenance.

View File

@ -1,59 +0,0 @@
---
title: "Why we recommend GrapheneOS over CalyxOS"
icon: 'material/cellphone-cog'
---
GrapheneOS and CalyxOS are commonly compared as similar options for people looking for an alternative Android OS for their Pixel devices. Below are some of the reasons why we recommend GrapheneOS over CalyxOS.
## Profiles
CalyxOS includes a device controller app so there is no need to install a third-party app like Shelter.
GrapheneOS extends the user profile feature, allowing you to end a current session. To do this, select *End Session* which will clear the encryption key from memory. GrapheneOS also provides [cross-profile notification forwarding](https://grapheneos.org/features#notification-forwarding). GrapheneOS plans to introduce nested profile support with better isolation in the future.
## Sandboxed Google Play vs Privileged microG
When Google Play services are used on GrapheneOS, they run as a user app and are contained within a user or work profile. Sandboxed Google Play is confined using the highly restrictive, default [`untrusted_app`](https://source.android.com/security/selinux/concepts) domain provided by [SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux). Permissions for apps to use Google Play Services can be revoked at any time.
microG is a partially open-source re-implementation of Google Play Services.[^1] On CalyxOS, it runs in the highly privileged [`system_app`](https://source.android.com/security/selinux/concepts) SELinux domain like regular Google Play Services, and it uses [signature spoofing](https://github.com/microg/GmsCore/wiki/Signature-Spoofing) to masquerade as Google Play Services. This is less secure than Sandboxed Google Play's approach, which does not need access to sensitive system APIs.
When using Sandboxed Play Services, you have the option to reroute location requests to the Play Services API back to the OS location API, which uses satellite based location services. With microG, you have the option to choose between different backend location providers, including *shifting trust* to another location backend, like Mozilla; using [DejaVu](https://github.com/n76/DejaVu), a location backend that locally collects and saves RF-based location data to an offline database which can be used when GPS is not available; or to simply not use a network location backend at all.
Network location providers like Play Services or Mozilla rely the on the MAC addresses of surrounding WiFi access points and Bluetooth devices being submitted for location approximation. Choosing a network location like Mozilla to use with microG provides little to no privacy benefit over Google because you are still submitting the same data and trusting them to not profile you.
Local RF location backends like DejaVu require that the phone has a working GPS first for the local RF data collected to be useful. This makes them less effective as location providers, as the job of a location provider is to assist location approximation when satellite based services are not working.
If your threat model requires protecting your location or the MAC addresses of nearby devices, rerouting location requests to the OS location API is probably the best option. The benefit brought by microG's custom location backend is minimal at best when compared to Sandboxed Play Services.
In terms of application compatibility, Sandboxed Google Play on GrapheneOS is always going to be more compatible as it is the same code as what is released by Google. microG is a reimplementation of these services. As a result of that it only supports the various parts that have been reimplemented, meaning some things such as [Google Play Games](https://play.google.com/googleplaygames) and [In-app Billing API](https://android-doc.github.io/google/play/billing/api.html) are not yet supported.
Larger apps, especially games, require Play Delivery to be installed, which is currently not implemented in microG. Authentication using [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) with online services on Android also relies on Play Services, and does not currently work with microG.
[^1]: It should be noted that microG still uses proprietary Google binaries for some of its components such as DroidGuard. Push notifications, if enabled, still go through Google's servers just like with Play Services. Outside of default microG setups like on CalyxOS, it is possible to run microG in the unprivileged [`untrusted app`](https://source.android.com/security/selinux/concepts) SELinux domain and without the signature spoofing patch. However, microG's functionality and compatibility, which is already not nearly as broad as Sandboxed Play Services, will greatly diminish.
## Privileged eSIM Activation Application
Currently, eSIM activation is tied to a privileged proprietary application by Google. The app has the `READ_PRIVILEGED_PHONE_STATE` permission, giving Google access to your hardware identifiers such as the IMEI.
On GrapheneOS, the app comes disabled and can be *optionally* enabled by the user after they have installed Sandboxed Play Services.
On CalyxOS, the app comes installed by default (regardless of whether you choose to have microG or not) and cannot be opted out. This means Google still has access to your hardware identifiers regardless of whether or not you need eSIM activation and can be accessed persistently.
## Privileged App Extensions
Android 12 comes with special support for seamless app updates with [third-party app stores](https://android-developers.googleblog.com/2020/09/listening-to-developer-feedback-to.html). The popular Free and Open-Source Software (FOSS) repository [F-Droid](https://f-droid.org) doesn't implement this feature and requires a [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged) to be included with the Android distribution in order to have unattended app installation.
GrapheneOS does not include F-Droid, because all updates have to be manually installed, which poses a security risk. However, you can use the [Neo Store](../android.md#neo-store) client for F-Droid which does support seamless (background) app updates in Android 12. GrapheneOS officially recommends [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play) instead. Many FOSS Android apps are also in Google Play but sometimes they are not (like [NewPipe](../video-streaming.md)).
CalyxOS includes the [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged), which may lower device security. Seamless app updates should be possible with [Aurora Store](https://auroraoss.com) in Android 12.
## Additional Hardening
GrapheneOS improves upon [AOSP](https://source.android.com/) security with:
- **Hardened WebView:** Vanadium WebView requires [64-bit](https://en.wikipedia.org/wiki/64-bit_computing) processes on the [WebView](https://developer.android.com/reference/android/webkit/WebView) process and disables legacy [32-bit](https://en.wikipedia.org/wiki/32-bit_computing) processes. It uses hardened compiler options such as [`-fwrapv`](https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html) and [`-fstack-protector-strong`](https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/Optimize-Options.html), which can help protect against [stack buffer overflows](https://en.wikipedia.org/wiki/Stack_buffer_overflow). [API](https://en.wikipedia.org/wiki/API)s such as the [battery status API](https://chromestatus.com/feature/4537134732017664) are disabled for privacy reasons. All system apps on GrapheneOS use the Vanadium WebView which means that apps which use WebView will also benefit from Vanadium's hardening. The [Vanadium patch set](https://github.com/GrapheneOS/Vanadium) is a lot more comprehensive than CalyxOS's [Chromium patch set](https://gitlab.com/CalyxOS/chromium-patches) which is derived from it.
- **Hardened Kernel:** GrapheneOS kernel includes some hardening from the [linux-hardened](https://github.com/GrapheneOS/linux-hardened) project and the [Kernel Self Protection Project (KSPP)](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project). CalyxOS uses the [same kernel](https://calyxos.org/docs/development/build/kernel/) as regular Android with some minor modifications.
- **Hardened Memory Allocator:** GrapheneOS uses the [hardened malloc](https://github.com/GrapheneOS/hardened_malloc) subproject as its memory allocator. This focuses on hardening against [memory heap corruption](https://en.wikipedia.org/wiki/Memory_corruption). CalyxOS uses the default AOSP [Scudo Malloc](https://source.android.com/devices/tech/debug/scudo), which is generally [less effective](https://twitter.com/danielmicay/status/1033671709197398016). Hardened Malloc has uncovered vulnerabilities in AOSP which have been [fixed](https://github.com/GrapheneOS/platform_system_core/commit/be11b59725aa6118b0e1f0712572e835c3d50746) by GrapheneOS such as [CVE-2021-0703](https://nvd.nist.gov/vuln/detail/CVE-2021-0703).
- **Secure Exec Spawning:** GrapheneOS [spawns](https://en.wikipedia.org/wiki/Spawn_(computing)) fresh processes as opposed to using the [Zygote model](https://ayusch.com/android-internals-the-android-os-boot-process) used by AOSP and CalyxOS. The Zygote model weakens [Address Space Layout Randomization](https://en.wikipedia.org/wiki/Address_space_layout_randomization) (ASLR) and is considered [less secure](https://wenke.gtisc.gatech.edu/papers/morula.pdf). Creating [fresh processes](https://grapheneos.org/usage#exec-spawning) is safer but will have some performance penalty when launching a new application. These penalties are not really noticeable unless you have an [old device](https://support.google.com/nexus/answer/4457705) with slow storage such as the Pixel 3a/3a XL as it has [eMMC](https://en.wikipedia.org/wiki/MultiMediaCard#eMMC).
**Please note that these are just a few examples and are not an extensive list of GrapheneOS's hardening**. For a more complete list, please read GrapheneOS' [official documentation](https://grapheneos.org/features).

View File

@ -1,75 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="48" height="48" viewBox="0 0 48.000001 48.000001" id="svg4230" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="fdroid-logo.svg">
<defs id="defs4232">
<linearGradient inkscape:collect="always" id="linearGradient5212">
<stop style="stop-color:#ffffff;stop-opacity:0.09803922" offset="0" id="stop5214"/>
<stop style="stop-color:#ffffff;stop-opacity:0" offset="1" id="stop5216"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5212" id="radialGradient5220" cx="-98.23381" cy="3.4695871" fx="-98.23381" fy="3.4695871" r="22.671185" gradientTransform="matrix(0,1.9747624,-2.117225,3.9784049e-8,8.677247,1199.588)" gradientUnits="userSpaceOnUse"/>
<filter inkscape:collect="always" style="color-interpolation-filters:sRGB" id="filter4175" x="-0.023846937" width="1.0476939" y="-0.02415504" height="1.0483101">
<feGaussianBlur inkscape:collect="always" stdDeviation="0.45053152" id="feGaussianBlur4177"/>
</filter>
</defs>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="11.313708" inkscape:cx="6.4184057" inkscape:cy="25.737489" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" units="px" inkscape:window-width="1920" inkscape:window-height="1009" inkscape:window-x="0" inkscape:window-y="34" inkscape:window-maximized="1" gridtolerance="10000"/>
<metadata id="metadata4235">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(0,-1004.3622)">
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#263238;fill-opacity:0.4;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4175);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 2.613462,1006.3488 a 1.250125,1.250125 0 0 0 -1.01172,2.0293 l 3.60351,4.6641 c -0.12699,0.3331 -0.20312,0.6915 -0.20312,1.0703 l 0,4 0,2.8652 0,0.1348 c 0,1.662 1.338,3 3,3 l 32,0 c 1.662,0 3,-1.338 3,-3 l 0,-4 0,-2.8652 0,-0.1348 c 0,-0.3803 -0.0771,-0.74 -0.20508,-1.0742 l 3.60156,-4.6602 a 1.250125,1.250125 0 0 0 -1.04882,-2.0273 1.250125,1.250125 0 0 0 -0.92969,0.498 l -3.43164,4.4414 c -0.31022,-0.1079 -0.63841,-0.1777 -0.98633,-0.1777 l -32,0 c -0.34857,0 -0.67757,0.069 -0.98828,0.1777 l -3.4336,-4.4414 a 1.250125,1.250125 0 0 0 -0.96679,-0.5 z m 5.38867,18.7637 c -0.20775,0 -0.40983,0.021 -0.60547,0.061 -1.36951,0.2761 -2.39453,1.4698 -2.39453,2.9101 l 0,0.029 0,19.7793 0,0.029 0,0.1914 c 0,1.662 1.338,3 3,3 l 32,0 c 1.662,0 3,-1.338 3,-3 l 0,-20 0,-0.029 c 0,-1.4403 -1.02502,-2.634 -2.39453,-2.9101 -0.19565,-0.039 -0.39772,-0.061 -0.60547,-0.061 l -32,0 z" id="path4192" inkscape:connector-curvature="0"/>
<g id="g5012">
<g id="g4179" transform="matrix(-1,0,0,1,47.999779,0)">
<path style="fill:#8ab000;fill-opacity:1;fill-rule:evenodd;stroke:#769616;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 2.5889342,1006.8622 4.25,5.5" id="path4181" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cccccc" inkscape:connector-curvature="0" id="path4183" d="m 2.6113281,1005.6094 c -0.4534623,0.012 -0.7616975,0.189 -0.9807462,0.4486 2.0269314,2.4089 2.368401,2.7916 5.1354735,6.2214 1.0195329,1.319 2.0816026,0.6373 1.0620696,-0.6817 l -4.25,-5.5 c -0.2289894,-0.3056 -0.5850813,-0.478 -0.9667969,-0.4883 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.29803923;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
<path sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" id="path4185" d="m 1.6220992,1006.0705 c -0.1238933,0.1479 -0.561176,0.8046 -0.02249,1.5562 l 4.25,5.5 c 1.0195329,1.319 1.1498748,-0.6123 1.1498748,-0.6123 0,0 -3.7344514,-4.51 -5.3773848,-6.4439 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#263238;fill-opacity:0.2;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
<path sodipodi:nodetypes="cscccc" inkscape:connector-curvature="0" id="path4187" d="m 2.3378905,1005.8443 c -0.438175,0 -0.959862,0.1416 -0.8242183,0.7986 0.103561,0.5016 4.6608262,6.0744 4.6608262,6.0744 1.0195329,1.319 2.4934721,0.6763 1.4739391,-0.6425 l -4.234375,-5.4727 c -0.2602394,-0.29 -0.6085188,-0.7436 -1.076172,-0.7578 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#8ab000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
<g id="g4955">
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4945" d="m 2.5889342,1006.8622 4.25,5.5" style="fill:#8ab000;fill-opacity:1;fill-rule:evenodd;stroke:#769616;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.29803923;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 2.6113281,1005.6094 c -0.4534623,0.012 -0.7616975,0.189 -0.9807462,0.4486 2.0269314,2.4089 2.368401,2.7916 5.1354735,6.2214 1.0195329,1.319 2.0816026,0.6373 1.0620696,-0.6817 l -4.25,-5.5 c -0.2289894,-0.3056 -0.5850813,-0.478 -0.9667969,-0.4883 z" id="path4947" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccc"/>
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#263238;fill-opacity:0.2;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1.6220992,1006.0705 c -0.1238933,0.1479 -0.561176,0.8046 -0.02249,1.5562 l 4.25,5.5 c 1.0195329,1.319 1.1498748,-0.6123 1.1498748,-0.6123 0,0 -3.7344514,-4.51 -5.3773848,-6.4439 z" id="path4951" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/>
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#8ab000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 2.3378905,1005.8443 c -0.438175,0 -0.959862,0.1416 -0.8242183,0.7986 0.103561,0.5016 4.6608262,6.0744 4.6608262,6.0744 1.0195329,1.319 2.4934721,0.6763 1.4739391,-0.6425 l -4.234375,-5.4727 c -0.2602394,-0.29 -0.6085188,-0.7436 -1.076172,-0.7578 z" id="path4925" inkscape:connector-curvature="0" sodipodi:nodetypes="cscccc"/>
</g>
<g transform="translate(42,0)" id="g4967">
<rect style="opacity:1;fill:#aeea00;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect4144" width="38" height="13" x="-37" y="1010.3622" rx="3" ry="3"/>
<rect ry="3" rx="3" y="1013.3622" x="-37" height="10" width="38" id="rect4961" style="opacity:1;fill:#263238;fill-opacity:0.2;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect ry="3" rx="3" y="1010.3622" x="-37" height="10" width="38" id="rect4963" style="opacity:1;fill:#ffffff;fill-opacity:0.29803923;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect ry="2.5384617" rx="3" y="1011.3622" x="-37" height="11" width="38" id="rect4965" style="opacity:1;fill:#aeea00;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
</g>
<g id="g4979">
<rect style="opacity:1;fill:#1976d2;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect4146" width="38" height="26" x="5" y="1024.3622" rx="3" ry="3"/>
<rect ry="3" rx="3" y="1037.3622" x="5" height="13" width="38" id="rect4973" style="opacity:1;fill:#263238;fill-opacity:0.2;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect ry="3" rx="3" y="1024.3622" x="5" height="13" width="38" id="rect4975" style="opacity:1;fill:#ffffff;fill-opacity:0.2;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect ry="2.7692308" rx="3" y="1025.3622" x="5" height="24" width="38" id="rect4977" style="opacity:1;fill:#1976d2;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
</g>
<g transform="translate(0,1013.3622)" id="g4211">
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0d47a1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 24,17.75 c -2.880662,0 -5.319789,1.984685 -6.033203,4.650391 l 3.212891,0 C 21.734004,21.415044 22.774798,20.75 24,20.75 c 1.812692,0 3.25,1.437308 3.25,3.25 0,1.812693 -1.437308,3.25 -3.25,3.25 -1.307381,0 -2.411251,-0.75269 -2.929688,-1.849609 l -3.154296,0 C 18.558263,28.166146 21.04791,30.25 24,30.25 c 3.434013,0 6.25,-2.815987 6.25,-6.25 0,-3.434012 -2.815987,-6.25 -6.25,-6.25 z" id="path4161" inkscape:connector-curvature="0"/>
<circle style="opacity:1;fill:none;fill-opacity:0.40392157;stroke:#0d47a1;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="path4209" cx="24" cy="24" r="9.5500002"/>
</g>
<g id="g4989" transform="translate(0,0.50001738)">
<ellipse cy="1016.4872" cx="14.375" id="circle4985" style="opacity:1;fill:#263238;fill-opacity:0.2;stroke:none;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.69721117" rx="3.375" ry="3.875"/>
<circle style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.69721117" id="path4859" cx="14.375" cy="1016.9872" r="3.375"/>
</g>
<g transform="translate(19.5,0.50001738)" id="g4171">
<ellipse ry="3.875" rx="3.375" style="opacity:1;fill:#263238;fill-opacity:0.2;stroke:none;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.69721117" id="ellipse4175" cx="14.375" cy="1016.4872"/>
<circle r="3.375" cy="1016.9872" cx="14.375" id="circle4177" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.69721117"/>
</g>
</g>
<path inkscape:connector-curvature="0" id="path5128" d="m 2.613462,1005.5987 a 1.250125,1.250125 0 0 0 -1.01172,2.0293 l 3.60351,4.6641 c -0.12699,0.3331 -0.20312,0.6915 -0.20312,1.0703 l 0,4 0,2.8652 0,0.1348 c 0,1.662 1.338,3 3,3 l 32,0 c 1.662,0 3,-1.338 3,-3 l 0,-4 0,-2.8652 0,-0.1348 c 0,-0.3803 -0.0771,-0.74 -0.20508,-1.0742 l 3.60156,-4.6602 a 1.250125,1.250125 0 0 0 -1.04882,-2.0273 1.250125,1.250125 0 0 0 -0.92969,0.498 l -3.43164,4.4414 c -0.31022,-0.1079 -0.63841,-0.1777 -0.98633,-0.1777 l -32,0 c -0.34857,0 -0.67757,0.069 -0.98828,0.1777 l -3.4336,-4.4414 a 1.250125,1.250125 0 0 0 -0.96679,-0.5 z m 5.38867,18.7637 c -0.20775,0 -0.40983,0.021 -0.60547,0.061 -1.36951,0.2761 -2.39453,1.4698 -2.39453,2.9101 l 0,0.029 0,19.7793 0,0.029 0,0.1914 c 0,1.662 1.338,3 3,3 l 32,0 c 1.662,0 3,-1.338 3,-3 l 0,-20 0,-0.029 c 0,-1.4403 -1.02502,-2.634 -2.39453,-2.9101 -0.19565,-0.039 -0.39772,-0.061 -0.60547,-0.061 l -32,0 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#radialGradient5220);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><filter id="filter4510-5" color-interpolation-filters="sRGB"><feFlood flood-color="rgb(0,0,0)" flood-opacity=".49804" result="flood"/><feComposite in="flood" in2="SourceGraphic" operator="in" result="composite1"/><feGaussianBlur in="composite1" result="blur" stdDeviation="4"/><feOffset dx="0" dy="4" result="offset"/><feComposite in="SourceGraphic" in2="offset" result="composite2"/></filter><filter id="filter4498-9" color-interpolation-filters="sRGB"><feFlood flood-color="rgb(0,0,0)" flood-opacity=".49804" result="flood"/><feComposite in="flood" in2="SourceGraphic" operator="in" result="composite1"/><feGaussianBlur in="composite1" result="blur" stdDeviation="4"/><feOffset dx="0" dy="4" result="offset"/><feComposite in="SourceGraphic" in2="offset" result="composite2"/></filter></defs><g transform="translate(0 -263.13)"><g transform="matrix(.072143 0 0 .072143 -44.234 303.31)"><path d="m616.42-553.5h460.75v460.75h-460.75z" fill="none" stroke-width="19.198"/><path d="m616.42-553.5h460.75v460.75h-460.75z" fill="none" stroke-width="19.198"/><path transform="matrix(2.4096 0 0 2.3916 493.87 -784.51)" d="m210.91 166.8v-37.52h-37.52l-26.48-26.48-26.48 26.48h-37.52v37.52l-26.48 26.48 26.48 26.48v37.52h37.52l26.48 26.48 26.48-26.48h37.52v-37.52l26.48-26.48z" fill="#ffc107" filter="url(#filter4498-9)" stroke-width="8"/><g transform="matrix(3.4337 0 0 3.196 364.57 -621.88)"><path d="m73.384 21.914h134.74v143.68h-134.74z" fill="none" stroke-width="5.7972"/><ellipse cx="140.78" cy="93.719" rx="11.3" ry="12.05" fill="#ffd740" stroke="#ffd740" stroke-linecap="round" stroke-linejoin="round" stroke-width="44.182"/><path transform="matrix(.71931 0 0 .73752 35.063 302.34)" d="m146.91-329.25v-17.45l-23.295 23.266 23.295 23.266v-17.45c19.276 0 34.942 15.647 34.942 34.9 0 5.8748-1.4559 11.459-4.0766 16.287l8.5026 8.4923c4.5425-7.1544 7.2214-15.647 7.2214-24.779 0-25.709-20.849-46.533-46.59-46.533zm0 81.433c-19.277 0-34.942-15.647-34.942-34.9 0-5.8748 1.4559-11.459 4.0766-16.287l-8.5026-8.4923c-4.5425 7.1544-7.2214 15.647-7.2214 24.779 0 25.709 20.849 46.533 46.59 46.533v17.45l23.295-23.266-23.295-23.266z" fill="#448aff" filter="url(#filter4510-5)" stroke-width="5.8202"/><path d="m73.384 21.914h134.74v143.68h-134.74z" fill="none" stroke-width="5.7972"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 -263.13)"><g transform="matrix(.25 0 0 .25 -75.421 228.27)"><circle cx="369.42" cy="207.2" r="67.733" fill="#521737" stroke-width=".71866"/><path transform="matrix(.26458 0 0 .26458 301.69 139.47)" d="m265.99 65.18v0.0078c1.8901 2.438 3.0273 5.5806 3.0273 9.0215v195.24c19.426 3.3884 50.314 16.138 55.404 62.422l0.26367 2.377 1.9512 17.611h-2e-3l10.252 92.566h-161.81l64.785 67.07c5.4118 0.44356 10.702 0.40924 16.131 0.50781 6.0422 3e-4 12.082-0.21339 18.109-0.64062 8.5134-0.60344 16.992-1.6336 25.402-3.084 8.4107-1.4512 16.743-3.3219 24.967-5.6055 8.2243-2.2825 16.33-4.9742 24.285-8.0664 7.9553-3.0931 15.751-6.5833 23.357-10.455 7.6063-3.8716 15.013-8.1208 22.195-12.732 7.1823-4.6114 14.13-9.5793 20.816-14.885 6.6858-5.3055 13.102-10.942 19.225-16.889 6.1225-5.9464 11.945-12.195 17.443-18.723 5.4986-6.528 10.667-13.327 15.486-20.371 4.8192-7.0443 9.2831-14.324 13.375-21.814 4.0921-7.4904 7.8071-15.181 11.131-23.043 3.3233-7.8616 6.2497-15.885 8.7715-24.039 2.5223-8.154 4.6364-16.428 6.332-24.793 0.0435-0.28271 0.12174-0.53757 0.16407-0.82032zm-119.28 111.21c-3e-3 20.217 16.387 36.607 36.604 36.605zm36.604 36.605c-20.216-1e-3 -36.605 16.387-36.604 36.604 9.4e-4 -4.2e-4 50.205 51.017 50.205 51.017 12.099-18.158 28.866-28.067 41.949-30.349zm-36.604 36.604c1e-3 -20.216-16.387-36.605-36.604-36.604z" fill="#351228" stroke-width=".98462"/><g transform="matrix(.98462 0 0 .98462 4.6413 4.2297)" fill="#fff"><path d="m370.47 153.51c-1.9408 0-3.5026 1.6846-3.5026 3.777v54.445c0 2.0925 1.5618 3.777 3.5026 3.777s3.5026-1.6846 3.5026-3.777v-54.445c0-2.0924-1.5618-3.777-3.5026-3.777z" stroke-width=".62166"/><path d="m341.11 184.75a9.8353 9.8353 0 0 1-9.836 9.836 9.8353 9.8353 0 0 1 9.836 9.836 9.8353 9.8353 0 0 1 9.836-9.836 9.8353 9.8353 0 0 1-9.836-9.836z" fill="#fff" stroke-width=".63312"/><path d="m401.71 203.66a8.3455 8.3455 0 0 1-8.3461 8.3461 8.3455 8.3455 0 0 1 8.3461 8.3461 8.3455 8.3455 0 0 1 8.3461-8.3461 8.3455 8.3455 0 0 1-8.3461-8.3461z" fill="#fff" stroke-width=".53722"/><path d="m370.47 153.51v62c-1.9408 0-3.5026-1.6846-3.5026-3.777v-54.445c0-2.0924 1.5618-3.777 3.5026-3.777z" stroke-width=".62166"/></g><path d="m369.42 155.38v61.046c1.911 0 3.4488-1.6587 3.4488-3.7189v-53.608c0-2.0602-1.5378-3.7189-3.4488-3.7189z" fill="#dfdfe0" stroke-width=".61209"/><path d="m369.42 210.44c-3.3202 0-16.374 1.0601-18.108 16.828l-3.2974 29.78h42.811l-3.2974-29.78c-1.7341-15.768-14.788-16.828-18.108-16.828z" fill="#f8d057" stroke-width=".56531"/><path d="m351.31 227.27c1.7341-15.768 14.788-16.828 18.108-16.828v46.608h-21.406z" fill="#f8d057" stroke-width=".56531"/><path d="m351.24 227.9 18.178-3e-5 1e-5 4.6596h-18.694z" fill="#e97043" stroke-width=".25734"/><path d="m387.52 227.27c-1.7341-15.768-14.788-16.828-18.108-16.828v46.608h21.406z" fill="#f2b55a" stroke-width=".56531"/><path d="m387.59 227.9h-18.178v4.6596h18.694z" fill="#a15439" stroke-width=".25734"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 1051 447" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;">
<g transform="matrix(1,0,0,1,-101.526,-98.3251)">
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<rect x="87.098" y="355.919" width="154.361" height="165.495" style="fill:rgb(114,159,207);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M164.319,521.414L87.098,521.414L87.098,355.919L241.458,355.919L241.458,521.414L164.319,521.414" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,94.093C481.938,108.602 478.372,122.936 471.566,135.531C464.84,148.041 455.036,158.553 443.368,165.764C431.619,173.061 418.249,176.884 404.715,176.884C391.183,176.884 377.814,173.061 366.146,165.764C354.397,158.553 344.592,148.041 337.867,135.531C331.06,122.934 327.495,108.6 327.495,94.093C327.495,79.585 331.061,65.251 337.867,52.742C344.592,40.145 354.397,29.634 366.065,22.423C377.814,15.126 391.184,11.303 404.718,11.303C418.25,11.303 431.619,15.126 443.287,22.423C455.036,29.634 464.84,40.146 471.566,52.742C478.372,65.252 481.938,79.587 481.938,94.093Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,93.965C481.938,108.473 478.372,122.807 471.566,135.403C464.84,147.913 455.036,158.425 443.368,165.635C431.619,172.932 418.249,176.755 404.715,176.755C391.183,176.755 377.814,172.932 366.146,165.635C354.397,158.425 344.592,147.912 337.867,135.403C331.06,122.806 327.495,108.472 327.495,93.965C327.495,79.457 331.061,65.122 337.867,52.614C344.592,40.017 354.397,29.505 366.065,22.295C377.814,14.997 391.184,11.175 404.718,11.175C418.25,11.175 431.619,14.997 443.287,22.295C455.036,29.505 464.84,40.017 471.566,52.614C478.372,65.124 481.938,79.458 481.938,93.965" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,94.18C790.681,108.689 787.116,122.936 780.31,135.531C773.584,148.128 763.78,158.553 752.112,165.764C740.362,173.061 726.993,176.884 713.459,176.884C699.927,176.884 686.558,173.061 674.89,165.764C663.141,158.553 653.336,148.128 646.611,135.531C639.804,122.934 636.239,108.687 636.239,94.18C636.239,79.585 639.804,65.338 646.611,52.742C653.336,40.145 663.141,29.721 674.89,22.51C686.558,15.213 699.928,11.39 713.459,11.39C726.991,11.39 740.361,15.213 752.112,22.51C763.78,29.721 773.584,40.146 780.31,52.742C787.116,65.339 790.681,79.587 790.681,94.18Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,94.052C790.681,108.56 787.116,122.807 780.31,135.403C773.584,148 763.78,158.425 752.112,165.635C740.362,172.932 726.993,176.755 713.459,176.755C699.927,176.755 686.558,172.932 674.89,165.635C663.141,158.425 653.336,147.999 646.611,135.403C639.804,122.806 636.239,108.558 636.239,94.052C636.239,79.457 639.804,65.209 646.611,52.614C653.336,40.017 663.141,29.592 674.89,22.382C686.558,15.084 699.928,11.262 713.459,11.262C726.991,11.262 740.361,15.084 752.112,22.382C763.78,29.592 773.584,40.017 780.31,52.614C787.116,65.211 790.681,79.458 790.681,94.052" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,94.139C1099.39,108.647 1095.82,122.894 1089.02,135.49C1082.29,148.087 1072.49,158.512 1060.82,165.722C1049.07,173.019 1035.7,176.842 1022.17,176.842C1008.63,176.842 995.264,173.019 983.596,165.722C971.847,158.512 962.042,148.086 955.317,135.49C948.51,122.893 944.945,108.645 944.945,94.139C944.945,79.544 948.511,65.296 955.317,52.701C962.042,40.104 971.847,29.679 983.596,22.468C995.264,15.171 1008.63,11.348 1022.17,11.348C1035.7,11.348 1049.07,15.171 1060.82,22.468C1072.49,29.679 1082.29,40.104 1089.02,52.701C1095.82,65.298 1099.39,79.545 1099.39,94.139Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,94.139C1099.39,108.647 1095.82,122.894 1089.02,135.49C1082.29,148.087 1072.49,158.512 1060.82,165.722C1049.07,173.019 1035.7,176.842 1022.17,176.842C1008.63,176.842 995.264,173.019 983.596,165.722C971.847,158.512 962.042,148.086 955.317,135.49C948.51,122.893 944.945,108.645 944.945,94.139C944.945,79.544 948.511,65.296 955.317,52.701C962.042,40.104 971.847,29.679 983.596,22.468C995.264,15.171 1008.63,11.348 1022.17,11.348C1035.7,11.348 1049.07,15.171 1060.82,22.468C1072.49,29.679 1082.29,40.104 1089.02,52.701C1095.82,65.298 1099.39,79.545 1099.39,94.139" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,432.899C481.938,447.407 478.372,461.655 471.566,474.25C464.84,486.847 455.036,497.272 443.368,504.482C431.619,511.78 418.249,515.602 404.715,515.602C391.183,515.602 377.814,511.78 366.146,504.482C354.397,497.272 344.592,486.847 337.867,474.25C331.06,461.653 327.495,447.406 327.495,432.899C327.495,418.304 331.061,404.057 337.867,391.461C344.592,378.864 354.397,368.439 366.065,361.229C377.814,353.931 391.184,350.109 404.718,350.109C418.25,350.109 431.619,353.931 443.287,361.229C455.036,368.439 464.84,378.865 471.566,391.461C478.372,404.058 481.938,418.305 481.938,432.899Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,438.795C481.938,453.303 478.372,467.551 471.566,480.146C464.84,492.743 455.036,503.168 443.368,510.378C431.619,517.676 418.249,521.498 404.715,521.498C391.183,521.498 377.814,517.676 366.146,510.378C354.397,503.168 344.592,492.743 337.867,480.146C331.06,467.549 327.495,453.302 327.495,438.795C327.495,424.2 331.061,409.952 337.867,397.357C344.592,384.76 354.397,374.335 366.065,367.125C377.814,359.827 391.184,356.005 404.718,356.005C418.25,356.005 431.619,359.827 443.287,367.125C455.036,374.335 464.84,384.76 471.566,397.357C478.372,409.954 481.938,424.201 481.938,438.795" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,432.899C790.681,447.407 787.116,461.655 780.31,474.25C773.584,486.847 763.78,497.272 752.112,504.482C740.362,511.78 726.993,515.602 713.459,515.602C699.927,515.602 686.558,511.78 674.89,504.482C663.141,497.272 653.336,486.847 646.611,474.25C639.804,461.653 636.239,447.406 636.239,432.899C636.239,418.304 639.804,404.057 646.611,391.461C653.336,378.864 663.141,368.439 674.89,361.229C686.558,353.931 699.928,350.109 713.459,350.109C726.991,350.109 740.361,353.931 752.112,361.229C763.78,368.439 773.584,378.865 780.31,391.461C787.116,404.058 790.681,418.305 790.681,432.899Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,438.795C790.681,453.303 787.116,467.551 780.31,480.146C773.584,492.743 763.78,503.168 752.112,510.378C740.362,517.676 726.993,521.498 713.459,521.498C699.927,521.498 686.558,517.676 674.89,510.378C663.141,503.168 653.336,492.743 646.611,480.146C639.804,467.549 636.239,453.302 636.239,438.795C636.239,424.2 639.804,409.952 646.611,397.357C653.336,384.76 663.141,374.335 674.89,367.125C686.558,359.827 699.928,356.005 713.459,356.005C726.991,356.005 740.361,359.827 752.112,367.125C763.78,374.335 773.584,384.76 780.31,397.357C787.116,409.954 790.681,424.201 790.681,438.795" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,432.899C1099.39,447.407 1095.82,461.655 1089.02,474.25C1082.29,486.847 1072.49,497.272 1060.82,504.482C1049.07,511.78 1035.7,515.602 1022.17,515.602C1008.63,515.602 995.264,511.78 983.596,504.482C971.847,497.272 962.042,486.847 955.317,474.25C948.51,461.653 944.945,447.406 944.945,432.899C944.945,418.304 948.511,404.057 955.317,391.461C962.042,378.864 971.847,368.439 983.596,361.229C995.264,353.931 1008.63,350.109 1022.17,350.109C1035.7,350.109 1049.07,353.931 1060.82,361.229C1072.49,368.439 1082.29,378.865 1089.02,391.461C1095.82,404.058 1099.39,418.305 1099.39,432.899Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,432.899C1099.39,447.407 1095.82,461.655 1089.02,474.25C1082.29,486.847 1072.49,497.272 1060.82,504.482C1049.07,511.78 1035.7,515.602 1022.17,515.602C1008.63,515.602 995.264,511.78 983.596,504.482C971.847,497.272 962.042,486.847 955.317,474.25C948.51,461.653 944.945,447.406 944.945,432.899C944.945,418.304 948.511,404.057 955.317,391.461C962.042,378.864 971.847,368.439 983.596,361.229C995.264,353.931 1008.63,350.109 1022.17,350.109C1035.7,350.109 1049.07,353.931 1060.82,361.229C1072.49,368.439 1082.29,378.865 1089.02,391.461C1095.82,404.058 1099.39,418.305 1099.39,432.899" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,756.043C481.938,770.551 478.372,784.798 471.566,797.394C464.84,809.991 455.036,820.416 443.368,827.626C431.619,834.924 418.249,838.746 404.715,838.746C391.183,838.746 377.814,834.924 366.146,827.626C354.397,820.416 344.592,809.991 337.867,797.394C331.06,784.797 327.495,770.549 327.495,756.043C327.495,741.448 331.061,727.2 337.867,714.605C344.592,702.008 354.397,691.583 366.065,684.372C377.814,677.075 391.184,673.253 404.718,673.253C418.25,673.253 431.619,677.075 443.287,684.372C455.036,691.583 464.84,702.008 471.566,714.605C478.372,727.202 481.938,741.449 481.938,756.043Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,756.043C481.938,770.551 478.372,784.798 471.566,797.394C464.84,809.991 455.036,820.416 443.368,827.626C431.619,834.924 418.249,838.746 404.715,838.746C391.183,838.746 377.814,834.924 366.146,827.626C354.397,820.416 344.592,809.991 337.867,797.394C331.06,784.797 327.495,770.549 327.495,756.043C327.495,741.448 331.061,727.2 337.867,714.605C344.592,702.008 354.397,691.583 366.065,684.372C377.814,677.075 391.184,673.253 404.718,673.253C418.25,673.253 431.619,677.075 443.287,684.372C455.036,691.583 464.84,702.008 471.566,714.605C478.372,727.202 481.938,741.449 481.938,756.043" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,756.118C790.681,770.626 787.116,784.874 780.31,797.469C773.584,810.066 763.78,820.491 752.112,827.702C740.362,834.999 726.993,838.822 713.459,838.822C699.927,838.822 686.558,834.999 674.89,827.702C663.141,820.492 653.336,810.066 646.611,797.469C639.804,784.872 636.239,770.625 636.239,756.118C636.239,741.523 639.804,727.276 646.611,714.68C653.336,702.083 663.141,691.658 674.89,684.448C686.558,677.15 699.928,673.328 713.459,673.328C726.991,673.328 740.361,677.15 752.112,684.448C763.78,691.658 773.584,702.083 780.31,714.68C787.116,727.277 790.681,741.525 790.681,756.118Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,756.118C790.681,770.626 787.116,784.874 780.31,797.469C773.584,810.066 763.78,820.491 752.112,827.702C740.362,834.999 726.993,838.822 713.459,838.822C699.927,838.822 686.558,834.999 674.89,827.702C663.141,820.492 653.336,810.066 646.611,797.469C639.804,784.872 636.239,770.625 636.239,756.118C636.239,741.523 639.804,727.276 646.611,714.68C653.336,702.083 663.141,691.658 674.89,684.448C686.558,677.15 699.928,673.328 713.459,673.328C726.991,673.328 740.361,677.15 752.112,684.448C763.78,691.658 773.584,702.083 780.31,714.68C787.116,727.277 790.681,741.525 790.681,756.118" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,756.118C1099.39,770.626 1095.82,784.874 1089.02,797.469C1082.29,810.066 1072.49,820.491 1060.82,827.702C1049.07,834.999 1035.7,838.822 1022.17,838.822C1008.63,838.822 995.264,834.999 983.596,827.702C971.847,820.492 962.042,810.066 955.317,797.469C948.51,784.872 944.945,770.625 944.945,756.118C944.945,741.523 948.511,727.276 955.317,714.68C962.042,702.083 971.847,691.658 983.596,684.448C995.264,677.15 1008.63,673.328 1022.17,673.328C1035.7,673.328 1049.07,677.15 1060.82,684.448C1072.49,691.658 1082.29,702.083 1089.02,714.68C1095.82,727.277 1099.39,741.525 1099.39,756.118Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,756.118C1099.39,770.626 1095.82,784.874 1089.02,797.469C1082.29,810.066 1072.49,820.491 1060.82,827.702C1049.07,834.999 1035.7,838.822 1022.17,838.822C1008.63,838.822 995.264,834.999 983.596,827.702C971.847,820.492 962.042,810.066 955.317,797.469C948.51,784.872 944.945,770.625 944.945,756.118C944.945,741.523 948.511,727.276 955.317,714.68C962.042,702.083 971.847,691.658 983.596,684.448C995.264,677.15 1008.63,673.328 1022.17,673.328C1035.7,673.328 1049.07,677.15 1060.82,684.448C1072.49,691.658 1082.29,702.083 1089.02,714.68C1095.82,727.277 1099.39,741.525 1099.39,756.118" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.206,203.232)">
<path d="M1340.44,328.48L1433.95,503.186L1247.02,503.186L1340.44,328.48Z" style="fill:rgb(114,159,207);"/>
</g>
<g>
<g transform="matrix(0.423185,0,0,0.453686,63.5184,110.551)">
<g transform="matrix(1,0,0,1,88.7196,550.073)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">Your</text>
</g>
<g transform="matrix(1,0,0,1,88.7196,616.708)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">Device</text>
</g>
</g>
<g transform="matrix(0.423185,0,0,0.423185,215.188,217.539)">
<g transform="matrix(53.3092,0,0,53.3092,148.162,0)">
</g>
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">Guard</text>
</g>
<g transform="matrix(0.423185,0,0,0.453686,342.481,365.105)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">Relay</text>
</g>
<g transform="matrix(0.423185,0,0,0.453686,486.481,214.679)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">Relay</text>
</g>
<g transform="matrix(0.423185,0,0,0.423185,1011.71,453.118)">
<g transform="matrix(53.3092,0,0,53.3092,334.953,0)">
</g>
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">hidden...onion</text>
</g>
<g transform="matrix(1,0,0,1.13387,0,-13.5981)">
<rect x="192.377" y="101.575" width="397.824" height="388.045" style="fill:none;stroke:rgb(97,107,243);stroke-width:6.08px;stroke-linecap:butt;stroke-miterlimit:1.5;stroke-dasharray:6.08,6.08;"/>
</g>
<g transform="matrix(1,0,0,1.13387,406.832,-13.5981)">
<rect x="192.377" y="101.575" width="397.824" height="388.045" style="fill:none;stroke:rgb(218,85,92);stroke-width:6.08px;stroke-linecap:butt;stroke-miterlimit:1.5;stroke-dasharray:6.08,6.08;"/>
</g>
</g>
<g transform="matrix(1,0,0,-1,296.309,499.871)">
<g transform="matrix(0.438175,0,0,0.438175,-102.956,170.289)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill:white;fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-102.956,170.289)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z" style="fill:white;"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z" style="fill:white;"/>
</g>
</g>
<g transform="matrix(1,0,0,1,599.384,5.09357)">
<g transform="matrix(0.438175,0,0,0.438175,-273.231,107.69)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill:white;fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-273.231,107.69)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z" style="fill:white;"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z" style="fill:white;"/>
</g>
</g>
<g transform="matrix(1,0,0,-1,927.895,527.537)">
<g transform="matrix(0.438175,0,0,0.438175,-37.0942,67.0447)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill:white;fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-34.7625,65.947)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z" style="fill:white;"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z" style="fill:white;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-467.504,185.162)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill:white;fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-467.504,185.162)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z" style="fill:white;"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z" style="fill:white;"/>
</g>
</g>
<g transform="matrix(1,0,0,1,-12.9813,-5.07732)">
<g transform="matrix(0.438175,0,0,0.438175,70.8116,113.404)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill:white;fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,70.8116,113.404)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z" style="fill:white;"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z" style="fill:white;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,94.093C481.938,108.602 478.372,122.936 471.566,135.531C464.84,148.041 455.036,158.553 443.368,165.764C431.619,173.061 418.249,176.884 404.715,176.884C391.183,176.884 377.814,173.061 366.146,165.764C354.397,158.553 344.592,148.041 337.867,135.531C331.06,122.934 327.495,108.6 327.495,94.093C327.495,79.585 331.061,65.251 337.867,52.742C344.592,40.145 354.397,29.634 366.065,22.423C377.814,15.126 391.184,11.303 404.718,11.303C418.25,11.303 431.619,15.126 443.287,22.423C455.036,29.634 464.84,40.146 471.566,52.742C478.372,65.252 481.938,79.587 481.938,94.093Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,93.965C481.938,108.473 478.372,122.807 471.566,135.403C464.84,147.913 455.036,158.425 443.368,165.635C431.619,172.932 418.249,176.755 404.715,176.755C391.183,176.755 377.814,172.932 366.146,165.635C354.397,158.425 344.592,147.912 337.867,135.403C331.06,122.806 327.495,108.472 327.495,93.965C327.495,79.457 331.061,65.122 337.867,52.614C344.592,40.017 354.397,29.505 366.065,22.295C377.814,14.997 391.184,11.175 404.718,11.175C418.25,11.175 431.619,14.997 443.287,22.295C455.036,29.505 464.84,40.017 471.566,52.614C478.372,65.124 481.938,79.458 481.938,93.965" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,94.18C790.681,108.689 787.116,122.936 780.31,135.531C773.584,148.128 763.78,158.553 752.112,165.764C740.362,173.061 726.993,176.884 713.459,176.884C699.927,176.884 686.558,173.061 674.89,165.764C663.141,158.553 653.336,148.128 646.611,135.531C639.804,122.934 636.239,108.687 636.239,94.18C636.239,79.585 639.804,65.338 646.611,52.742C653.336,40.145 663.141,29.721 674.89,22.51C686.558,15.213 699.928,11.39 713.459,11.39C726.991,11.39 740.361,15.213 752.112,22.51C763.78,29.721 773.584,40.146 780.31,52.742C787.116,65.339 790.681,79.587 790.681,94.18Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,94.052C790.681,108.56 787.116,122.807 780.31,135.403C773.584,148 763.78,158.425 752.112,165.635C740.362,172.932 726.993,176.755 713.459,176.755C699.927,176.755 686.558,172.932 674.89,165.635C663.141,158.425 653.336,147.999 646.611,135.403C639.804,122.806 636.239,108.558 636.239,94.052C636.239,79.457 639.804,65.209 646.611,52.614C653.336,40.017 663.141,29.592 674.89,22.382C686.558,15.084 699.928,11.262 713.459,11.262C726.991,11.262 740.361,15.084 752.112,22.382C763.78,29.592 773.584,40.017 780.31,52.614C787.116,65.211 790.681,79.458 790.681,94.052" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,94.139C1099.39,108.647 1095.82,122.894 1089.02,135.49C1082.29,148.087 1072.49,158.512 1060.82,165.722C1049.07,173.019 1035.7,176.842 1022.17,176.842C1008.63,176.842 995.264,173.019 983.596,165.722C971.847,158.512 962.042,148.086 955.317,135.49C948.51,122.893 944.945,108.645 944.945,94.139C944.945,79.544 948.511,65.296 955.317,52.701C962.042,40.104 971.847,29.679 983.596,22.468C995.264,15.171 1008.63,11.348 1022.17,11.348C1035.7,11.348 1049.07,15.171 1060.82,22.468C1072.49,29.679 1082.29,40.104 1089.02,52.701C1095.82,65.298 1099.39,79.545 1099.39,94.139Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,94.139C1099.39,108.647 1095.82,122.894 1089.02,135.49C1082.29,148.087 1072.49,158.512 1060.82,165.722C1049.07,173.019 1035.7,176.842 1022.17,176.842C1008.63,176.842 995.264,173.019 983.596,165.722C971.847,158.512 962.042,148.086 955.317,135.49C948.51,122.893 944.945,108.645 944.945,94.139C944.945,79.544 948.511,65.296 955.317,52.701C962.042,40.104 971.847,29.679 983.596,22.468C995.264,15.171 1008.63,11.348 1022.17,11.348C1035.7,11.348 1049.07,15.171 1060.82,22.468C1072.49,29.679 1082.29,40.104 1089.02,52.701C1095.82,65.298 1099.39,79.545 1099.39,94.139" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,432.899C481.938,447.407 478.372,461.655 471.566,474.25C464.84,486.847 455.036,497.272 443.368,504.482C431.619,511.78 418.249,515.602 404.715,515.602C391.183,515.602 377.814,511.78 366.146,504.482C354.397,497.272 344.592,486.847 337.867,474.25C331.06,461.653 327.495,447.406 327.495,432.899C327.495,418.304 331.061,404.057 337.867,391.461C344.592,378.864 354.397,368.439 366.065,361.229C377.814,353.931 391.184,350.109 404.718,350.109C418.25,350.109 431.619,353.931 443.287,361.229C455.036,368.439 464.84,378.865 471.566,391.461C478.372,404.058 481.938,418.305 481.938,432.899Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,438.795C481.938,453.303 478.372,467.551 471.566,480.146C464.84,492.743 455.036,503.168 443.368,510.378C431.619,517.676 418.249,521.498 404.715,521.498C391.183,521.498 377.814,517.676 366.146,510.378C354.397,503.168 344.592,492.743 337.867,480.146C331.06,467.549 327.495,453.302 327.495,438.795C327.495,424.2 331.061,409.952 337.867,397.357C344.592,384.76 354.397,374.335 366.065,367.125C377.814,359.827 391.184,356.005 404.718,356.005C418.25,356.005 431.619,359.827 443.287,367.125C455.036,374.335 464.84,384.76 471.566,397.357C478.372,409.954 481.938,424.201 481.938,438.795" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,432.899C790.681,447.407 787.116,461.655 780.31,474.25C773.584,486.847 763.78,497.272 752.112,504.482C740.362,511.78 726.993,515.602 713.459,515.602C699.927,515.602 686.558,511.78 674.89,504.482C663.141,497.272 653.336,486.847 646.611,474.25C639.804,461.653 636.239,447.406 636.239,432.899C636.239,418.304 639.804,404.057 646.611,391.461C653.336,378.864 663.141,368.439 674.89,361.229C686.558,353.931 699.928,350.109 713.459,350.109C726.991,350.109 740.361,353.931 752.112,361.229C763.78,368.439 773.584,378.865 780.31,391.461C787.116,404.058 790.681,418.305 790.681,432.899Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,438.795C790.681,453.303 787.116,467.551 780.31,480.146C773.584,492.743 763.78,503.168 752.112,510.378C740.362,517.676 726.993,521.498 713.459,521.498C699.927,521.498 686.558,517.676 674.89,510.378C663.141,503.168 653.336,492.743 646.611,480.146C639.804,467.549 636.239,453.302 636.239,438.795C636.239,424.2 639.804,409.952 646.611,397.357C653.336,384.76 663.141,374.335 674.89,367.125C686.558,359.827 699.928,356.005 713.459,356.005C726.991,356.005 740.361,359.827 752.112,367.125C763.78,374.335 773.584,384.76 780.31,397.357C787.116,409.954 790.681,424.201 790.681,438.795" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,432.899C1099.39,447.407 1095.82,461.655 1089.02,474.25C1082.29,486.847 1072.49,497.272 1060.82,504.482C1049.07,511.78 1035.7,515.602 1022.17,515.602C1008.63,515.602 995.264,511.78 983.596,504.482C971.847,497.272 962.042,486.847 955.317,474.25C948.51,461.653 944.945,447.406 944.945,432.899C944.945,418.304 948.511,404.057 955.317,391.461C962.042,378.864 971.847,368.439 983.596,361.229C995.264,353.931 1008.63,350.109 1022.17,350.109C1035.7,350.109 1049.07,353.931 1060.82,361.229C1072.49,368.439 1082.29,378.865 1089.02,391.461C1095.82,404.058 1099.39,418.305 1099.39,432.899Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,432.899C1099.39,447.407 1095.82,461.655 1089.02,474.25C1082.29,486.847 1072.49,497.272 1060.82,504.482C1049.07,511.78 1035.7,515.602 1022.17,515.602C1008.63,515.602 995.264,511.78 983.596,504.482C971.847,497.272 962.042,486.847 955.317,474.25C948.51,461.653 944.945,447.406 944.945,432.899C944.945,418.304 948.511,404.057 955.317,391.461C962.042,378.864 971.847,368.439 983.596,361.229C995.264,353.931 1008.63,350.109 1022.17,350.109C1035.7,350.109 1049.07,353.931 1060.82,361.229C1072.49,368.439 1082.29,378.865 1089.02,391.461C1095.82,404.058 1099.39,418.305 1099.39,432.899" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,756.043C481.938,770.551 478.372,784.798 471.566,797.394C464.84,809.991 455.036,820.416 443.368,827.626C431.619,834.924 418.249,838.746 404.715,838.746C391.183,838.746 377.814,834.924 366.146,827.626C354.397,820.416 344.592,809.991 337.867,797.394C331.06,784.797 327.495,770.549 327.495,756.043C327.495,741.448 331.061,727.2 337.867,714.605C344.592,702.008 354.397,691.583 366.065,684.372C377.814,677.075 391.184,673.253 404.718,673.253C418.25,673.253 431.619,677.075 443.287,684.372C455.036,691.583 464.84,702.008 471.566,714.605C478.372,727.202 481.938,741.449 481.938,756.043Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,756.043C481.938,770.551 478.372,784.798 471.566,797.394C464.84,809.991 455.036,820.416 443.368,827.626C431.619,834.924 418.249,838.746 404.715,838.746C391.183,838.746 377.814,834.924 366.146,827.626C354.397,820.416 344.592,809.991 337.867,797.394C331.06,784.797 327.495,770.549 327.495,756.043C327.495,741.448 331.061,727.2 337.867,714.605C344.592,702.008 354.397,691.583 366.065,684.372C377.814,677.075 391.184,673.253 404.718,673.253C418.25,673.253 431.619,677.075 443.287,684.372C455.036,691.583 464.84,702.008 471.566,714.605C478.372,727.202 481.938,741.449 481.938,756.043" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,756.118C790.681,770.626 787.116,784.874 780.31,797.469C773.584,810.066 763.78,820.491 752.112,827.702C740.362,834.999 726.993,838.822 713.459,838.822C699.927,838.822 686.558,834.999 674.89,827.702C663.141,820.492 653.336,810.066 646.611,797.469C639.804,784.872 636.239,770.625 636.239,756.118C636.239,741.523 639.804,727.276 646.611,714.68C653.336,702.083 663.141,691.658 674.89,684.448C686.558,677.15 699.928,673.328 713.459,673.328C726.991,673.328 740.361,677.15 752.112,684.448C763.78,691.658 773.584,702.083 780.31,714.68C787.116,727.277 790.681,741.525 790.681,756.118Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,756.118C790.681,770.626 787.116,784.874 780.31,797.469C773.584,810.066 763.78,820.491 752.112,827.702C740.362,834.999 726.993,838.822 713.459,838.822C699.927,838.822 686.558,834.999 674.89,827.702C663.141,820.492 653.336,810.066 646.611,797.469C639.804,784.872 636.239,770.625 636.239,756.118C636.239,741.523 639.804,727.276 646.611,714.68C653.336,702.083 663.141,691.658 674.89,684.448C686.558,677.15 699.928,673.328 713.459,673.328C726.991,673.328 740.361,677.15 752.112,684.448C763.78,691.658 773.584,702.083 780.31,714.68C787.116,727.277 790.681,741.525 790.681,756.118" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,756.118C1099.39,770.626 1095.82,784.874 1089.02,797.469C1082.29,810.066 1072.49,820.491 1060.82,827.702C1049.07,834.999 1035.7,838.822 1022.17,838.822C1008.63,838.822 995.264,834.999 983.596,827.702C971.847,820.492 962.042,810.066 955.317,797.469C948.51,784.872 944.945,770.625 944.945,756.118C944.945,741.523 948.511,727.276 955.317,714.68C962.042,702.083 971.847,691.658 983.596,684.448C995.264,677.15 1008.63,673.328 1022.17,673.328C1035.7,673.328 1049.07,677.15 1060.82,684.448C1072.49,691.658 1082.29,702.083 1089.02,714.68C1095.82,727.277 1099.39,741.525 1099.39,756.118Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,756.118C1099.39,770.626 1095.82,784.874 1089.02,797.469C1082.29,810.066 1072.49,820.491 1060.82,827.702C1049.07,834.999 1035.7,838.822 1022.17,838.822C1008.63,838.822 995.264,834.999 983.596,827.702C971.847,820.492 962.042,810.066 955.317,797.469C948.51,784.872 944.945,770.625 944.945,756.118C944.945,741.523 948.511,727.276 955.317,714.68C962.042,702.083 971.847,691.658 983.596,684.448C995.264,677.15 1008.63,673.328 1022.17,673.328C1035.7,673.328 1049.07,677.15 1060.82,684.448C1072.49,691.658 1082.29,702.083 1089.02,714.68C1095.82,727.277 1099.39,741.525 1099.39,756.118" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.423185,0,0,0.453686,613.992,258.963)">
<g transform="matrix(53.3092,0,0,53.3092,296.35,0)">
</g>
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">Rendezvous</text>
</g>
<g transform="matrix(0.423185,0,0,0.453686,776.886,519.873)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">Relay</text>
</g>
<g transform="matrix(0.423185,0,0,0.453686,924.29,375.575)">
<g transform="matrix(53.3092,0,0,53.3092,124.423,0)">
</g>
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;fill:white;">Entry</text>
</g>
<g transform="matrix(0.438175,0,0,-0.438175,616.236,496.055)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill:white;fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,-0.438175,618.568,497.152)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z" style="fill:white;"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z" style="fill:white;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,757.768,262.897)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill:white;fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,760.1,261.799)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z" style="fill:white;"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z" style="fill:white;"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 1051 447" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;">
<g transform="matrix(1,0,0,1,-101.526,-98.3251)">
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<rect x="87.098" y="355.919" width="154.361" height="165.495" style="fill:rgb(114,159,207);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M164.319,521.414L87.098,521.414L87.098,355.919L241.458,355.919L241.458,521.414L164.319,521.414" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,94.093C481.938,108.602 478.372,122.936 471.566,135.531C464.84,148.041 455.036,158.553 443.368,165.764C431.619,173.061 418.249,176.884 404.715,176.884C391.183,176.884 377.814,173.061 366.146,165.764C354.397,158.553 344.592,148.041 337.867,135.531C331.06,122.934 327.495,108.6 327.495,94.093C327.495,79.585 331.061,65.251 337.867,52.742C344.592,40.145 354.397,29.634 366.065,22.423C377.814,15.126 391.184,11.303 404.718,11.303C418.25,11.303 431.619,15.126 443.287,22.423C455.036,29.634 464.84,40.146 471.566,52.742C478.372,65.252 481.938,79.587 481.938,94.093Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,93.965C481.938,108.473 478.372,122.807 471.566,135.403C464.84,147.913 455.036,158.425 443.368,165.635C431.619,172.932 418.249,176.755 404.715,176.755C391.183,176.755 377.814,172.932 366.146,165.635C354.397,158.425 344.592,147.912 337.867,135.403C331.06,122.806 327.495,108.472 327.495,93.965C327.495,79.457 331.061,65.122 337.867,52.614C344.592,40.017 354.397,29.505 366.065,22.295C377.814,14.997 391.184,11.175 404.718,11.175C418.25,11.175 431.619,14.997 443.287,22.295C455.036,29.505 464.84,40.017 471.566,52.614C478.372,65.124 481.938,79.458 481.938,93.965" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,94.18C790.681,108.689 787.116,122.936 780.31,135.531C773.584,148.128 763.78,158.553 752.112,165.764C740.362,173.061 726.993,176.884 713.459,176.884C699.927,176.884 686.558,173.061 674.89,165.764C663.141,158.553 653.336,148.128 646.611,135.531C639.804,122.934 636.239,108.687 636.239,94.18C636.239,79.585 639.804,65.338 646.611,52.742C653.336,40.145 663.141,29.721 674.89,22.51C686.558,15.213 699.928,11.39 713.459,11.39C726.991,11.39 740.361,15.213 752.112,22.51C763.78,29.721 773.584,40.146 780.31,52.742C787.116,65.339 790.681,79.587 790.681,94.18Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,94.052C790.681,108.56 787.116,122.807 780.31,135.403C773.584,148 763.78,158.425 752.112,165.635C740.362,172.932 726.993,176.755 713.459,176.755C699.927,176.755 686.558,172.932 674.89,165.635C663.141,158.425 653.336,147.999 646.611,135.403C639.804,122.806 636.239,108.558 636.239,94.052C636.239,79.457 639.804,65.209 646.611,52.614C653.336,40.017 663.141,29.592 674.89,22.382C686.558,15.084 699.928,11.262 713.459,11.262C726.991,11.262 740.361,15.084 752.112,22.382C763.78,29.592 773.584,40.017 780.31,52.614C787.116,65.211 790.681,79.458 790.681,94.052" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,94.139C1099.39,108.647 1095.82,122.894 1089.02,135.49C1082.29,148.087 1072.49,158.512 1060.82,165.722C1049.07,173.019 1035.7,176.842 1022.17,176.842C1008.63,176.842 995.264,173.019 983.596,165.722C971.847,158.512 962.042,148.086 955.317,135.49C948.51,122.893 944.945,108.645 944.945,94.139C944.945,79.544 948.511,65.296 955.317,52.701C962.042,40.104 971.847,29.679 983.596,22.468C995.264,15.171 1008.63,11.348 1022.17,11.348C1035.7,11.348 1049.07,15.171 1060.82,22.468C1072.49,29.679 1082.29,40.104 1089.02,52.701C1095.82,65.298 1099.39,79.545 1099.39,94.139Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,94.139C1099.39,108.647 1095.82,122.894 1089.02,135.49C1082.29,148.087 1072.49,158.512 1060.82,165.722C1049.07,173.019 1035.7,176.842 1022.17,176.842C1008.63,176.842 995.264,173.019 983.596,165.722C971.847,158.512 962.042,148.086 955.317,135.49C948.51,122.893 944.945,108.645 944.945,94.139C944.945,79.544 948.511,65.296 955.317,52.701C962.042,40.104 971.847,29.679 983.596,22.468C995.264,15.171 1008.63,11.348 1022.17,11.348C1035.7,11.348 1049.07,15.171 1060.82,22.468C1072.49,29.679 1082.29,40.104 1089.02,52.701C1095.82,65.298 1099.39,79.545 1099.39,94.139" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,432.899C481.938,447.407 478.372,461.655 471.566,474.25C464.84,486.847 455.036,497.272 443.368,504.482C431.619,511.78 418.249,515.602 404.715,515.602C391.183,515.602 377.814,511.78 366.146,504.482C354.397,497.272 344.592,486.847 337.867,474.25C331.06,461.653 327.495,447.406 327.495,432.899C327.495,418.304 331.061,404.057 337.867,391.461C344.592,378.864 354.397,368.439 366.065,361.229C377.814,353.931 391.184,350.109 404.718,350.109C418.25,350.109 431.619,353.931 443.287,361.229C455.036,368.439 464.84,378.865 471.566,391.461C478.372,404.058 481.938,418.305 481.938,432.899Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,438.795C481.938,453.303 478.372,467.551 471.566,480.146C464.84,492.743 455.036,503.168 443.368,510.378C431.619,517.676 418.249,521.498 404.715,521.498C391.183,521.498 377.814,517.676 366.146,510.378C354.397,503.168 344.592,492.743 337.867,480.146C331.06,467.549 327.495,453.302 327.495,438.795C327.495,424.2 331.061,409.952 337.867,397.357C344.592,384.76 354.397,374.335 366.065,367.125C377.814,359.827 391.184,356.005 404.718,356.005C418.25,356.005 431.619,359.827 443.287,367.125C455.036,374.335 464.84,384.76 471.566,397.357C478.372,409.954 481.938,424.201 481.938,438.795" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,432.899C790.681,447.407 787.116,461.655 780.31,474.25C773.584,486.847 763.78,497.272 752.112,504.482C740.362,511.78 726.993,515.602 713.459,515.602C699.927,515.602 686.558,511.78 674.89,504.482C663.141,497.272 653.336,486.847 646.611,474.25C639.804,461.653 636.239,447.406 636.239,432.899C636.239,418.304 639.804,404.057 646.611,391.461C653.336,378.864 663.141,368.439 674.89,361.229C686.558,353.931 699.928,350.109 713.459,350.109C726.991,350.109 740.361,353.931 752.112,361.229C763.78,368.439 773.584,378.865 780.31,391.461C787.116,404.058 790.681,418.305 790.681,432.899Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,438.795C790.681,453.303 787.116,467.551 780.31,480.146C773.584,492.743 763.78,503.168 752.112,510.378C740.362,517.676 726.993,521.498 713.459,521.498C699.927,521.498 686.558,517.676 674.89,510.378C663.141,503.168 653.336,492.743 646.611,480.146C639.804,467.549 636.239,453.302 636.239,438.795C636.239,424.2 639.804,409.952 646.611,397.357C653.336,384.76 663.141,374.335 674.89,367.125C686.558,359.827 699.928,356.005 713.459,356.005C726.991,356.005 740.361,359.827 752.112,367.125C763.78,374.335 773.584,384.76 780.31,397.357C787.116,409.954 790.681,424.201 790.681,438.795" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,432.899C1099.39,447.407 1095.82,461.655 1089.02,474.25C1082.29,486.847 1072.49,497.272 1060.82,504.482C1049.07,511.78 1035.7,515.602 1022.17,515.602C1008.63,515.602 995.264,511.78 983.596,504.482C971.847,497.272 962.042,486.847 955.317,474.25C948.51,461.653 944.945,447.406 944.945,432.899C944.945,418.304 948.511,404.057 955.317,391.461C962.042,378.864 971.847,368.439 983.596,361.229C995.264,353.931 1008.63,350.109 1022.17,350.109C1035.7,350.109 1049.07,353.931 1060.82,361.229C1072.49,368.439 1082.29,378.865 1089.02,391.461C1095.82,404.058 1099.39,418.305 1099.39,432.899Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,432.899C1099.39,447.407 1095.82,461.655 1089.02,474.25C1082.29,486.847 1072.49,497.272 1060.82,504.482C1049.07,511.78 1035.7,515.602 1022.17,515.602C1008.63,515.602 995.264,511.78 983.596,504.482C971.847,497.272 962.042,486.847 955.317,474.25C948.51,461.653 944.945,447.406 944.945,432.899C944.945,418.304 948.511,404.057 955.317,391.461C962.042,378.864 971.847,368.439 983.596,361.229C995.264,353.931 1008.63,350.109 1022.17,350.109C1035.7,350.109 1049.07,353.931 1060.82,361.229C1072.49,368.439 1082.29,378.865 1089.02,391.461C1095.82,404.058 1099.39,418.305 1099.39,432.899" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,756.043C481.938,770.551 478.372,784.798 471.566,797.394C464.84,809.991 455.036,820.416 443.368,827.626C431.619,834.924 418.249,838.746 404.715,838.746C391.183,838.746 377.814,834.924 366.146,827.626C354.397,820.416 344.592,809.991 337.867,797.394C331.06,784.797 327.495,770.549 327.495,756.043C327.495,741.448 331.061,727.2 337.867,714.605C344.592,702.008 354.397,691.583 366.065,684.372C377.814,677.075 391.184,673.253 404.718,673.253C418.25,673.253 431.619,677.075 443.287,684.372C455.036,691.583 464.84,702.008 471.566,714.605C478.372,727.202 481.938,741.449 481.938,756.043Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M481.938,756.043C481.938,770.551 478.372,784.798 471.566,797.394C464.84,809.991 455.036,820.416 443.368,827.626C431.619,834.924 418.249,838.746 404.715,838.746C391.183,838.746 377.814,834.924 366.146,827.626C354.397,820.416 344.592,809.991 337.867,797.394C331.06,784.797 327.495,770.549 327.495,756.043C327.495,741.448 331.061,727.2 337.867,714.605C344.592,702.008 354.397,691.583 366.065,684.372C377.814,677.075 391.184,673.253 404.718,673.253C418.25,673.253 431.619,677.075 443.287,684.372C455.036,691.583 464.84,702.008 471.566,714.605C478.372,727.202 481.938,741.449 481.938,756.043" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,756.118C790.681,770.626 787.116,784.874 780.31,797.469C773.584,810.066 763.78,820.491 752.112,827.702C740.362,834.999 726.993,838.822 713.459,838.822C699.927,838.822 686.558,834.999 674.89,827.702C663.141,820.492 653.336,810.066 646.611,797.469C639.804,784.872 636.239,770.625 636.239,756.118C636.239,741.523 639.804,727.276 646.611,714.68C653.336,702.083 663.141,691.658 674.89,684.448C686.558,677.15 699.928,673.328 713.459,673.328C726.991,673.328 740.361,677.15 752.112,684.448C763.78,691.658 773.584,702.083 780.31,714.68C787.116,727.277 790.681,741.525 790.681,756.118Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M790.681,756.118C790.681,770.626 787.116,784.874 780.31,797.469C773.584,810.066 763.78,820.491 752.112,827.702C740.362,834.999 726.993,838.822 713.459,838.822C699.927,838.822 686.558,834.999 674.89,827.702C663.141,820.492 653.336,810.066 646.611,797.469C639.804,784.872 636.239,770.625 636.239,756.118C636.239,741.523 639.804,727.276 646.611,714.68C653.336,702.083 663.141,691.658 674.89,684.448C686.558,677.15 699.928,673.328 713.459,673.328C726.991,673.328 740.361,677.15 752.112,684.448C763.78,691.658 773.584,702.083 780.31,714.68C787.116,727.277 790.681,741.525 790.681,756.118" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,756.118C1099.39,770.626 1095.82,784.874 1089.02,797.469C1082.29,810.066 1072.49,820.491 1060.82,827.702C1049.07,834.999 1035.7,838.822 1022.17,838.822C1008.63,838.822 995.264,834.999 983.596,827.702C971.847,820.492 962.042,810.066 955.317,797.469C948.51,784.872 944.945,770.625 944.945,756.118C944.945,741.523 948.511,727.276 955.317,714.68C962.042,702.083 971.847,691.658 983.596,684.448C995.264,677.15 1008.63,673.328 1022.17,673.328C1035.7,673.328 1049.07,677.15 1060.82,684.448C1072.49,691.658 1082.29,702.083 1089.02,714.68C1095.82,727.277 1099.39,741.525 1099.39,756.118Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,63.5184,110.551)">
<path d="M1099.39,756.118C1099.39,770.626 1095.82,784.874 1089.02,797.469C1082.29,810.066 1072.49,820.491 1060.82,827.702C1049.07,834.999 1035.7,838.822 1022.17,838.822C1008.63,838.822 995.264,834.999 983.596,827.702C971.847,820.492 962.042,810.066 955.317,797.469C948.51,784.872 944.945,770.625 944.945,756.118C944.945,741.523 948.511,727.276 955.317,714.68C962.042,702.083 971.847,691.658 983.596,684.448C995.264,677.15 1008.63,673.328 1022.17,673.328C1035.7,673.328 1049.07,677.15 1060.82,684.448C1072.49,691.658 1082.29,702.083 1089.02,714.68C1095.82,727.277 1099.39,741.525 1099.39,756.118" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.206,203.232)">
<path d="M1340.44,328.48L1433.95,503.186L1247.02,503.186L1340.44,328.48Z" style="fill:rgb(114,159,207);"/>
</g>
<g>
<g transform="matrix(0.423185,0,0,0.453686,63.5184,110.551)">
<g transform="matrix(1,0,0,1,88.7196,550.073)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">Your</text>
</g>
<g transform="matrix(1,0,0,1,88.7196,616.708)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">Device</text>
</g>
</g>
<g transform="matrix(0.423185,0,0,0.423185,215.188,217.539)">
<g transform="matrix(53.3092,0,0,53.3092,148.162,0)">
</g>
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">Guard</text>
</g>
<g transform="matrix(0.423185,0,0,0.453686,342.481,365.105)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">Relay</text>
</g>
<g transform="matrix(0.423185,0,0,0.453686,486.481,214.679)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">Relay</text>
</g>
<g transform="matrix(0.423185,0,0,0.423185,1011.71,453.118)">
<g transform="matrix(53.3092,0,0,53.3092,334.953,0)">
</g>
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">hidden...onion</text>
</g>
<g transform="matrix(1,0,0,1.13387,0,-13.5981)">
<rect x="192.377" y="101.575" width="397.824" height="388.045" style="fill:none;stroke:rgb(62,44,177);stroke-width:6.08px;stroke-linecap:butt;stroke-miterlimit:1.5;stroke-dasharray:6.08,6.08;"/>
</g>
<g transform="matrix(1,0,0,1.13387,406.832,-13.5981)">
<rect x="192.377" y="101.575" width="397.824" height="388.045" style="fill:none;stroke:rgb(208,26,36);stroke-width:6.08px;stroke-linecap:butt;stroke-miterlimit:1.5;stroke-dasharray:6.08,6.08;"/>
</g>
</g>
<g transform="matrix(1,0,0,-1,296.309,499.871)">
<g transform="matrix(0.438175,0,0,0.438175,-102.956,170.289)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-102.956,170.289)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z"/>
</g>
</g>
<g transform="matrix(1,0,0,1,599.384,5.09357)">
<g transform="matrix(0.438175,0,0,0.438175,-273.231,107.69)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-273.231,107.69)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z"/>
</g>
</g>
<g transform="matrix(1,0,0,-1,927.895,527.537)">
<g transform="matrix(0.438175,0,0,0.438175,-37.0942,67.0447)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-34.7625,65.947)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-467.504,185.162)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,-467.504,185.162)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z"/>
</g>
</g>
<g transform="matrix(1,0,0,1,-12.9813,-5.07732)">
<g transform="matrix(0.438175,0,0,0.438175,70.8116,113.404)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,70.8116,113.404)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,94.093C481.938,108.602 478.372,122.936 471.566,135.531C464.84,148.041 455.036,158.553 443.368,165.764C431.619,173.061 418.249,176.884 404.715,176.884C391.183,176.884 377.814,173.061 366.146,165.764C354.397,158.553 344.592,148.041 337.867,135.531C331.06,122.934 327.495,108.6 327.495,94.093C327.495,79.585 331.061,65.251 337.867,52.742C344.592,40.145 354.397,29.634 366.065,22.423C377.814,15.126 391.184,11.303 404.718,11.303C418.25,11.303 431.619,15.126 443.287,22.423C455.036,29.634 464.84,40.146 471.566,52.742C478.372,65.252 481.938,79.587 481.938,94.093Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,93.965C481.938,108.473 478.372,122.807 471.566,135.403C464.84,147.913 455.036,158.425 443.368,165.635C431.619,172.932 418.249,176.755 404.715,176.755C391.183,176.755 377.814,172.932 366.146,165.635C354.397,158.425 344.592,147.912 337.867,135.403C331.06,122.806 327.495,108.472 327.495,93.965C327.495,79.457 331.061,65.122 337.867,52.614C344.592,40.017 354.397,29.505 366.065,22.295C377.814,14.997 391.184,11.175 404.718,11.175C418.25,11.175 431.619,14.997 443.287,22.295C455.036,29.505 464.84,40.017 471.566,52.614C478.372,65.124 481.938,79.458 481.938,93.965" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,94.18C790.681,108.689 787.116,122.936 780.31,135.531C773.584,148.128 763.78,158.553 752.112,165.764C740.362,173.061 726.993,176.884 713.459,176.884C699.927,176.884 686.558,173.061 674.89,165.764C663.141,158.553 653.336,148.128 646.611,135.531C639.804,122.934 636.239,108.687 636.239,94.18C636.239,79.585 639.804,65.338 646.611,52.742C653.336,40.145 663.141,29.721 674.89,22.51C686.558,15.213 699.928,11.39 713.459,11.39C726.991,11.39 740.361,15.213 752.112,22.51C763.78,29.721 773.584,40.146 780.31,52.742C787.116,65.339 790.681,79.587 790.681,94.18Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,94.052C790.681,108.56 787.116,122.807 780.31,135.403C773.584,148 763.78,158.425 752.112,165.635C740.362,172.932 726.993,176.755 713.459,176.755C699.927,176.755 686.558,172.932 674.89,165.635C663.141,158.425 653.336,147.999 646.611,135.403C639.804,122.806 636.239,108.558 636.239,94.052C636.239,79.457 639.804,65.209 646.611,52.614C653.336,40.017 663.141,29.592 674.89,22.382C686.558,15.084 699.928,11.262 713.459,11.262C726.991,11.262 740.361,15.084 752.112,22.382C763.78,29.592 773.584,40.017 780.31,52.614C787.116,65.211 790.681,79.458 790.681,94.052" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,94.139C1099.39,108.647 1095.82,122.894 1089.02,135.49C1082.29,148.087 1072.49,158.512 1060.82,165.722C1049.07,173.019 1035.7,176.842 1022.17,176.842C1008.63,176.842 995.264,173.019 983.596,165.722C971.847,158.512 962.042,148.086 955.317,135.49C948.51,122.893 944.945,108.645 944.945,94.139C944.945,79.544 948.511,65.296 955.317,52.701C962.042,40.104 971.847,29.679 983.596,22.468C995.264,15.171 1008.63,11.348 1022.17,11.348C1035.7,11.348 1049.07,15.171 1060.82,22.468C1072.49,29.679 1082.29,40.104 1089.02,52.701C1095.82,65.298 1099.39,79.545 1099.39,94.139Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,94.139C1099.39,108.647 1095.82,122.894 1089.02,135.49C1082.29,148.087 1072.49,158.512 1060.82,165.722C1049.07,173.019 1035.7,176.842 1022.17,176.842C1008.63,176.842 995.264,173.019 983.596,165.722C971.847,158.512 962.042,148.086 955.317,135.49C948.51,122.893 944.945,108.645 944.945,94.139C944.945,79.544 948.511,65.296 955.317,52.701C962.042,40.104 971.847,29.679 983.596,22.468C995.264,15.171 1008.63,11.348 1022.17,11.348C1035.7,11.348 1049.07,15.171 1060.82,22.468C1072.49,29.679 1082.29,40.104 1089.02,52.701C1095.82,65.298 1099.39,79.545 1099.39,94.139" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,432.899C481.938,447.407 478.372,461.655 471.566,474.25C464.84,486.847 455.036,497.272 443.368,504.482C431.619,511.78 418.249,515.602 404.715,515.602C391.183,515.602 377.814,511.78 366.146,504.482C354.397,497.272 344.592,486.847 337.867,474.25C331.06,461.653 327.495,447.406 327.495,432.899C327.495,418.304 331.061,404.057 337.867,391.461C344.592,378.864 354.397,368.439 366.065,361.229C377.814,353.931 391.184,350.109 404.718,350.109C418.25,350.109 431.619,353.931 443.287,361.229C455.036,368.439 464.84,378.865 471.566,391.461C478.372,404.058 481.938,418.305 481.938,432.899Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,438.795C481.938,453.303 478.372,467.551 471.566,480.146C464.84,492.743 455.036,503.168 443.368,510.378C431.619,517.676 418.249,521.498 404.715,521.498C391.183,521.498 377.814,517.676 366.146,510.378C354.397,503.168 344.592,492.743 337.867,480.146C331.06,467.549 327.495,453.302 327.495,438.795C327.495,424.2 331.061,409.952 337.867,397.357C344.592,384.76 354.397,374.335 366.065,367.125C377.814,359.827 391.184,356.005 404.718,356.005C418.25,356.005 431.619,359.827 443.287,367.125C455.036,374.335 464.84,384.76 471.566,397.357C478.372,409.954 481.938,424.201 481.938,438.795" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,432.899C790.681,447.407 787.116,461.655 780.31,474.25C773.584,486.847 763.78,497.272 752.112,504.482C740.362,511.78 726.993,515.602 713.459,515.602C699.927,515.602 686.558,511.78 674.89,504.482C663.141,497.272 653.336,486.847 646.611,474.25C639.804,461.653 636.239,447.406 636.239,432.899C636.239,418.304 639.804,404.057 646.611,391.461C653.336,378.864 663.141,368.439 674.89,361.229C686.558,353.931 699.928,350.109 713.459,350.109C726.991,350.109 740.361,353.931 752.112,361.229C763.78,368.439 773.584,378.865 780.31,391.461C787.116,404.058 790.681,418.305 790.681,432.899Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,438.795C790.681,453.303 787.116,467.551 780.31,480.146C773.584,492.743 763.78,503.168 752.112,510.378C740.362,517.676 726.993,521.498 713.459,521.498C699.927,521.498 686.558,517.676 674.89,510.378C663.141,503.168 653.336,492.743 646.611,480.146C639.804,467.549 636.239,453.302 636.239,438.795C636.239,424.2 639.804,409.952 646.611,397.357C653.336,384.76 663.141,374.335 674.89,367.125C686.558,359.827 699.928,356.005 713.459,356.005C726.991,356.005 740.361,359.827 752.112,367.125C763.78,374.335 773.584,384.76 780.31,397.357C787.116,409.954 790.681,424.201 790.681,438.795" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,432.899C1099.39,447.407 1095.82,461.655 1089.02,474.25C1082.29,486.847 1072.49,497.272 1060.82,504.482C1049.07,511.78 1035.7,515.602 1022.17,515.602C1008.63,515.602 995.264,511.78 983.596,504.482C971.847,497.272 962.042,486.847 955.317,474.25C948.51,461.653 944.945,447.406 944.945,432.899C944.945,418.304 948.511,404.057 955.317,391.461C962.042,378.864 971.847,368.439 983.596,361.229C995.264,353.931 1008.63,350.109 1022.17,350.109C1035.7,350.109 1049.07,353.931 1060.82,361.229C1072.49,368.439 1082.29,378.865 1089.02,391.461C1095.82,404.058 1099.39,418.305 1099.39,432.899Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,432.899C1099.39,447.407 1095.82,461.655 1089.02,474.25C1082.29,486.847 1072.49,497.272 1060.82,504.482C1049.07,511.78 1035.7,515.602 1022.17,515.602C1008.63,515.602 995.264,511.78 983.596,504.482C971.847,497.272 962.042,486.847 955.317,474.25C948.51,461.653 944.945,447.406 944.945,432.899C944.945,418.304 948.511,404.057 955.317,391.461C962.042,378.864 971.847,368.439 983.596,361.229C995.264,353.931 1008.63,350.109 1022.17,350.109C1035.7,350.109 1049.07,353.931 1060.82,361.229C1072.49,368.439 1082.29,378.865 1089.02,391.461C1095.82,404.058 1099.39,418.305 1099.39,432.899" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,756.043C481.938,770.551 478.372,784.798 471.566,797.394C464.84,809.991 455.036,820.416 443.368,827.626C431.619,834.924 418.249,838.746 404.715,838.746C391.183,838.746 377.814,834.924 366.146,827.626C354.397,820.416 344.592,809.991 337.867,797.394C331.06,784.797 327.495,770.549 327.495,756.043C327.495,741.448 331.061,727.2 337.867,714.605C344.592,702.008 354.397,691.583 366.065,684.372C377.814,677.075 391.184,673.253 404.718,673.253C418.25,673.253 431.619,677.075 443.287,684.372C455.036,691.583 464.84,702.008 471.566,714.605C478.372,727.202 481.938,741.449 481.938,756.043Z" style="fill:rgb(129,212,26);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M481.938,756.043C481.938,770.551 478.372,784.798 471.566,797.394C464.84,809.991 455.036,820.416 443.368,827.626C431.619,834.924 418.249,838.746 404.715,838.746C391.183,838.746 377.814,834.924 366.146,827.626C354.397,820.416 344.592,809.991 337.867,797.394C331.06,784.797 327.495,770.549 327.495,756.043C327.495,741.448 331.061,727.2 337.867,714.605C344.592,702.008 354.397,691.583 366.065,684.372C377.814,677.075 391.184,673.253 404.718,673.253C418.25,673.253 431.619,677.075 443.287,684.372C455.036,691.583 464.84,702.008 471.566,714.605C478.372,727.202 481.938,741.449 481.938,756.043" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,756.118C790.681,770.626 787.116,784.874 780.31,797.469C773.584,810.066 763.78,820.491 752.112,827.702C740.362,834.999 726.993,838.822 713.459,838.822C699.927,838.822 686.558,834.999 674.89,827.702C663.141,820.492 653.336,810.066 646.611,797.469C639.804,784.872 636.239,770.625 636.239,756.118C636.239,741.523 639.804,727.276 646.611,714.68C653.336,702.083 663.141,691.658 674.89,684.448C686.558,677.15 699.928,673.328 713.459,673.328C726.991,673.328 740.361,677.15 752.112,684.448C763.78,691.658 773.584,702.083 780.31,714.68C787.116,727.277 790.681,741.525 790.681,756.118Z" style="fill:rgb(128,0,128);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M790.681,756.118C790.681,770.626 787.116,784.874 780.31,797.469C773.584,810.066 763.78,820.491 752.112,827.702C740.362,834.999 726.993,838.822 713.459,838.822C699.927,838.822 686.558,834.999 674.89,827.702C663.141,820.492 653.336,810.066 646.611,797.469C639.804,784.872 636.239,770.625 636.239,756.118C636.239,741.523 639.804,727.276 646.611,714.68C653.336,702.083 663.141,691.658 674.89,684.448C686.558,677.15 699.928,673.328 713.459,673.328C726.991,673.328 740.361,677.15 752.112,684.448C763.78,691.658 773.584,702.083 780.31,714.68C787.116,727.277 790.681,741.525 790.681,756.118" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,756.118C1099.39,770.626 1095.82,784.874 1089.02,797.469C1082.29,810.066 1072.49,820.491 1060.82,827.702C1049.07,834.999 1035.7,838.822 1022.17,838.822C1008.63,838.822 995.264,834.999 983.596,827.702C971.847,820.492 962.042,810.066 955.317,797.469C948.51,784.872 944.945,770.625 944.945,756.118C944.945,741.523 948.511,727.276 955.317,714.68C962.042,702.083 971.847,691.658 983.596,684.448C995.264,677.15 1008.63,673.328 1022.17,673.328C1035.7,673.328 1049.07,677.15 1060.82,684.448C1072.49,691.658 1082.29,702.083 1089.02,714.68C1095.82,727.277 1099.39,741.525 1099.39,756.118Z" style="fill:rgb(255,128,0);"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,495.905,117.379)">
<path d="M1099.39,756.118C1099.39,770.626 1095.82,784.874 1089.02,797.469C1082.29,810.066 1072.49,820.491 1060.82,827.702C1049.07,834.999 1035.7,838.822 1022.17,838.822C1008.63,838.822 995.264,834.999 983.596,827.702C971.847,820.492 962.042,810.066 955.317,797.469C948.51,784.872 944.945,770.625 944.945,756.118C944.945,741.523 948.511,727.276 955.317,714.68C962.042,702.083 971.847,691.658 983.596,684.448C995.264,677.15 1008.63,673.328 1022.17,673.328C1035.7,673.328 1049.07,677.15 1060.82,684.448C1072.49,691.658 1082.29,702.083 1089.02,714.68C1095.82,727.277 1099.39,741.525 1099.39,756.118" style="fill:none;fill-rule:nonzero;stroke:rgb(52,101,164);stroke-width:0.08px;"/>
</g>
<g transform="matrix(0.423185,0,0,0.453686,613.992,258.963)">
<g transform="matrix(53.3092,0,0,53.3092,296.35,0)">
</g>
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">Rendezvous</text>
</g>
<g transform="matrix(0.423185,0,0,0.453686,776.886,519.873)">
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">Relay</text>
</g>
<g transform="matrix(0.423185,0,0,0.453686,924.29,375.575)">
<g transform="matrix(53.3092,0,0,53.3092,124.423,0)">
</g>
<text x="0px" y="0px" style="font-family:'Helvetica';font-size:53.309px;">Entry</text>
</g>
<g transform="matrix(0.438175,0,0,-0.438175,616.236,496.055)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,-0.438175,618.568,497.152)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,757.768,262.897)">
<path d="M330.234,166.032L193.058,348.322L196.941,351.246L334.117,168.955L330.234,166.032Z" style="fill-rule:nonzero;"/>
</g>
<g transform="matrix(0.438175,0,0,0.438175,760.1,261.799)">
<path d="M340.601,156.288L337.671,180.385L318.258,165.776L340.601,156.288Z"/>
<path d="M342.547,153.703L339.971,154.795L315.043,165.381L338.945,183.37L342.547,153.703ZM338.657,158.87L336.406,177.398L321.48,166.171L338.657,158.87Z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="127.99" height="128" version="1.1" viewBox="0 0 33.864 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="translate(-48.383 -89.279)"><g transform="matrix(.083544 0 0 .083551 36.799 77.694)"><path d="m220.51 504.06 120.82 39.937 1.2e-4 4e-5 -143.92-5e-5zm323.49-162.73c0 111.93-90.737 202.67-202.67 202.67-111.93-1e-5 -202.67-90.737-202.67-202.67s90.737-202.67 202.67-202.67c111.93 0 202.67 90.737 202.67 202.67z" fill="#7663f0"/><g transform="translate(-5.1601e-6,-4.0973)"><circle cx="341" cy="433.47" r="23.536" fill="#f9f8fe" stroke-width=".64448"/><circle cx="439.19" cy="375.64" r="23.536" fill="#aaa4ce" stroke-width=".64448"/><circle cx="242.81" cy="375.64" r="23.536" fill="#cba1fe" stroke-width=".64447"/><g stroke-width=".64448"><circle cx="439.19" cy="433.47" r="23.536" fill="#f9f8fe"/><circle cx="439.19" cy="317.82" r="23.536" fill="#aacdf4"/><circle cx="242.81" cy="260" r="23.536" fill="#4b0f9f"/></g><circle cx="242.81" cy="317.82" r="23.536" fill="#aaa4ce" stroke-width=".64447"/><g stroke-width=".64448"><circle cx="242.81" cy="433.47" r="23.536" fill="#f9f8fe"/><circle cx="341" cy="317.82" r="23.536" fill="#4b0f9f"/><circle cx="341" cy="375.64" r="23.536" fill="#aacdf4"/></g><circle cx="439.19" cy="260" r="23.536" fill="#4b0f9f" stroke-width=".64447"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View File

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.52916 0 0 .52916 .0017986 -523)"><g transform="matrix(.40296 0 0 .40296 360.66 978.2)"><path d="m-816.29 25.214a15.882 15.918 0 0 0-8.3171 2.135l-53.648 31.034a15.882 15.918 0 0 0-7.9452 13.784v62.1a15.882 15.918 0 0 0 7.9452 13.768l53.648 31.058a15.882 15.918 0 0 0 15.882 0l53.656-31.058a15.882 15.918 0 0 0 7.9371-13.768v-62.1a15.882 15.918 0 0 0-7.9371-13.784l-53.656-31.034a15.882 15.918 0 0 0-7.5652-2.135zm-0.17228 35.101a8.7349 8.755 0 0 1 4.1636 1.169l29.512 17.071a8.7349 8.755 0 0 1 4.3663 7.582v34.159a8.7349 8.755 0 0 1-4.3663 7.5656l-29.512 17.088a8.7349 8.755 0 0 1-8.7305 0l-29.513-17.088a8.7349 8.755 0 0 1-4.3653-7.5656v-34.159a8.7349 8.755 0 0 1 4.3653-7.582l29.513-17.071a8.7349 8.755 0 0 1 4.5669-1.169z" fill="#63a0ff"/><path d="m-749.26 64.233-30.34 17.551a8.7349 8.755 0 0 1 1.1738 4.375v34.15a8.7349 8.755 0 0 1-4.3652 7.5742l-29.504 17.08a8.7349 8.755 0 0 1-4.3496 1.1602v35.102a15.882 15.918 0 0 0 7.9219-2.1191l11.936-6.9082 15.23 8.8633c6.8122 3.9643 17.78 3.9643 24.592 0l6.8106-3.9629c6.8122-3.9643 6.8122-10.348 0-14.312l-15.146-8.8144 10.234-5.9238a15.882 15.918 0 0 0 7.9375-13.768v-62.092a15.882 15.918 0 0 0-2.1309-7.9551z" fill="#3874d8"/><path d="m-884.06 64.207 30.334 17.56a8.7349 8.755 0 0 1 3.1929-3.2071l29.508-17.075a8.7349 8.755 0 0 1 8.7265 3e-3l29.51 17.071a8.7349 8.755 0 0 1 3.1777 3.1948l30.328-17.55a15.882 15.918 0 0 0-5.791-5.8162l-53.664-31.045a15.882 15.918 0 0 0-15.864-5e-3l-53.649 31.046a15.882 15.918 0 0 0-5.8092 5.8265z" fill="#99bfff"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -1,125 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" version="1.1" viewBox="0 0 128 128" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g transform="matrix(1.0638 0 0 1.0684 -29.885 -16.775)">
<clipPath id="_clip1">
<path d="m38.8 34.1v-4.8c0-0.4 0.1-1.1 0.1-1.1l0.2-0.5v-0.2l0.2-0.4 0.1-0.1 0.1-0.2 0.1-0.1v-0.1l0.2-0.2v-0.1l0.7-0.7 0.2-0.1h0.1l0.3-0.2h0.3l0.6-0.3c0.4-0.1 0.7-0.1 1.1-0.1h94.6v9.2h9v-18.4h-103.6c-7.3 0-13.3 6.1-13.3 13.6v4.8h9z"/>
</clipPath>
<g clip-path="url(#_clip1)">
<rect x="30.2" y="14.7" width="117.1" height="12" fill="#898b8d"/>
</g>
<clipPath id="_clip2">
<path d="m38.8 34.1v-4.8c0-0.4 0.1-1.1 0.1-1.1l0.2-0.5v-0.2l0.2-0.4 0.1-0.1 0.1-0.2 0.1-0.1v-0.1l0.2-0.2v-0.1l0.7-0.7 0.2-0.1h0.1l0.3-0.2h0.3l0.6-0.3c0.4-0.1 0.7-0.1 1.1-0.1h94.6v9.2h9v-18.4h-103.6c-7.3 0-13.3 6.1-13.3 13.6v4.8h9z"/>
</clipPath>
<g clip-path="url(#_clip2)">
<clipPath id="_clip3">
<path d="m133.8 27 13.2-7.1 3.7 7.2-13.2 7.1-3.7-7.2z" clip-rule="nonzero"/>
</clipPath>
<g clip-path="url(#_clip3)">
<g transform="matrix(.93998 -0 -0 .93594 28.091 15.7)">
<use transform="scale(.98026 .94825)" x="114.723" y="4.732" width="13.724px" height="15.172px" xlink:href="#_Image4"/>
</g>
</g>
</g>
<clipPath id="_clip5">
<path d="m38.8 34.1v-4.8c0-0.4 0.1-1.1 0.1-1.1l0.2-0.5v-0.2l0.2-0.4 0.1-0.1 0.1-0.2 0.1-0.1v-0.1l0.2-0.2v-0.1l0.7-0.7 0.2-0.1h0.1l0.3-0.2h0.3l0.6-0.3c0.4-0.1 0.7-0.1 1.1-0.1h94.6v9.2h9v-18.4h-103.6c-7.3 0-13.3 6.1-13.3 13.6v4.8h9z"/>
</clipPath>
<g clip-path="url(#_clip5)">
<clipPath id="_clip6">
<path d="m31.9 21.1 10.7 5.8-3.7 7.2-10.7-5.7 3.7-7.3z" clip-rule="nonzero"/>
</clipPath>
<g clip-path="url(#_clip6)">
<g transform="matrix(.93998 -0 -0 .93594 28.091 15.7)">
<use transform="scale(.97267 .99213)" x="1.869" y="5.815" width="13.617px" height="13.89px" xlink:href="#_Image7"/>
</g>
</g>
</g>
<rect x="47.8" y="34.1" width="80.9" height="9.2" fill="#403f41"/>
<rect x="47.8" y="108" width="80.9" height="9.2" fill="#403f41"/>
<clipPath id="_clip8">
<path d="m137.7 117.1v4.9c0 0.4-0.1 1.1-0.1 1.1l-0.2 0.5v0.2l-0.2 0.4-0.1 0.1-0.1 0.2-0.1 0.1v0.1l-0.2 0.2v0.1l-0.5 0.5h-0.1l-0.1 0.1-0.2 0.1-0.1 0.1-0.3 0.2h-0.3l-0.5 0.2c-0.4 0.1-0.7 0.1-1.1 0.1h-94.7v-9.2h-9v18.4h103.6c7.3 0 13.3-6.1 13.3-13.6v-4.8h-9z"/>
</clipPath>
<g clip-path="url(#_clip8)">
<rect x="29.2" y="124.6" width="117.1" height="12" fill="#898b8d"/>
</g>
<clipPath id="_clip9">
<path d="m137.7 117.1v4.9c0 0.4-0.1 1.1-0.1 1.1l-0.2 0.5v0.2l-0.2 0.4-0.1 0.1-0.1 0.2-0.1 0.1v0.1l-0.2 0.2v0.1l-0.5 0.5h-0.1l-0.1 0.1-0.2 0.1-0.1 0.1-0.3 0.2h-0.3l-0.5 0.2c-0.4 0.1-0.7 0.1-1.1 0.1h-94.7v-9.2h-9v18.4h103.6c7.3 0 13.3-6.1 13.3-13.6v-4.8h-9z"/>
</clipPath>
<g clip-path="url(#_clip9)">
<clipPath id="_clip10">
<path d="m42.7 124.4-13.2 7.1-3.7-7.3 13.2-7.1 3.7 7.3z" clip-rule="nonzero"/>
</clipPath>
<g clip-path="url(#_clip10)">
<g transform="matrix(.93998 -0 -0 .93594 28.091 15.7)">
<use transform="scale(.98026 .9616)" x="1.854" y="112.667" width="13.724px" height="15.386px" xlink:href="#_Image11"/>
</g>
</g>
</g>
<clipPath id="_clip12">
<path d="m137.7 117.1v4.9c0 0.4-0.1 1.1-0.1 1.1l-0.2 0.5v0.2l-0.2 0.4-0.1 0.1-0.1 0.2-0.1 0.1v0.1l-0.2 0.2v0.1l-0.5 0.5h-0.1l-0.1 0.1-0.2 0.1-0.1 0.1-0.3 0.2h-0.3l-0.5 0.2c-0.4 0.1-0.7 0.1-1.1 0.1h-94.7v-9.2h-9v18.4h103.6c7.3 0 13.3-6.1 13.3-13.6v-4.8h-9z"/>
</clipPath>
<g clip-path="url(#_clip12)">
<clipPath id="_clip13">
<path d="m144.7 130.2-10.8-5.8 3.7-7.2 10.8 5.7-3.7 7.3z" clip-rule="nonzero"/>
</clipPath>
<g clip-path="url(#_clip13)">
<g transform="matrix(.93998 -0 -0 .93594 28.091 15.7)">
<use transform="scale(.97267 .99213)" x="115.728" y="109.308" width="13.617px" height="13.89px" xlink:href="#_Image14"/>
</g>
</g>
</g>
<rect x="38.8" y="52.6" width="34.6" height="9.2" fill="#58595b"/>
<clipPath id="_clip15">
<path d="m69.7 69.2-31.3-16.8 3.7-7.4 31.4 16.8-3.8 7.4z" clip-rule="nonzero"/>
</clipPath>
<g clip-path="url(#_clip15)">
<g transform="matrix(.93998 -0 -0 .93594 28.091 15.7)">
<use transform="scale(.98266 .99448)" x="11.16" y="31.479" width="37.341px" height="25.856px" xlink:href="#_Image16"/>
</g>
</g>
<rect x="103.1" y="52.6" width="34.6" height="9.2" fill="#58595b"/>
<clipPath id="_clip17">
<path d="m106.8 69.2 31.4-16.8-3.8-7.4-31.3 16.8 3.7 7.4z" clip-rule="nonzero"/>
</clipPath>
<g clip-path="url(#_clip17)">
<g transform="matrix(.93998 -0 -0 .93594 28.091 15.7)">
<use transform="scale(.98266 .99448)" x="81.206" y="31.479" width="37.341px" height="25.856px" xlink:href="#_Image16"/>
</g>
</g>
<rect x="103.1" y="89.5" width="34.6" height="9.2" fill="#58595b"/>
<clipPath id="_clip18">
<path d="m106.8 82.1 31.4 16.8-3.8 7.4-31.3-16.8 3.7-7.4z" clip-rule="nonzero"/>
</clipPath>
<g clip-path="url(#_clip18)">
<g transform="matrix(.93998 -0 -0 .93594 28.091 15.7)">
<use transform="scale(.98266 .99448)" x="81.206" y="71.339" width="37.341px" height="25.856px" xlink:href="#_Image16"/>
</g>
</g>
<rect x="38.8" y="89.5" width="34.6" height="9.2" fill="#58595b"/>
<clipPath id="_clip19">
<path d="m69.7 82.1-31.3 16.8 3.7 7.4 31.4-16.8-3.8-7.4z" clip-rule="nonzero"/>
</clipPath>
<g clip-path="url(#_clip19)">
<g transform="matrix(.93998 -0 -0 .93594 28.091 15.7)">
<use transform="scale(.98266 .99448)" x="11.16" y="71.339" width="37.341px" height="25.856px" xlink:href="#_Image16"/>
</g>
</g><g fill-rule="nonzero">
<path d="m73.4 52.6v9.2l-43.6-23.3v-9.2l43.6 23.3z" fill="url(#_Linear20)"/>
<path d="m103.1 52.6v9.2l43.6-23.3v-9.2l-43.6 23.3z" fill="url(#_Linear21)"/>
<path d="m103.1 98.8v-9.3l43.6 23.3v9.3l-43.6-23.3z" fill="url(#_Linear22)"/>
<path d="m73.4 98.8v-9.3l-43.6 23.3v9.3l43.6-23.3z" fill="url(#_Linear23)"/>
<path d="m103.1 80.3 25.6 13.7v-9.3l-8.3-4.4h26.3v-9.3h-26.3l8.3-4.4v-9.2l-25.6 13.6v9.3z" fill="#e24525"/>
<path d="m47.8 94 25.6-13.7v-9.3l-25.6-13.6v9.2l8.4 4.4h-26.4v9.3h26.3l-8.3 4.4v9.3z" fill="#e24525"/>
</g></g>
<defs>
<image id="_Image4" width="14px" height="16px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAI0lEQVQokWMsLi7+z0AGYCJH00jRyIguQGwoDyE/jmqkhUYAma0EzxtWDhkAAAAASUVORK5CYII="/>
<image id="_Image7" width="14px" height="14px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAPklEQVQokWNkgILi4uL/DCQARnI0MTAwMDCRqgFuIzm2UWQjC6kaent7GUm2EaaJZI3IgGiNyLbRx8YhrBEAaikMHGN+VycAAAAASUVORK5CYII="/>
<image id="_Image11" width="14px" height="16px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAKUlEQVQokWM0Njb+z0AEOHv2LCMyn4kYTdjAqMbhoZGR2JRDNRtHgkYALcwFtyg+QT8AAAAASUVORK5CYII="/>
<image id="_Image14" width="14px" height="14px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAP0lEQVQokWNkQAPGxsb/0cWwASZiFI1UjYzIHGJDlDo2kmIbAwMDAyOpGmCAvqF69uxZRvrZePbsWUYGBgYGAL1XC0kWB9UkAAAAAElFTkSuQmCC"/>
<image id="_Image16" width="38px" height="26px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAaCAYAAADbhS54AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAPElEQVRIie3OsRGAIAAAMWRKPPefQyagSKXFZ4Jc637e8UPz68BJMVVMFVPFVDFVTBVTxVQxVUwVU8XUBl5UAj8RVzT1AAAAAElFTkSuQmCC"/>
<linearGradient id="_Linear20" x2="1" gradientTransform="matrix(43.56,0,0,43.56,29.84,45.5)" gradientUnits="userSpaceOnUse"><stop stop-color="#a6a8ab" offset="0"/><stop stop-color="#a6a8ab" offset=".24"/><stop stop-color="#404040" offset="1"/></linearGradient>
<linearGradient id="_Linear21" x2="1" gradientTransform="matrix(-43.6 5.3395e-15 -5.3395e-15 -43.6 146.7 45.5)" gradientUnits="userSpaceOnUse"><stop stop-color="#a6a8ab" offset="0"/><stop stop-color="#a6a8ab" offset=".24"/><stop stop-color="#404040" offset="1"/></linearGradient>
<linearGradient id="_Linear22" x2="1" gradientTransform="matrix(-43.56 5.3346e-15 -5.3346e-15 -43.56 146.68 606)" gradientUnits="userSpaceOnUse"><stop stop-color="#a6a8ab" offset="0"/><stop stop-color="#a6a8ab" offset=".24"/><stop stop-color="#404040" offset="1"/></linearGradient>
<linearGradient id="_Linear23" x2="1" gradientTransform="matrix(43.53,0,0,43.53,29.9,606)" gradientUnits="userSpaceOnUse"><stop stop-color="#a6a8ab" offset="0"/><stop stop-color="#a6a8ab" offset=".24"/><stop stop-color="#404040" offset="1"/></linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g><g><g><path fill="#fff" stroke="#356ace" stroke-width="1.5" d="m80.03 122.66c14.46-15.6 24.29-8.67 7.5 2.23-5.34 3.47-3.95 4.48-0.36 3.93 5.07-0.77 7.84 0.2 9.07 1.16 2.94 2.3 4.41 0.59 5.4-1.16 1.97-3.47 8.61 0.3 3.75 3.93-3.8 2.83-3.27 6.02 0.18 7.86 6.39 3.4 20.73 10.14 18.57 17.32-0.88 2.93-2.47 5.69-6.07 1.96-6.75-6.97-11.24-12.92-26.79-15.35-10.04-1.58-20.13-4.21-29.82 0.71-4.56 2.42-10.3 3.98-11.52 1.12-1.59-3.73 6.53-6.8 14.38-7.55 5.1-0.49 9.67-3.83 2.68-5.53-8.61-2.65 1.28-10.2 7.5-8.4 4.05 1.18 4.45-1.06 5.53-2.23z" transform="translate(0 -263.13) matrix(.072143 0 0 .072143 -44.234 303.31) matrix(6.1686 0 0 6.1686 310.87 -1171.1)"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 779 B

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 -263.13)"><g transform="matrix(.072143 0 0 .072143 -44.234 303.31)"><g transform="matrix(4.2693 0 0 4.2693 375.06 -875.07)"><g fill="#fff"><path d="m55.768 116.33h5.6254v26.531h-5.6254z"/><path d="m83.567 142.86h-18.761v-3.9469l6.7371-6.8105c1.9948-2.0436 3.2979-3.4605 3.9102-4.2498 0.61183-0.78977 1.0522-1.5205 1.3217-2.1937 0.26898-0.67315 0.4037-1.3705 0.4037-2.0928 0-1.0769-0.29639-1.8787-0.8901-2.405-0.59371-0.52589-1.3858-0.78929-2.3772-0.78929-1.0406 0-2.0501 0.23877-3.0289 0.71589-0.97976 0.47756-2.0013 1.1568-3.0661 2.0376l-3.0838-3.6528c1.3217-1.1261 2.4167-1.9214 3.2859-2.3865 0.86873-0.46502 1.8174-0.8232 2.8454-1.0741 1.0281-0.25087 2.1783-0.3763 3.4512-0.3763 1.6766 0 3.1576 0.30615 4.4426 0.91798 1.285 0.61229 2.2824 1.4685 2.9922 2.57 0.70938 1.1015 1.0648 2.3623 1.0648 3.7815 0 1.2367-0.21742 2.3958-0.65178 3.4791-0.43437 1.0829-1.1075 2.1936-2.0195 3.3318-0.91147 1.1382-2.5179 2.76-4.8189 4.8644l-3.4512 3.2496v0.2569h11.694z"/><path d="m92.214 128.81h1.8508c1.73 0 3.0243-0.34145 3.8837-1.0253 0.85851-0.68337 1.2882-1.6785 1.2882-2.9853 0-1.3184-0.36003-2.2922-1.0796-2.9216-0.72008-0.62854-1.8485-0.94352-3.3843-0.94352h-2.5588zm12.703-4.2103c0 2.8557-0.89243 5.0391-2.6768 6.5513-1.7848 1.5126-4.3223 2.2684-7.6128 2.2684h-2.4134v9.4362h-5.6254v-26.531h8.4746c3.218 0 5.6644 0.69266 7.3406 2.078 1.6752 1.3853 2.5133 3.4508 2.5133 6.1968"/></g><path d="m121.18 137.1c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#ffc434"/><path d="m121.18 122.25c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#60ab60"/><path d="m136.03 137.1c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#e15647"/><path d="m136.03 122.25c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#ffc434"/><path d="m150.88 137.1c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#ffc434"/><path d="m150.88 122.25c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#60ab60"/><path d="m165.73 137.1c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#60ab60"/><path d="m165.73 122.25c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#e15647"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 -263.13)"><g transform="matrix(.072143 0 0 .072143 -44.234 303.31)"><g transform="matrix(4.2693 0 0 4.2693 375.06 -875.07)"><g fill="#231f20"><path d="m55.768 116.33h5.6254v26.531h-5.6254z"/><path d="m83.567 142.86h-18.761v-3.9469l6.7371-6.8105c1.9948-2.0436 3.2979-3.4605 3.9102-4.2498 0.61183-0.78977 1.0522-1.5205 1.3217-2.1937 0.26898-0.67315 0.4037-1.3705 0.4037-2.0928 0-1.0769-0.29639-1.8787-0.8901-2.405-0.59371-0.52589-1.3858-0.78929-2.3772-0.78929-1.0406 0-2.0501 0.23877-3.0289 0.71589-0.97976 0.47756-2.0013 1.1568-3.0661 2.0376l-3.0838-3.6528c1.3217-1.1261 2.4167-1.9214 3.2859-2.3865 0.86873-0.46502 1.8174-0.8232 2.8454-1.0741 1.0281-0.25087 2.1783-0.3763 3.4512-0.3763 1.6766 0 3.1576 0.30615 4.4426 0.91798 1.285 0.61229 2.2824 1.4685 2.9922 2.57 0.70938 1.1015 1.0648 2.3623 1.0648 3.7815 0 1.2367-0.21742 2.3958-0.65178 3.4791-0.43437 1.0829-1.1075 2.1936-2.0195 3.3318-0.91147 1.1382-2.5179 2.76-4.8189 4.8644l-3.4512 3.2496v0.2569h11.694z"/><path d="m92.214 128.81h1.8508c1.73 0 3.0243-0.34145 3.8837-1.0253 0.85851-0.68337 1.2882-1.6785 1.2882-2.9853 0-1.3184-0.36003-2.2922-1.0796-2.9216-0.72008-0.62854-1.8485-0.94352-3.3843-0.94352h-2.5588zm12.703-4.2103c0 2.8557-0.89243 5.0391-2.6768 6.5513-1.7848 1.5126-4.3223 2.2684-7.6128 2.2684h-2.4134v9.4362h-5.6254v-26.531h8.4746c3.218 0 5.6644 0.69266 7.3406 2.078 1.6752 1.3853 2.5133 3.4508 2.5133 6.1968"/></g><path d="m121.18 137.1c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#ffc434"/><path d="m121.18 122.25c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#60ab60"/><path d="m136.03 137.1c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#e15647"/><path d="m136.03 122.25c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#ffc434"/><path d="m150.88 137.1c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#ffc434"/><path d="m150.88 122.25c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#60ab60"/><path d="m165.73 137.1c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#60ab60"/><path d="m165.73 122.25c0-3.4494-2.7962-6.2456-6.2456-6.2456-3.4494 0-6.2456 2.7962-6.2456 6.2456 0 3.4494 2.7962 6.2456 6.2456 6.2456 3.4494 0 6.2456-2.7962 6.2456-6.2456" fill="#e15647"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,23 +0,0 @@
var feedback = document.forms.feedback
/* Show feedback */
feedback.hidden = false
feedback.addEventListener("submit", function(ev) {
ev.preventDefault()
/* Retrieve page and feedback value */
var page = document.location.pathname
var data = ev.submitter.getAttribute("data-md-value")
/* Send feedback value */
console.log(page, data)
plausible(data)
/* Disable form and show note, if given */
feedback.firstElementChild.disabled = true
var note = feedback.querySelector(
".md-feedback__note [data-md-value='" + data + "']"
)
if (note)
note.hidden = false
})

View File

@ -1,34 +0,0 @@
/* Homepage hero section */
.mdx-hero {
color: var(--pg-hero-color);
margin: 0 0.8rem;
text-align: center;
}
.mdx-hero h1 {
color: currentcolor;
margin-bottom: 1rem;
font-size: 2.6rem;
}
@media screen and (max-width: 29.9375em) {
.mdx-hero h1 {
font-size: 1.4rem;
}
}
.mdx-hero__content {
margin-top: 2rem;
padding-bottom: 0rem;
}
[data-md-color-scheme="slate"] .mdx-hero .md-button--primary {
color: var(--md-primary-fg-color);
}
.mdx-hero .md-button--primary {
color: var(--md-primary-fg-color);
background-color: var(--pg-hero-color);
border-color: transparent;
margin-right: 0.5rem;
margin-top: 0.5rem;
}
nav[class="md-tabs"] {
border-bottom: none;
}

View File

@ -0,0 +1,81 @@
---
title: "Account Creation"
icon: 'material/account-plus'
description: Creating accounts online is practically an internet necessity, take these steps to make sure you stay private.
---
Often people sign up for services without thinking. Maybe it's a streaming service so you can watch that new show everyone's talking about, or an account that gives you a discount for your favorite fast food place. Whatever the case may be, you should consider the implications for your data now and later on down the line.
There are risks associated with every new service that you use. Data breaches; disclosure of customer information to third parties; rogue employees accessing data; all are possibilities that must be considered when giving your information out. You need to be confident that you can trust the service, which is why we don't recommend storing valuable data on anything but the most mature and battle-tested products. That usually means services which provide E2EE and have undergone a cryptographic audit. An audit increases assurance that the product was designed without glaring security issues caused by an inexperienced developer.
It can also be difficult to delete the accounts on some services. Sometimes [overwriting data](account-deletion.md#overwriting-account-information) associated with an account can be possible, but in other cases the service will keep an entire history of changes to the account.
## Terms of Service & Privacy Policy
The ToS are the rules that you agree to follow when using the service. With larger services these rules are often enforced by automated systems. Sometimes these automated systems can make mistakes. For example, you may be banned or locked out of your account on some services for using a VPN or VOIP number. Appealing such bans is often difficult, and involves an automated process too, which isn't always successful. This would be one of the reasons why we wouldn't suggest using Gmail for email as an example. Email is crucial for access to other services you might have signed up for.
The Privacy Policy is how the service says they will use your data and it is worth reading so that you understand how your data will be used. A company or organization might not be legally obligated to follow everything contained in the policy (it depends on the jurisdiction). We would recommend having some idea what your local laws are and what they permit a provider to collect.
We recommend looking for particular terms such as "data collection", "data analysis", "cookies", "ads" or "3rd-party" services. Sometimes you will be able to opt-out from data collection or from sharing your data, but it is best to choose a service that respects your privacy from the start.
Keep in mind you're also placing your trust in the company or organization and that they will comply with their own privacy policy.
## Authentication methods
There are usually multiple ways to sign up for an account, each with their own benefits and drawbacks.
### Email and password
The most common way to create a new account is by an email address and password. When using this method, you should use a password manager and follow [best practices](passwords-overview.md) regarding passwords.
!!! tip
You can use your password manager to organize other authentication methods too! Just add the new entry and fill the appropriate fields, you can add notes for things like security questions or a backup key.
You will be responsible for managing your login credentials. For added security, you can set up [MFA](multi-factor-authentication.md) on your accounts.
[Recommended password managers](../passwords.md){ .md-button }
#### 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.
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.
[Recommended email aliasing services](../email.md#email-aliasing-services){ .md-button }
### Single sign-on
!!! note
We are discussing Single sign-on for personal use, not enterprise users.
Single sign-on (SSO) is an authentication method that allows you to register for a service without sharing much information, if any. Whenever you see something along the lines of "Sign-in with *provider name*" on a registration form it's SSO.
When you choose single sign-on in a website, it will prompt your SSO provider login page and after that your account will be connected. Your password won't be shared but some basic information 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**: no risk of being involved in a [data breach](https://en.wikipedia.org/wiki/Data_breach) because the website does not store your credentials.
- **Ease of use**: multiple accounts are managed by a single login.
But there are disadvantages:
- **Privacy**: a SSO provider will know the services you use.
- **Centralization**: if your SSO account gets compromised or you aren't able to login to it, all other accounts connected to it are affected.
SSO can be especially useful in those situations where you could benefit from deeper integration between services. For example, one of those services may offer SSO for the others. Our recommendation is to limit SSO to only where you need it and protect the main account with [MFA](multi-factor-authentication.md).
All services that use SSO will be as secure as your SSO account. For example, if you want to secure an account with a hardware key but that service doesn't support hardware keys, you can secure your SSO account with a hardware key and now you essentially have hardware MFA on all your accounts. It is worth noting though that weak authentication on your SSO account means that any account tied to that login will also be weak.
### Phone number
We recommend avoiding services that require a phone number for sign up. A phone number can identity you across multiple services and depending on data sharing agreements this will make your usage easier to track, particularly if one of those services is breached as the phone number is often **not** encrypted.
You should avoid giving out your real phone number if you can. Some services will allow the use of VOIP numbers, however these often trigger fraud detection systems, causing an account to be locked down, so we don't recommend that for important accounts.
In many cases you will need to provide a number that you can receive SMS or calls from, particularly when shopping internationally, in case there is a problem with your order at border screening. It's common for services to use your number as a verification method; don't let yourself get locked out of an important account because you wanted to be clever and give a fake number!
### Username and password
Some services allow you to register without using an email address and only require you to set a username and password. These services may provide increased anonymity when combined with a VPN or Tor. Keep in mind that for these accounts there will most likely be **no way to recover your account** in the event you forget your username or password.

View File

@ -1,6 +1,7 @@
---
title: "Account Deletion"
icon: 'material/account-remove'
description: It's easy to accumulate a large number of internet accounts, here are some tips on how to prune your collection.
---
Over time, it can be easy to accumulate a number of online accounts, many of which you may no longer use. Deleting these unused accounts is an important step in reclaiming your privacy, as dormant accounts are vulnerable to data breaches. A data breach is when a service's security is compromised and protected information is viewed, transmitted, or stolen by unauthorized actors. Data breaches are unfortunately all [too common](https://haveibeenpwned.com/PwnedWebsites) these days, and so practicing good digital hygiene is the best way to minimize the impact they have on your life. The goal of this guide then is to help navigate you through the irksome process of account deletion, often made difficult by [deceptive design](https://www.deceptive.design/), for the betterment of your online presence.
@ -44,13 +45,13 @@ Residents of the EEA have additional rights regarding data erasure specified in
In some situations where you plan to abandon an account, it may make sense to overwrite the account information with fake data. Once you've made sure you can log in, change all the information in your account to falsified information. The reason for this is that many sites will retain information you previously had even after account deletion. The hope is that they will overwrite the previous information with the newest data you entered. However, there is no guarantee that there won't be backups with the prior information.
For the account email, either create a new alternate email account via your provider of choice or create an alias using an [email aliasing service](/email/#email-aliasing-services). You can then delete your alternate email address once you are done. We recommend against using temporary email providers, as oftentimes it is possible to reactivate temporary emails.
For the account email, either create a new alternate email account via your provider of choice or create an alias using an [email aliasing service](../email.md#email-aliasing-services). You can then delete your alternate email address once you are done. We recommend against using temporary email providers, as oftentimes it is possible to reactivate temporary emails.
### Delete
You can check [JustDeleteMe](https://justdeleteme.xyz) for instructions on deleting the account for a specific service. Some sites will graciously have a "Delete Account" option, while others will go as far as to force you to speak with a support agent. The deletion process can vary from site to site, with account deletion being impossible on some.
For services that don't allow account deletion, the best thing to do is falsify all your information as previously mentioned and strengthen account security. To do so, enable [MFA](multi-factor-authentication.md) and any extra security features offered. As well, change the password to a randomly-generated one that is the maximum allowed size (a [password manager](/passwords/#local-password-managers) can be useful for this).
For services that don't allow account deletion, the best thing to do is falsify all your information as previously mentioned and strengthen account security. To do so, enable [MFA](multi-factor-authentication.md) and any extra security features offered. As well, change the password to a randomly-generated one that is the maximum allowed size (a [password manager](../passwords.md) can be useful for this).
If you're satisfied that all information you care about is removed, you can safely forget about this account. If not, it might be a good idea to keep the credentials stored with your other passwords and occasionally re-login to reset the password.

View File

@ -0,0 +1,94 @@
---
title: "Common Misconceptions"
icon: 'material/robot-confused'
description: Privacy isn't a straightforward topic, and it's easy to get caught up in marketing claims and other disinformation.
schema:
-
"@context": https://schema.org
"@type": FAQPage
mainEntity:
-
"@type": Question
name: Is open source software inherently secure?
acceptedAnswer:
"@type": Answer
text: |
Whether the source code is available and how software is licensed does not inherently affect its security in any way. Open-source software has the potential to be more secure than proprietary software, but there is absolutely no guarantee this is the case. When you evaluate software, you should look at the reputation and security of each tool on an individual basis.
-
"@type": Question
name: Can shifting trust to another provider increase privacy?
acceptedAnswer:
"@type": Answer
text: |
We talk about "shifting trust" a lot when discussing solutions like VPNs (which shift the trust you place in your ISP to the VPN provider). While this protects your browsing data from your ISP specifically, the VPN provider you choose still has access to your browsing data: Your data isn't completely secured from all parties.
-
"@type": Question
name: Are privacy-focused solutions inherently trustworthy?
acceptedAnswer:
"@type": Answer
text: |
Focusing solely on the privacy policies and marketing of a tool or provider can blind you to its weaknesses. When you're looking for a more private solution, you should determine what the underlying problem is and find technical solutions to that problem. For example, you may want to avoid Google Drive, which gives Google access to all of your data. The underlying problem in this case is lack of E2EE, so you should make sure that the provider you switch to actually implements E2EE, or use a tool (like Cryptomator) which provides E2EE on any cloud provider. Switching to a "privacy-focused" provider (that doesn't implement E2EE) doesn't solve your problem: it just shifts trust from Google to that provider.
-
"@type": Question
name: How complicated should my threat model be?
acceptedAnswer:
"@type": Answer
text: |
We often see people describing privacy threat models that are overly complex. Often, these solutions include problems like many different email accounts or complicated setups with lots of moving parts and conditions. The replies are usually answers to "What is the best way to do X?"
Finding the "best" solution for yourself doesn't necessarily mean you are after an infallible solution with dozens of conditions—these solutions are often difficult to work with realistically. As we discussed previously, security often comes at the cost of convenience.
---
## "Open-source software is always secure" or "Proprietary software is more secure"
These myths stem from a number of prejudices, but whether the source code is available and how software is licensed does not inherently affect its security in any way. ==Open-source software has the *potential* to be more secure than proprietary software, but there is absolutely no guarantee this is the case.== When you evaluate software, you should look at the reputation and security of each tool on an individual basis.
Open-source software *can* be audited by third-parties, and is often more transparent about potential vulnerabilities than proprietary counterparts. It also allows you to review the code and disable any suspicious functionality you find yourself. However, *unless you do so*, there is no guarantee that code has ever been evaluated, especially with smaller software projects. The open development process has also sometimes been exploited to introduce new vulnerabilities into even large projects.[^1]
On the flip side, proprietary software is less transparent, but that doesn't imply that it's not secure. Major proprietary software projects can be audited internally and by third-party agencies, and independent security researchers can still find vulnerabilities with techniques like reverse engineering.
To avoid biased decisions, it's *vital* that you evaluate the privacy and security standards of the software you use.
## "Shifting trust can increase privacy"
We talk about "shifting trust" a lot when discussing solutions like VPNs (which shift the trust you place in your ISP to the VPN provider). While this protects your browsing data from your ISP *specifically*, the VPN provider you choose still has access to your browsing data: Your data isn't completely secured from all parties. This means that:
1. You must exercise caution when choosing a provider to shift trust to.
2. You should still use other techniques, like E2EE, to protect your data completely. Merely distrusting one provider to trust another is not securing your data.
## "Privacy-focused solutions are inherently trustworthy"
Focusing solely on the privacy policies and marketing of a tool or provider can blind you to its weaknesses. When you're looking for a more private solution, you should determine what the underlying problem is and find technical solutions to that problem. For example, you may want to avoid Google Drive, which gives Google access to all of your data. The underlying problem in this case is lack of E2EE, so you should make sure that the provider you switch to actually implements E2EE, or use a tool (like [Cryptomator](../encryption.md#cryptomator-cloud)) which provides E2EE on any cloud provider. Switching to a "privacy-focused" provider (that doesn't implement E2EE) doesn't solve your problem: it just shifts trust from Google to that provider.
The privacy policies and business practices of providers you choose are very important, but should be considered secondary to technical guarantees of your privacy: You shouldn't shift trust to another provider when trusting a provider isn't a requirement at all.
## "Complicated is better"
We often see people describing privacy threat models that are overly complex. Often, these solutions include problems like many different email accounts or complicated setups with lots of moving parts and conditions. The replies are usually answers to "What is the best way to do *X*?"
Finding the "best" solution for yourself doesn't necessarily mean you are after an infallible solution with dozens of conditions—these solutions are often difficult to work with realistically. As we discussed previously, security often comes at the cost of convenience. Below, we provide some tips:
1. ==Actions need to serve a particular purpose:== think about how to do what you want with the fewest actions.
2. ==Remove human failure points:== We fail, get tired, and forget things. To maintain security, avoid relying on manual conditions and processes that you have to remember.
3. ==Use the right level of protection for what you intend.== We often see recommendations of so-called law-enforcement or subpoena-proof solutions. These often require specialist knowledge and generally aren't what people want. There's no point in building an intricate threat model for anonymity if you can be easily de-anonymized by a simple oversight.
So, how might this look?
One of the clearest threat models is one where people *know who you are* and one where they do not. There will always be situations where you must declare your legal name and there are others where you don't need to.
1. **Known identity** - A known identity is used for things where you must declare your name. There are many legal documents and contracts where a legal identity is required. This could range from opening a bank account, signing a property lease, obtaining a passport, customs declarations when importing items, or otherwise dealing with your government. These things will usually lead to credentials such as credit cards, credit rating checks, account numbers, and possibly physical addresses.
We don't suggest using a VPN or Tor for any of these things, as your identity is already known through other means.
!!! tip
When shopping online, the use of a [parcel locker](https://en.wikipedia.org/wiki/Parcel_locker) can help keep your physical address private.
2. **Unknown identity** - An unknown identity could be a stable pseudonym that you regularly use. It is not anonymous because it doesn't change. If you're part of an online community, you may wish to retain a persona that others know. This pseudonym isn't anonymous because—if monitored for long enough—details about the owner can reveal further information, such as the way they write, their general knowledge about topics of interest, etc.
You may wish to use a VPN for this, to mask your IP address. Financial transactions are more difficult to mask: You could consider using anonymous cryptocurrencies, such as [Monero](https://www.getmonero.org/). Employing altcoin shifting may also help to disguise where your currency originated. Typically, exchanges require KYC (know your customer) to be completed before they'll allow you to exchange fiat currency into any kind of cryptocurrency. Local meet-up options may also be a solution; however, those are often more expensive and sometimes also require KYC.
3. **Anonymous identity** - Even with experience, anonymous identities are difficult to maintain over long periods of time. They should be short-term and short-lived identities which are rotated regularly.
Using Tor can help with this. It is also worth noting that greater anonymity is possible through asynchronous communication: Real-time communication is vulnerable to analysis of typing patterns (i.e. more than a paragraph of text, distributed on a forum, via email, etc.)
[^1]: One notable example of this is the [2021 incident in which University of Minnesota researchers introduced three vulnerabilities into the Linux kernel development project](https://cse.umn.edu/cs/linux-incident).

View File

@ -1,193 +0,0 @@
---
title: "Common Threats"
icon: 'material/eye-outline'
---
Broadly speaking, we categorize our recommendations into these general categories of [threats](threat-modeling.md) or goals that apply to most people. ==You may be concerned with none, one, a few, or all of these possibilities==, and the tools and services you use depend on what your goals are. You may have specific threats outside of these categories as well, which is perfectly fine! The important part is developing an understanding of the benefits and shortcomings of the tools you choose to use, because virtually none of them will protect you from every threat imaginable.
- <span class="pg-purple">:material-incognito: Anonymity</span> - Shielding your online activity from your real-life identity, protecting you from people who are trying to uncover *your* identity specifically
- <span class="pg-red">:material-target-account: Targeted Attacks</span> - Being protected from dedicated hackers or other malicious agents trying to gain access to *your* data or devices specifically
- <span class="pg-orange">:material-bug-outline: Passive Attacks</span> - Being protected from things like malware, data breaches, and other attacks that are made against many people at once
- <span class="pg-teal">:material-server-network: Service Providers</span> - Protecting your data from service providers, e.g. with end-to-end encryption rendering your data unreadable to the server
- <span class="pg-blue">:material-eye-outline: Mass Surveillance</span> - Protection from government agencies, organizations, websites, and services working together to track your activities
- <span class="pg-brown">:material-account-cash: Surveillance Capitalism</span> - Protecting yourself from big advertising networks like Google and Facebook, as well as a myriad of other third-party data collectors
- <span class="pg-green">:material-account-search: Public Exposure</span> - Limiting the information about you online that is accessible to search engines or the general public
- <span class="pg-blue-gray">:material-close-outline: Censorship</span> - Avoiding censored access to information and being censored yourself when speaking online
Some of these threats may weigh more than others depending on your specific concerns. For example, a software developer with access to valuable or critical data may be primarily concerned with <span class="pg-red">:material-target-account: Targeted Attacks</span>, but beyond that they probably still want to protect their personal data from being swept up in <span class="pg-blue">:material-eye-outline: Mass Surveillance</span> programs. Similarly, an "Average Joe" may be primarily concerned with <span class="pg-green">:material-account-search: Public Exposure</span> of their personal data, but they should still be wary of security-focused issues such as <span class="pg-orange">:material-bug-outline: Passive Attacks</span> like malware affecting their devices.
## Anonymity vs Privacy
<span class="pg-purple">:material-incognito: Anonymity</span>
Anonymity is often confused for privacy, but it's a distinct concept. While privacy is a set of choices you make about how your data is used and shared, anonymity is the complete disassociation of your online activities from your real-life identity.
Whistleblowers and journalists, for example, can have a much more extreme threat model requiring total anonymity. That's not only hiding what they do, what data they have, and not getting hacked by hackers or governments, but also hiding who they are entirely. They will sacrifice any kind of convenience if it means protecting their anonymity, privacy, or security, as their lives could depend on it. Most regular people do not need to go so far.
## Security and Privacy
<span class="pg-orange">:material-bug-outline: Passive Attacks</span>
Security and privacy are often conflated, because you need security to obtain any semblance of privacy: Using tools which appear private is futile if they could easily be exploited by attackers to release your data later. However, the inverse is not necessarily true; the most secure service in the world *isn't necessarily* private. The best example of this is trusting data to Google, who, given their scale, have had minimal security incidents by employing industry-leading security experts to secure their infrastructure. Even though Google provides a very secure service, very few would consider their data private in Google's free consumer products (Gmail, YouTube, etc).
When it comes to application security, we generally do not (and sometimes cannot) know if the software that we use is malicious, or might one day become malicious. Even with the most trustworthy developers, there is generally no guarantee that their software does not have a serious vulnerability that could later be exploited.
To minimize the potential damage that a malicious piece of software can do, you should employ security by compartmentalization. This could come in the form of using different computers for different jobs, using virtual machines to separate different groups of related applications, or using a secure operating system with a strong focus on application sandboxing and mandatory access control.
!!! tip
Mobile operating systems are generally safer than desktop operating systems when it comes to application sandboxing. Apps cannot obtain root access and only have access to system resources which you grant them.
Desktop operating systems generally lag behind on proper sandboxing. ChromeOS has similar sandboxing properties to Android, and macOS has full system permission control and opt-in (for developers) sandboxing for applications, however these operating systems do transmit identifying information to their respective OEMs. Linux tends to not submit information to system vendors, but it has poor protection against exploits and malicious apps. This can be mitigated somewhat with specialized distributions which make heavy use of virtual machines or containers, such as Qubes OS.
<span class="pg-red">:material-target-account: Targeted Attacks</span>
Targeted attacks against a specific user are more problematic to deal with. Common avenues of attack include sending malicious documents via emails, exploiting vulnerabilities in the browser and operating systems, and physical attacks. If this is a concern for you, you may have to employ more advanced threat mitigation strategies.
!!! tip
**Web browsers**, **email clients**, and **office applications** all typically run untrusted code sent to you from third-parties by design. Running multiple virtual machines to separate applications like these from your host system as well as each other is one technique you can use to avoid an exploit in these applications from compromising the rest of your system. Technologies like Qubes OS or Microsoft Defender Application Guard on Windows provide convenient methods to do this seamlessly, for example.
If you are concerned about **physical attacks** you should use an operating system with a secure verified boot implementation, such as Android, iOS, macOS, [Windows (with TPM)](https://docs.microsoft.com/en-us/windows/security/information-protection/secure-the-windows-10-boot-process). You should also make sure that your drive is encrypted, and that the operating system uses a TPM or Secure [Enclave](https://support.apple.com/guide/security/secure-enclave-sec59b0b31ff/1/web/1) or [Element](https://developers.google.com/android/security/android-ready-se) for rate limiting attempts to enter the encryption passphrase. You should avoid sharing your computer with people you don't trust, because most desktop operating systems do not encrypt data separately per-user.
## Privacy From Service Providers
<span class="pg-teal">:material-server-network: Service Providers</span>
We live in a world where almost everything is connected to the internet. Our "private" messages, emails, social interactions are typically stored on a server somewhere. Generally, when you send someone a message, that message is then stored on a server, and when your friend wants to read the message, the server will show it to them.
The obvious problem with this is that the service provider (or a hacker who has compromised the server) can look into your "private" conversations whenever and however they want, without you ever knowing. This applies to many common services like SMS messaging, Telegram, Discord, and so on.
Thankfully, end-to-end encryption can alleviate this issue by encrypting communications between you and your desired recipients before they are even sent to the server. The confidentiality of your messages is guaranteed, so long as the service provider does not have access to the private keys of either party.
??? note "Note on web-based encryption"
In practice, the effectiveness of different end-to-end encryption implementations varies. Applications such as [Signal](../real-time-communication.md#signal) run natively on your device, and every copy of the application is the same across different installations. If the service provider were to backdoor their application in an attempt to steal your private keys, that could later be detected using reverse engineering.
On the other hand, web based end-to-end encryption implementations such as Proton Mail's webmail or Bitwarden's web vault rely on the server dynamically serving JavaScript code to the browser to handle cryptographic operations. A malicious server could target a specific user and send them malicious JavaScript code to steal their encryption key, and it would be extremely hard for the user to ever notice such a thing. Even if the user does notice the attempt to steal their key, it would be incredibly hard to prove that it is the provider trying to do so, because the server can choose to serve different web clients to different users.
Therefore, when relying on end-to-end encryption, you should choose to use native applications over web clients whenever possible.
Even with end-to-end encryption, service providers can still profile you based on **metadata**, which is typically not protected. While the service provider could not read your messages to see what you're saying, they can still observe things like who you're talking to, how often you message them, and what times you're typically active. Protection of metadata is fairly uncommon, and you should pay close attention to the technical documentation of the software you are using to see if there is any metadata minimization or protection at all, if that is a concern for you.
## Mass Surveillance Programs
Mass surveillance is an effort to surveil many or all of a given population. It often refers to government programs such as the ones [disclosed by Edward Snowden in 2013](https://en.wikipedia.org/wiki/Global_surveillance_disclosures_(2013%E2%80%93present)). However, it can also be carried out by corporations, either on behalf of government agencies or by their own initiative.
Online, you can be tracked via a wide variety of methods, including but not limited to:
- Your IP address
- Browser cookies
- Data you submit to websites
- Your browser or device fingerprint
- Payment method correlation
Therefore, your goals could be to segregate your online identities from each other, to blend in with other users, and to simply avoid giving out identifying information to anyone as much as possible.
<span class="pg-blue">:material-eye-outline: Mass Surveillance</span>
Governments often cite mass surveillance programs as necessary to combat terrorism and prevent crime, however it is most often used to disproportionately target minorities, political dissidents and many other groups to create a chilling effect on free speech.
!!! quote "ACLU: [The Privacy Lesson of 9/11: Mass Surveillance is Not the Way Forward](https://www.aclu.org/news/national-security/the-privacy-lesson-of-9-11-mass-surveillance-is-not-the-way-forward)"
In the face of [Edward Snowden's disclosures of government programs such as [PRISM](https://en.wikipedia.org/wiki/PRISM) and [Upstream](https://en.wikipedia.org/wiki/Upstream_collection)], intelligence officials also admitted that the NSA had for years been secretly collecting records about virtually every Americans phone calls — whos calling whom, when those calls are made, and how long they last. This kind of information, when amassed by the NSA day after day, can reveal incredibly sensitive details about peoples lives and associations, such as whether they have called a pastor, an abortion provider, an addiction counselor, or a suicide hotline.
Despite growing mass surveillance in the United States, the government has found that mass surveillance programs like Section 215 have had "little unique value" with respect to stopping actual crimes or terrorist plots, with efforts largely duplicating the FBI's own targeted surveillance programs.[^1]
<span class="pg-brown">:material-account-cash: Surveillance Capitalism</span>
> Surveillance capitalism is an economic system centered around the capture and commodification of personal data for the core purpose of profit-making.[^2]
Tracking and surveillance by private corporations is a growing concern for many as well. Pervasive ad networks like those operated by Google and Facebook span the internet far beyond just the sites they control, tracking your actions along the way. Using tools like content blockers to limit network requests to their servers, and reading the privacy policies of the services you use can help you avoid many basic adversaries, but can never completely protect you from all tracking.[^3]
Additionally, even companies outside of the ad-tech/tracking space can share your information with [data brokers](https://en.wikipedia.org/wiki/Information_broker) (like Cambridge Analytica, Experian, or Datalogix) or other parties, so you can't automatically assume your data is safe merely because the service you are using doesn't fall within a typical data sharing/tracking category. The strongest protection against corporate data collection is to always encrypt or obfuscate your data whenever possible to make it as difficult as possible for different providers to correlate data with each other and build a profile on you.
## Limiting Public Information
<span class="pg-green">:material-account-search: Public Exposure</span>
The best way to ensure your data is private is to simply not put it out there in the first place. Deleting information you find about yourself online is one of the best first steps you can take to regain your privacy.
- [View our guide on account deletion :hero-arrow-circle-right-fill:](account-deletion.md)
On sites where you do share information, checking the privacy settings of your account to limit how widely that data is spread is very important. For example, if your accounts have a "private mode," enable it to make sure your account isn't being indexed by search engines and can't be viewed by people you don't vet beforehand.
If you have already submitted your real information to a number of sites which shouldn't have it, consider employing disinformation tactics such as submitting fictitious information related to the same online identity to make your real information indistinguishable from the false information.
## Avoiding Censorship
<span class="pg-blue-gray">:material-close-outline: Censorship</span>
Censorship online can be carried out to varying degrees by actors including totalitarian governments, network administrators, and service providers seeking to control the speech of their users and the information they can access. These efforts to filter the internet will always be incompatible with the ideals of free speech.
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://www.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 to circumvent it, and support platforms which provide censorship-resistant communication such as Matrix, which has no centralized account authority which can close down accounts arbitrarily.
!!! important
While simply evading censorship itself is relatively easy, hiding the fact that you are evading the censorship system from the censors can be very problematic.
You should consider what aspects of the network your adversary can observe, and whether you have plausible deniability for your actions. For example, using encrypted DNS can help you bypass rudimentary censorship systems based solely on DNS, but it cannot truly hide what you are visiting from your ISP. A VPN or Tor can help hide what you are visiting from the network administrators, but cannot hide that you are using those networks. Pluggable transports like Obfs4proxy, Meek or Shadowsocks can help you evade firewalls that block common VPN protocols or Tor, but an adversary can still figure out that you are actively trying to bypass their censorship system as opposed to just protecting your privacy through probing or deep packet inspection.
You must always consider the risks involved with trying to bypass censorship, what the potential consequences are, and how sophisticated your adversary may be. Be extra cautious with your software selection and have a backup plan in case you are caught.
## Common Misconceptions
:material-numeric-1-circle: **Open-source software is always secure** or **Proprietary software is more secure**
These myths stem from a number of prejudices, but the source-availability and licensure of a software product does not inherently affect its security in any way. ==Open-source software has the *potential* to be more secure than proprietary software, but there is absolutely no guarantee this is the case.== When you evaluate software, you need to look at the reputation and security of each tool on an individual basis.
Open-source software *can* be audited by third-parties and is often more transparent regarding potential vulnerabilities than their proprietary counterparts. They can also be more flexible, allowing you to delve into the code and disable any suspicious functionality you find yourself. However, unless you review the code yourself there is no guarantee that code has ever been evaluated, especially with smaller software projects, and the open development process can sometimes be exploited by malicious parties to introduce new vulnerabilities into even large projects.[^4]
On the flip side, proprietary software is less transparent, but that does not imply it is not secure. Major proprietary software projects can be audited internally and by third-party agencies, and independent security researchers can still find vulnerabilities with techniques like reverse engineering.
At the end of the day, it is **vital** that you research and evaluate the privacy and security properties of each piece of software being used and avoid making decisions based on biases.
:material-numeric-2-circle: **Shifting trust can increase privacy**
We talk about "shifting trust" a lot when discussing solutions like VPNs, which shift the trust you place in your ISP to the VPN provider. While this protects your browsing data from your ISP specifically, the VPN provider you choose still has access to your browsing data: Your data is not yet completely secured from all parties. This means that:
1. You need to exercise caution when choosing a provider to shift trust to, rather than choosing blindly.
2. You still need to employ other techniques like end-to-end encryption to protect your data completely, merely distrusting one provider to trust another is not hiding your data.
:material-numeric-3-circle: **Privacy-focused solutions are inherently trustworthy**
Focusing solely on the privacy policies and marketing of a tool or provider can blind you to its weaknesses. When you're looking for a privacy solution, you should determine what the underlying problem is and find technical solutions to that problem. For example, you may want to avoid Google Drive, which gives Google access to all of your data. The underlying problem, in this case, is a lack of end-to-end encryption, so you should make sure the provider you switch to actually implements end-to-end encryption or use a tool like Cryptomator which provides end-to-end encryption on any cloud provider. Blindly switching to a "privacy-focused" provider which does not provide end-to-end encryption does not solve your problem, it merely shifts trust from Google to that provider.
The privacy policies and business practices of a provider you choose are very important, but should be considered secondary to technical guarantees of your privacy: Don't elect to merely shift trust to another provider when trusting a provider isn't a requirement at all.
:material-numeric-4-circle: **Complicated is better**
We often see people describing privacy threat models that are overly complex. Often, these solutions include problems like many different email accounts or complicated setups with a lot of moving parts and conditions. The replies are usually answers to, "What is the best way to do X?".
Finding the "best" solution for yourself doesn't necessarily mean you are after an infallible solution with dozens of conditions—these solutions are often difficult to work with realistically. As we discussed previously, security often comes at the cost of convenience. Below, we provide some tips:
1. <mark>Actions need to serve a particular purpose</mark>, think about how to do what you want with the least amount of actions.
2. <mark>Remove human failure points</mark> (don't have a bunch of conditions you must remember to do what with which accounts). Humans fail, they get tired, they forget things... don't have many conditions or manual processes you must remember in order to maintain operational security.
3. <mark>Use the right level of protection for what you intend.</mark> We often see recommendations of so-called law-enforcement, subpoena proof solutions. These require a lot of special case knowledge (knowing about how things truly work under the hood) and are generally not what people want. There is no point in building an intricately anonymous threat model if you can be easily de-anonymized by a simple oversight.
So, how might this look?
One of the clearest threat models is one where people *know who you are* and one where they do not. There will always be situations where you must declare your legal name and places where you can get away without doing so.
1. **Known identity** - A known identity is used for things where you must declare your name. There are many such legal documents and contracts where a legal identity is required. This could range from opening a bank account, signing a property lease, obtaining a passport, a customs declaration when importing an item or otherwise dealing with your Government. These things will usually lead back credentials such as credit cards, credit rating checks, account numbers and possibly physical addresses.
We don't suggest using a VPN or Tor for any of these things as your identity is already known through other means.
!!! tip
When shopping online, the use of a [parcel locker](https://en.wikipedia.org/wiki/Parcel_locker) can help keep your physical address private.
2. **Unknown identity** - An unknown identity could be a stable pseudonym that you regularly use. It is not anonymous because it doesn't change. If you're a part of an online community, you may wish to retain a persona that others know. The reason this is not anonymous is that if monitored over a period of time details about the owner may reveal further information, such as the way they write (linguistics), general knowledge about topics of interest, etc.
You may wish to use a VPN for this to mask your IP address. Financial transactions are more difficult and for this we'd suggest using anonymous cryptocurrencies such as Monero. Employing alt-coin shifting may also help disguise where your currency originated. Typically exchanges require KYC (know your customer) to be completed before they will allow you to exchange fiat currency into any kind of cryptocurrency. Local meet-up options may also be a solution, however those often are more expensive and sometimes also require KYC.
3. **Anonymous identity** - Anonymous identities are difficult to maintain over long periods of time for even the most experienced. They should be short-term and short lived identities which are rotated regularly.
Using Tor can help with this, it's also worth noting greater anonymity is possible through asynchronous (not real-time communication). Real-time communication is vulnerable to typing analysis patterns (more than a slab of text distributed on a forum, email, etc) that you've had time to think about, maybe even put through a translator and back again.
[^1]: United States Privacy and Civil Liberties Oversight Board: [Report on the Telephone Records Program Conducted under Section 215](https://documents.pclob.gov/prod/Documents/OversightReport/ec542143-1079-424a-84b3-acc354698560/215-Report_on_the_Telephone_Records_Program.pdf)
[^2]: Wikipedia: [Surveillance capitalism](https://en.wikipedia.org/wiki/Surveillance_capitalism)
[^3]: "[Enumerating badness](https://www.ranum.com/security/computer_security/editorials/dumb/)" (or, "listing all the bad things that we know about") as many adblockers and antivirus programs do, fails to adequately protect you from new and unknown threats because they have not yet been added to the filter list. You need to additionally employ other mitigation techniques to be fully protected.
[^4]: One notable example of this is the [2021 incident in which University of Minnesota researchers introduced three vulnerabilities into the Linux kernel development project](https://cse.umn.edu/cs/linux-incident).

View File

@ -0,0 +1,148 @@
---
title: "Common Threats"
icon: 'material/eye-outline'
description: Your threat model is personal to you, but these are some of the things many visitors to this site care about.
---
Broadly speaking, we categorize our recommendations into the [threats](threat-modeling.md) or goals that apply to most people. ==You may be concerned with none, one, a few, or all of these possibilities==, and the tools and services you use depend on what your goals are. You may have specific threats outside of these categories as well, which is perfectly fine! The important part is developing an understanding of the benefits and shortcomings of the tools you choose to use, because virtually none of them will protect you from every threat.
- <span class="pg-purple">:material-incognito: Anonymity</span> - Shielding your online activity from your real identity, protecting you from people who are trying to uncover *your* identity specifically.
- <span class="pg-red">:material-target-account: Targeted Attacks</span> - Being protected from hackers or other malicious actors who are trying to gain access to *your* data or devices specifically.
- <span class="pg-orange">:material-bug-outline: Passive Attacks</span> - Being protected from things like malware, data breaches, and other attacks that are made against many people at once.
- <span class="pg-teal">:material-server-network: Service Providers</span> - Protecting your data from service providers (e.g. with E2EE, which renders your data unreadable to the server).
- <span class="pg-blue">:material-eye-outline: Mass Surveillance</span> - Protection from government agencies, organizations, websites, and services which work together to track your activities.
- <span class="pg-brown">:material-account-cash: Surveillance Capitalism</span> - Protecting yourself from big advertising networks, like Google and Facebook, as well as a myriad of other third-party data collectors.
- <span class="pg-green">:material-account-search: Public Exposure</span> - Limiting the information about you that is accessible online—to search engines or the general public.
- <span class="pg-blue-gray">:material-close-outline: Censorship</span> - Avoiding censored access to information or being censored yourself when speaking online.
Some of these threats may be more important to you than others, depending on your specific concerns. For example, a software developer with access to valuable or critical data may be primarily concerned with <span class="pg-red">:material-target-account: Targeted Attacks</span>, but they probably still want to protect their personal data from being swept up in <span class="pg-blue">:material-eye-outline: Mass Surveillance</span> programs. Similarly, many people may be primarily concerned with <span class="pg-green">:material-account-search: Public Exposure</span> of their personal data, but they should still be wary of security-focused issues, such as <span class="pg-orange">:material-bug-outline: Passive Attacks</span>—like malware affecting their devices.
## Anonymity vs. Privacy
<span class="pg-purple">:material-incognito: Anonymity</span>
Anonymity is often confused with privacy, but they're distinct concepts. While privacy is a set of choices you make about how your data is used and shared, anonymity is the complete disassociation of your online activities from your real identity.
Whistleblowers and journalists, for example, can have a much more extreme threat model which requires total anonymity. That's not only hiding what they do, what data they have, and not getting hacked by malicious actors or governments, but also hiding who they are entirely. They will often sacrifice any kind of convenience if it means protecting their anonymity, privacy, or security, because their lives could depend on it. Most people don't need to go so far.
## Security and Privacy
<span class="pg-orange">:material-bug-outline: Passive Attacks</span>
Security and privacy are also often confused, because you need security to obtain any semblance of privacy: Using tools—even if they're private by design—is futile if they could be easily exploited by attackers who later release your data. However, the inverse isn't necessarily true: The most secure service in the world *isn't necessarily* private. The best example of this is trusting data to Google who, given their scale, have had few security incidents by employing industry-leading security experts to secure their infrastructure. Even though Google provides very secure services, very few people would consider their data private in Google's free consumer products (Gmail, YouTube, etc.)
When it comes to application security, we generally don't (and sometimes can't) know if the software we use is malicious, or might one day become malicious. Even with the most trustworthy developers, there's generally no guarantee that their software doesn't have a serious vulnerability that could later be exploited.
To minimize the damage that a malicious piece of software *could* do, you should employ security by compartmentalization. For example, this could come in the form of using different computers for different jobs, using virtual machines to separate different groups of related applications, or using a secure operating system with a strong focus on application sandboxing and mandatory access control.
!!! tip
Mobile operating systems generally have better application sandboxing than desktop operating systems: Apps can't obtain root access, and require permission for access to system resources.
Desktop operating systems generally lag behind on proper sandboxing. ChromeOS has similar sandboxing capabilities to Android, and macOS has full system permission control (and developers can opt-in to sandboxing for applications). However, these operating systems do transmit identifying information to their respective OEMs. Linux tends to not submit information to system vendors, but it has poor protection against exploits and malicious apps. This can be mitigated somewhat with specialized distributions which make significant use of virtual machines or containers, such as [Qubes OS](../../desktop/#qubes-os).
<span class="pg-red">:material-target-account: Targeted Attacks</span>
Targeted attacks against a specific person are more problematic to deal with. Common attacks include sending malicious documents via email, exploiting vulnerabilities (e.g. in browsers and operating systems), and physical attacks. If this is a concern for you, you should employ more advanced threat mitigation strategies.
!!! tip
By design, **web browsers**, **email clients**, and **office applications** typically run untrusted code, sent to you from third parties. Running multiple virtual machines—to separate applications like these from your host system, as well as each other—is one technique you can use to mitigate the chance of an exploit in these applications compromising the rest of your system. For example, technologies like Qubes OS or Microsoft Defender Application Guard on Windows provide convenient methods to do this.
If you are concerned about **physical attacks** you should use an operating system with a secure verified boot implementation, such as Android, iOS, macOS, or [Windows (with TPM)](https://docs.microsoft.com/en-us/windows/security/information-protection/secure-the-windows-10-boot-process). You should also make sure that your drive is encrypted, and that the operating system uses a TPM or Secure [Enclave](https://support.apple.com/guide/security/secure-enclave-sec59b0b31ff/1/web/1) or [Element](https://developers.google.com/android/security/android-ready-se) to rate limit attempts to enter the encryption passphrase. You should avoid sharing your computer with people you don't trust, because most desktop operating systems don't encrypt data separately per-user.
## Privacy From Service Providers
<span class="pg-teal">:material-server-network: Service Providers</span>
We live in a world where almost everything is connected to the internet. Our "private" messages, emails, and social interactions are typically stored on a server, somewhere. Generally, when you send someone a message it's stored on a server, and when your friend wants to read the message the server will show it to them.
The obvious problem with this is that the service provider (or a hacker who has compromised the server) can access your conversations whenever and however they want, without you ever knowing. This applies to many common services, like SMS messaging, Telegram, and Discord.
Thankfully, E2EE can alleviate this issue by encrypting communications between you and your desired recipients before they are even sent to the server. The confidentiality of your messages is guaranteed, assuming the service provider doesn't have access to the private keys of either party.
!!! note "Note on Web-based Encryption"
In practice, the effectiveness of different E2EE implementations varies. Applications, such as [Signal](../real-time-communication.md#signal), run natively on your device, and every copy of the application is the same across different installations. If the service provider were to introduce a [backdoor](https://en.wikipedia.org/wiki/Backdoor_(computing)) in their application—in an attempt to steal your private keys—it could later be detected with [reverse engineering](https://en.wikipedia.org/wiki/Reverse_engineering).
On the other hand, web-based E2EE implementations, such as Proton Mail's webmail or Bitwarden's *Web Vault*, rely on the server dynamically serving JavaScript code to the browser to handle cryptography. A malicious server can target you and send you malicious JavaScript code to steal your encryption key (and it would be extremely hard to notice). Because the server can choose to serve different web clients to different people—even if you noticed the attack—it would be incredibly hard to prove the provider's guilt.
Therefore, you should use native applications over web clients whenever possible.
Even with E2EE, service providers can still profile you based on **metadata**, which typically isn't protected. While the service provider can't read your messages, they can still observe important things, such as who you're talking to, how often you message them, and when you're typically active. Protection of metadata is fairly uncommon, and—if it's within your [threat model](threat-modeling.md)—you should pay close attention to the technical documentation of the software you're using to see if there's any metadata minimization or protection at all.
## Mass Surveillance Programs
<span class="pg-blue">:material-eye-outline: Mass Surveillance</span>
Mass surveillance is the intricate effort to monitor the "behavior, many activities, or information" of an entire (or substantial fraction of a) population.[^1] It often refers to government programs, such as the ones [disclosed by Edward Snowden in 2013](https://en.wikipedia.org/wiki/Global_surveillance_disclosures_(2013%E2%80%93present)). However, it can also be carried out by corporations, either on behalf of government agencies or by their own initiative.
!!! abstract "Atlas of Surveillance"
If you want to learn more about surveillance methods and how they're implemented in your city you can also take a look at the [Atlas of Surveillance](https://atlasofsurveillance.org/) by the [Electronic Frontier Foundation](https://www.eff.org/).
In France you can take a look at the [Technolopolice website](https://technopolice.fr/villes/) maintained by the non-profit association La Quadrature du Net.
Governments often justify mass surveillance programs as necessary means to combat terrorism and prevent crime. However, breaching human rights, it's most often used to disproportionately target minority groups and political dissidents, among others.
!!! quote "ACLU: [*The Privacy Lesson of 9/11: Mass Surveillance is Not the Way Forward*](https://www.aclu.org/news/national-security/the-privacy-lesson-of-9-11-mass-surveillance-is-not-the-way-forward)"
In the face of [Edward Snowden's disclosures of government programs such as [PRISM](https://en.wikipedia.org/wiki/PRISM) and [Upstream](https://en.wikipedia.org/wiki/Upstream_collection)], intelligence officials also admitted that the NSA had for years been secretly collecting records about virtually every Americans phone calls — whos calling whom, when those calls are made, and how long they last. This kind of information, when amassed by the NSA day after day, can reveal incredibly sensitive details about peoples lives and associations, such as whether they have called a pastor, an abortion provider, an addiction counselor, or a suicide hotline.
Despite growing mass surveillance in the United States, the government has found that mass surveillance programs like Section 215 have had "little unique value" with respect to stopping actual crimes or terrorist plots, with efforts largely duplicating the FBI's own targeted surveillance programs.[^2]
Online, you can be tracked via a variety of methods:
- Your IP address
- Browser cookies
- The data you submit to websites
- Your browser or device fingerprint
- Payment method correlation
\[This list isn't exhaustive].
If you're concerned about mass surveillance programs, you can use strategues like compartmentalizing your online identities, blending in with other users, or, whenever possible, simply avoiding giving out identifying information.
<span class="pg-brown">:material-account-cash: Surveillance Capitalism</span>
> Surveillance capitalism is an economic system centered around the capture and commodification of personal data for the core purpose of profit-making.[^3]
For many people, tracking and surveillance by private corporations is a growing concern. Pervasive ad networks, such as those operated by Google and Facebook, span the internet far beyond just the sites they control, tracking your actions along the way. Using tools like content blockers to limit network requests to their servers, and reading the privacy policies of the services you use can help you avoid many basic adversaries (although it can't completely prevent tracking).[^4]
Additionally, even companies outside of the *AdTech* or tracking industry can share your information with [data brokers](https://en.wikipedia.org/wiki/Information_broker) (such as Cambridge Analytica, Experian, or Datalogix) or other parties. You can't automatically assume your data is safe just because the service you're using doesn't fall within the typical AdTech or tracking business model. The strongest protection against corporate data collection is to encrypt or obfuscate your data whenever possible, making it difficult for different providers to correlate data with each other and build a profile on you.
## Limiting Public Information
<span class="pg-green">:material-account-search: Public Exposure</span>
The best way to keep your data private is simply not making it public in the first place. Deleting unwanted information you find about yourself online is one of the best first steps you can take to regain your privacy.
- [View our guide on account deletion :material-arrow-right-drop-circle:](account-deletion.md)
On sites where you do share information, checking the privacy settings of your account to limit how widely that data is spread is very important. For example, enable "private mode" on your accounts if given the option: This ensures that your account isn't being indexed by search engines, and that it can't be viewed without your permission.
If you've already submitted your real information to sites which shouldn't have it, consider using disinformation tactics, like submitting fictitious information related to that online identity. This makes your real information indistinguishable from the false information.
## Avoiding Censorship
<span class="pg-blue-gray">:material-close-outline: Censorship</span>
Censorship online can be carried out (to varying degrees) by actors including totalitarian governments, network administrators, and service providers. These efforts to control communication and restrict access to information will always be incompatible with the human right to Freedom of Expression.[^5]
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://www.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.
!!! tip
While evading censorship itself can be easy, hiding the fact that you are doing it can be very problematic.
You should consider which aspects of the network your adversary can observe, and whether you have plausible deniability for your actions. For example, using [encrypted DNS](../advanced/dns-overview.md#what-is-encrypted-dns) can help you bypass rudimentary, DNS-based censorship systems, but it can't truly hide what you are visiting from your ISP. A VPN or Tor can help hide what you are visiting from network administrators, but can't hide that you're using those networks in the first place. Pluggable transports (such as Obfs4proxy, Meek, or Shadowsocks) can help you evade firewalls that block common VPN protocols or Tor, but your circumvention attempts can still be detected by methods like probing or [deep packet inspection](https://en.wikipedia.org/wiki/Deep_packet_inspection).
You must always consider the risks of trying to bypass censorship, the potential consequences, and how sophisticated your adversary may be. You should be cautious with your software selection, and have a backup plan in case you are caught.
[^1]: Wikipedia: [*Mass Surveillance*](https://en.wikipedia.org/wiki/Mass_surveillance) and [*Surveillance*](https://en.wikipedia.org/wiki/Surveillance).
[^2]: United States Privacy and Civil Liberties Oversight Board: [*Report on the Telephone Records Program Conducted under Section 215*](https://documents.pclob.gov/prod/Documents/OversightReport/ec542143-1079-424a-84b3-acc354698560/215-Report_on_the_Telephone_Records_Program.pdf)
[^3]: Wikipedia: [*Surveillance capitalism*](https://en.wikipedia.org/wiki/Surveillance_capitalism)
[^4]: "[Enumerating badness](https://www.ranum.com/security/computer_security/editorials/dumb/)" (or, "listing all the bad things that we know about"), as many adblockers and antivirus programs do, fails to adequately protect you from new and unknown threats because they have not yet been added to the filter list. You should also employ other mitigation techniques.
[^5]: United Nations: [*Universal Declaration of Human Rights*](https://www.un.org/en/about-us/universal-declaration-of-human-rights).

View File

@ -1,6 +1,7 @@
---
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.
---
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.
@ -17,7 +18,7 @@ Even if you use OpenPGP, it does not support [forward secrecy](https://en.wikipe
### 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 [multi-factor authentication](/basics/multi-factor-authentication/) 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 the decrease security if either the provider or the email client does not support OATH or a bridge application as [multi-factor authentication](multi-factor-authentication.md) is not possible with plain password authentication.
### How Do I Protect My Private Keys?

View File

@ -1,8 +1,9 @@
---
title: "Multi-factor Authentication"
title: "Multi-Factor Authentication"
icon: 'material/two-factor-authentication'
description: MFA is a critical security mechanism for securing your online accounts, but some methods are stronger than others.
---
**Multi-factor authentication** is a security mechanism that requires additional steps beyond entering your username (or email) and password. The most common method is time limited codes you might receive from SMS or an app.
**Multi-Factor Authentication** (**MFA**) is a security mechanism that requires additional steps beyond entering your username (or email) and password. The most common method is time limited codes you might receive from SMS or an app.
Normally, if a hacker (or adversary) is able to figure out your password then theyd gain access to the account that password belongs to. An account with MFA forces the hacker to have both the password (something you *know*) and a device that you own (something you *have*), like your phone.
@ -34,7 +35,7 @@ Unlike [WebAuthn](#fido-fast-identity-online), TOTP offers no protection against
An adversary could set up a website to imitate an official service in an attempt to trick you into giving out your username, password and current TOTP code. If the adversary then uses those recorded credentials they may be able to log into the real service and hijack the account.
Although not perfect, TOTP is secure enough for most people, and when [hardware security keys](/multi-factor-authentication/#hardware-security-keys) are not supported [authenticator apps](/multi-factor-authentication/#authenticator-apps) are still a good option.
Although not perfect, TOTP is secure enough for most people, and when [hardware security keys](../multi-factor-authentication.md#hardware-security-keys) are not supported [authenticator apps](../multi-factor-authentication.md#authenticator-apps) are still a good option.
### Hardware security keys
@ -77,7 +78,7 @@ When you create an account, the public key is sent to the service, then when you
This presentation discusses the history of password authentication, the pitfalls (such as password reuse), and discussion of FIDO2 and [WebAuthn](https://webauthn.guide) standards.
<div class="yt-embed">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/aMo4ZlWznao" title="How FIDO2 and WebAuthn Stop Account Takeovers" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://invidious.privacyguides.net/embed/aMo4ZlWznao?local=true" title="How FIDO2 and WebAuthn Stop Account Takeovers" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
FIDO2 and WebAuthn have superior security and privacy properties when compared to any MFA methods.

View File

@ -0,0 +1,111 @@
---
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.
## 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.
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.
### Use randomly generated passwords
==You should **never** rely on yourself to come up with a good password.== We recommend using [randomly generated passwords](#passwords) or [diceware passphrases](#diceware-passphrases) with sufficient entropy to protect your accounts and devices.
All of our [recommended password managers](../passwords.md) include a built-in password generator that you can use.
### Rotating Passwords
You should avoid changing passwords that you have to remember (such as your password manager's master password) too often unless you have reason to believe it has been compromised, as changing it too often exposes you to the risk of forgetting it.
When it comes to passwords that you don't have to remember (such as passwords stored inside your password manager), if your [threat model](threat-modeling.md) calls for it, we recommend going through important accounts (especially accounts that don't use multi-factor authentication) and changing their password every couple of months, in case they have been compromised in a data breach that hasn't become public yet. Most password managers allow you to set an expiry date for your password to make this easier to manage.
!!! tip "Checking for data breaches"
If your password manager lets you check for compromised passwords, make sure to do so and promptly change any password that may have been exposed in a data breach. Alternatively, you could follow [Have I Been Pwned's Latest Breaches feed](https://feeds.feedburner.com/HaveIBeenPwnedLatestBreaches) with the help of a [news aggregator](../news-aggregators.md).
## Creating strong passwords
### Passwords
A lot of services impose certain criteria when it comes to passwords, including a minimum or maximum length, as well as which special characters, if any, can be used. You should use your password manager's built-in password generator to create passwords that are as long and complex as the service will allow by including capitalized and lowercase letters, numbers and special characters.
If you need a password you can memorize, we recommend a [diceware passphrase](#diceware-passphrases).
### Diceware Passphrases
Diceware is a method for creating passphrases which are easy to remember, but hard to guess.
Diceware passphrases are a great option when you need to memorize or manually input your credentials, such as for your password manager's master password or your device's encryption password.
An example of a diceware passphrase is `viewable fastness reluctant squishy seventeen shown pencil`.
To generate a diceware passphrase using real dice, follow these steps:
!!! note
These instructions assume that you are using [EFF's large wordlist](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt) to generate the passphrase, which requires five dice rolls per word. Other wordlists may require more or less rolls per word, and may require a different amount of words to achieve the same entropy.
1. Roll a six-sided die five times, noting down the number after each roll.
2. As an example, let's say you rolled `2-5-2-6-6`. Look through the [EFF's large wordlist](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt) for the word that corresponds to `25266`.
3. You will find the word `encrypt`. Write that word down.
4. Repeat this process until your passphrase has as many words as you need, which you should separate with a space.
!!! warning "Important"
You should **not** re-roll words until you get a combination of words that appeal to you. The process should be completely random.
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 using [EFF's large wordlist](https://www.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 [other wordlists 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.
??? note "Explanation of entropy and strength of diceware passphrases"
To demonstrate how strong diceware passphrases are, we'll use the aforementioned seven word passphrase (`viewable fastness reluctant squishy seventeen shown pencil`) and [EFF's large wordlist](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt) as an example.
One metric to determine the strength of a diceware passphrase is how much entropy it has. The entropy per word in a diceware passphrase is calculated as $\text{log}_2(\text{WordsInList})$ and the overall entropy of the passphrase is calculated as $\text{log}_2(\text{WordsInList}^\text{WordsInPhrase})$.
Therefore, each word in the aforementioned list results in ~12.9 bits of entropy ($\text{log}_2(7776)$), and a seven word passphrase derived from it has ~90.47 bits of entropy ($\text{log}_2(7776^7)$).
The [EFF's large wordlist](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt) contains 7776 unique words. To calculate the amount of possible passphrases, all we have to do is $\text{WordsInList}^\text{WordsInPhrase}$, or in our case, $7776^7$.
Let's put all of this in perspective: A seven word passphrase using [EFF's large wordlist](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt) is one of ~1,719,070,799,748,422,500,000,000,000 possible passphrases.
On average, it takes trying 50% of all the possible combinations to guess your phrase. With that in mind, even if your adversary is capable of ~1,000,000,000,000 guesses per second, it would still take them ~27,255,689 years to guess your passphrase. That is the case even if the following things are true:
- Your adversary knows that you used the diceware method.
- Your adversary knows the specific wordlist that you used.
- Your adversary knows how many words your passphrase contains.
To sum it up, diceware passphrases are your best option when you need something that is both easy to remember *and* exceptionally strong.
## Storing Passwords
### Password Managers
The best way to store your passwords is by using a password manager. They allow you to store your passwords in a file or in the cloud and protect them with a single master password. That way, you will only have to remember one strong password, which lets you access the rest of them.
There are many good options to choose from, both cloud-based and local. Choose one of our recommended password managers and use it to establish strong passwords across all of your accounts. We recommend securing your password manager with a [diceware passphrase](#diceware-passphrases) comprised of at least seven words.
[List of recommended password managers](../passwords.md){ .md-button }
!!! warning "Don't place your passwords and TOTP tokens inside the same password manager"
When using TOTP codes as [multi-factor authentication](../multi-factor-authentication.md), the best security practice is to keep your TOTP codes in a [separate app](../multi-factor-authentication.md#authenticator-apps).
Storing your TOTP tokens in the same place as your passwords, while convenient, reduces the accounts to a single factor in the event that an adversary gains access to your password manager.
Furthermore, we do not recommend storing single-use recovery codes in your password manager. Those should be stored separately such as in an encrypted container on an offline storage device.
### Backups
You should store an [encrypted](../encryption.md) backup of your passwords on multiple storage devices or a cloud storage provider. This can help you access your passwords if something happens to your primary device or the service you are using.

View File

@ -1,21 +1,22 @@
---
title: "Threat Modeling"
icon: 'material/target-account'
description: Balancing security, privacy, and usability is one of the first and most difficult tasks you'll face on your privacy journey.
---
Balancing security, privacy and usability is one of the first and most difficult tasks you'll face on your privacy journey. Everything is a trade-off: The more secure something is, the more restricting or inconvenient it generally is, et cetera. Often people find that the problem with the tools they see recommended is they're just too hard to start using!
Balancing security, privacy, and usability is one of the first and most difficult tasks you'll face on your privacy journey. Everything is a trade-off: The more secure something is, the more restricting or inconvenient it generally is, etc. Often, people find that the problem with the tools they see recommended is that they're just too hard to start using!
If you wanted to use the **most** secure tools available, you'd have to sacrifice *a lot* of usability. And even then, ==nothing is ever fully secure.== There's **high** security, but never **full** security. That's why threat models are important.
If you wanted to use the **most** secure tools available, you'd have to sacrifice *a lot* of usability. And, even then, ==nothing is ever fully secure.== There's **high** security, but never **full** security. That's why threat models are important.
**So, what are these threat models anyways?**
**So, what are these threat models, anyway?**
==A threat model is a list of the most probable threats to your security/privacy endeavors.== Since it's impossible to protect yourself against **every** attack(er), you should focus on the **most probable** threats. In computer security, a threat is a potential event that could undermine your efforts to stay private and secure.
==A threat model is a list of the most probable threats to your security and privacy endeavors.== Since it's impossible to protect yourself against **every** attack(er), you should focus on the **most probable** threats. In computer security, a threat is an event that could undermine your efforts to stay private and secure.
By focusing on the threats that matter to you, this narrows down your thinking about the protection you need, so you can choose the tools that are right for the job.
Focusing on the threats that matter to you narrows down your thinking about the protection you need, so you can choose the tools that are right for the job.
## Creating your threat model
## Creating Your Threat Model
To identify what could happen to the things you value and determine from whom you need to protect them, you want to answer these five questions:
To identify what could happen to the things you value and determine from whom you need to protect them, you should answer these five questions:
1. What do I want to protect?
2. Who do I want to protect it from?
@ -43,7 +44,7 @@ Depending on who your adversaries are, under some circumstances, this list might
It is important to distinguish between what might happen and the probability it may happen. For instance, there is a threat that your building might collapse, but the risk of this happening is far greater in San Francisco (where earthquakes are common) than in Stockholm (where they are not).
Assessing risks is both a personal and a subjective process. Many people find certain threats unacceptable no matter the likelihood they will occur because the mere presence of the threat at any likelihood is not worth the cost. In other cases, people disregard high risks because they don't view the threat as a problem.
Assessing risks is both a personal and subjective process. Many people find certain threats unacceptable, no matter the likelihood they will occur, because the mere presence of the threat is not worth the cost. In other cases, people disregard high risks because they don't view the threat as a problem.
*Write down which threats you are going to take seriously, and which may be too rare or too harmless (or too difficult to combat) to worry about.*
@ -53,7 +54,7 @@ There are many ways that an adversary could gain access to your data. For exampl
==The motives of adversaries differ widely, as do their tactics.== A government trying to prevent the spread of a video showing police violence may be content to simply delete or reduce the availability of that video. In contrast, a political opponent may wish to gain access to secret content and publish that content without you knowing.
Security planning involves understanding how bad the consequences could be if an adversary successfully gains access to one of your assets. To determine this, you should consider the capability of your adversary. For example, your mobile phone provider has access to all your phone records. A hacker on an open Wi-Fi network can access your unencrypted communications. Your government might have stronger capabilities.
Security planning involves understanding how bad the consequences could be if an adversary successfully gains access to one of your assets. To determine this, you should consider the capability of your adversary. For example, your mobile phone provider has access to all of your phone records. A hacker on an open Wi-Fi network can access your unencrypted communications. Your government might have stronger capabilities.
*Write down what your adversary might want to do with your private data.*
@ -61,15 +62,15 @@ Security planning involves understanding how bad the consequences could be if an
==There is no perfect option for security.== Not everyone has the same priorities, concerns, or access to resources. Your risk assessment will allow you to plan the right strategy for you, balancing convenience, cost, and privacy.
For example, an attorney representing a client in a national security case may be willing to go to greater lengths to protect communications about that case, such as using encrypted email than a mother who regularly emails her daughter funny cat videos.
For example, an attorney representing a client in a national security case may be willing to go to greater lengths to protect communications about that case, such as using encrypted email, than a mother who regularly emails her daughter funny cat videos.
*Write down what options you have available to you to help mitigate your unique threats. Note if you have any financial constraints, technical constraints, or social constraints.*
### Try it yourself: Protecting your belongings
### Try it yourself: Protecting Your Belongings
These questions can apply to a wide variety of situations, online and offline. As a generic demonstration of how these questions work, let's build a plan to keep your house and possessions safe.
**What do you want to protect? (Or *what do you have that is worth protecting?*)**
**What do you want to protect? (Or, *what do you have that is worth protecting?*)**
: Your assets might include jewelry, electronics, important documents, or photos.
@ -79,11 +80,11 @@ These questions can apply to a wide variety of situations, online and offline. A
**How likely is it that you will need to protect it?**
: Does your neighborhood have a history of burglaries? How trustworthy are your roommates/guests? What are the capabilities of your adversaries? What are the risks you should consider?
: Does your neighborhood have a history of burglaries? How trustworthy are your roommates or guests? What are the capabilities of your adversaries? What are the risks you should consider?
**How bad are the consequences if you fail?**
: Do you have anything in your house that you cannot replace? Do you have the time or money to replace these things? Do you have insurance that covers goods stolen from your home?
: Do you have anything in your house that you cannot replace? Do you have the time or money to replace those things? Do you have insurance that covers goods stolen from your home?
**How much trouble are you willing to go through to prevent these consequences?**
@ -93,11 +94,11 @@ Only once you have asked yourself these questions will you be in a position to a
Making a security plan will help you to understand the threats that are unique to you and to evaluate your assets, your adversaries, and your adversaries' capabilities, along with the likelihood of risks you face.
## Further reading
## Further Reading
For people looking to increase their privacy and security online, we've compiled a list of common threats our visitors face or goals our visitors have, to give you some inspiration and demonstrate the basis of our recommendations.
- [Common Goals and Threats :hero-arrow-circle-right-fill:](common-threats.md)
- [Common Goals and Threats :material-arrow-right-drop-circle:](common-threats.md)
## Sources

View File

@ -1,11 +1,12 @@
---
title: VPN Overview
icon: material/vpn
description: Virtual Private Networks shift risk away from your ISP to a third-party you trust. You should keep these things in mind.
---
Virtual Private Networks are a way of extending the end of your network to exit somewhere else in the world. 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](dns-overview.md#why-shouldnt-i-use-encrypted-dns).
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).
A VPN can help as it can shift trust to a server somewhere else in the world. As a result, the ISP then only sees that you are connected to a VPN and nothing about the activity that you're passing into it.
@ -17,6 +18,12 @@ VPNs cannot encrypt data outside of the connection between your device and the V
However, they do hide your actual IP from a third-party service, provided that there are no IP leaks. They help you blend in with others and mitigate IP based tracking.
## When shouldn't I use a VPN?
Using a VPN in cases where you're using your [known identity](common-threats.md#common-misconceptions) is unlikely be useful.
Doing so may trigger spam and fraud detection systems, such as if you were to log into your bank's website.
## What about encryption?
Encryption offered by VPN providers are between your devices and their servers. It guarantees that this specific link is secure. This is a step up from using unencrypted proxies where an adversary on the network can intercept the communications between your devices and said proxies and modify them. However, encryption between your apps or browsers with the service providers are not handled by this encryption.
@ -33,7 +40,7 @@ Needless to say, **you shouldn't use encrypted DNS with Tor**. This would direct
## Should I use Tor *and* a VPN?
By using a VPN with Tor, you're creating essentially a permanent entry node, often with a money trail attached. This provides zero additional benefits to you, while increasing the attack surface of your connection dramatically. If you wish to hide your Tor usage from your ISP or your government, Tor has a built-in solution for that: Tor bridges. [Read more about Tor bridges and why using a VPN is not necessary](tor-overview.md).
By using a VPN with Tor, you're creating essentially a permanent entry node, often with a money trail attached. This provides zero additional benefits to you, while increasing the attack surface of your connection dramatically. If you wish to hide your Tor usage from your ISP or your government, Tor has a built-in solution for that: Tor bridges. [Read more about Tor bridges and why using a VPN is not necessary](../advanced/tor-overview.md).
## What if I need anonymity?
@ -43,29 +50,28 @@ VPNs cannot provide anonymity. Your VPN provider will still see your real IP add
Do not use that feature. The point of using Tor is that you do not trust your VPN provider. Currently Tor only supports the [TCP](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) protocol. [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol) (used in [WebRTC](https://en.wikipedia.org/wiki/WebRTC) for voice and video sharing, the new [HTTP3/QUIC](https://en.wikipedia.org/wiki/HTTP/3) protocol, etc), [ICMP](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol) and other packets will be dropped. To compensate for this, VPN providers typically will route all non-TCP packets through their VPN server (your first hop). This is the case with [ProtonVPN](https://protonvpn.com/support/tor-vpn/). Additionally, when using this Tor over VPN setup, you do not have control over other important Tor features such as [Isolated Destination Address](https://www.whonix.org/wiki/Stream_Isolation) (using a different Tor circuit for every domain you visit).
Thus, this feature should be viewed as a convenient way to access the Tor Network, not to stay anonymous. For true anonymity, use the Tor Browser Bundle, TorSocks, or a Tor gateway.
The feature should be viewed as a convenient way to access the Tor Network, not to stay anonymous. For proper anonymity, use the Tor Browser, TorSocks, or a Tor gateway.
## When are VPNs useful?
A VPN may still be useful to you in a variety of scenarios, such as:
1. Hiding your traffic from **only** your Internet Service Provider.
2. Hiding your downloads (such as torrents) from your ISP and anti-piracy organizations.
3. Hiding your IP from third-party websites and services, preventing IP based tracking.
1. Hiding your downloads (such as torrents) from your ISP and anti-piracy organizations.
1. Hiding your IP from third-party websites and services, preventing IP based tracking.
For use cases like these, or if you have another compelling reason, the VPN providers we listed above are who we think are the most trustworthy. However, using a VPN provider still means you're *trusting* the provider. In pretty much any other scenario you should be using a secure**-by-design** tool such as Tor.
For situations like these, or if you have another compelling reason, the VPN providers we listed above are who we think are the most trustworthy. However, using a VPN provider still means you're *trusting* the provider. In pretty much any other scenario you should be using a secure**-by-design** tool such as Tor.
## Sources and Further Reading
1. [VPN - a Very Precarious Narrative](https://schub.io/blog/2019/04/08/very-precarious-narrative.html) by Dennis Schubert
2. [The self-contained networks](../self-contained-networks.md) recommended by Privacy Guides are able to replace a VPN that allows access to services on local area network
3. [Tor Network Overview](tor-overview.md) by blacklight447
4. [IVPN Privacy Guides](https://www.ivpn.net/privacy-guides)
5. ["Do I need a VPN?"](https://www.doineedavpn.com), a tool developed by IVPN to challenge aggressive VPN marketing by helping individuals decide if a VPN is right for them.
1. [Tor Network Overview](../advanced/tor-overview.md)
1. [IVPN Privacy Guides](https://www.ivpn.net/privacy-guides)
1. ["Do I need a VPN?"](https://www.doineedavpn.com), a tool developed by IVPN to challenge aggressive VPN marketing by helping individuals decide if a VPN is right for them.
## Related VPN Information
- [The Trouble with VPN and Privacy Review Sites](https://jonaharagon.com/2019/11/the-trouble-with-vpn-and-privacy-review-sites/)
- [The Trouble with VPN and Privacy Review Sites](https://blog.privacyguides.org/2019/11/20/the-trouble-with-vpn-and-privacy-review-sites/)
- [Free VPN App Investigation](https://www.top10vpn.com/free-vpn-app-investigation/)
- [Hidden VPN owners unveiled: 101 VPN products run by just 23 companies](https://vpnpro.com/blog/hidden-vpn-owners-unveiled-97-vpns-23-companies/)
- [This Chinese company is secretly behind 24 popular apps seeking dangerous permissions](https://vpnpro.com/blog/chinese-company-secretly-behind-popular-apps-seeking-dangerous-permissions/)

View File

@ -1,56 +0,0 @@
---
title: Welcome to Privacy Guides
created: "2021-09-14"
author: 'Jonah'
template: overrides/blog.en.html
---
We are excited to announce the launch of [Privacy Guides](https://www.privacyguides.org/) and [r/PrivacyGuides](https://www.reddit.com/r/PrivacyGuides/), and welcome the privacy community to participate in our crowdsourced software recommendations and share tips and tricks for keeping your data safe online. Our goal is to be a central resource for privacy and security-related tips that are usable by anybody, and to carry on the trusted legacy of PrivacyTools.
As we [announced](https://web.archive.org/web/20210729184422/https://blog.privacytools.io/the-future-of-privacytools/) on the PrivacyTools blog in July, we made the decision to migrate off our former privacytools.io domain for various reasons, including an inability to contact the current domain holder for over a year and [growing](http://www.thedarksideof.io/) [issues](https://fortune.com/2020/08/31/crypto-fraud-io-domain-chagos-islands-uk-colonialism-cryptocurrency/) [with the .IO top-level domain](https://github.com/privacytools/privacytools.io/issues/1324). As attempts to regain ownership of the domain have proven fruitless, we found it necessary to make this switch sooner rather than later to ensure people would find out about this transition as soon as possible. This gives us adequate time to transition the domain name, which is currently redirecting to [www.privacyguides.org](https://www.privacyguides.org/), and it hopefully gives everyone enough time to notice the change, update bookmarks and websites, etc.
We chose the name Privacy Guides because it represents two things for us as an organization: An expansion beyond simple recommendation lists, and a goal of acting as the trusted guides to anyone newly learning about protecting their personal data.
As a name, it moves us past recommendations of various tools and focuses us more on the bigger picture. We want to provide more _education_rather than _direction_surrounding privacy-related topics. You can see the very beginnings of this work in our new page on [threat modeling](https://www.privacyguides.org/basics/threat-modeling/), or our [VPN](https://www.privacyguides.org/vpn) and [Email Provider](https://www.privacyguides.org/email) recommendations, but this is just the start of what we eventually hope to accomplish.
## Website Development
Our project has always been community-oriented and open-sourced. The source code for PrivacyTools is currently archived at [https://github.com/privacytools/privacytools.io](https://github.com/privacytools/privacytools.io). This repository will remain online as an archive of everything on PrivacyTools up to this transition.
The source code for our new website is available at [https://github.com/privacyguides/privacyguides.org](https://github.com/privacyguides/privacyguides.org). All updates from PrivacyTools have been merged into this new repository, and this is where all future work will take place.
## Services
PrivacyTools also runs a number of online services in use by many users. Some of these services are federated, namely Mastodon, Matrix, and PeerTube. Due to the technical nature of federation, it is impossible for us to change the domain name on these services, and because we cannot guarantee the future of the privacytools.io domain name we will be shutting down these services in the coming months.
We strongly urge users of these services to migrate to alternative providers in the near future. We hope that we will be able to provide enough time to make this as seamless of a transition as possible for our users.
At this time we do not plan on launching public Matrix, Mastodon, or PeerTube instances under the Privacy Guides domain. Any users affected by this transition can get in touch with [@jonah:aragon.sh](https://matrix.to/#/@jonah:aragon.sh) on Matrix if any assistance is needed.
Other services being operated by PrivacyTools currently will be discontinued. This includes Searx, WriteFreely, and GhostBin.
Our future direction for online services is uncertain, but will be a longer-term discussion within our community after our work is complete on this initial transition. We are very aware that whatever direction we move from here will have to be done in a way that is sustainable in the very long term.
## r/PrivacyGuides
PrivacyTools has a sizable community on Reddit, but to ensure a unified image we have created a new Subreddit at [r/PrivacyGuides](https://www.reddit.com/r/PrivacyGuides/) that we encourage all Reddit users to join.
In the coming weeks our current plan is to wind down discussions on r/privacytoolsIO. We will be opening r/PrivacyGuides to lots of the discussions most people are used to shortly, but encouraging general “privacy news” or headline-type posts to be posted on [r/Privacy](https://www.reddit.com/r/privacy/) instead. In our eyes, r/Privacy is the “who/what/when/where” of the privacy community on Reddit, the best place to find the latest news and information; while r/PrivacyGuides is the “how”: a place to share and discuss tools, tips, tricks, and other advice. We think focusing on these strong points will serve to strengthen both communities, and we hope the good moderators of r/Privacy agree 🙂
## Final Thoughts
The former active team at PrivacyTools universally agrees on this direction towards Privacy Guides, and will be working exclusively on Privacy Guides rather than any “PrivacyTools” related projects. We intend to redirect PriavcyTools to new Privacy Guides properties for as long as possible, and archive existing PrivacyTools work as a pre-transition snapshot.
Privacy Guides additionally welcomes back PrivacyTools former sysadmin [Jonah](https://twitter.com/JonahAragon), who will be joining the projects leadership team.
We are not accepting sponsorships or donations at this time, while we work out our financial plan. We will be in touch with existing sponsors on PrivacyTools OpenCollective to determine what the best way forward is soon.
We are all very excited about this new brand and direction, and hope to have your continued support through all of this. If you have any questions, concerns, or suggestions, please reach out to us. We are always happy to receive guidance and input from our community! ❤
---
**_Privacy Guides_** _is a socially motivated website that provides information for protecting your data security and privacy._
- [Join r/PrivacyGuides on Reddit](https://www.reddit.com/r/privacyguides)
- [Follow @privacy_guides on Twitter](https://twitter.com/privacy_guides)
- [Collaborate with us on GitHub](https://github.com/privacyguides/privacyguides.org)
- [Join our chat on Matrix](https://matrix.to/#/#privacyguides:aragon.sh)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 KiB

View File

@ -1,30 +0,0 @@
---
title: Virtual Insanity
image: 'blog/2021/11/01/virtual-insanity.jpg'
created: "2021-11-01"
author: 'Freddy'
template: overrides/blog.en.html
---
Not so long ago, the world was predicting the end for Facebook. Now it is no more. Gone from the face of the planet never to be seen again. Except it isnt.
Facebook has not disappeared. No, not even the damning Facebook Papers can shut it down. Mark Zuckerberg stood up on stage, and announced that it had changed its name to: Meta.
A key part of this new vision for the company is the idea of the metaverse. If it sounds like something out of a sci-fi movie or novel, thats because it is. The term was first coined by author Neal Stephenson in his 1992 book _Snow Crash_. Zuckerbergs only problem is that novel was dystopian. Heres a brief snippet of Stephensons description of the metaverse:
> “Your avatar can look any way you want it to, up to the limitations of your equipment. If youre ugly, you can make your avatar beautiful. If youve just gotten out of bed, your avatar can still be wearing beautiful clothes and professionally applied makeup. You can look like a gorilla or a dragon or a giant talking penis in the Metaverse. Spend five minutes walking down the Street and you will see all of these.”
In fairness, that doesnt seem unlike the sort of content you see on Facebook today. Compare this to what Zuckerberg [wrote](https://about.fb.com/news/2021/10/founders-letter/) in his 2021 Founders Letter:
> “In this future, you will be able to teleport instantly as a hologram to be at the office without a commute, at a concert with friends, or in your parents living room to catch up. This will open up more opportunity no matter where you live. Youll be able to spend more time on what matters to you, cut down time in traffic, and reduce your carbon footprint.”
The similarities are uncanny.
This wouldnt be the first time that Facebook has been described as dystopian. One _Mashable_ article [called](https://mashable.com/article/facebook-dystopia) the social media giant Orwellian and Huxleyan at the same time. Quite a feat.
The Facebook Papers have some pretty shocking-though not entirely surprising-revelations as well. The leaked documents demonstrate the extent to which Facebook values engagement above all else (including a good experience). For instance, we learnt that the algorithm is [optimised](https://www.wired.com/story/facebook-transparency-biggest-sites-pages-links/) for low quality content, [prioritises](https://www.washingtonpost.com/technology/2021/10/26/facebook-angry-emoji-algorithm/) rage over happiness for profit, and [promotes](https://www.theatlantic.com/ideas/archive/2021/10/facebook-papers-democracy-election-zuckerberg/620478/) extremist content. Most alarming was that the firm [failed](https://apnews.com/article/the-facebook-papers-covid-vaccine-misinformation-c8bbc569be7cc2ca583dadb4236a0613) to reduce disinformation during the pandemic even when given the opportunity. Zuckerberg said no to this, presumably because it would reduce engagement and, in turn, Facebooks advertising revenue.
Lets not forget all Facebooks previous scandals. From the Cambridge Analytica kerfuffle to [conducting](https://www.theregister.com/2014/06/29/researchers_mess_with_facebook_users_emotions/) manipulative social experiments in secret.
In light of this, the name change makes sense. It deceives you into thinking the company has evolved into a benevolent corporation, when it simply hasnt. Zuckerberg would much prefer you to think about Meta as a playful universe where you can meet with friends across the globe in virtual reality. Where humans train themselves to sound like heavily discounted robots. Where Facebook is not a Horrid Company.
Despite all this: Meta _is_ Facebook, just worse. It doesnt matter about the new name, the company has not changed. It will still be violating our privacy, daily, on an unprecedented scale. It will still be as reliably scandalous as a Carry On film. It will still be terrible. Plus it will have all the added claptrap of a sub-par holographic universe attached.

View File

@ -1,60 +0,0 @@
---
title: 'Firefox Privacy: 2021 Update'
image: 'blog/2021/12/01/firefox-privacy-2021-update.png'
created: "2021-12-01"
author: 'Daniel'
template: overrides/blog.en.html
---
A lot changed between 2019 and now, not least in regards to Firefox. Since our last post, Mozilla has [improved](https://blog.mozilla.org/en/products/firefox/latest-firefox-rolls-out-enhanced-tracking-protection-2-0-blocking-redirect-trackers-by-default/) privacy with [Enhanced Tracking Protection (ETP)](https://blog.mozilla.org/en/products/firefox/firefox-now-available-with-enhanced-tracking-protection-by-default/). Earlier this year Mozilla introduced [Total Cookie Protection](https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/) (Dynamic First Party Isolation dFPI). This was then further tightened with [Enhanced Cookie Clearing](https://blog.mozilla.org/security/2021/08/10/firefox-91-introduces-enhanced-cookie-clearing/). Were also looking very forward to [Site Isolation](https://blog.mozilla.org/security/2021/05/18/introducing-site-isolation-in-firefox/) (code named Fission) being enabled by default in the coming releases.
Now that so many privacy features are built into the browser, there is little need for extensions made by third-party developers. Accordingly, we have updated our very outdated [browser](https://www.privacyguides.org/browsers) section. If youve got an old browser profile we suggest **creating a new one**. Some of the old advice may make your browser _more_ unique.
#### Privacy Tweaks “about:config”
Were no longer recommending that users set `about:config` switches manually. Those switches need to be up to date and continuously maintained. They should be studied before blindly making modifications. Sometimes their behaviour changes in between Firefox releases, is superseded by other keys or they are removed entirely. We do not see any point in duplicating the efforts of the community [Arkenfox](https://github.com/arkenfox/user.js) project. Arkenfox has very good documentation in their [wiki](https://github.com/arkenfox/user.js/wiki) and we use it ourselves.
#### LocalCDN and Decentraleyes
These extensions arent required with Total Cookie Protection (TCP), which is enabled if youve set Enhanced Tracking Protection (ETP) to **Strict**.
Replacing scripts on CDNs with local versions is not a comprehensive solution and is a form of [enumeration of badness](https://www.ranum.com/security/computer_security/editorials/dumb/). While it may work with some scripts that are included it doesnt help with most other third-party connections.
CDN extensions never really improved privacy as far as sharing your IP address was concerned and their usage is fingerprintable as this Tor Project developer [points out](https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/22089#note_2639603). They are the wrong tool for the job and are not a substitute for a good VPN or Tor. Its worth noting the [resources](https://git.synz.io/Synzvato/decentraleyes/-/tree/master/resources) for Decentraleyes are hugely out of date and would not be likely used anyway.
#### NeatURLs and ClearURLS
Previously we recommended ClearURLs to remove tracking parameters from URLs you might visit. These extensions are no longer needed with uBlock Origins [`removeparam`](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#removeparam) feature.
#### HTTPS Everywhere
The EFF announced back in September they were [deprecating HTTPS-Everywhere](https://www.eff.org/deeplinks/2021/09/https-actually-everywhere) as most browsers now have an HTTPS-Only feature. We are pleased to see privacy features built into the browser and Firefox 91 introduced [HTTPS by Default in Private Browsing](https://blog.mozilla.org/security/2021/08/10/firefox-91-introduces-https-by-default-in-private-browsing/).
#### Multi Account Containers and Temporary Containers
Container extensions arent as important as they used to be for privacy now that we have [Total Cookie Protection](https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/).
Multi Account Container will still have some use if you use [Mozilla VPN](https://en.wikipedia.org/wiki/Mozilla_VPN) as it is going to be [integrated](https://github.com/mozilla/multi-account-containers/issues/2210) allowing you to configure specified containers to use a particular VPN server. Another use might be if you want to login to multiple accounts on the same domain.
#### Just-In-Time Compilation (JIT)
What is “Disable JIT” in Bromite? This option disables the JavaScript performance feature [JIT](https://en.wikipedia.org/wiki/Just-in-time_compilation). It can increase security but at the cost of performance. Those trade-offs vary wildly and are explored in [this](https://microsoftedge.github.io/edgevr/posts/Super-Duper-Secure-Mode/) publication by Johnathan Norman from the Microsoft Edge team. This option is very much a security vs performance option.
#### Mozilla browsers on Android
We dont recommend any Mozilla based browsers on Android. This is because we dont feel that [GeckoView](https://mozilla.github.io/geckoview) is quite as secure as it could be as it doesnt support [site isolation](https://hacks.mozilla.org/2021/05/introducing-firefox-new-site-isolation-security-architecture), soon to be coming in desktop browsers or [isolated processes](https://bugzilla.mozilla.org/show_bug.cgi?id=1565196).
We also noticed that there isnt an option for [HTTPS-Only mode](https://github.com/mozilla-mobile/fenix/issues/16952#issuecomment-907960218). The only way to get something similar is to install the [deprecated](https://www.eff.org/deeplinks/2021/09/https-actually-everywhere) extension [HTTPS Everywhere](https://www.eff.org/https-everywhere).
There are places which Firefox on Android shines for example browsing news websites where you may want to _partially_ load some JavaScript (but not all) using medium or hard [blocking mode](https://github.com/gorhill/uBlock/wiki/Blocking-mode). The [reader view](https://support.mozilla.org/en-US/kb/view-articles-reader-view-firefox-android) is also pretty cool. We expect things will change in the future, so were keeping a close eye on this.
#### Fingerprinting
Firefox has the ability to block known third party [fingerprinting resources](https://blog.mozilla.org/security/2020/01/07/firefox-72-fingerprinting/). Mozilla has [advanced protection](https://support.mozilla.org/kb/firefox-protection-against-fingerprinting) against fingerprinting (RFP is enabled with Arkenfox).
We do not recommend extensions that promise to change your [browser fingerprint](https://blog.torproject.org/browser-fingerprinting-introduction-and-challenges-ahead/). Some of those extensions [are detectable](https://www.cse.chalmers.se/~andrei/codaspy17.pdf) by websites through JavaScript and [CSS](https://hal.archives-ouvertes.fr/hal-03152176/file/style-fingerprinting-usenix.pdf) methods, particularly those which inject anything into the web content.
This includes **all** extensions that try to change the user agent or other browser behaviour to prevent fingerprinting. We see these often recommended on Reddit and would like to say that they will likely make you more unique and can be circumvented. Arkenfox has [a good list](https://github.com/arkenfox/user.js/wiki/4.1-Extensions#small_orange_diamond-%EF%B8%8F-anti-fingerprinting-extensions-fk-no) of extensions you shouldnt be using. They also have [another list](https://github.com/arkenfox/user.js/wiki/4.1-Extensions#small_orange_diamond-dont-bother) of extensions you neednt bother with either. We also like to say testing sites which show you how unique you are in a set of users are often using hugely tainted results that are not indicative of real-world usage.
----------
_Special thanks to [Thorin-Oakenpants](https://github.com/Thorin-Oakenpants) and [Tommy](https://tommytran.io) for their help with providing advice and further documentation during the research phase.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 KiB

View File

@ -1,28 +0,0 @@
---
title: '"Move Fast and Break Things"'
image: 'blog/2022/04/04/move-fast-and-break-things.jpg'
created: "2022-04-04"
author: 'Freddy'
template: overrides/blog.en.html
---
Mark Zuckerberg does not look comfortable on stage. Yet, there he was proclaiming that “the future is private”. If someone has to tell you that they care about your privacy, they probably dont.
For someone trying not to appear like a cartoon villain, Zuckerberg doesnt do a great job. He gives the impression of some strange cyborg algorithmically attempting to impersonate human life. His movements are not quite robotic, but he lacks the charisma you might expect from one of the most powerful people on the planet. A _New Yorker_ [profile](https://www.newyorker.com/magazine/2018/09/17/can-mark-zuckerberg-fix-facebook-before-it-breaks-democracy) of him revealed that he had an affinity for Emperor Augustus, an ancient Roman tyrant. Through a really harsh approach, [Augustus] established two hundred years of world peace, he said.
Its the first part of that sentence that is worrying.
Is this what Zuckerberg sees himself as: a modern-day emperor hellbent on using any means he can to gain world peace? Probably not, but it would have been reassuring if he just told us he liked doing Sudoku and dad-dancing with his daughter (interestingly named August).
The Zuck once [joked](https://www.esquire.com/uk/latest-news/a19490586/mark-zuckerberg-called-people-who-handed-over-their-data-dumb-f/) to a friend that he could get them info about anyone in Harvard. He had email addresses, pictures, real addresses: the lot. When the friend asked how, this was his riposte: People just submitted it. I dont know why. They trust me. Dumb f*cks. We now live in a reality where Zuckerberg can get info about almost anyone in the world.
Like a depraved tabloid journalist fishing through a minor celebritys trash, Facebook collects everything it can about its users. Even if it means sifting through garbage, they want that data. But Facebook is not technically in the data business. It is in what author and professor Carissa Véliz [terms](https://aeon.co/essays/privacy-matters-because-it-empowers-us-all) the business of power which sounds rather more sinister than flogging off mildly irritating adverts.
Véliz argues that privacy is a form of power. It is the power to influence you, show you adverts and predict your behaviour. In this sense, personal data is being used to make us do things we otherwise would not do: to buy a certain product or to vote a certain way. Filmmaker Laura Poitras [described](https://www.washingtonpost.com/news/the-switch/wp/2014/10/23/snowden-filmmaker-laura-poitras-facebook-is-a-gift-to-intelligence-agencies/) Facebook as a gift to intelligence agencies. It allows governments to arrest people planning to participate in protests before they have even begun.
The social media giant is tip-toeing ever closer into our personal lives. When Facebook encountered competition it just bought it, adding Instagram and WhatsApp to its roster. The company even tried to make its own cryptocurrency so that one day the Facebook would control all our purchases too. Earlier this year, the project was [killed](https://www.ft.com/content/a88fb591-72d5-4b6b-bb5d-223adfb893f3) by regulators. It is worth noting that when Zuckerberg purchased WhatsApp and Instagram, they had no revenue. Author Tim Wu notes in his book _The Attention Merchants_ that Facebook is a business with an exceedingly low ratio of invention to success. Perhaps that is a part of Zucks genius.
Move fast and break things was the old company motto. When there were a few too many scandals, they moved fast and [rebranded](https://www.privacyguides.org/blog/2021/11/01/virtual-insanity) to Meta. No one expected online privacy to be the thing they broke.
Before it became a global behemoth, Facebook started out as a dorm-room project. Zuckerberg sat at his keyboard after a few drinks and built it mainly because he could. It now has nearly three billion users. In the same way, Facebook [conducted](https://www.theguardian.com/technology/2014/jul/02/facebook-apologises-psychological-experiments-on-users) social experiments seemingly just for fun. Why he did it doesnt really matter. As John Lanchester [put it](https://www.lrb.co.uk/the-paper/v39/n16/john-lanchester/you-are-the-product): he simply did it _because_.
It is unfair to say that Zuckerberg does not care about privacy he does. Thats why he [spared](https://www.theguardian.com/technology/2013/oct/11/mark-zuckerberg-facebook-neighbouring-houses) no expense buying the houses that surrounded his home. Zuckerberg knows the power of privacy, which is painfully ironic given he has built his career on exploiting it. For Zuckerberg, at least, the future is private. Its the rest of us that should be worried.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 KiB

View File

@ -1,42 +0,0 @@
---
title: '"Hide Nothing"'
image: 'blog/2022/06/09/hide-nothing.jpg'
created: "2022-06-09"
author: 'Dan Arel'
template: overrides/blog.en.html
---
In the wake of the September 11, 2001, attack on the United States, the US government enacted laws that weakened citizen privacy in the name of national emergency. This sent up many red flags for human rights and privacy advocates.
These concerns were met with “if you have nothing to hide, you have nothing to fear.” The argument goes that if you're not doing anything illegal, then these violations of your privacy shouldn't bother you. If you care about privacy, you clearly can't be up to anything good.
On the surface, this seems true to many people but the reality is very different. We may not have had anything to hide in the immediate aftermath of 9/11, but that was not the only information being sought after by governments. Indeed, following the passage of the Patriot Act in the US, the FBI issued 192,499 [National Security Letters](https://www.aclu.org/other/national-security-letters), meaning they collected the records and online activity of nearly 200,000 people.
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.
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.
In countries were organizing around political dissent is legal, that doesn't mean the government is tracking those taking part and using that information to create informants or infiltrate such groups. Or worse, when or if laws change, using that surveillance to punish those involved.
And even if you break away from the legal aspects, we all have something to hide. You may not be ready to reveal your sexual or gender identity, but your internet usage could potentially do that for you. You don't want to make your bank account public; you have that information to hide. And you can continue to list things about your life you'd just rather not make public, regardless of potential legality.
In July of 2021, a Catholic priest by the name of Jeffrey Burrill lost his job and was forced to resign after data collected through his cell phone showed that he was active on the Gay dating app Grindr, and that he had visited multiple gay bars in the area. [According](https://www.washingtonpost.com/religion/2021/07/20/bishop-misconduct-resign-burrill/) to the *Washington Post*:
> “A mobile device correlated to Burrill emitted app data signals from the location-based hookup app Grindr on a near-daily basis during parts of 2018, 2019, and 2020 —– at both his USCCB office and his USCCB-owned residence, as well as during USCCB meetings and events in other cities,” the Pillar reported.
> “The data obtained and analyzed by The Pillar conveys mobile app date signals during two 26-week periods, the first in 2018 and the second in 2019 and 2020. The data was obtained from a data vendor and authenticated by an independent data consulting firm contracted by The Pillar,” the site reported. It did not identify who the vendor was or if the site bought the information or got it from a third party.
> The Pillar story says app data “correlated” to Burrill's phone shows the priest visited gay bars, including while traveling for the USCCB.
While it was not clear who was tracking Burrill's device, the Post went on to say that:
> Privacy experts have long raised concerns about “anonymized” data collected by apps and sold to or shared with aggregators and marketing companies. While the information is typically stripped of obviously identifying fields, like a user's name or phone number, it can contain everything from age and gender to a device ID. It's possible for experts to de-anonymize some of this data and connect it to real people.
While Burrill was without a doubt in violation of his works own code of conduct, he did decide on his own to be a priest. However, his personal life was not harming others and was just that, his personal life. While the question looms about who was tracking him to begin with and why, the fact it was so easy to do is alarming.
What if Burrill wasn't a priest, but just happened to work for someone who held anti-homosexual views who used this data to out him, humiliate him, and fire him under false pretenses? This data, which should be private could (and likely did in the real-life circumstance) ruin his life.
That is what makes internet privacy so important. It's not hiding nefarious activity, it's that we all have an innate right to our privacy.
You might not feel today that you have anything to hide, but you might not feel that way tomorrow and once something is public, it cannot be made private again.

View File

@ -1,80 +0,0 @@
---
title: "Calendar and Contact Sync"
icon: material/calendar
---
Calendars and contacts contain some of your most sensitive data; use products that implement E2EE at rest to prevent a provider from reading them.
## Tutanota
!!! recommendation
![Tutanota logo](assets/img/calendar-contacts/tutanota.svg#only-light){ align=right }
![Tutanota logo](assets/img/calendar-contacts/tutanota-dark.svg#only-dark){ align=right }
**Tutanota** offers a free and encrypted calendar across their supported platforms. Features include: automatic E2EE of all data, sharing features, import/export functionality, multi-factor authentication, and [more](https://tutanota.com/calendar-app-comparison/).
Multiple calendars and extended sharing functionality is limited to paid subscribers.
[:octicons-home-16: Homepage](https://tutanota.com/calendar){ .md-button .md-button--primary }
[:octicons-eye-16:](https://tutanota.com/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://tutanota.com/faq){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/tutao/tutanota){ .card-link title="Source Code" }
[:octicons-heart-16:](https://tutanota.com/community/){ .card-link title=Contribute }
??? downloads
- [:octicons-browser-16: Web](https://mail.tutanota.com/)
- [:fontawesome-brands-windows: Windows](https://tutanota.com/blog/posts/desktop-clients/)
- [:fontawesome-brands-apple: macOS](https://tutanota.com/blog/posts/desktop-clients/)
- [:fontawesome-brands-linux: Linux](https://tutanota.com/blog/posts/desktop-clients/)
- [:pg-flathub: Flatpak](https://flathub.org/apps/details/com.tutanota.Tutanota)
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=de.tutao.tutanota)
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/de.tutao.tutanota)
- [:fontawesome-brands-app-store-ios: App Store](https://apps.apple.com/us/app/tutanota/id922429609)
## EteSync
!!! recommendation
![EteSync logo](assets/img/calendar-contacts/etesync.svg){ align=right }
**EteSync** is a secure, end-to-end encrypted, and privacy-respecting cloud backup and synchronization software for your personal information, including contacts and calendars. There are native clients for Android, iOS, with a web client and an adapter layer for most desktop clients available too. Etesync does [not](https://www.etesync.com/faq/#2fa) currently support multi-factor authentication.
EteSync offers a SaaS for [$24/year](https://dashboard.etebase.com/user/partner/pricing/), or you can host the server yourself for free.
[:octicons-home-16: Homepage](https://www.etesync.com){ .md-button .md-button--primary }
[:octicons-eye-16:](https://www.etesync.com/tos/#privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://www.etesync.com/user-guide/){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/etesync){ .card-link title="Source Code" }
[:octicons-heart-16:](https://www.etesync.com/contribute/){ .card-link title=Contribute }
??? downloads
- [:octicons-device-desktop-16: Client Setup](https://github.com/etesync/etesync-dav/blob/master/README.md#specific-client-notes-and-instructions)
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=com.etesync.syncadapter)
- [:pg-f-droid: F-Droid](https://f-droid.org/app/com.etesync.syncadapter)
- [:fontawesome-brands-app-store-ios: App Store](https://apps.apple.com/us/app/apple-store/id1489574285)
- [:fontawesome-brands-docker: Docker Hub](https://hub.docker.com/r/victorrds/etesync)
## Proton Calendar
!!! recommendation
![Proton](assets/img/calendar-contacts/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 get access to a single calendar, whereas paid subscribers can create up to 20 calendars. Extended sharing functionality is also limited to paid subscribers.
**Proton Mail** can be used to synchronize contacts. Likewise, the service is currently only available via the web and mobile clients.
[:octicons-home-16: Homepage](https://proton.me/calendar){ .md-button .md-button--primary }
[:octicons-eye-16:](https://proton.me/legal/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://proton.me/support/proton-calendar-guide){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/ProtonMail/WebClients){ .card-link title="Source Code" }
??? downloads
- [:octicons-browser-16: Web](https://calendar.proton.me)
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=me.proton.android.calendar)
!!! warning
Proton [does not](https://proton.me/support/proton-contacts#verify) use E2EE for your contact names and email addresses.

69
docs/calendar.md Normal file
View File

@ -0,0 +1,69 @@
---
title: "Calendar Sync"
icon: material/calendar
description: Calendars contain some of your most sensitive data; use products that implement encryption at rest.
---
Calendars contain some of your most sensitive data; use products that implement E2EE at rest to prevent a provider from reading them.
## Tutanota
!!! recommendation
![Tutanota logo](assets/img/calendar/tutanota.svg#only-light){ align=right }
![Tutanota logo](assets/img/calendar/tutanota-dark.svg#only-dark){ align=right }
**Tutanota** offers a free and encrypted calendar across their supported platforms. Features include: automatic E2EE of all data, sharing features, import/export functionality, multi-factor authentication, and [more](https://tutanota.com/calendar-app-comparison/).
Multiple calendars and extended sharing functionality is limited to paid subscribers.
[:octicons-home-16: Homepage](https://tutanota.com/calendar){ .md-button .md-button--primary }
[:octicons-eye-16:](https://tutanota.com/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://tutanota.com/faq){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/tutao/tutanota){ .card-link title="Source Code" }
[:octicons-heart-16:](https://tutanota.com/community/){ .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/us/app/tutanota/id922429609)
- [:simple-windows11: Windows](https://tutanota.com/blog/posts/desktop-clients/)
- [:simple-apple: macOS](https://tutanota.com/blog/posts/desktop-clients/)
- [:simple-linux: Linux](https://tutanota.com/blog/posts/desktop-clients/)
- [:simple-flathub: Flathub](https://flathub.org/apps/details/com.tutanota.Tutanota)
- [:octicons-browser-16: Web](https://mail.tutanota.com/)
## Proton Calendar
!!! recommendation
![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 get access to a single calendar, whereas paid subscribers can create up to 20 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/legal/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://proton.me/support/proton-calendar-guide){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/ProtonMail/WebClients){ .card-link title="Source Code" }
??? downloads
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=me.proton.android.calendar)
- [:octicons-browser-16: Web](https://calendar.proton.me)
## 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.
!!! example "This section is new"
We are working on establishing defined criteria for every section of our site, and this may be subject to change. If you have any questions about our criteria, please [ask on our forum](https://discuss.privacyguides.net/latest) and don't assume we didn't consider something when making our recommendations if it is not listed here. There are many factors considered and discussed when we recommend a project, and documenting every single one is a work-in-progress.
### Minimum Qualifications
- Must sync and store information with E2EE to ensure data is not visible to the service provider.
### 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 integrate with native OS calendar and contact management apps if applicable.

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