Privacy Ratings

参与贡献

一切都在 GitHub 上进行。没有其他需要注册的论坛、聊天工具或账户。

要做的事 使用
建议新增应用或服务 提交“Suggest”issue
报告错误的回答或失效的链接 提交“Correction”issue,或在任意评级页面上使用“报告更正”
提议或修改标准 提交“Criteria change”issue
自己动手修复 在任意评级页面上使用“在 GitHub 上编辑”,或提交拉取请求
提问或讨论推荐 GitHub Discussions

编辑评级

每个应用或服务是 ratings/<category>/<name>.md 中的一个 Markdown 文件。文件顶部是 YAML。其下方的内容是可选的 Markdown 说明,会显示在页面上。

---
name: Example Mail
description: >-
  One or two plain sentences about what it is.
website: https://example.com
source: https://github.com/example/example      # optional
platforms: [web, android, ios]                  # optional
jurisdiction: CH                                # optional, country code from jurisdictions.yml
mainstream: true                                # optional, adds an "alternatives to" page
aliases: [Example Office, Example Docs]         # optional, other names people search for
also_in: [macos-hardening]                      # optional, also list it in another category's table
alternatives_page: true                         # optional, adds an "alternatives to" page without mainstream
domain: mail.example.com                        # services only, used for automated tests
mail_domain: example.com                        # email categories only
imap_host: imap.example.com                     # email providers only; false if not offered
pop3_host: pop3.example.com                     # optional, found from SRV records when missing
smtp_host: smtp.example.com                     # optional, found from SRV records when missing
criteria:
  open_source:
    answer: partial
    evidence: https://github.com/example/example/blob/main/LICENSE
    note: Apps are open source. The server is not.
  no_ads:
    answer: yes
    evidence: https://example.com/pricing
---

Optional notes in Markdown.

规则(由 npm test 自动检查):

每个类别的标准以及每个回答的含义,都在 criteria/ 和标准页面中。

添加应用或服务

npm ci
npm run new -- vpns "Example VPN" https://example.com

这会创建一个文件,其中所有标准都列为 unknown。填写您能证明的内容,删除其余部分,然后运行 npm test。

写作风格

在本地运行网站

需要 Node.js 18 或更高版本。

npm ci
npm test           # validate data and build the site
npm run serve      # preview at http://localhost:8080

添加页面

将带有 title 和 description 的 Markdown 文件放入 pages/。它会发布在 /<file-name>/,并附带 Markdown 副本、结构化数据和网站地图条目。

添加类别或标准

  1. 在 categories.yml 中将类别添加到合适的分组下。
  2. 可选:添加 criteria/<category-id>.yml,包含该类别特有的标准。格式可参照现有文件。
  3. 创建 ratings/<category-id>/ 并添加条目。
  4. 标准的修改遵循 GOVERNANCE.md 中的审核规则。

翻译

本网站以 25 种语言发布。英语是源语言,其他每种语言都位于 i18n/<code>/ 中:

文件 内容
ui.json 界面文本:标题、按钮以及带有 {placeholders} 的句子
data.json 类别名称、标准、指南和国家说明
entries.json 评级描述、推荐理由和披露信息
pages/*.md 完整文档,例如本文档

每个 JSON 文件将英语文本映射到其译文。英语文本更改后,旧译文将不再匹配,因此会显示英语,直到有人翻译新文本。过时的内容永远不会显示。

  1. 运行 npm run build。它会将当前的英语列表写入 i18n/source/。
  2. 运行 npm run i18n:check 查看每种语言缺少的内容,或运行 node scripts/i18n-check.js de ui 查看某一种语言和文件的详细信息。
  3. 添加或修正译文,并保持每个 {placeholder} 完全不变。
  4. 对于文档,从 i18n/source/pages/ 复制英语原文,保留其第一行(<!-- source: … -->,它将译文与该版本的英语原文关联),然后翻译其余部分。

每个答案的说明和证据保留英语。比较页面和大多数单项评级仅提供英语;编辑推荐、类别、指南、替代方案、开源列表、司法管辖区和文档会被翻译。语言菜单和自动重定向使用每个页面上的 hreflang 链接。

拉取请求检查清单

在 GitHub 上编辑此页 Markdown