/privacyguides

Protect your data against global mass surveillance programs.

Primary LanguageMarkdownCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

Privacy Guides

Your central privacy and security resource to protect yourself online.

About

Privacy Guides is a socially motivated website that provides information for protecting your data security and privacy. Our mission is to inform the public about the value of digital privacy, and global government initiatives which aim to monitor your online activity. We are a non-profit collective operated entirely by volunteer team members and contributors. Our website is free of advertisements and not affiliated with any of the listed providers.

The current list of team members can be found here. Additionally, many people have made contributions to the project, and you can too!

Featured on: Tweakers, The New York Times, and Wired

Contributing

All contributors to the site are listed here. If you make a substantial (i.e. copyright eligible) contribution to the project and would like to be formally credited, you are welcome to include your information in the appropriate authors section in CITATION.cff as well, just submit a PR or ask @jonaharagon to make the change.

Mirrors

GitHub Gitea GitLab Codeberg SourceHut

Hidden service (Tor/onion): xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion

License

Copyright © 2019 - 2023 Privacy Guides contributors.

Privacy Guides content is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International Public License, and the underlying source code used to format and display that content on www.privacyguides.org is licensed under the MIT License.

Generally speaking, content can be found in the /docs, /theme/assets/img, /includes, and /i18n folders; and source code and configuration files can be found in the /config and /theme folders, and in the root of this repository. Any source code snippets contained within documentation files are MIT Licensed. Please contact us if you require clarification on any of these terms.

These licenses do not apply to any work where another license is otherwise noted.

Logos in the /theme/assets/img folder may not be original works of Privacy Guides and therefore cannot be (re)licensed by us. We believe that these logos obtained from third-party providers are either in the public domain or fair use. In a nutshell, legal fair use doctrine allows the use of copyrighted images in order to identify the subject for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.

You may comply with our license terms in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. You may not use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.

When you contribute to this repository you are doing so under the above licenses, and you are granting Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project.

Developing

Committing to this repository requires signing your commits (git config commit.gpgsign true) unless you are making edits via the GitHub.com text editor interface. As of August 2022 the preferred signing method is SSH commit signatures, but GPG signing is also acceptable. You should add your signing key to your GitHub profile.

This website uses mkdocs-material-insiders which offers additional functionality over the open-source mkdocs-material project. For obvious reasons we cannot distribute access to the insiders repository. Running this website locally without access to insiders is unsupported. If you are submitting a PR, please ensure the automatic preview generated for your PR looks correct, as that site will be built with the production insiders build.

Team members should clone the repository with mkdocs-material-insiders directly. This method is identical to production:

  1. Clone this repository and submodules: git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org.git
  2. Enable SSH commit verification with our local .allowed_signers file: git config gpg.ssh.allowedSignersFile .allowed_signers
  3. Install Python 3.8, this is the only version supported by Netlify
  4. Install pipenv: pip install pipenv
  5. Install dependencies: pipenv install --dev (install Pillow and CairoSVG as well to generate social cards)
  6. Serve the site locally: pipenv run mkdocs serve --config-file config/mkdocs.en.yml (set CARDS=true to generate social cards)
    • The site will be available at http://localhost:8000
    • You can build the site locally with pipenv run mkdocs build --config-file config/mkdocs.en.yml
    • This version of the site should be identical to the live, production version

If you commit to main with commits signed with your SSH key, you should add your SSH key to .allowed_signers in this repo.

Local Translated Site Builds

  1. Install the Crowdin CLI Tool (brew install crowdin)
  2. Set the CROWDIN_PERSONAL_TOKEN environment variable to your Crowdin personal access token
  3. Run crowdin download in the root of this repo
  4. Serve the site locally: pipenv run mkdocs serve --config-file config/mkdocs.fr.yml (replacing the config file with any language in /config)

Translations downloaded from Crowdin are .gitignore'd, so any local changes to the translated site cannot be committed to this repo. Actual modifications need to be made on Crowdin. As an alternative to steps 1-3, you can copy the folders from privacyguides/i18n to the root of this repo to obtain the translated files.

Releasing

It is required to create a GitHub release to publish the current site to privacyguides.org. The current main branch can be previewed at https://main.staging.privacyguides.dev prior to release.

  1. Create a new tag: git tag -s v3.X.X -m 'Some message'
    • View existing tags
    • Tag numbering: Increment the MINOR (2nd) number when making significant changes (adding/deleting pages, etc.), increment the PATCH (3rd) number when making minor changes (typos, bug fixes). Probably leave the MAJOR number at 3 until a massive revamp (v1 -> v2 was the Jekyll to MkDocs transition, v2 -> v3 was the introduction of translations).
    • Consider enabling GPG tag signing by default (git config tag.gpgSign true) to avoid missing signatures
  2. Push the tag to GitHub: git push --tags
  3. A GitHub Release will be automatically created and deployed to the live site.
    • You may wish to manually check or edit the release changelog/title after it is published for accuracy.