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

Compare commits

..

117 Commits

Author SHA1 Message Date
00a13b8fb2 Fix a link in video-streaming.md (#1002)
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-04-13 11:31:24 -05:00
987cffd998 Consistency of search engine source (#998) 2022-04-13 21:22:31 +09:30
f8a6732b38 Remove Social Networks & Social News Aggregators (#953)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-13 16:10:42 +09:30
cd08f12848 Mark .md files as linguist-detectable 2022-04-12 17:37:31 -05:00
9bdc882abd Add Apple Mail to tools overview (#993)
Signed-off-by: lexi <git@lx-is.lol>
2022-04-12 16:26:14 -05:00
9137cb9d06 Add link to discussions in navbar (#994)
Signed-off-by: Jonah Aragon <jonah@triplebit.net>
2022-04-12 16:10:31 -05:00
f2033c9c2f Bump actions/cache from 3.0.1 to 3.0.2 (#989)
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.1 to 3.0.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.0.1...v3.0.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-12 09:10:29 -05:00
0db05bad0a Unsticky sidebar without JS (#981)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-12 13:15:22 +09:30
be558ebfd6 Add release instructions 2022-04-11 22:28:30 -05:00
4ae2e9453c Add changelog, deploy on tagged releases (#987) 2022-04-11 22:10:10 -05:00
834d30ac8c Move articles to blog.privacyguides.org (#985) 2022-04-11 22:01:50 -05:00
a1a20eeeb0 Correct Privacy Guides logo icon 2022-04-11 17:03:42 -05:00
eb6d634d3a Imagepipe F-Droid link correction (#984) 2022-04-11 16:43:43 -05:00
d87bb6b0de Fix EoL cost formula (#973) 2022-04-12 02:30:20 +09:30
8f45e51a9e Fix typo in metapho button (#976)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-12 02:18:19 +09:30
fb6503a200 Re-word to avoid mistake on comprehension (#975) 2022-04-12 01:33:40 +09:30
41beef9fae Add RSS page (#895) 2022-04-11 21:19:13 +09:30
1beaa6c2b7 MFA/YubiKey clarifications (#972) 2022-04-11 18:16:42 +09:30
8d64d97d82 Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 15:34:41 +09:30
ee4c683e1a Bump actions/download-artifact from 2 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 15:34:07 +09:30
65a4dbbf37 Minor update to Metadata Removal article (#971)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-11 15:31:05 +09:30
4b28596983 Move "More places to setup 2FA" to intro (#968) 2022-04-11 12:59:35 +09:30
90292634a8 Replace Proton Calender logo with vector (#967)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-11 03:13:52 +09:30
f6a176b30c Use dark mode logo when in dark mode (in readme) (#965)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-10 23:49:06 +09:30
6673523a71 MFA page update, split recommendations (#862)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-10 23:44:00 +09:30
ce85dc9bf9 Update macOS shortcut image (#964)
Signed-off-by: lexi <git@lx-is.lol>
2022-04-09 17:23:15 -04:00
f7bbd36aef De-indent "Where to get your applications" (#955) 2022-04-09 21:38:59 +09:30
e156345ecf Use styilization of mailcow (#958)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-09 19:34:46 +09:30
c2c8d6fba1 Add link to VPN criteria (#963)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-09 19:30:01 +09:30
aa63bb7378 Remove redundant instructions (#962) 2022-04-09 09:42:48 +00:00
b028b389a9 Integrating Metadata Removal (#919) 2022-04-09 08:07:13 +00:00
24215dc880 Fix FairEmail F-Droid download link (#961) 2022-04-09 03:25:32 -04:00
aabc5827e3 Revert "Change Picocrypt URL (#887)"
This reverts commit 55a4058ef4.
2022-04-09 13:32:04 +09:30
6be4ce2575 Remove old assets unlikely to be ever used again (#954) 2022-04-09 01:20:45 +09:30
8a50bac101 Change "Browser extensions" to "Additional Resources" (#948)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-08 16:29:21 +09:30
0665669173 Remove Pass, use gopass instead (#952)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-08 16:26:44 +09:30
51fc9076cb Update broken links on privacy policy (#946) 2022-04-08 02:54:16 -04:00
d185d5cdc8 Add PG logo (#939)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-08 02:19:19 +09:30
e37fa65be1 Fixed broken links (#938) 2022-04-08 01:36:13 +09:30
72ef50f914 Update outdated licenses in Notices (#934)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-07 23:41:26 +09:30
8776541daa Should I use encrypted DNS update (#926)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-07 22:44:50 +09:30
a98a1e4c5b Fix broken link (#933) 2022-04-07 18:52:08 +09:30
b0dbd8330e Correct 2 minor typos (#932)
* Fix typo in android.md

* Insert space in "Qubes OS"
2022-04-07 04:53:06 -04:00
881df3e5da Update NextDNS ECS availability (#929) 2022-04-06 17:50:50 -08:00
f8b6efb995 Remove Croc from recommendations (#927)
Co-authored-by: Tommy <contact@tommytran.io>
2022-04-06 20:49:52 +00:00
dc94c77dad Require Monero instead of Bitcoin for criteria (#924)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-06 22:14:43 +09:30
2582abe3d7 Fix Tomb logo (#925) 2022-04-06 22:03:40 +09:30
Tad
5e7dc85052 Detail the DivestOS hardening (#904)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-06 17:21:12 +09:30
9a6e6c617d Fix the missing DecSync logo in the tools page (#909)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-06 14:29:00 +09:30
9aff2ad351 Fixed warning on the DNS provider page (#922)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-06 13:48:07 +09:30
be3febe40a Use Public Sans & DM Mono Fonts (#921)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-06 13:29:24 +09:30
2f726c9f4b Split DNS page into 2 pages (#916) 2022-04-05 22:50:44 -05:00
6e14cdfadc Use correct stylization of software project names (#920) 2022-04-05 22:49:44 -05:00
0923783611 Improve wording in the 'How to get involved' section (#917)
* Update wording

Co-authored-by: Freddy <freddy@privacyguides.org>
2022-04-05 19:32:54 +01:00
1e6485fb3c Netlify PR Previews (#915) 2022-04-05 12:29:24 -05:00
9df67861c9 Dark mode CSS fix 2022-04-05 11:31:08 -05:00
4343ae6c02 Remove homepage footer (#914)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-06 01:57:02 +09:30
ffdb89720c Page formatting consistency (#913) 2022-04-05 10:49:24 -05:00
e49aa04efc Fix homepage button (#912) 2022-04-05 10:48:48 -05:00
7d24b5c0c1 Remove deleted blog posts 2022-04-05 14:32:11 +01:00
122f21fce2 Remove old indexes (#911) 2022-04-05 22:58:58 +09:30
3ec675cd05 Update hardware key recommendation (#875) 2022-04-05 08:12:47 -05:00
1b71db4575 Typo 2022-04-05 14:07:34 +01:00
f7a3eaa0cb Archive old blog posts (#910) 2022-04-05 08:04:34 -05:00
5b1f1a14f3 Add VPN, Email and missing mini icons (#907) 2022-04-05 18:18:26 +09:30
24d068bc27 Updating minor factual error 2022-04-05 09:45:08 +01:00
bca3748ca7 Meta information (#898)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-05 16:15:34 +09:30
866e75955a Add TOSDR disclaimer on overview page (#903)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-05 14:30:28 +09:30
5c520ab865 Update the BitLocker image to match the Windows 11 style and rephrase the beginning of the BitLocker description to clarify that BitLocker may not be enabled by default. (#905)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-05 14:27:38 +09:30
97e5b9ab0a Minor fixes to blog post (April 4, 2022)
* spelling of WhatsApp
* use spelling of Sudoku from Wikipedia
* cite Tim Wu quote from his book *The Attention Merchants*
    * since other references had sources
    * Originally I wanted to use this paywalled FT
    [article](https://archive.ph/tg90W), but even the article cites Wu's
    book.
* other grammar fixes

Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-05 14:19:58 +09:30
799c520437 Minor edits 2022-04-04 21:14:32 +01:00
e7ade0215a Add Apple Mail, fix opening and macgpg description (#839) 2022-04-05 04:50:04 +09:30
4d652b88d7 "Move Fast and Break Things" (#896)
Co-Authored-By: Freddy <freddy@privacyguides.org>
2022-04-04 13:04:44 -05:00
39e54ea40b Remove remote MathJax JS (#891) 2022-04-05 02:13:53 +09:30
09f07f3584 Single-page recommendations (#894) 2022-04-04 10:57:13 -05:00
75bd0b1358 Fix broken links (#892) 2022-04-04 09:44:21 -05:00
91abf0f412 Fix descriptions MacGPG, KeepassDX (#890) 2022-04-04 20:21:49 +09:30
b2e81cf9bd Update MacGPG icon (#889) 2022-04-04 19:53:34 +09:30
cbb82a2399 Move PGP to own section (#873) 2022-04-04 19:12:45 +09:30
16dc6c6d34 Fix unlabeled link (#885)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-04 18:23:10 +09:30
55a4058ef4 Change Picocrypt URL (#887) 2022-04-04 18:19:08 +09:30
43dc5a9b3e Add warning about unknown SEIC curve (#886) 2022-04-04 16:24:05 +09:30
90d36575c4 Clarify iOS browser restrictions (#884)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-04 15:18:29 +09:30
c22743c1c9 Bump actions/cache from 2 to 3.0.1
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.0.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/v2...v3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 14:19:46 +09:30
9ad644ee37 Fix mistakes from https://github.com/privacyguides/privacyguides.org/pull/878 (#883) 2022-04-04 13:45:37 +09:30
b1dffdc3e8 Update authenticator apps (#877)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-04 13:21:26 +09:30
d19deee5a5 Minor download icon updates (#878)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-04 13:18:50 +09:30
d9aff3d770 Fix KeepassDX F-Droid link (#880) 2022-04-04 12:57:12 +09:30
0a7f85ceeb Remove ExifCleaner privacy policy (#876)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-04 03:47:42 +09:30
cc13fb189c Add doineedavpn.com to Sources and Further Reading (#859)
Co-authored-by: lexi <git@lx-is.lol>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-04 00:50:41 +09:30
c237e5595e Make some changes to Linux Desktop page (#816) 2022-04-03 23:15:58 +09:30
38a948d30d Warning on Firefox privacy blog post (#868) 2022-04-03 23:02:29 +09:30
f8c574d856 Update FileVault recommendation (#865)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-03 18:45:02 +09:30
46aa2088e5 Markdown style consistency (#858)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-03 18:20:08 +09:30
929b942a4d Update VSCodium card (#864) 2022-04-03 00:29:17 -04:00
b6d24a79ee Friendica icon fix (#863) 2022-04-02 23:08:41 -05:00
b6cd39a22d Improve building instructions (#855)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-03 05:21:13 +09:30
c85098f4c3 Add Flathub icon (#857)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-03 03:15:21 +09:30
de909e61fd Remove comments in icons (#856)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-03 02:53:37 +09:30
a8216603f4 Fix "get involved" link (#854) 2022-04-03 01:14:06 +10:30
28d7c1b3c0 Feedback for encryption page, and other corrections (#847) 2022-04-03 00:59:04 +10:30
325f511234 Tutanota link fix (#850)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-02 23:36:39 +10:30
363d87a38a Remove wrong ios app store link for FairEmail (#852)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-02 23:31:38 +10:30
029bf2bbbd Updating markdown 2022-04-02 11:15:24 +01:00
140cc62b5a Raivo-OTP icon fix, consistency (#846) 2022-04-02 16:49:08 +10:30
fec526192b Fix some typos in the DNS page add TvOS instruction (#827) 2022-04-02 15:05:18 +10:30
3ff77e729f Include 'Yes' branch DNS flowchart (#844) 2022-04-01 23:16:27 -05:00
2bc80b1042 Blog comments fix 2022-04-01 23:00:01 -05:00
6c7092c229 Various minor improvements (#843) 2022-04-01 22:24:25 -05:00
345f446050 Article bounties (#841) 2022-04-01 21:30:54 -05:00
2d0738c976 Delete leftover migration things (#840) 2022-04-01 20:03:46 -05:00
02eccfbf5e Fix weird things on threat modeling page (#839) 2022-04-01 19:51:27 -05:00
4dfed4c64c Spelling Fix (#838) 2022-04-01 19:46:38 -05:00
8359f2127a Use mkdocs-material for development builds (#836) 2022-04-01 16:33:18 -05:00
ca45181dac Update virtual-insanity.md 2022-04-01 22:31:17 +01:00
9fcb5f61a4 Move 2FA app download links inline w/ the cards (#835) 2022-04-01 15:52:52 -05:00
5f025d97cb Make Session's logo appear next to its recommendation (#832)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-04-02 07:01:42 +10:30
226 changed files with 3621 additions and 11667 deletions

12
.gitattributes vendored
View File

@ -1,2 +1,14 @@
# Auto detect text files and perform LF normalization
* text=auto
docs/** -linguist-documentation
.git* text
*.json text
*.js text
*.md text linguist-detectable
*.{yml,yaml} text
*.{htm,html} text diff=html
*.svg text
*.png binary
*.{jpeg,jpg} binary

16
.github/CODEOWNERS vendored
View File

@ -1,21 +1,13 @@
# Additional Co-Owners are added to the TOP of this file.
# High-traffic pages
/index.html @JonahAragon @dngray
/blog.html @JonahAragon
/docs/index.md @JonahAragon @dngray
/theme/overrides/ @JonahAragon
# Org/legal
/notices.md @JonahAragon
/privacy-policy.md @JonahAragon
# Org
/docs/about/ @JonahAragon
LICENSE @JonahAragon
# Website dev
/_sass/ @JonahAragon
/_layouts/ @JonahAragon
Gemfile @JonahAragon
Gemfile.lock @JonahAragon
_config.yml @JonahAragon
# Ops
/.github/ @JonahAragon
/.well-known/ @JonahAragon

View File

@ -22,32 +22,25 @@ jobs:
python-version: ${{ env.PYTHON_VERSION }}
- name: Cache files
uses: actions/cache@v2
uses: actions/cache@v3.0.2
with:
key: ${{ github.ref }}
path: .cache
- name: Install Python dependencies
run: |
pip install 'mkdocs>=1.3.0'
- name: Install mkdocs-material Insiders build
if: github.event.repository.fork == false
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
git clone --depth 1 https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
pip install -e mkdocs-material-insiders
pip install mkdocs
pip install mkdocs-material
- name: Build website
run: |
mkdocs build --config-file mkdocs.production.yml
mkdocs build
mv .well-known site/
tar cvf site.tar site
mkdocs --version
- name: Package website
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: generated-site
path: site.tar

View File

@ -1,8 +1,7 @@
name: Deploy Website
on:
push:
branches:
- main
release:
types: [published]
env:
PYTHON_VERSION: 3.x
@ -22,7 +21,7 @@ jobs:
python-version: ${{ env.PYTHON_VERSION }}
- name: Cache files
uses: actions/cache@v2
uses: actions/cache@v3.0.2
with:
key: ${{ github.ref }}
path: .cache
@ -47,7 +46,7 @@ jobs:
mkdocs --version
- name: Package website
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: generated-site
path: site.tar
@ -60,7 +59,7 @@ jobs:
steps:
- name: Download generated Jekyll site
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: generated-site
- run: tar xvf site.tar

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "mkdocs-material-insiders"]
path = mkdocs-material
url = git@github.com:privacyguides/mkdocs-material-insiders.git

9
.markdownlint.yml Normal file
View File

@ -0,0 +1,9 @@
default: true
line-length: false
no-inline-html: false
code-block-style: false
no-hard-tabs:
spaces-per-tab: 4
emphasis-style:
style: "asterisk"
no-duplicate-header: false

20
CHANGELOG.md Normal file
View File

@ -0,0 +1,20 @@
# Privacy Guides Changelog
<!-- Add the date and any new changes to the TOP of this file, below this line. -->
## 2022-04-12
- Enabled organization discussions ([#986](https://github.com/orgs/privacyguides/discussions/986))
- Added a navbar link to the new [organization discussions](https://github.com/orgs/privacyguides/discussions) ([#994](https://github.com/privacyguides/privacyguides.org/pull/994))
## 2022-04-11
- Added changelog
- Switched to release-based deployments ([#987](https://github.com/privacyguides/privacyguides.org/pull/987))
- Removed blog from repo, moved to [blog.privacyguides.org](https://blog.privacyguides.org) ([#985](https://github.com/privacyguides/privacyguides.org/pull/985))
- Add RSS page ([#895](https://github.com/privacyguides/privacyguides.org/pull/895/))
- MFA/YubiKey clarifications ([#972](https://github.com/privacyguides/privacyguides.org/pull/972))
---
*Massive thanks to [u/SnowCatFalcon](https://www.reddit.com/user/SnowCatFalcon/) for publishing [changelogs on our Subreddit](https://www.reddit.com/r/PrivacyGuides/comments/tu2dvw/privacy_guides_changelogs_march_2022/) before we added this file.*

14
Pipfile Normal file
View File

@ -0,0 +1,14 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
mkdocs = "*"
mkdocs-material = {path = "./mkdocs-material"}
[dev-packages]
scour = "*"
[requires]
python_version = "3.8"

541
Pipfile.lock generated Normal file
View File

@ -0,0 +1,541 @@
{
"_meta": {
"hash": {
"sha256": "18f7bfb9a1d405016b6c63e1253e974e974d3e67b8e8a6b98d132ac1e780c822"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.8"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"cairocffi": {
"hashes": [
"sha256:108a3a7cb09e203bdd8501d9baad91d786d204561bd71e9364e8b34897c47b91"
],
"markers": "python_version >= '3.7'",
"version": "==1.3.0"
},
"cairosvg": {
"hashes": [
"sha256:98c276b7e4f0caf01e5c7176765c104ffa1aa1461d63b2053b04ab663cf7052b",
"sha256:b0b9929cf5dba005178d746a8036fcf0025550f498ca54db61873322384783bc"
],
"markers": "python_version >= '3.5'",
"version": "==2.5.2"
},
"certifi": {
"hashes": [
"sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872",
"sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"
],
"version": "==2021.10.8"
},
"cffi": {
"hashes": [
"sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3",
"sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2",
"sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636",
"sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20",
"sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728",
"sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27",
"sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66",
"sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443",
"sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0",
"sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7",
"sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39",
"sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605",
"sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a",
"sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37",
"sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029",
"sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139",
"sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc",
"sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df",
"sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14",
"sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880",
"sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2",
"sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a",
"sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e",
"sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474",
"sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024",
"sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8",
"sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0",
"sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e",
"sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a",
"sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e",
"sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032",
"sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6",
"sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e",
"sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b",
"sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e",
"sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954",
"sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962",
"sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c",
"sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4",
"sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55",
"sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962",
"sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023",
"sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c",
"sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6",
"sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8",
"sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382",
"sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7",
"sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc",
"sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997",
"sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"
],
"version": "==1.15.0"
},
"charset-normalizer": {
"hashes": [
"sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597",
"sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"
],
"markers": "python_version >= '3'",
"version": "==2.0.12"
},
"click": {
"hashes": [
"sha256:24e1a4a9ec5bf6299411369b208c1df2188d9eb8d916302fe6bf03faed227f1e",
"sha256:479707fe14d9ec9a0757618b7a100a0ae4c4e236fac5b7f80ca68028141a1a72"
],
"markers": "python_version >= '3.7'",
"version": "==8.1.2"
},
"cssselect2": {
"hashes": [
"sha256:8d4690bce5f25013262997e64cef3e7bade877d3ef126f9cc624e5b1f294d934",
"sha256:d98a7bbdd8ebc46093279195d669a3359bd5a23f90c19e82c19d9eeef333e617"
],
"markers": "python_version >= '3.7'",
"version": "==0.5.0"
},
"defusedxml": {
"hashes": [
"sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69",
"sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
"version": "==0.7.1"
},
"ghp-import": {
"hashes": [
"sha256:5f8962b30b20652cdffa9c5a9812f7de6bcb56ec475acac579807719bf242c46",
"sha256:947b3771f11be850c852c64b561c600fdddf794bab363060854c1ee7ad05e071"
],
"version": "==2.0.2"
},
"idna": {
"hashes": [
"sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff",
"sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"
],
"markers": "python_version >= '3'",
"version": "==3.3"
},
"importlib-metadata": {
"hashes": [
"sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6",
"sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"
],
"markers": "python_version < '3.10'",
"version": "==4.11.3"
},
"jinja2": {
"hashes": [
"sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8",
"sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"
],
"markers": "python_version >= '3.6'",
"version": "==3.0.3"
},
"lxml": {
"hashes": [
"sha256:078306d19a33920004addeb5f4630781aaeabb6a8d01398045fcde085091a169",
"sha256:0c1978ff1fd81ed9dcbba4f91cf09faf1f8082c9d72eb122e92294716c605428",
"sha256:1010042bfcac2b2dc6098260a2ed022968dbdfaf285fc65a3acf8e4eb1ffd1bc",
"sha256:1d650812b52d98679ed6c6b3b55cbb8fe5a5460a0aef29aeb08dc0b44577df85",
"sha256:20b8a746a026017acf07da39fdb10aa80ad9877046c9182442bf80c84a1c4696",
"sha256:2403a6d6fb61c285969b71f4a3527873fe93fd0abe0832d858a17fe68c8fa507",
"sha256:24f5c5ae618395ed871b3d8ebfcbb36e3f1091fd847bf54c4de623f9107942f3",
"sha256:28d1af847786f68bec57961f31221125c29d6f52d9187c01cd34dc14e2b29430",
"sha256:31499847fc5f73ee17dbe1b8e24c6dafc4e8d5b48803d17d22988976b0171f03",
"sha256:31ba2cbc64516dcdd6c24418daa7abff989ddf3ba6d3ea6f6ce6f2ed6e754ec9",
"sha256:330bff92c26d4aee79c5bc4d9967858bdbe73fdbdbacb5daf623a03a914fe05b",
"sha256:5045ee1ccd45a89c4daec1160217d363fcd23811e26734688007c26f28c9e9e7",
"sha256:52cbf2ff155b19dc4d4100f7442f6a697938bf4493f8d3b0c51d45568d5666b5",
"sha256:530f278849031b0eb12f46cca0e5db01cfe5177ab13bd6878c6e739319bae654",
"sha256:545bd39c9481f2e3f2727c78c169425efbfb3fbba6e7db4f46a80ebb249819ca",
"sha256:5804e04feb4e61babf3911c2a974a5b86f66ee227cc5006230b00ac6d285b3a9",
"sha256:5a58d0b12f5053e270510bf12f753a76aaf3d74c453c00942ed7d2c804ca845c",
"sha256:5f148b0c6133fb928503cfcdfdba395010f997aa44bcf6474fcdd0c5398d9b63",
"sha256:5f7d7d9afc7b293147e2d506a4596641d60181a35279ef3aa5778d0d9d9123fe",
"sha256:60d2f60bd5a2a979df28ab309352cdcf8181bda0cca4529769a945f09aba06f9",
"sha256:6259b511b0f2527e6d55ad87acc1c07b3cbffc3d5e050d7e7bcfa151b8202df9",
"sha256:6268e27873a3d191849204d00d03f65c0e343b3bcb518a6eaae05677c95621d1",
"sha256:627e79894770783c129cc5e89b947e52aa26e8e0557c7e205368a809da4b7939",
"sha256:62f93eac69ec0f4be98d1b96f4d6b964855b8255c345c17ff12c20b93f247b68",
"sha256:6d6483b1229470e1d8835e52e0ff3c6973b9b97b24cd1c116dca90b57a2cc613",
"sha256:6f7b82934c08e28a2d537d870293236b1000d94d0b4583825ab9649aef7ddf63",
"sha256:6fe4ef4402df0250b75ba876c3795510d782def5c1e63890bde02d622570d39e",
"sha256:719544565c2937c21a6f76d520e6e52b726d132815adb3447ccffbe9f44203c4",
"sha256:730766072fd5dcb219dd2b95c4c49752a54f00157f322bc6d71f7d2a31fecd79",
"sha256:74eb65ec61e3c7c019d7169387d1b6ffcfea1b9ec5894d116a9a903636e4a0b1",
"sha256:7993232bd4044392c47779a3c7e8889fea6883be46281d45a81451acfd704d7e",
"sha256:80bbaddf2baab7e6de4bc47405e34948e694a9efe0861c61cdc23aa774fcb141",
"sha256:86545e351e879d0b72b620db6a3b96346921fa87b3d366d6c074e5a9a0b8dadb",
"sha256:891dc8f522d7059ff0024cd3ae79fd224752676447f9c678f2a5c14b84d9a939",
"sha256:8a31f24e2a0b6317f33aafbb2f0895c0bce772980ae60c2c640d82caac49628a",
"sha256:8b99ec73073b37f9ebe8caf399001848fced9c08064effdbfc4da2b5a8d07b93",
"sha256:986b7a96228c9b4942ec420eff37556c5777bfba6758edcb95421e4a614b57f9",
"sha256:a1547ff4b8a833511eeaceacbcd17b043214fcdb385148f9c1bc5556ca9623e2",
"sha256:a2bfc7e2a0601b475477c954bf167dee6d0f55cb167e3f3e7cefad906e7759f6",
"sha256:a3c5f1a719aa11866ffc530d54ad965063a8cbbecae6515acbd5f0fae8f48eaa",
"sha256:a9f1c3489736ff8e1c7652e9dc39f80cff820f23624f23d9eab6e122ac99b150",
"sha256:aa0cf4922da7a3c905d000b35065df6184c0dc1d866dd3b86fd961905bbad2ea",
"sha256:ad4332a532e2d5acb231a2e5d33f943750091ee435daffca3fec0a53224e7e33",
"sha256:b2582b238e1658c4061ebe1b4df53c435190d22457642377fd0cb30685cdfb76",
"sha256:b6fc2e2fb6f532cf48b5fed57567ef286addcef38c28874458a41b7837a57807",
"sha256:b92d40121dcbd74831b690a75533da703750f7041b4bf951befc657c37e5695a",
"sha256:bbab6faf6568484707acc052f4dfc3802bdb0cafe079383fbaa23f1cdae9ecd4",
"sha256:c0b88ed1ae66777a798dc54f627e32d3b81c8009967c63993c450ee4cbcbec15",
"sha256:ce13d6291a5f47c1c8dbd375baa78551053bc6b5e5c0e9bb8e39c0a8359fd52f",
"sha256:db3535733f59e5605a88a706824dfcb9bd06725e709ecb017e165fc1d6e7d429",
"sha256:dd10383f1d6b7edf247d0960a3db274c07e96cf3a3fc7c41c8448f93eac3fb1c",
"sha256:e01f9531ba5420838c801c21c1b0f45dbc9607cb22ea2cf132844453bec863a5",
"sha256:e11527dc23d5ef44d76fef11213215c34f36af1608074561fcc561d983aeb870",
"sha256:e1ab2fac607842ac36864e358c42feb0960ae62c34aa4caaf12ada0a1fb5d99b",
"sha256:e1fd7d2fe11f1cb63d3336d147c852f6d07de0d0020d704c6031b46a30b02ca8",
"sha256:e9f84ed9f4d50b74fbc77298ee5c870f67cb7e91dcdc1a6915cb1ff6a317476c",
"sha256:ec4b4e75fc68da9dc0ed73dcdb431c25c57775383fec325d23a770a64e7ebc87",
"sha256:f10ce66fcdeb3543df51d423ede7e238be98412232fca5daec3e54bcd16b8da0",
"sha256:f63f62fc60e6228a4ca9abae28228f35e1bd3ce675013d1dfb828688d50c6e23",
"sha256:fa56bb08b3dd8eac3a8c5b7d075c94e74f755fd9d8a04543ae8d37b1612dd170",
"sha256:fa9b7c450be85bfc6cd39f6df8c5b8cbd76b5d6fc1f69efec80203f9894b885f"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
"version": "==4.8.0"
},
"markdown": {
"hashes": [
"sha256:76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006",
"sha256:9923332318f843411e9932237530df53162e29dc7a4e2b91e35764583c46c9a3"
],
"markers": "python_version >= '3.6'",
"version": "==3.3.6"
},
"markupsafe": {
"hashes": [
"sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003",
"sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88",
"sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5",
"sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7",
"sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a",
"sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603",
"sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1",
"sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135",
"sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247",
"sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6",
"sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601",
"sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77",
"sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02",
"sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e",
"sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63",
"sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f",
"sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980",
"sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b",
"sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812",
"sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff",
"sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96",
"sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1",
"sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925",
"sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a",
"sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6",
"sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e",
"sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f",
"sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4",
"sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f",
"sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3",
"sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c",
"sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a",
"sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417",
"sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a",
"sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a",
"sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37",
"sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452",
"sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933",
"sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a",
"sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"
],
"markers": "python_version >= '3.7'",
"version": "==2.1.1"
},
"mergedeep": {
"hashes": [
"sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8",
"sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"
],
"markers": "python_version >= '3.6'",
"version": "==1.3.4"
},
"mkdocs": {
"hashes": [
"sha256:26bd2b03d739ac57a3e6eed0b7bcc86168703b719c27b99ad6ca91dc439aacde",
"sha256:b504405b04da38795fec9b2e5e28f6aa3a73bb0960cb6d5d27ead28952bd35ea"
],
"index": "pypi",
"version": "==1.3.0"
},
"mkdocs-material": {
"path": "./mkdocs-material",
"version": "==8.2.8+insiders.4.12.0"
},
"mkdocs-material-extensions": {
"hashes": [
"sha256:a82b70e533ce060b2a5d9eb2bc2e1be201cf61f901f93704b4acf6e3d5983a44",
"sha256:bfd24dfdef7b41c312ede42648f9eb83476ea168ec163b613f9abd12bbfddba2"
],
"markers": "python_version >= '3.6'",
"version": "==1.0.3"
},
"packaging": {
"hashes": [
"sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb",
"sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
],
"markers": "python_version >= '3.6'",
"version": "==21.3"
},
"pillow": {
"hashes": [
"sha256:01ce45deec9df310cbbee11104bae1a2a43308dd9c317f99235b6d3080ddd66e",
"sha256:0c51cb9edac8a5abd069fd0758ac0a8bfe52c261ee0e330f363548aca6893595",
"sha256:17869489de2fce6c36690a0c721bd3db176194af5f39249c1ac56d0bb0fcc512",
"sha256:21dee8466b42912335151d24c1665fcf44dc2ee47e021d233a40c3ca5adae59c",
"sha256:25023a6209a4d7c42154073144608c9a71d3512b648a2f5d4465182cb93d3477",
"sha256:255c9d69754a4c90b0ee484967fc8818c7ff8311c6dddcc43a4340e10cd1636a",
"sha256:35be4a9f65441d9982240e6966c1eaa1c654c4e5e931eaf580130409e31804d4",
"sha256:3f42364485bfdab19c1373b5cd62f7c5ab7cc052e19644862ec8f15bb8af289e",
"sha256:3fddcdb619ba04491e8f771636583a7cc5a5051cd193ff1aa1ee8616d2a692c5",
"sha256:463acf531f5d0925ca55904fa668bb3461c3ef6bc779e1d6d8a488092bdee378",
"sha256:4fe29a070de394e449fd88ebe1624d1e2d7ddeed4c12e0b31624561b58948d9a",
"sha256:55dd1cf09a1fd7c7b78425967aacae9b0d70125f7d3ab973fadc7b5abc3de652",
"sha256:5a3ecc026ea0e14d0ad7cd990ea7f48bfcb3eb4271034657dc9d06933c6629a7",
"sha256:5cfca31ab4c13552a0f354c87fbd7f162a4fafd25e6b521bba93a57fe6a3700a",
"sha256:66822d01e82506a19407d1afc104c3fcea3b81d5eb11485e593ad6b8492f995a",
"sha256:69e5ddc609230d4408277af135c5b5c8fe7a54b2bdb8ad7c5100b86b3aab04c6",
"sha256:6b6d4050b208c8ff886fd3db6690bf04f9a48749d78b41b7a5bf24c236ab0165",
"sha256:7a053bd4d65a3294b153bdd7724dce864a1d548416a5ef61f6d03bf149205160",
"sha256:82283af99c1c3a5ba1da44c67296d5aad19f11c535b551a5ae55328a317ce331",
"sha256:8782189c796eff29dbb37dd87afa4ad4d40fc90b2742704f94812851b725964b",
"sha256:8d79c6f468215d1a8415aa53d9868a6b40c4682165b8cb62a221b1baa47db458",
"sha256:97bda660702a856c2c9e12ec26fc6d187631ddfd896ff685814ab21ef0597033",
"sha256:a325ac71914c5c043fa50441b36606e64a10cd262de12f7a179620f579752ff8",
"sha256:a336a4f74baf67e26f3acc4d61c913e378e931817cd1e2ef4dfb79d3e051b481",
"sha256:a598d8830f6ef5501002ae85c7dbfcd9c27cc4efc02a1989369303ba85573e58",
"sha256:a5eaf3b42df2bcda61c53a742ee2c6e63f777d0e085bbc6b2ab7ed57deb13db7",
"sha256:aea7ce61328e15943d7b9eaca87e81f7c62ff90f669116f857262e9da4057ba3",
"sha256:af79d3fde1fc2e33561166d62e3b63f0cc3e47b5a3a2e5fea40d4917754734ea",
"sha256:c24f718f9dd73bb2b31a6201e6db5ea4a61fdd1d1c200f43ee585fc6dcd21b34",
"sha256:c5b0ff59785d93b3437c3703e3c64c178aabada51dea2a7f2c5eccf1bcf565a3",
"sha256:c7110ec1701b0bf8df569a7592a196c9d07c764a0a74f65471ea56816f10e2c8",
"sha256:c870193cce4b76713a2b29be5d8327c8ccbe0d4a49bc22968aa1e680930f5581",
"sha256:c9efef876c21788366ea1f50ecb39d5d6f65febe25ad1d4c0b8dff98843ac244",
"sha256:de344bcf6e2463bb25179d74d6e7989e375f906bcec8cb86edb8b12acbc7dfef",
"sha256:eb1b89b11256b5b6cad5e7593f9061ac4624f7651f7a8eb4dfa37caa1dfaa4d0",
"sha256:ed742214068efa95e9844c2d9129e209ed63f61baa4d54dbf4cf8b5e2d30ccf2",
"sha256:f401ed2bbb155e1ade150ccc63db1a4f6c1909d3d378f7d1235a44e90d75fb97",
"sha256:fb89397013cf302f282f0fc998bb7abf11d49dcff72c8ecb320f76ea6e2c5717"
],
"markers": "python_version >= '3.7'",
"version": "==9.1.0"
},
"pycparser": {
"hashes": [
"sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9",
"sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"
],
"version": "==2.21"
},
"pygments": {
"hashes": [
"sha256:44238f1b60a76d78fc8ca0528ee429702aae011c265fe6a8dd8b63049ae41c65",
"sha256:4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"
],
"markers": "python_version >= '3.5'",
"version": "==2.11.2"
},
"pymdown-extensions": {
"hashes": [
"sha256:a80553b243d3ed2d6c27723bcd64ca9887e560e6f4808baa96f36e93061eaf90",
"sha256:b37461a181c1c8103cfe1660081726a0361a8294cbfda88e5b02cefe976f0546"
],
"markers": "python_version >= '3.7'",
"version": "==9.3"
},
"pyparsing": {
"hashes": [
"sha256:7bf433498c016c4314268d95df76c81b842a4cb2b276fa3312cfb1e1d85f6954",
"sha256:ef7b523f6356f763771559412c0d7134753f037822dad1b16945b7b846f7ad06"
],
"markers": "python_full_version >= '3.6.8'",
"version": "==3.0.8"
},
"python-dateutil": {
"hashes": [
"sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86",
"sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==2.8.2"
},
"pyyaml": {
"hashes": [
"sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293",
"sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b",
"sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57",
"sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b",
"sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4",
"sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07",
"sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba",
"sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9",
"sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287",
"sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513",
"sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0",
"sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0",
"sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92",
"sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f",
"sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2",
"sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc",
"sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c",
"sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86",
"sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4",
"sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c",
"sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34",
"sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b",
"sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c",
"sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb",
"sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737",
"sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3",
"sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d",
"sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53",
"sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78",
"sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803",
"sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a",
"sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174",
"sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"
],
"markers": "python_version >= '3.6'",
"version": "==6.0"
},
"pyyaml-env-tag": {
"hashes": [
"sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb",
"sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"
],
"markers": "python_version >= '3.6'",
"version": "==0.1"
},
"requests": {
"hashes": [
"sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61",
"sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
"version": "==2.27.1"
},
"six": {
"hashes": [
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==1.16.0"
},
"tinycss2": {
"hashes": [
"sha256:b2e44dd8883c360c35dd0d1b5aad0b610e5156c2cb3b33434634e539ead9d8bf",
"sha256:fe794ceaadfe3cf3e686b22155d0da5780dd0e273471a51846d0a02bc204fec8"
],
"markers": "python_version >= '3.6'",
"version": "==1.1.1"
},
"urllib3": {
"hashes": [
"sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14",
"sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
"version": "==1.26.9"
},
"watchdog": {
"hashes": [
"sha256:03b43d583df0f18782a0431b6e9e9965c5b3f7cf8ec36a00b930def67942c385",
"sha256:0908bb50f6f7de54d5d31ec3da1654cb7287c6b87bce371954561e6de379d690",
"sha256:0b4a1fe6201c6e5a1926f5767b8664b45f0fcb429b62564a41f490ff1ce1dc7a",
"sha256:177bae28ca723bc00846466016d34f8c1d6a621383b6caca86745918d55c7383",
"sha256:19b36d436578eb437e029c6b838e732ed08054956366f6dd11875434a62d2b99",
"sha256:1d1cf7dfd747dec519486a98ef16097e6c480934ef115b16f18adb341df747a4",
"sha256:1e877c70245424b06c41ac258023ea4bd0c8e4ff15d7c1368f17cd0ae6e351dd",
"sha256:340b875aecf4b0e6672076a6f05cfce6686935559bb6d34cebedee04126a9566",
"sha256:351e09b6d9374d5bcb947e6ac47a608ec25b9d70583e9db00b2fcdb97b00b572",
"sha256:3fd47815353be9c44eebc94cc28fe26b2b0c5bd889dafc4a5a7cbdf924143480",
"sha256:49639865e3db4be032a96695c98ac09eed39bbb43fe876bb217da8f8101689a6",
"sha256:4d0e98ac2e8dd803a56f4e10438b33a2d40390a72750cff4939b4b274e7906fa",
"sha256:6e6ae29b72977f2e1ee3d0b760d7ee47896cb53e831cbeede3e64485e5633cc8",
"sha256:7f14ce6adea2af1bba495acdde0e510aecaeb13b33f7bd2f6324e551b26688ca",
"sha256:81982c7884aac75017a6ecc72f1a4fedbae04181a8665a34afce9539fc1b3fab",
"sha256:81a5861d0158a7e55fe149335fb2bbfa6f48cbcbd149b52dbe2cd9a544034bbd",
"sha256:ae934e34c11aa8296c18f70bf66ed60e9870fcdb4cc19129a04ca83ab23e7055",
"sha256:b26e13e8008dcaea6a909e91d39b629a39635d1a8a7239dd35327c74f4388601",
"sha256:b3750ee5399e6e9c69eae8b125092b871ee9e2fcbd657a92747aea28f9056a5c",
"sha256:b61acffaf5cd5d664af555c0850f9747cc5f2baf71e54bbac164c58398d6ca7b",
"sha256:b9777664848160449e5b4260e0b7bc1ae0f6f4992a8b285db4ec1ef119ffa0e2",
"sha256:bdcbf75580bf4b960fb659bbccd00123d83119619195f42d721e002c1621602f",
"sha256:d802d65262a560278cf1a65ef7cae4e2bc7ecfe19e5451349e4c67e23c9dc420",
"sha256:ed6d9aad09a2a948572224663ab00f8975fae242aa540509737bb4507133fa2d"
],
"markers": "python_version >= '3.6'",
"version": "==2.1.7"
},
"webencodings": {
"hashes": [
"sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78",
"sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
],
"version": "==0.5.1"
},
"zipp": {
"hashes": [
"sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad",
"sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"
],
"markers": "python_version >= '3.7'",
"version": "==3.8.0"
}
},
"develop": {
"scour": {
"hashes": [
"sha256:6881ec26660c130c5ecd996ac6f6b03939dd574198f50773f2508b81a68e0daf"
],
"index": "pypi",
"version": "==0.38.2"
},
"six": {
"hashes": [
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==1.16.0"
}
}
}

View File

@ -1,13 +1,14 @@
<div align="center">
<a href="https://privacyguides.org">
<a href="https://privacyguides.org#gh-light-mode-only">
<img src="/docs/assets/img/layout/privacy-guides-logo.svg" width="500px" alt="Privacy Guides" />
</a>
<a href="https://privacyguides.org#gh-dark-mode-only">
<img src="/docs/assets/img/layout/privacy-guides-logo-dark.svg" width="500px" alt="Privacy Guides" />
</a>
<p><em>Your central privacy and security resource to protect yourself online.</em></p>
<p><a href="https://www.privacyguides.org">
<img src="https://img.shields.io/uptimerobot/status/m786935055-1117e0819f5c23c651d46a17?label=website%20status">
</a>
<a href="https://opencollective.com/privacyguides">
<img src="https://img.shields.io/opencollective/all/privacyguides">
</a></p>
@ -22,9 +23,6 @@
<img src="https://img.shields.io/github/stars/privacyguides?style=social">
</a></p>
<p><a href="https://app.netlify.com/sites/privacyguides/deploys">
<img src="https://img.shields.io/netlify/f40bcb64-a6ed-4650-9ca6-7d3ac293d2be">
</a>
<a href="https://github.com/privacyguides/privacyguides.org/issues">
<img src="https://img.shields.io/github/issues-raw/privacyguides/privacyguides.org">
</a>
@ -36,15 +34,53 @@
</a>
<a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+is%3Aclosed">
<img src="https://img.shields.io/github/issues-pr-closed-raw/privacyguides/privacyguides.org">
</a>
<a href="https://github.com/privacytools/privacytools.io/issues">
<img src="https://img.shields.io/github/issues/privacytools/privacytools.io?color=black&label=upstream%20issues">
</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.
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!
## Contributing
- 💬 [Start a discussion or suggest an idea](https://github.com/privacyguides/privacyguides.org/discussions)
- 💖 [Sponsor the project](https://github.com/sponsors/privacyguides)
- 📝 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
- When making more significant (than simple typo fixes, etc.) changes, update the [changelog](/CHANGELOG.md)
- View some contribution tips on our [contributor's wiki](https://github.com/privacyguides/privacyguides.org/wiki)
## Developing
1. [Install mkdocs](https://www.mkdocs.org/user-guide/installation/): `pip install mkdocs`
2. [Install mkdocs-material](https://squidfunk.github.io/mkdocs-material/getting-started/): `pip install mkdocs-material`
3. Serve the site locally: `mkdocs serve`
- The site will be available at `http://localhost:8000/`.
1. Clone this repository: `git clone https://github.com/privacyguides/privacyguides.org`
2. Install [Python 3.6+](https://www.python.org/downloads/)
3. Install [mkdocs-material](https://squidfunk.github.io/mkdocs-material/getting-started/): `pip install mkdocs-material`
4. Serve the site locally: `mkdocs serve`
- The site will be available at `http://localhost:8000/`
Your local site will appear slightly different, because the production version of the website uses a private/custom build of mkdocs-material with additional features.
Team members with access to [mkdocs-material-insiders](https://github.com/privacyguides/mkdocs-material-insiders) should instead:
1. Clone this repository and submodules: `git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org`
2. Install [Python 3.6+](https://www.python.org/downloads/)
3. Install **pipenv**: `pip install pipenv`
4. Start a pipenv shell: `pipenv shell`
5. Install dependencies: `pipenv install --dev`
6. Serve the site locally: `mkdocs serve --config-file mkdocs.production.yml`
- The site will be available at `http://localhost:8000`
- You can build the site locally with `mkdocs build --config-file mkdocs.production.yml`
- This version of the site should be identical to the live, production version
## Releasing
1. Create a new tag: `git tag -s v2.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 redesign (v1 -> v2 was the Jekyll to MkDocs transition).
2. Push the tag to GitHub: `git push --tags`
3. [Create a new release](https://github.com/privacyguides/privacyguides.org/releases/new) selecting the new tag
- Title the release the same as the tag version number without the `v`, i.e. `2.X.X`
- GitHub should let you auto-generate release notes, otherwise copy notes from the changelog
4. Publish release, it will be deployed to the live site automatically

12
docs/about.md Normal file
View File

@ -0,0 +1,12 @@
---
title: "About Privacy Guides"
icon: pg/privacyguides
---
**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.

47
docs/about/notices.md Normal file
View File

@ -0,0 +1,47 @@
---
layout: page
permalink: /terms-and-notices/
title: "Notices and Disclaimers"
description: "Privacy Guides is provided with good intentions on an &quot;as-is&quot; basis, without warranty, and disclaiming liability for damages."
icon: material/message-alert
hide:
- toc
---
## Legal Disclaimer
Privacy Guides is not a law firm. As such, the Privacy Guides website and contributors are not providing legal advice. The material and recommendations in our website and guides do not constitute legal advice nor does contributing to the website or communicating with Privacy Guides or other contributors about our website create an attorney-client relationship.
Running this website, like any human endeavor, involves uncertainty and trade-offs. We hope this website helps, but it may include mistakes and cant address every situation. If you have any questions about your situation, we encourage you to do your own research, seek out other experts, and engage in discussions with the Privacy Guides community. If you have any legal questions, you should consult with your own legal counsel before moving forward.
Privacy Guides is an open source project contributed to under licenses that include terms that, for the protection of the website and its contributors, make clear that the Privacy Guides project and website is offered "as-is", without warranty, and disclaiming liability for damages resulting from using the website or any recommendations contained within. Privacy Guides does not warrant or make any representations concerning the accuracy, likely results, or reliability of the use of the materials on the website or otherwise relating to such materials on the website or on any third-party sites linked on this site.
Privacy Guides additionally does not warrant that this website will be constantly available, or available at all.
## Licenses
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).
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/javascripts/mathjax.js) is licensed under the [Apache License 2.0](https://github.com/privacyguides/privacyguides.org/blob/main/docs/javascripts/LICENSE.mathjax.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.
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://en.wikipedia.org/wiki/Fair_use) allows the use of copyrighted image 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.
## 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:
* Excessive Automated Scans
* Denial of Service Attacks
* Scraping
* Data Mining
* 'Framing' (IFrames)

View File

@ -0,0 +1,106 @@
---
layout: page
permalink: /privacy-policy/
title: "Privacy Policy"
description: "This Privacy Statement explains what information Privacy Guides and its related entities collect about its users, what we do with that information, and how we handle the content you place in our products and services."
icon: material/file-search
---
## Who is Privacy Guides?
Privacy Guides is a community project operated by a number of active volunteer contributors. The public list of team members [can be found on GitHub](https://github.com/orgs/privacyguides/people).
## How does Privacy Guides collect data about me?
We collect data:
* When you browse a website, forum, or other Privacy Guides service.
* When you create an account on a Privacy Guides service.
* When you post, send private messages, or otherwise participate on a Privacy Guides service.
This data will be collected regardless of browser, device, or app used to access our services. We do not buy or otherwise receive data from data brokers.
## What data do you collect and why?
### We collect data about visits to our websites
When you visit a Privacy Guides website or service, regardless of whether you have an account or not, the website may use cookies, server logs, and other methods to collect the following data:
* What pages you visit,
* Your anonymized IP address: We anonymize the last 3 bytes of your IP, e.g. 192.xxx.xxx.xxx.
We use this data to:
* Optimize websites and services, so that they are quick and easy to use,
* Diagnose and debug technical errors,
* Defend websites and services from abuse and technical attacks.
This data is processed under our [Legitimate Interest](https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/legitimate-interests/when-can-we-rely-on-legitimate-interests/) to provide our services to you in a an efficient and secure manner and to ensure the legal compliance and proper administration of our business.
Raw data such as pages visited, anonymized visitor IPs, and visitor actions will be retained for 60 days. In special circumstances—such as extended investigations regarding a technical attack—we may preserve logged data for longer periods for analysis. We store aggregate statistics about use of the websites and services we host indefinitely, but those statistics do not include data identifiable to you personally.
### We collect account data
On some websites and services we provide, many features may require an account. For example, an account may be required to post and reply to topics on a forum platform.
To sign up for most accounts, we will collect a name, username, email, and password. In the event a website requires more information than just that data, that will be clearly marked and noted in a separate privacy statement per-site.
We use your account data to identify you on the website and to create pages specific to you, such as your profile page. We will also use your account data to publish a public profile for you on our services.
We use your email to:
* Notify you about posts and other activity on the websites or services.
* Reset your password and help keep your account secure.
* Contact you in special circumstances related to your account.
* Contact you about legal requests, such as DMCA takedown requests.
On some websites and services you may provide additional information for your account, such as a short biography, avatar, your location, or your birthday. We make that information available to everyone who can access the website or service in question. This information is not required to use any of our services and can be erased at any time.
We will store your account data as long as your account remains open. After closing an account, we may retain some or all of your account data in the form of backups or archives for up to 90 days.
## Who is my data shared with?
When you use services provided by Privacy Guides your data is processed by our web hosting provider, Aragon Ventures LLC, in order to facilitate their hosting obligations. Aragon Ventures LLC may collect and use your data as described in their privacy statement at [https://aragon.ventures/privacy](https://aragon.ventures/privacy/).
Your account data, posts, and other activities on Privacy Guides services is shared with others as mentioned in the section about account data.
## Where is my data stored?
The primary datacenter for Privacy Guides is located in Finland. Some websites, services, or backups may reside in datacenters in multiple jurisdictions, including the United States and the European Union.
## Is Privacy Guides GDPR compliant?
We respect privacy rights under [Regulation (EU) 2016/679](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.L_.2016.119.01.0001.01.ENG), the European Unions General Data Protection Regulation (GDPR). Information that GDPR requires us to give can be found throughout this document.
## What are my data protection rights?
We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following:
* **The right to access** You have the right to request access to your personal data or copies of your personal data from us. We may charge you a small fee for providing a copy of your data.
* **The right to rectification** You have the right to request that we correct any information you believe is inaccurate or incomplete.
* **The right to erasure** You have the right to request that we erase your personal data, under certain conditions.
* **The right to restrict processing** You have the right to request that we restrict the processing of your personal data, under certain conditions.
* **The right to object to processing** You have the right to object to our processing of your personal data, under certain conditions.
* **The right to data portability** You have the right to request that we transfer the data that we have collected to another organization or directly to you under certain conditions.
## How can I contact the Privacy Guides team about privacy?
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 the data controller for these services, Aragon Ventures LLC:
```
Jonah Aragon
Services Administrator, Aragon Ventures LLC
jonah@privacyguides.org
```
For all other inquiries, you can contact any member of our team.
For complaints under GDPR more generally, European Union users may lodge complaints with their local data protection supervisory authorities.
## How can I find out about changes to this document?
This version of our privacy statement took effect April 4th, 2022.
We will post any new versions of this statement [here](/about/privacy-policy). 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](/about/privacy-policy) for the latest contact information at any time.
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.

View File

@ -1,4 +1,5 @@
---
title: "Android"
icon: 'fontawesome/brands/android'
---
Android is a secure operating system that has strong [app sandboxing](https://source.android.com/security/app-sandbox), [Verified Boot](https://source.android.com/security/verifiedboot), and a robust [permission](https://developer.android.com/guide/topics/permissions/overview) control system.
@ -38,12 +39,12 @@ Currently, only [Pixel phones](https://grapheneos.org/faq#device-support) meet i
It has some privacy features on top of AOSP, including [Datura firewall](https://calyxos.org/docs/tech/datura-details), [Signal](https://signal.org) integration in the dialer app, and a built in panic button. CalyxOS also comes with firmware updates and signed builds, so [verified boot](https://source.android.com/security/verifiedboot) is fully supported.
[Visit calyxos.org](https://calyxos.org/){ .md-button .md-button--primary } [Privacy Policy](https://calyxinstitute.org/legal/privacy-policy){ .md-button }
To accomodate users who need Google Play Services, CalyxOS optionally includes [MicroG](https://microg.org/). With MicroG, CalyxOS also bundles in the [Mozilla](https://location.services.mozilla.com/) and [DejaVu](https://github.com/n76/DejaVu) location services.
Currently, CalyxOS only supports [Pixel phones](https://calyxos.org/docs/guide/device-support/).
[Visit calyxos.org](https://calyxos.org/){ .md-button .md-button--primary } [Privacy Policy](https://calyxinstitute.org/legal/privacy-policy){ .md-button }
!!! attention
CalyxOS's "extended support" does not have full security patches due to the original equipment manufacturer (OEM) discontinuing support; therefore, they cannot be considered completely secure.
@ -59,9 +60,11 @@ Currently, only [Pixel phones](https://grapheneos.org/faq#device-support) meet i
[Visit divestos.org](https://divestos.org){ .md-button .md-button--primary } [Privacy Policy](https://divestos.org/index.php?page=privacy_policy){ .md-button }
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. It includes [UnifiedNlp](https://github.com/microg/UnifiedNlp) for network location and some hardening with [Mulch Webview](https://gitlab.com/divested-mobile/mulch). Users can also select the [Bromite SystemWebView](https://www.bromite.org/system_web_view) in ⚙️ Settings → Developer options → Webview implementation. DivestOS also includes kernel patches from GrapheneOS and enables security features in [defconfig](https://github.com/Divested-Mobile/DivestOS-Build/blob/master/Scripts/Common/Functions.sh#L698).
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. It includes [UnifiedNlp](https://github.com/microg/UnifiedNlp) for network location. Its hardened WebView, [Mulch](https://gitlab.com/divested-mobile/mulch), enables [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) for all architectures and includes [network state partitioning](https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning).
DivestOS 16.0, 17.1, and 18.1 implements GrapheneOS's [`INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) permission toggle and [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc).
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 16.0, 17.1, and 18.1 implements GrapheneOS's [`INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) permission toggle, [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), [exec-spawning](/android/#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 18.1 feature GrapheneOS's per-network full [MAC randomization](https://en.wikipedia.org/wiki/MAC_address#Randomization) option, and [`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). All branches additionally have various miscellaneous patches courtesy of GrapheneOS.
!!! attention
@ -70,10 +73,13 @@ DivestOS 16.0, 17.1, and 18.1 implements GrapheneOS's [`INTERNET`](https://devel
Not all of the supported devices have [verified boot](https://source.android.com/security/verifiedboot), and some perform it better than others.
## Android security and privacy features
### User Profiles
Multiple user profiles (Settings → System → Multiple users) are the simplest way to isolate in Android. With user profiles you can limit a user from making calls, SMS or installing apps on the device. Each profile is encrypted using its own encryption key and cannot access the data of any other profiles. Even the device owner cannot view the data of other profiles without knowing their password. Multiple user profiles is a more secure method of isolation.
### Work Profile
[Work Profiles](https://support.google.com/work/android/answer/6191949) are another way to isolate individual apps and may be more convenient than separate user profiles.
A **device controller** such as [Shelter](#recommended-apps) is required, unless you're using CalyxOS which includes one.
@ -83,6 +89,7 @@ The work profile is dependent on a device controller to function. Features such
This method is generally less secure than a secondary user profile; however, it does allow you the convenience of running apps in both the work and personal profiles simultaneously.
### Verified Boot
[Verified Boot](https://source.android.com/security/verifiedboot) is an important part of the Android security model. It provides protection against [evil maid](https://en.wikipedia.org/wiki/Evil_maid_attack) attacks, malware persistence, and ensures security updates cannot be downgraded with [rollback protection](https://source.android.com/security/verifiedboot/verified-boot#rollback-protection).
Android 10 and above has moved away from full-disk encryption (FDE) to more flexible [file-based encryption](https://source.android.com/security/encryption/file-based).
@ -92,9 +99,11 @@ Each user's data is encrypted using their own unique encryption key, and the ope
Unfortunately, original equipment manufacturers (OEMs) are only obliged to support Verified Boot on their stock Android distribution. Only a few OEMs such as Google support custom Android Verified Boot (AVB) key enrollment on their devices. Some AOSP derivatives such as LineageOS or /e/ OS do not support Verified Boot even on hardware with Verified Boot support for third party operating systems. We recommend that you check for support **before** purchasing a new device. AOSP derivatives which do not support Verified Boot are **not** recommended.
### VPN Killswitch
Android 7 and above supports a VPN killswitch and it is available without the need to install third party apps. This feature can prevent leaks if the VPN is disconnected. It can be found in ⚙️ Settings → Network & internet → VPN → ⚙️ → Block connections without VPN.
### Global Toggles
Modern Android devices have global toggles for disabling [Bluetooth](https://en.wikipedia.org/wiki/Bluetooth) and location services. Android 12 introduced toggles for the camera and microphone. When not in use, we recommend disabling these features. Apps cannot use disabled features (even if granted individual permission) until re-enabled.
## Recommended Apps
@ -125,7 +134,6 @@ For resistance against traffic analysis attacks, consider enabling *Isolate Dest
All versions are signed using the same signature so they should be compatible with each other.
### Shelter
!!! recommendation
@ -152,7 +160,6 @@ For resistance against traffic analysis attacks, consider enabling *Isolate Dest
When using Shelter, you are placing complete trust in its developer as Shelter would be acting as a [Device Admin](https://developer.android.com/guide/topics/admin/device-admin) for the work profile and has extensive access to the data stored within it.
### Auditor
!!! recommendation
@ -244,18 +251,20 @@ Main privacy features include:
You should **never** use blur to redact [text in images](https://bishopfox.com/blog/unredacter-tool-never-pixelation). If you want to redact text in an image, draw a box over the text. For this we suggest [Pocket Paint](https://github.com/Catrobat/Paintroid) or [Imagepipe](https://codeberg.org/Starfish/Imagepipe).
## General Recommendations
### Avoid Root
[Rooting](https://en.wikipedia.org/wiki/Rooting_(Android)) Android phones can decrease security significantly as it weakens the complete [Android security model](https://en.wikipedia.org/wiki/Android_(operating_system)#Security_and_privacy). This can decrease privacy should there be an exploit that is assisted by the decreased security. Common rooting methods involve directly tampering with the boot partition, making it impossible to perform successful [Verified Boot](https://source.android.com/security/verifiedboot). Apps that require root will also modify the system partition meaning that Verified Boot would have to remain disabled. Having root exposed directly in the user interface also increases the [attack surface](https://en.wikipedia.org/wiki/Attack_surface) of your device and may assist in [privilege escalation](https://en.wikipedia.org/wiki/Privilege_escalation) vulnerabilities and [SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux) policy bypasses.
Adblockers (AdAway) which modify the [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) and firewalls (AFWall+) which require root access persistently are dangerous and should not be used. They are also not the correct way to solve their intended purposes. For Adblocking we suggest encrypted [DNS](/dns) or [VPN](/providers/vpn/) server blocking solutions instead. RethinkDNS, TrackerControl and AdAway in non-root mode will take up the VPN slot (by using a local loopback VPN) preventing you from using privacy enhancing services such as Orbot or a real VPN server.
Adblockers (AdAway) which modify the [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) and firewalls (AFWall+) which require root access persistently are dangerous and should not be used. They are also not the correct way to solve their intended purposes. For Adblocking we suggest encrypted [DNS](/dns) or [VPN](/vpn) server blocking solutions instead. RethinkDNS, TrackerControl and AdAway in non-root mode will take up the VPN slot (by using a local loopback VPN) preventing you from using privacy enhancing services such as Orbot or a real VPN server.
AFWall+ works based on the [packet filtering](https://en.wikipedia.org/wiki/Firewall_(computing)#Packet_filter) approach and may be bypassable in some situations.
We do not believe that the security sacrifices made by rooting a phone are worth the questionable privacy benefits of those apps.
### Firmware Updates
Firmware updates are critical for maintaining security and without them your device cannot be secure. Original equipment manufacturers (OEMs)—in other words, phone manufacturers—have support agreements with their partners to provide the closed source components for a limited support period. These are detailed in the monthly [Android Security Bulletins](https://source.android.com/security/bulletin).
As the components of the phone such as the processor and radio technologies rely on closed source components, the updates must be provided by the respective manufacturers. Therefore it is important that you purchase a device within an active support cycle. [Qualcomm](https://www.qualcomm.com/news/releases/2020/12/16/qualcomm-and-google-announce-collaboration-extend-android-os-support-and) and [Samsung](https://news.samsung.com/us/samsung-galaxy-security-extending-updates-knox/) support their devices for 4 years while cheaper products often have shorter support. With the introduction of the [Pixel 6](https://support.google.com/pixelphone/answer/4457705), Google now makes their own system on chip (SoC) and they will provide 5 years of support.
@ -263,14 +272,17 @@ As the components of the phone such as the processor and radio technologies rely
Devices that have reached their end-of-life (EoL) and are no longer supported by the SoC manufacturer, cannot receive firmware updates from OEM vendors or after market Android distributors. This means that security issues with those devices will remain unfixed.
### Android Versions
It's important to not use an [end-of-life](https://endoflife.date/android) version of Android. Newer versions of Android not only receive security updates for the operating system but also important privacy enhancing updates too. For example, [prior to Android 10](https://developer.android.com/about/versions/10/privacy/changes), any user apps with the [`READ_PHONE_STATE`](https://developer.android.com/reference/android/Manifest.permission#READ_PHONE_STATE) permission could access sensitive and unique serial numbers of your phone such as [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity), [MEID](https://en.wikipedia.org/wiki/Mobile_equipment_identifier), your SIM card's [IMSI](https://en.wikipedia.org/wiki/International_mobile_subscriber_identity), whereas now they must be system apps to do so. System apps are only provided by the OEM or Android distribution.
### Android Permissions
[Permissions on Android](https://developer.android.com/guide/topics/permissions/overview) grant users control over what apps are allowed to access. Google regularly makes [improvements](https://developer.android.com/about/versions/11/privacy/permissions) on the permission system in each successive version. All user installed apps are strictly [sandboxed](https://source.android.com/security/app-sandbox), therefore there is no need to install any antivirus apps. The savings you make from not purchasing or subscribing to security apps is better spent on paying for a supported device in the future.
Should you want to run an app that you're unsure about, consider using a user or work [profile](/android/#android-security-privacy).
### Advanced Protection Program
If you have a Google account we suggest enrolling in the [Advanced Protection Program](https://landing.google.com/advancedprotection/). It is available at no cost to anyone with two or more hardware security keys with [U2F](https://en.wikipedia.org/wiki/Universal_2nd_Factor) support.
The Advanced Protection Program provides enhanced threat monitoring and enables:
@ -282,27 +294,32 @@ The Advanced Protection Program provides enhanced threat monitoring and enables:
- Stricter recovery process for accounts with lost credentials
For users that are using the privileged Google Play Services (common on stock operating systems), the Advanced Protection Program also comes with [additional benefits](https://support.google.com/accounts/answer/9764949?hl=en) such as:
- Not allowing app installation outside of the Google Play Store, the OS vendor's app store, or via [`adb`](https://en.wikipedia.org/wiki/Android_Debug_Bridge)
- Mandatory automatic device scanning with [Play Protect](https://support.google.com/googleplay/answer/2812853?hl=en#zippy=%2Chow-malware-protection-works%2Chow-privacy-alerts-work)
- Warning the user about unverified applications
### SafetyNet and Play Integrity API
[SafetyNet](https://developer.android.com/training/safetynet/attestation) and the [Play Integrity APIs](https://developer.android.com/google/play/integrity) are generally used for [banking apps](https://grapheneos.org/usage#banking-apps). Many banking apps will work fine in GrapheneOS with sandboxed Play services, however some non-financal apps have their own crude anti-tampering mechanisms which might fail. GrapheneOS passes the `basicIntegrity` check, but not the certification check `ctsProfileMatch`. Devices with Android 8 or later have hardware attestation support which cannot be bypassed without leaked keys or serious vulnerabilities.
As for Google Wallet, we don't recommend this due to their [privacy policy](https://payments.google.com/payments/apis-secure/get_legal_document?ldo=0&ldt=privacynotice&ldl=en), which states you must opt-out if you don't want your credit rating and personal information shared with affiliate marketing services.
### Advertising ID
All devices with Google Play Services installed automatically generate an [advertising ID](https://support.google.com/googleplay/android-developer/answer/6048248?hl=en) used for targeted advertising. Disable this feature to limit the data collected about you.
On Android distributions with [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), go to ⚙️ Settings → Apps → Sandboxed Google Play → Google Settings → Ads and select **Delete advertising ID**.
On Android distributions with privileged Google Play Services (such as stock OSes), the setting may be in one of several locations. Check
- ⚙️ Settings → Google → Ads
- ⚙️ Settings → Privacy → Ads
Depending on your system, you will either be given the option to delete your advertising ID or to "Opt out of interest-based ads". You should delete the advertising ID if you are given the option to, and if you are not, we recommend that you opt out of interested-based ads and then reset your advertising ID.
### Android Device Shopping
Google Pixels are known to have good security and properly support [Verified Boot](https://source.android.com/security/verifiedboot). Some other phones such as the Fairphone and OnePlus devices also support custom Android Verified Boot (AVB) key enrollment. However, there have been issues with their older models. In the past they were using [test keys](https://social.coop/@dazinism/105346943304083054) or not doing proper verification, making Verified Boot on those devices useless.
Avoid buying phones from mobile network operators. These often have a **locked bootloader** and do not support [OEM unlocking](https://source.android.com/devices/bootloader/locking_unlocking). These phone variants will prevent you from installing any kind of alternative Android distribution. Phones that cannot be unlocked will often have an [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity) starting with "35", that includes phones from purchased from Verizon, Telus, Rogers, EE, etc.
@ -310,10 +327,11 @@ Avoid buying phones from mobile network operators. These often have a **locked b
Be very **careful** about buying second hand phones from online marketplaces. Always check the reputation of the seller. If the device is stolen there's a possibility of [IMEI blacklisting](https://www.gsma.com/security/resources/imei-blacklisting/). There is also a risk involved with you being associated with the activity of the previous owner.
We have these general tips:
- 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](https://en.wikipedia.org/wiki/Brick_and_mortar) stores.
- Look at online community bargain sites in your country. These can alert you to good sales.
- The price per day for a device can be calculated as $\text {EoL Date}-\text{Current Date} \over \text{Cost}$. Google provides a [list](https://support.google.com/nexus/answer/4457705) of their supported devices.
- 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.
- 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.
@ -322,13 +340,31 @@ The installation of GrapheneOS on a Pixel phone is easy with their [web installe
A [CalyxOS membership](https://calyxinstitute.org/membership/calyxos) also entitles you to a device preloaded with CalyxOS.
## GrapheneOS's App Store
## Where to get your applications
### GrapheneOS's App Store
GrapheneOS's app store is available on [GitHub](https://github.com/GrapheneOS/Apps/releases). It supports Android 12 and above and is capable of updating itself. The app store has standalone applications built by the GrapheneOS project such as the [Auditor](https://attestation.app/), [Camera](https://github.com/GrapheneOS/Camera), and [PDF Viewer](https://github.com/GrapheneOS/PdfViewer). If you are looking for these applications, we highly recommend that you get them from GrapheneOS's app store instead of the Play Store, as the apps on their store are signed by the GrapheneOS's project own signature that Google does not have access to.
## F-Droid
### Aurora Store
The Google Play Store requires a Google account to login which is not great for privacy. The [Aurora Store](https://auroraoss.com/download/AuroraStore/) (a Google Play Store proxy) does not, and works most of the time.
### F-Droid
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](https://en.wikipedia.org/wiki/Closed_platform) 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/).
### Droid-ify
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](/threat-modeling/).
#### Droid-ify
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.
@ -346,40 +382,34 @@ To mitigate these problems, we recommend [Droid-ify](https://github.com/Iamlooke
- [:fontawesome-brands-android: APK Download](https://android.izzysoft.de/repo/apk/com.looker.droidify)
- [:fontawesome-brands-github: GitHub](https://github.com/Iamlooker/Droid-ify)
### Where to get your applications
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. The Google Play Store requires a Google account to login which is not great for privacy. The [Aurora Store](https://auroraoss.com/download/AuroraStore/) (a Google Play Store proxy) does not always work, though it does most of the time.
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 isues in your [threat model](/threat-modeling/).
## Security comparison of GrapheneOS and CalyxOS
### Profiles
CalyxOS includes a device controller app so there is no need to install a third party app like [Shelter](/android/#recommended-apps). GrapheneOS plans to introduce nested profile support with better isolation in the future.
GrapheneOS extends the [user profile](/android/#android-security-privacy) feature allowing a user to press an "End Session" button. This button clears the encryption key from memory. There are plans to add a [cross profile notifications system](https://github.com/GrapheneOS/os-issue-tracker/issues/88) 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 by the user.
MicroG is a reimplementation of Google Play Services. This means it needs to be updated every time Android has a major version update (or the Android API changes). It also needs to run in the highly privileged [`system_app`](https://source.android.com/security/selinux/concepts) SELinux domain like normal Google Play Services and requires access to [signature spoofing](https://madaidans-insecurities.github.io/android.html#microg-signature-spoofing) so this is less secure than the Sandboxed Google Play approach. We do not believe MicroG provides any privacy advantages over Sandboxed Google Play except for the option to _shift trust_ of the location backend from Google to another provider such as Mozilla or DejaVu.
MicroG is a reimplementation of Google Play Services. This means it needs to be updated every time Android has a major version update (or the Android API changes). It also needs to run in the highly privileged [`system_app`](https://source.android.com/security/selinux/concepts) SELinux domain like normal Google Play Services and requires access to [signature spoofing](https://madaidans-insecurities.github.io/android.html#microg-signature-spoofing) so this is less secure than the Sandboxed Google Play approach. We do not believe MicroG provides any privacy advantages over Sandboxed Google Play except for the option to *shift trust* of the location backend from Google to another provider such as Mozilla or DejaVu.
From a usability point of view, Sandboxed Google Play also works well with far more applications than MicroG, thanks to its support for services like [Google Play Games](https://play.google.com/googleplaygames) and [In-app Billing API](https://android-doc.github.io/google/play/billing/api.html).
### 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 doesn't compromise on security; therefore, they do not include the F-Droid extension. Users have to confirm all updates manually if they want to use F-Droid. Alternatively, they can use the Droid-ify client which does support seamless 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]({% link _evergreen/video-streaming.md %})).
GrapheneOS doesn't compromise on security; therefore, they do not include the F-Droid extension. Users have to confirm all updates manually if they want to use F-Droid. Alternatively, they can use the Droid-ify client which does support seamless 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)).
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 user installed apps that use WebView will also benefit from Vanadium's hardening. The [Vanadium patch set](https://github.com/GrapheneOS/Vanadium/tree/12/patches) is a lot more comprehensive than CalyxOS's [Chromium patch set](https://gitlab.com/CalyxOS/chromium-patches) which is derived from it.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,93 @@
Copyright 2020 The DM Mono Project Authors (https://www.github.com/googlefonts/dm-mono)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@ -0,0 +1,16 @@
@font-face {
font-family: 'DM Mono';
src: url('DMMono-Regular.woff2') format('woff2');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'DM Mono';
src: url('DMMono-Medium.woff2') format('woff2');
font-weight: 500;
font-style: normal;
font-display: swap;
}

View File

@ -0,0 +1,113 @@
## License for USWDSs Modified Version
This font combines Libre Franklin (the “Original Version”) and these GSA modifications into a piece of font software called Public Sans, which is a “Modified Version” of Libre Franklin.
As a work of the United States Government, the font software modifications made by GSA are not subject to copyright within the United States. Additionally, GSA waives copyright and related rights in its font software modifications worldwide through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/).
The Original Version (as defined in the SIL Open Font License, Version 1.1) remains subject to copyright under the SIL Open Font License, Version 1.1.
This Modified Version (Public Sans) contains both software under the SIL Open Font License, Version 1.1 and software modifications by GSA released as CC0. As a work of the United States Government, the software modifications made by GSA are not subject to copyright within the United States. Additionally, GSA waives copyright and related rights in its software modifications worldwide through the [CC0 1.0 Universal Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/). It is a “joint work” made of the original software and modifications combined into a single work.
**In practice, users of this Modified Version (Public Sans) should use Public Sans according to the terms of the SIL Open Font License, Version 1.1, below.** This is because this font is a combination of work subject to copyright and work not subject to copyright, so the more restrictive requirements apply to using the combined work.
## License of project USWDSs Modified Version is based on
- Libre Franklin is licensed under the SIL Open Font License, Version 1.1 (<http://scripts.sil.org/OFL>)
- To view the copyright and specific terms and conditions of Libre Franklin, please refer to [OFL.txt](https://github.com/impallari/Libre-Franklin/blob/master/OFL.txt)
## SIL Open Font License, Version 1.1
Copyright 2015 The Public Sans Project Authors (https://github.com/uswds/public-sans)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at http://scripts.sil.org/OFL
```
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
```

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 463 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 KiB

View File

@ -0,0 +1,2 @@
<?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="scale(.71111)"><rect x=".06551" y=".06551" width="47.494" height="47.494" style="-inkscape-stroke:none;fill-rule:evenodd;fill:#0277bd;font-variation-settings:normal;stop-color:#000000;stroke-width:.13102;stroke:#0277bd"/><g transform="matrix(.11719 0 0 .11736 26.539 14.264)" style="fill:#fff;stroke:#fff"><circle cx="-22.301" cy="79.286" r="153.93" style="opacity:0;paint-order:markers stroke fill;stroke-width:2.84"/><g style="fill:#fff;stroke:#fff"><path d="m130.21 77.865v1.4199c0 69.032-46.356 129.44-113.04 147.31s-137.03-11.271-171.54-71.055l-0.70898-1.2305-2.459 1.4199 0.70899 1.2305c35.152 60.884 106.83 90.575 174.74 72.379s115.14-79.749 115.14-150.05v-1.4199z" style="color-rendering:auto;color:#000000;dominant-baseline:auto;fill:#fff;font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;image-rendering:auto;isolation:auto;mix-blend-mode:normal;paint-order:markers stroke fill;shape-padding:0;shape-rendering:auto;solid-color:#000000;stroke-linecap:square;stroke-linejoin:round;stroke-width:20.386;stroke:#fff;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path d="m131.62 66.176 11.36 19.653h-22.72z" style="fill-rule:evenodd;fill:#fff;stroke-width:20.386;stroke:#fff"/></g><g transform="rotate(180 -22.116 79.492)" style="fill:#fff;stroke:#fff"><path d="m130.21 77.865v1.4199c0 69.032-46.356 129.44-113.04 147.31s-137.03-11.271-171.54-71.055l-0.70898-1.2305-2.459 1.4199 0.70899 1.2305c35.152 60.884 106.83 90.575 174.74 72.379s115.14-79.749 115.14-150.05v-1.4199z" style="color-rendering:auto;color:#000000;dominant-baseline:auto;fill:#fff;font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;image-rendering:auto;isolation:auto;mix-blend-mode:normal;paint-order:markers stroke fill;shape-padding:0;shape-rendering:auto;solid-color:#000000;stroke-linecap:square;stroke-linejoin:round;stroke-width:20.386;stroke:#fff;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path d="m131.62 66.176 11.36 19.653h-22.72z" style="fill-rule:evenodd;fill:#fff;stroke-width:20.386;stroke:#fff"/></g></g><g transform="matrix(4.4012 0 0 4.4076 9.7615 10.587)" style="fill:#fff"><path d="m5.0271 0.79375h-0.26458v-0.52917h-0.52917v0.52917h-2.1167v-0.52917h-0.52917v0.52917h-0.26458a0.52917 0.52917 0 0 0-0.52917 0.52917v3.7042a0.52917 0.52917 0 0 0 0.52917 0.52917h3.7042c0.29104 0 0.52917-0.23812 0.52917-0.52917v-3.7042c0-0.29104-0.23812-0.52917-0.52917-0.52917zm-1.8521 0.79375c0.43921 0 0.79375 0.35454 0.79375 0.79375s-0.35454 0.79375-0.79375 0.79375-0.79375-0.35454-0.79375-0.79375 0.35454-0.79375 0.79375-0.79375zm1.5875 3.175h-3.175v-0.26458c0-0.52917 1.0583-0.82021 1.5875-0.82021s1.5875 0.29104 1.5875 0.82021z" style="fill:#fff;stroke-width:.26458"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 5.12 5.12" xmlns="http://www.w3.org/2000/svg"><g transform="scale(.32)"><path d="m2.8 0h10.4c1.5 0 2.8 1.3 2.8 2.8v10.4c0 1.5-1.3 2.8-2.8 2.8h-10.4c-1.5 0-2.8-1.3-2.8-2.8v-10.4c0-1.5 1.3-2.8 2.8-2.8z" fill="#1c223d"/><g fill="#fff"><path d="m4.9016 2.0258c-0.1888 0.04347-0.36956 0.17753-0.45793 0.33694-0.06427 0.11231-0.07231 0.14855-0.08436 0.38042l-0.01205 0.25361-0.48203 0.00363c-0.37357 0-0.5222 0.00724-0.65878 0.03623-0.59852 0.13043-1.0645 0.57606-1.189 1.1376-0.00803 0.03985-0.01606 1.9637-0.01606 4.2716-0.00402 3.2064 0 4.2353 0.0241 4.3512 0.06829 0.3696 0.3334 0.7428 0.67886 0.9529 0.12452 0.0761 0.39767 0.1884 0.55032 0.221 0.10444 0.0218 0.91987 0.029 4.6878 0.029 2.5106 0 4.6235-0.0072 4.6958-0.0145 0.2691-0.0326 0.6186-0.1848 0.8516-0.3732 0.2048-0.1739 0.3856-0.4492 0.4619-0.721 0.0442-0.1594 0.0482-0.2499 0.0482-4.3585 0-4.5687 8e-3 -4.2643-0.1285-4.565-0.2049-0.45288-0.6588-0.80432-1.2011-0.9275-0.1285-0.02898-0.2772-0.03985-0.6347-0.04348-0.2611-0.00362-0.478-0.00362-0.482-0.00724-8e-3 -0.00362-0.012-0.07246-0.012-0.15579 4e-3 -0.27898-0.0724-0.46738-0.2611-0.63404-0.2893-0.26086-0.8034-0.25723-1.1007 0.00725-0.1687 0.15579-0.23297 0.30071-0.24502 0.55795-0.00803 0.11594-0.02008 0.21738-0.02812 0.22101-0.01205 0.00724-0.89979 0.01086-1.9803 0.01086h-1.9562l-0.00402-0.14854c-0.00401-0.3768-0.11247-0.58694-0.37357-0.73548-0.1888-0.10869-0.45793-0.1413-0.69091-0.08695zm7.9374 7.1084-4e-3 3.5108-0.0562 0.0797c-0.0322 0.0435-0.1045 0.1051-0.1607 0.134l-0.1085 0.058h-9.0622l-0.10042-0.0471c-0.11248-0.0543-0.14461-0.0869-0.20085-0.192-0.03615-0.0689-0.04017-0.3804-0.04419-3.5434 0-1.9057 0-3.4745 0.00402-3.489 0.00804-0.01449 1.4662-0.02173 4.8725-0.02173h4.8645z"/><path d="m5.5481 6.7542c-0.28921 0.03261-0.65475 0.14493-0.91184 0.27898-0.17273 0.09057-0.39767 0.24637-0.43784 0.30433-0.02812 0.03986-0.04017 0.02899 0.2852 0.34419 0.12051 0.11594 0.22495 0.21739 0.22896 0.22826 0.00804 0.01087 0.05222-0.01087 0.09641-0.05435 0.42981-0.37317 1.1046-0.44926 1.43-0.15579 0.11247 0.10145 0.16469 0.22825 0.14862 0.39853-0.00803 0.11594-0.08837 0.29347-0.16469 0.36956-0.12051 0.11956-0.32939 0.18115-0.63468 0.18115-0.25306 0-0.22093-0.04348-0.28118 0.33694-0.00402 0.05435-0.01607 0.11956-0.02009 0.14855-0.00803 0.02536-0.01606 0.09057-0.0241 0.14492l-0.01607 0.09058h0.20888c0.4258 0.00362 0.57844 0.02898 0.73912 0.13767 0.2129 0.13768 0.3093 0.45288 0.22093 0.721-0.13658 0.4275-0.60254 0.5942-1.1729 0.413-0.1888-0.0616-0.31734-0.1304-0.48203-0.2717l-0.14461-0.1159-0.30529 0.2717c-0.16469 0.1521-0.30528 0.2826-0.30528 0.2971 0 0.0326 0.26511 0.25 0.42177 0.3442 0.17675 0.1087 0.36956 0.192 0.61459 0.2608 0.16068 0.0471 0.21692 0.0507 0.63468 0.0507 0.51015 0 0.71501-0.0289 1.0364-0.1413 0.36554-0.1268 0.67083-0.3586 0.82749-0.6304 0.12452-0.2174 0.16469-0.3804 0.16469-0.6811 0-0.29709-0.11247-0.54346-0.34545-0.7536-0.16871-0.15216-0.37358-0.24999-0.61459-0.28984l-0.1647-0.03261 0.09239-0.01449c0.23299-0.03623 0.55032-0.25361 0.69091-0.46375 0.22094-0.33332 0.22495-0.7862 0.01206-1.1159-0.17675-0.27173-0.474-0.46013-0.8998-0.56882-0.12452-0.02898-0.74714-0.05072-0.92791-0.03261z"/><path d="m9.754 6.7724c-0.44187 0.0616-0.77929 0.2355-1.0725 0.55433-0.15666 0.17391-0.34546 0.57244-0.41375 0.88765-0.07632 0.3297-0.08033 0.35143-0.08837 0.83692-0.00803 0.63041 0.05624 1.0289 0.24102 1.4383 0.20486 0.4638 0.58647 0.8116 1.0444 0.9565 0.11247 0.0326 0.17273 0.0471 0.36956 0.0761 0.10042 0.0145 0.45395 0.0145 0.56635 0 0.6869-0.0942 1.1408-0.4456 1.4341-1.105 0.1365-0.308 0.2169-0.79348 0.2169-1.3116 0-0.27535-0.0121-0.38404-0.0442-0.61592-0.1607-1.1123-0.7833-1.7101-1.8036-1.7354-0.1446-0.00725-0.34545 0.00362-0.44989 0.01811zm0.64669 0.79345c0.1647 0.06159 0.3174 0.28985 0.3656 0.54346 4e-3 0.03261 0.016 0.07608 0.0201 0.0942 0.0682 0.22101 0.0843 1.5398 0.0241 1.7391-0.0041 0.0145-0.0161 0.07606-0.0241 0.13766-0.0201 0.1486-0.0964 0.3406-0.1728 0.4457-0.1647 0.2101-0.5664 0.2499-0.78327 0.076-0.25708-0.2101-0.33341-0.5688-0.33341-1.5289 0-0.53983 0.01607-0.82605 0.05624-0.95286 0.01205-0.03623 0.0241-0.06884 0.02009-0.07246-0.00402-0.02174 0.06427-0.21014 0.10042-0.27173 0.12854-0.23188 0.43783-0.31883 0.72703-0.21014z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 91 62"><g fill="none" fill-rule="nonzero"><path fill="#3AE7E1" d="M11.36 28.163a2.704 2.704 0 0 1-2.085-4.799l7.492-5.85a2.704 2.704 0 0 1 3.786.465 2.704 2.704 0 0 1-.466 3.786l-7.491 5.852c-.365.304-.79.486-1.235.546Z"/><path fill="#F5F7FA" d="M4.092 33.873a2.736 2.736 0 0 1-2.551-.992 2.704 2.704 0 0 1 .466-3.786l.708-.547a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-.709.547c-.364.283-.79.465-1.235.526Z"/><path fill="#3AE7E1" d="M3.12 49.24a2.704 2.704 0 0 1-2.085-4.799l16.44-12.836c1.175-.91 2.875-.708 3.787.466a2.704 2.704 0 0 1-.466 3.786L4.356 48.714c-.385.284-.81.466-1.236.527Z"/><path fill="#F5F7FA" d="M26.546 31.018a2.704 2.704 0 0 1-2.085-4.799l2.611-2.044a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-2.612 2.045c-.385.283-.81.465-1.235.546Z"/><path fill="#3AE7E1" d="M25.108 46.71a2.704 2.704 0 0 1-2.085-4.799l13.484-10.528c1.175-.911 2.876-.709 3.787.465a2.704 2.704 0 0 1-.466 3.787L26.344 46.163c-.365.304-.79.486-1.236.547Z"/><path fill="#F5F7FA" d="M17.739 52.561a2.706 2.706 0 0 1-2.552-1.012c-.91-1.175-.708-2.875.466-3.786l.952-.75c1.174-.91 2.875-.708 3.786.466s.709 2.875-.466 3.786l-.951.75a2.59 2.59 0 0 1-1.235.546Z"/><path fill="#3AE7E1" d="M85.708 0H23.185c-2.328 0-4.495 1.438-5.183 3.665a5.014 5.014 0 0 0 0 3.037 5.21 5.21 0 0 0 1.761 2.53S43.715 27.84 49.587 31.89c2.106 1.356 4.15.89 5.365-.04L85.343 8.2v40.879a7.232 7.232 0 0 1-7.228 7.228h-57.44a2.67 2.67 0 0 0-2.673 2.672 2.713 2.713 0 0 0 2.713 2.713h57.38c6.965 0 12.614-5.649 12.614-12.613V5C90.729 2.247 88.48 0 85.708 0ZM52.239 27.151 24.4 5.386H80.18L52.24 27.15Z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 91 62"><g fill="none" fill-rule="nonzero"><path fill="#3AE7E1" d="M11.36 28.163a2.704 2.704 0 0 1-2.085-4.799l7.492-5.85a2.704 2.704 0 0 1 3.786.465 2.704 2.704 0 0 1-.466 3.786l-7.491 5.852c-.365.304-.79.486-1.235.546Z"/><path fill="#7B8794" d="M4.092 33.873a2.736 2.736 0 0 1-2.551-.992 2.704 2.704 0 0 1 .466-3.786l.708-.547a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-.709.547c-.364.283-.79.465-1.235.526Z"/><path fill="#3AE7E1" d="M3.12 49.24a2.704 2.704 0 0 1-2.085-4.799l16.44-12.836c1.175-.91 2.875-.708 3.787.466a2.704 2.704 0 0 1-.466 3.786L4.356 48.714c-.385.284-.81.466-1.236.527Z"/><path fill="#7B8794" d="M26.546 31.018a2.704 2.704 0 0 1-2.085-4.799l2.611-2.044a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-2.612 2.045c-.385.283-.81.465-1.235.546Z"/><path fill="#3AE7E1" d="M25.108 46.71a2.704 2.704 0 0 1-2.085-4.799l13.484-10.528c1.175-.911 2.876-.709 3.787.465a2.704 2.704 0 0 1-.466 3.787L26.344 46.163c-.365.304-.79.486-1.236.547Z"/><path fill="#7B8794" d="M17.739 52.561a2.706 2.706 0 0 1-2.552-1.012c-.91-1.175-.708-2.875.466-3.786l.952-.75c1.174-.91 2.875-.708 3.786.466s.709 2.875-.466 3.786l-.951.75a2.59 2.59 0 0 1-1.235.546Z"/><path fill="#3AE7E1" d="M85.708 0H23.185c-2.328 0-4.495 1.438-5.183 3.665a5.014 5.014 0 0 0 0 3.037 5.21 5.21 0 0 0 1.761 2.53S43.715 27.84 49.587 31.89c2.106 1.356 4.15.89 5.365-.04L85.343 8.2v40.879a7.232 7.232 0 0 1-7.228 7.228h-57.44a2.67 2.67 0 0 0-2.673 2.672 2.713 2.713 0 0 0 2.713 2.713h57.38c6.965 0 12.614-5.649 12.614-12.613V5C90.729 2.247 88.48 0 85.708 0ZM52.239 27.151 24.4 5.386H80.18L52.24 27.15Z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 298"><path fill="#fff" fill-rule="nonzero" d="M70.761.97C76.184-.66 82.722.258 88.337.258c15.055 0 30.042 2.067 45.011 4.17l3.326.467 1.663.233c45.993 6.411 93.211 18.792 134.996 39.39 17.902 8.824 34.021 20.622 51.004 30.995 14.752 9.01 27.07 19.226 39.039 31.746 6.143 6.427 12.996 13.692 16.496 21.999 4.552 10.803 4.835 25.505 3.026 37-3.916 24.881-23.26 44.954-42.391 59.656-43.041 33.076-99.083 50.141-151.17 62.905-16.984 4.162-35.457 8.411-53 8.439-.975.002-1.973.02-2.979.031l-.672.007-.673.003-.675-.002c-5.62-.04-11.225-.76-14.443-6.133-1.261-2.106-1.85-4.545-2.427-6.906-6.126-25.092 31.664-30.723 30.826-56-.485-14.613-10.464-29.563-15.532-43-9.602-25.457-19.686-51.149-30.76-76-1.418-3.18-2.62-6.472-3.8-9.777l-1.063-2.975c-1.896-5.287-3.886-10.53-6.761-15.323-5.132-8.555-12.664-10.856-22.041-12.196-12.935-1.848-27.059-1.232-40 .22-1.936.218-4.408.635-7.04.947l-.61.07c-7.352.815-15.714.647-17.122-6.97-2.66-14.398 4.373-25.648 14.772-34.901C31.677 13.814 50.274 7.132 70.761.97Zm128.576 103.287c5.051 17.461 11.049 34.665 17.135 51.81l2.15 6.05a3170.29 3170.29 0 0 1 6.41 18.14c4.16 11.926 11.046 23.215 12.131 36 .281 3.305-.307 6.559-.93 9.805l-.248 1.299c-.246 1.298-.48 2.596-.648 3.896 19.663-4.844 47.291-6.374 60.443-24.001 8.448-11.322 9.163-26.261 1.449-37.999-2.234-3.4-5.12-6.116-8.052-8.83l-1.036-.958c-.69-.64-1.38-1.285-2.059-1.943-18.683-18.082-40.608-35.514-64.741-45.669-7.315-3.078-14.033-6.427-22.004-7.6Z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 298"><path fill="#50162D" fill-rule="nonzero" d="M70.761.97C76.184-.66 82.722.258 88.337.258c15.055 0 30.042 2.067 45.011 4.17l3.326.467 1.663.233c45.993 6.411 93.211 18.792 134.996 39.39 17.902 8.824 34.021 20.622 51.004 30.995 14.752 9.01 27.07 19.226 39.039 31.746 6.143 6.427 12.996 13.692 16.496 21.999 4.552 10.803 4.835 25.505 3.026 37-3.916 24.881-23.26 44.954-42.391 59.656-43.041 33.076-99.083 50.141-151.17 62.905-16.984 4.162-35.457 8.411-53 8.439-.975.002-1.973.02-2.979.031l-.672.007-.673.003-.675-.002c-5.62-.04-11.225-.76-14.443-6.133-1.261-2.106-1.85-4.545-2.427-6.906-6.126-25.092 31.664-30.723 30.826-56-.485-14.613-10.464-29.563-15.532-43-9.602-25.457-19.686-51.149-30.76-76-1.418-3.18-2.62-6.472-3.8-9.777l-1.063-2.975c-1.896-5.287-3.886-10.53-6.761-15.323-5.132-8.555-12.664-10.856-22.041-12.196-12.935-1.848-27.059-1.232-40 .22-1.936.218-4.408.635-7.04.947l-.61.07c-7.352.815-15.714.647-17.122-6.97-2.66-14.398 4.373-25.648 14.772-34.901C31.677 13.814 50.274 7.132 70.761.97Zm128.576 103.287c5.051 17.461 11.049 34.665 17.135 51.81l2.15 6.05a3170.29 3170.29 0 0 1 6.41 18.14c4.16 11.926 11.046 23.215 12.131 36 .281 3.305-.307 6.559-.93 9.805l-.248 1.299c-.246 1.298-.48 2.596-.648 3.896 19.663-4.844 47.291-6.374 60.443-24.001 8.448-11.322 9.163-26.261 1.449-37.999-2.234-3.4-5.12-6.116-8.052-8.83l-1.036-.958c-.69-.64-1.38-1.285-2.059-1.943-18.683-18.082-40.608-35.514-64.741-45.669-7.315-3.078-14.033-6.427-22.004-7.6Z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 86 78"><path fill="#76BC21" fill-rule="nonzero" d="M52.597 44.165 85.369 21.72V0H7.923S-.003 0-.003 7.924v.217l52.6 36.024ZM7.923 77.151h77.446V33.243L54.677 54.168c-2.183 1.487-4.358-.01-4.358-.01L-.003 19.539v49.69s0 7.923 7.926 7.923"/></svg>

After

Width:  |  Height:  |  Size: 298 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 41 57"><g fill="#657ee4" fill-rule="evenodd"><path d="M38.66 34.466a2.976 2.976 0 0 0-3.008 0l-13.954 8.64a2.976 2.976 0 0 1-3.2 0l-13.954-8.64A2.976 2.976 0 0 0 0 36.994v16.77a2.975 2.975 0 0 0 2.976 2.976H37.22a2.976 2.976 0 0 0 2.976-2.976V37.058a2.976 2.976 0 0 0-1.536-2.592Z"/><path d="M40.196 19.296C39.766 8.516 30.902 0 20.114 0S.462 8.517.032 19.296v5.6a2.98 2.98 0 0 0 1.408 2.529l17.122 10.593a2.976 2.976 0 0 0 3.2 0l17.122-10.593a2.976 2.976 0 0 0 1.408-2.528v-5.6h-.096Zm-7.84 0v3.2c0 .725-.588 1.313-1.313 1.313H9.121a1.28 1.28 0 0 1-1.312-1.313v-3.2c0-6.77 5.488-12.257 12.257-12.257 6.77 0 12.257 5.488 12.257 12.257h.032Z"/></g></svg>

After

Width:  |  Height:  |  Size: 706 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 59"><defs><linearGradient id="a" x1="0%" x2="99.995%" y1="50%" y2="50%"><stop offset="0%" stop-color="#ED2E7C"/><stop offset="100%" stop-color="#A8288F"/></linearGradient></defs><path fill="url(#a)" fill-rule="nonzero" d="M96.523 0H25.005l-.903.933-.153.169a41.263 41.263 0 0 1-2.126 2.057A45.808 45.808 0 0 1 2.6 13.883c-.207.061-.406.107-.612.168l-.903.222-.206.903c-.077.329-.138.658-.207 1.002A38.1 38.1 0 0 0 0 23.223a37.415 37.415 0 0 0 22.343 34.244c.153.077.329.153.497.222.375.168.75.314 1.124.467l.452.168.06.015.031-.015a.26.26 0 0 0 .108.015h71.893a2.805 2.805 0 0 0 2.807-2.807V2.784A2.767 2.767 0 0 0 96.523 0Zm-4.857 4.483-29.93 26.09a1.628 1.628 0 0 1-2.143-.015l-9.76-8.651a35.554 35.554 0 0 0-.673-6.196 36.48 36.48 0 0 1-.092-.527l-.206-.903-.903-.237c-.222-.046-.436-.107-.658-.153a44.69 44.69 0 0 1-13.898-6.54l-3.235-2.86h61.498v-.008ZM51.378 29.105l-2.455 2.172c.282-1.243.502-2.499.658-3.763l1.797 1.59Zm-26.84 26.06a36.184 36.184 0 0 1-2.715-1.247 34.66 34.66 0 0 1-18.817-30.68c-.003-2.18.207-4.355.627-6.494a48.582 48.582 0 0 0 18.19-9.34A43.137 43.137 0 0 0 25.02 4.56 48.67 48.67 0 0 0 42.68 15.566a40.75 40.75 0 0 0 3.626 1.14c.138.78.268 1.575.344 2.37.144 1.28.218 2.568.222 3.856 0 .704-.015 1.407-.076 2.111a33.775 33.775 0 0 1-2.142 10.013 34.551 34.551 0 0 1-20.117 20.109Zm8.728-1.155A37.48 37.48 0 0 0 45.71 40.02l8.98-7.932 4.873 4.36c.616.543 1.54.543 2.157 0l4.964-4.406 24.92 21.937-58.338.03Zm36.807-24.92L95.008 6.93l.046 44.189-24.981-22.03ZM31.269 46.842a24.6 24.6 0 0 0 3.312-2.922l-3.312 2.922Zm11.114-25.686a31.669 31.669 0 0 0-.283-1.874 34.74 34.74 0 0 1-2.906-.933.015.015 0 0 1-.016-.015c-.252-.077-.482-.184-.734-.283a25.363 25.363 0 0 1-1.637-.72 19.24 19.24 0 0 1-1.14-.542 10.245 10.245 0 0 1-.81-.42 35.255 35.255 0 0 1-2.532-1.485 25.548 25.548 0 0 1-1.5-1.002.275.275 0 0 1-.107-.076c-.527-.36-1.047-.75-1.56-1.14a43.023 43.023 0 0 1-2.952-2.486c-.406-.36-.811-.734-1.201-1.124a54.541 54.541 0 0 1-3.182 2.845 38.333 38.333 0 0 1-14.006 7.42 27.794 27.794 0 0 0-.497 5.232A28.301 28.301 0 0 0 21.83 49.19c.905.496 1.837.94 2.792 1.33a31.993 31.993 0 0 0 1.698-.718c.452-.207.903-.42 1.346-.658.407-.203.803-.428 1.186-.673.13-.065.255-.14.375-.222.206-.122.405-.252.596-.375a.368.368 0 0 0 .123-.091c.35-.217.69-.452 1.017-.704a1.3 1.3 0 0 0 .314-.237l3.312-2.922c.03 0 .03 0 .03-.015a28.385 28.385 0 0 0 6.946-12.239 27.624 27.624 0 0 0 1.002-7.374 30.795 30.795 0 0 0-.184-3.136ZM26.26 37.205l-2.547 2.547h-.015l-10.54-10.54 3.235-3.266 7.32 7.32 2.547-2.547 8.888-8.904 3.251 3.251-12.139 12.139Z"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56"><g fill="none" fill-rule="nonzero"><path fill="#6573FF" d="M55.73 9.844V5.297A5.275 5.275 0 0 0 50.453.022H5.284A5.275 5.275 0 0 0 .007 5.297v4.461c2.097 2.006 21.3 20.222 27.956 20.222 7.043 0 25.592-18.003 27.767-20.136h-.002Z"/><path fill="#e5e8ff" d="M45.804 26.455c-7.608 6.855-13.613 10.332-17.849 10.332C18.347 36.787 2.08 22.23 0 20.34v30.128a5.276 5.276 0 0 0 5.275 5.275h45.17a5.275 5.275 0 0 0 5.276-5.275V16.43a133.421 133.421 0 0 1-9.918 10.023l.001.002Z"/></g></svg>

After

Width:  |  Height:  |  Size: 540 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56"><g fill="none" fill-rule="nonzero"><path fill="#6573FF" d="M55.73 9.844V5.297A5.275 5.275 0 0 0 50.453.022H5.284A5.275 5.275 0 0 0 .007 5.297v4.461c2.097 2.006 21.3 20.222 27.956 20.222 7.043 0 25.592-18.003 27.767-20.136h-.002Z"/><path fill="#202945" d="M45.804 26.455c-7.608 6.855-13.613 10.332-17.849 10.332C18.347 36.787 2.08 22.23 0 20.34v30.128a5.276 5.276 0 0 0 5.275 5.275h45.17a5.275 5.275 0 0 0 5.276-5.275V16.43a133.421 133.421 0 0 1-9.918 10.023l.001.002Z"/></g></svg>

After

Width:  |  Height:  |  Size: 540 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 257 237"><defs><path id="a" d="M22.875.003C10.235.003 0 10.249 0 22.875v211.23c0 .801.046 1.608.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-.814-.056-1.636-.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381.007-.611.18-1.25.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-.913 35.206-.724 36.399-8.244.035-.232.057-.463.057-.695.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 .393-.048.8-.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356.569-28.648 1.861-28.707 7.408-.007.323.049.66.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418V22.872C256.977 10.246 246.734 0 234.108 0H22.878l-.003.003Z"/></defs><use xlink:href="#a" fill="#A01E20" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 881 B

View File

@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.84675 0 0 .84675 -.12751 9.4099)" fill="#9199cc" fill-rule="evenodd"><path d="m12.23 10.79a0.93 0.93 0 0 0-0.94 0l-4.36 2.7a0.93 0.93 0 0 1-1 0l-4.36-2.7a0.93 0.93 0 0 0-1.42 0.79v5.24c0 0.514 0.416 0.93 0.93 0.93h10.7a0.93 0.93 0 0 0 0.93-0.93v-5.22a0.93 0.93 0 0 0-0.48-0.81z"/><path d="m12.71 6.05a6.28 6.28 0 0 0-12.55 0v1.75c0 0.322 0.167 0.62 0.44 0.79l5.35 3.31a0.93 0.93 0 0 0 1 0l5.35-3.31a0.93 0.93 0 0 0 0.44-0.79v-1.75zm-2.45 0v1a0.41 0.41 0 0 1-0.41 0.41h-6.85a0.4 0.4 0 0 1-0.41-0.41v-1a3.83 3.83 0 0 1 7.66 0z"/><path d="m29.74 3.38a3.85 3.85 0 0 1 1.43 3.26 4 4 0 0 1-1.49 3.44 6.43 6.43 0 0 1-4 1.13h-1.76v5.18h-1.92v-14.1h3.7a6.56 6.56 0 0 1 4.04 1.09zm-1.53 5.62a2.75 2.75 0 0 0 0.89-2.35 2.57 2.57 0 0 0-0.89-2.19 4.15 4.15 0 0 0-2.55-0.68h-1.74v5.87h1.7a4.33 4.33 0 0 0 2.59-0.65zm10.9-3.52-0.35 1.84a3.87 3.87 0 0 0-0.94-0.12 2 2 0 0 0-1.62 0.74 5.46 5.46 0 0 0-1 2.29v6.16h-1.84v-10.79h1.64l0.18 2.19a4.09 4.09 0 0 1 1.15-1.79 2.61 2.61 0 0 1 1.67-0.64 4.38 4.38 0 0 1 1.11 0.12zm9.12 1.39a6.24 6.24 0 0 1 1.26 4.13 7.17 7.17 0 0 1-0.57 3 4.49 4.49 0 0 1-1.66 2 4.62 4.62 0 0 1-2.58 0.71 4.37 4.37 0 0 1-3.54-1.51 6.2 6.2 0 0 1-1.27-4.2 7.17 7.17 0 0 1 0.57-3 4.49 4.49 0 0 1 1.66-2 4.66 4.66 0 0 1 2.6-0.71 4.34 4.34 0 0 1 3.53 1.58zm-6.34 4.13c0 2.74 0.927 4.11 2.78 4.11s2.783-1.37 2.79-4.11c0-2.74-0.92-4.11-2.76-4.11s-2.777 1.37-2.81 4.11zm16.11 4.9a4.14 4.14 0 0 1-2.42 0.74 2.85 2.85 0 0 1-2.14-0.79 3.14 3.14 0 0 1-0.77-2.28v-6.51h-1.83v-1.46h1.88v-2.43l1.88-0.22v2.65h2.56l-0.16 1.46h-2.4v6.43a2 2 0 0 0 0.3 1.22 1.19 1.19 0 0 0 1 0.38 3.08 3.08 0 0 0 1.43-0.43zm9.26-9.03a6.24 6.24 0 0 1 1.26 4.13 7.17 7.17 0 0 1-0.57 3 4.49 4.49 0 0 1-1.66 2 4.62 4.62 0 0 1-2.58 0.71 4.37 4.37 0 0 1-3.54-1.51 6.2 6.2 0 0 1-1.27-4.2 7.17 7.17 0 0 1 0.57-3 4.49 4.49 0 0 1 1.66-2 4.66 4.66 0 0 1 2.6-0.71 4.34 4.34 0 0 1 3.53 1.58zm-6.33 4.13c0 2.74 0.927 4.11 2.78 4.11s2.78-1.37 2.78-4.11-0.92-4.11-2.76-4.11-2.773 1.37-2.8 4.11zm18.07-4.76a3.38 3.38 0 0 1 0.83 2.42v7.74h-1.83v-7.48a2.39 2.39 0 0 0-0.43-1.62 1.63 1.63 0 0 0-1.27-0.47 2.46 2.46 0 0 0-1.51 0.49 5.09 5.09 0 0 0-1.23 1.41v7.66h-1.93v-10.79h1.62l0.16 1.6a4.25 4.25 0 0 1 1.42-1.35 3.68 3.68 0 0 1 1.87-0.49 3 3 0 0 1 2.3 0.88zm17.34 10.15h-1.88l-0.46-6.39c-0.207-2.5-0.323-4.417-0.35-5.75l-3 10.52h-1.82l-3.21-10.54c0 1.707-0.09 3.68-0.27 5.92l-0.47 6.22h-1.88l1.17-14.1h2.62l3 10.25 2.82-10.25h2.64zm10.66-1.55c0.171 0.227 0.409 0.394 0.68 0.48l-0.43 1.31a2.87 2.87 0 0 1-1.35-0.47 2.15 2.15 0 0 1-0.76-1.15 3.62 3.62 0 0 1-3.14 1.63 3.45 3.45 0 0 1-2.52-0.9 3.15 3.15 0 0 1-0.92-2.35 3.09 3.09 0 0 1 1.24-2.64 5.79 5.79 0 0 1 3.51-0.92h1.66v-0.83a2.09 2.09 0 0 0-0.55-1.64 2.5 2.5 0 0 0-1.7-0.49 9.5 9.5 0 0 0-2.91 0.57l-0.47-1.37a10.85 10.85 0 0 1 3.72-0.74 3.89 3.89 0 0 1 2.84 0.93 3.56 3.56 0 0 1 0.94 2.65v4.93c-0.05 0.342 6e-3 0.69 0.16 1zm-2.11-1.3v-2.47h-1.41c-2 0-3 0.737-3 2.21a2 2 0 0 0 0.47 1.45c0.375 0.35 0.879 0.527 1.39 0.49a2.81 2.81 0 0 0 2.59-1.68zm7.68-12.75c0.245 0.243 0.379 0.575 0.37 0.92a1.21 1.21 0 0 1-0.37 0.91 1.32 1.32 0 0 1-1 0.36 1.29 1.29 0 0 1-0.94-0.36 1.22 1.22 0 0 1-0.37-0.91 1.25 1.25 0 0 1 0.37-0.92c0.25-0.247 0.59-0.38 0.94-0.37a1.3 1.3 0 0 1 1 0.37zm0 4.81v10.79h-1.88v-10.79zm4.43 10.4a2.41 2.41 0 0 1-0.6-1.75v-13l1.88-0.22v13.19a1.1 1.1 0 0 0 0.15 0.66 0.61 0.61 0 0 0 0.52 0.2 1.88 1.88 0 0 0 0.7-0.12l0.49 1.31a3.07 3.07 0 0 1-1.49 0.37 2.18 2.18 0 0 1-1.65-0.64z" fill-rule="nonzero"/></g></svg>
<svg width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.84675 0 0 .84675 -.12751 9.4099)" fill="#657ee4" fill-rule="evenodd"><path d="m12.23 10.79a0.93 0.93 0 0 0-0.94 0l-4.36 2.7a0.93 0.93 0 0 1-1 0l-4.36-2.7a0.93 0.93 0 0 0-1.42 0.79v5.24c0 0.514 0.416 0.93 0.93 0.93h10.7a0.93 0.93 0 0 0 0.93-0.93v-5.22a0.93 0.93 0 0 0-0.48-0.81z"/><path d="m12.71 6.05a6.28 6.28 0 0 0-12.55 0v1.75c0 0.322 0.167 0.62 0.44 0.79l5.35 3.31a0.93 0.93 0 0 0 1 0l5.35-3.31a0.93 0.93 0 0 0 0.44-0.79v-1.75zm-2.45 0v1a0.41 0.41 0 0 1-0.41 0.41h-6.85a0.4 0.4 0 0 1-0.41-0.41v-1a3.83 3.83 0 0 1 7.66 0z"/><path d="m29.74 3.38a3.85 3.85 0 0 1 1.43 3.26 4 4 0 0 1-1.49 3.44 6.43 6.43 0 0 1-4 1.13h-1.76v5.18h-1.92v-14.1h3.7a6.56 6.56 0 0 1 4.04 1.09zm-1.53 5.62a2.75 2.75 0 0 0 0.89-2.35 2.57 2.57 0 0 0-0.89-2.19 4.15 4.15 0 0 0-2.55-0.68h-1.74v5.87h1.7a4.33 4.33 0 0 0 2.59-0.65zm10.9-3.52-0.35 1.84a3.87 3.87 0 0 0-0.94-0.12 2 2 0 0 0-1.62 0.74 5.46 5.46 0 0 0-1 2.29v6.16h-1.84v-10.79h1.64l0.18 2.19a4.09 4.09 0 0 1 1.15-1.79 2.61 2.61 0 0 1 1.67-0.64 4.38 4.38 0 0 1 1.11 0.12zm9.12 1.39a6.24 6.24 0 0 1 1.26 4.13 7.17 7.17 0 0 1-0.57 3 4.49 4.49 0 0 1-1.66 2 4.62 4.62 0 0 1-2.58 0.71 4.37 4.37 0 0 1-3.54-1.51 6.2 6.2 0 0 1-1.27-4.2 7.17 7.17 0 0 1 0.57-3 4.49 4.49 0 0 1 1.66-2 4.66 4.66 0 0 1 2.6-0.71 4.34 4.34 0 0 1 3.53 1.58zm-6.34 4.13c0 2.74 0.927 4.11 2.78 4.11s2.783-1.37 2.79-4.11c0-2.74-0.92-4.11-2.76-4.11s-2.777 1.37-2.81 4.11zm16.11 4.9a4.14 4.14 0 0 1-2.42 0.74 2.85 2.85 0 0 1-2.14-0.79 3.14 3.14 0 0 1-0.77-2.28v-6.51h-1.83v-1.46h1.88v-2.43l1.88-0.22v2.65h2.56l-0.16 1.46h-2.4v6.43a2 2 0 0 0 0.3 1.22 1.19 1.19 0 0 0 1 0.38 3.08 3.08 0 0 0 1.43-0.43zm9.26-9.03a6.24 6.24 0 0 1 1.26 4.13 7.17 7.17 0 0 1-0.57 3 4.49 4.49 0 0 1-1.66 2 4.62 4.62 0 0 1-2.58 0.71 4.37 4.37 0 0 1-3.54-1.51 6.2 6.2 0 0 1-1.27-4.2 7.17 7.17 0 0 1 0.57-3 4.49 4.49 0 0 1 1.66-2 4.66 4.66 0 0 1 2.6-0.71 4.34 4.34 0 0 1 3.53 1.58zm-6.33 4.13c0 2.74 0.927 4.11 2.78 4.11s2.78-1.37 2.78-4.11-0.92-4.11-2.76-4.11-2.773 1.37-2.8 4.11zm18.07-4.76a3.38 3.38 0 0 1 0.83 2.42v7.74h-1.83v-7.48a2.39 2.39 0 0 0-0.43-1.62 1.63 1.63 0 0 0-1.27-0.47 2.46 2.46 0 0 0-1.51 0.49 5.09 5.09 0 0 0-1.23 1.41v7.66h-1.93v-10.79h1.62l0.16 1.6a4.25 4.25 0 0 1 1.42-1.35 3.68 3.68 0 0 1 1.87-0.49 3 3 0 0 1 2.3 0.88zm17.34 10.15h-1.88l-0.46-6.39c-0.207-2.5-0.323-4.417-0.35-5.75l-3 10.52h-1.82l-3.21-10.54c0 1.707-0.09 3.68-0.27 5.92l-0.47 6.22h-1.88l1.17-14.1h2.62l3 10.25 2.82-10.25h2.64zm10.66-1.55c0.171 0.227 0.409 0.394 0.68 0.48l-0.43 1.31a2.87 2.87 0 0 1-1.35-0.47 2.15 2.15 0 0 1-0.76-1.15 3.62 3.62 0 0 1-3.14 1.63 3.45 3.45 0 0 1-2.52-0.9 3.15 3.15 0 0 1-0.92-2.35 3.09 3.09 0 0 1 1.24-2.64 5.79 5.79 0 0 1 3.51-0.92h1.66v-0.83a2.09 2.09 0 0 0-0.55-1.64 2.5 2.5 0 0 0-1.7-0.49 9.5 9.5 0 0 0-2.91 0.57l-0.47-1.37a10.85 10.85 0 0 1 3.72-0.74 3.89 3.89 0 0 1 2.84 0.93 3.56 3.56 0 0 1 0.94 2.65v4.93c-0.05 0.342 6e-3 0.69 0.16 1zm-2.11-1.3v-2.47h-1.41c-2 0-3 0.737-3 2.21a2 2 0 0 0 0.47 1.45c0.375 0.35 0.879 0.527 1.39 0.49a2.81 2.81 0 0 0 2.59-1.68zm7.68-12.75c0.245 0.243 0.379 0.575 0.37 0.92a1.21 1.21 0 0 1-0.37 0.91 1.32 1.32 0 0 1-1 0.36 1.29 1.29 0 0 1-0.94-0.36 1.22 1.22 0 0 1-0.37-0.91 1.25 1.25 0 0 1 0.37-0.92c0.25-0.247 0.59-0.38 0.94-0.37a1.3 1.3 0 0 1 1 0.37zm0 4.81v10.79h-1.88v-10.79zm4.43 10.4a2.41 2.41 0 0 1-0.6-1.75v-13l1.88-0.22v13.19a1.1 1.1 0 0 0 0.15 0.66 0.61 0.61 0 0 0 0.52 0.2 1.88 1.88 0 0 0 0.7-0.12l0.49 1.31a3.07 3.07 0 0 1-1.49 0.37 2.18 2.18 0 0 1-1.65-0.64z" fill-rule="nonzero"/></g></svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -0,0 +1,2 @@
<?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"><path d="m7.0131 29.343v-4.5241h9.4842v9.0482h-9.4842zm10.356 0v-4.5241h9.4842v9.0482h-9.4842zm-10.356-10.465v-4.9601h9.4842v9.9203h-9.4842zm10.356 0v-4.9601h9.4842v9.9203h-9.4842zm-8.6121-8.6167c0-2.015 0.04263-2.8829 0.17269-3.5157 0.73474-3.575 3.5974-6.217 7.2428-6.6845 3.005-0.38538 6.173 1.1032 7.8895 3.7073 1.1721 1.7781 1.3724 2.706 1.3734 6.3613l7.94e-4 2.8071h-2.3983v-2.757c0-2.9905-0.06421-3.467-0.62497-4.6374-0.18482-0.38574-0.60469-0.92894-1.1165-1.4445-1.2461-1.2551-2.4026-1.7319-4.2072-1.7342-1.6833-0.0022-3.0172 0.54749-4.1988 1.7303-0.79004 0.79088-1.4018 1.902-1.6154 2.9341-0.06776 0.32733-0.11958 1.7328-0.11958 3.2432v2.6655h-2.3983z" fill="#1e8ece" stroke-width=".10901"/></svg>

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View File

@ -0,0 +1,47 @@
/* XPM */
/* The Tomb icon is an artwork by Jordi aka MonMort
a nomadic graffiti artist from Barcelona */
const char *monmort[] = {
/* columns rows colors chars-per-pixel */
"32 32 5 1",
" c #000000",
". c #010101",
"X c #020202",
"o c #C1C1C1",
"O c None",
/* pixels */
"OO OO",
"O oooooooooooooooooooooooooooo O",
" oooooooooooooooooooooooooooooo ",
" oooooooooooooooooooooooooooooo ",
" oooooooo X oooooo ooo ",
" oooooooo oooooo ooo ",
" oooooooo oooooo ooo ",
" oooooooo oooooo oooX",
" oooooooo X oooooo ooo ",
" oooooooo oooooo ooo ",
" oooooooo Xoooooo ooo ",
" oooooooo oooooo X ooo ",
" oooooooo X oooooo ooo ",
" oooooooooooooooooooooooooooooo ",
" oooooooooooooooooooooo oooooooX",
" ooooooooooooooooooooooo oooooo ",
" oooooooooooooooo X ooooo ",
"O ooooooooooooooooooooooooooooo ",
"OO oooooooooooooooooo O",
"OOOOOOOOOOOO oooo ooo ooo ooo OO",
"OOOOOOOOOOOOO ooo ooo oooXooo OO",
"OOOOOOOOOOOOO oooXooo ooo ooo OO",
"OOOOOOOOOOOOO ooo ooo ooo ooo OO",
"OOOOOOOOOOOOO ooo ooo ooo ooo OO",
"OOOOOOOOOOOOO ooo ooo ooo ooo OO",
"OOOOOOOOOOOOO ooo ooo ooo ooo OO",
"OOOOOOOOOOOOO ooo ooo ooo oooXOO",
"OOOOOOOOOOOOO ooo ooo ooo ooo OO",
"OOOOOOOOOOOOOXooo ooo ooo ooo OO",
"OOOOOOOOOOOOO ooooooooooooooo OO",
"OOOOOOOOOOOOOO ooooooooooooo OOO",
"OOOOOOOOOOOOOOO OOOO"
};

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/assets/img/png/favicons/mstile-150x150.png"/>
<TileColor>#3498db</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 940 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

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