Privacy Ratings

Mitwirken

Alles geschieht auf GitHub. Es gibt kein anderes Forum, keinen Chat und kein Konto, für das man sich registrieren muss.

Vorhaben Weg
Eine App oder einen Dienst vorschlagen Ein „Suggest“-Issue eröffnen
Eine falsche Antwort oder einen defekten Link melden Ein „Correction“-Issue eröffnen oder auf einer beliebigen Bewertungsseite „Korrektur melden“ verwenden
Kriterien vorschlagen oder ändern Ein „Criteria change“-Issue eröffnen
Selbst korrigieren Auf einer beliebigen Bewertungsseite „Auf GitHub bearbeiten“ verwenden oder einen Pull-Request eröffnen
Eine Frage stellen oder über eine Empfehlung diskutieren GitHub Discussions

Eine Bewertung bearbeiten

Jede App und jeder Dienst ist eine Markdown-Datei in ratings/<category>/<name>.md. Der Anfang der Datei ist YAML. Alles darunter sind optionale Markdown-Anmerkungen, die auf der Seite angezeigt werden.

---
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.

Regeln (automatisch geprüft durch npm test):

Die Kriterien für jede Kategorie und die Bedeutung jeder Antwort stehen in criteria/ und auf der Kriterienseite.

Eine App oder einen Dienst hinzufügen

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

Dies erstellt eine Datei, die jedes Kriterium als unknown auflistet. Ausfüllen, was sich belegen lässt, den Rest löschen und dann npm test ausführen.

Schreibstil

Die Website lokal ausführen

Erfordert Node.js 18 oder neuer.

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

Eine Seite hinzufügen

Eine Markdown-Datei mit title und description in pages/ ablegen. Sie wird unter /<file-name>/ veröffentlicht, mit einer Markdown-Kopie, strukturierten Daten und einem Sitemap-Eintrag.

Eine Kategorie oder ein Kriterium hinzufügen

  1. Die Kategorie in categories.yml unter der passenden Gruppe hinzufügen.
  2. Optional criteria/<category-id>.yml mit kategoriespezifischen Kriterien hinzufügen. Das Format aus einer bestehenden Datei übernehmen.
  3. ratings/<category-id>/ anlegen und Einträge hinzufügen.
  4. Änderungen an Kriterien folgen den Prüfregeln in GOVERNANCE.md.

Übersetzungen

Die Website erscheint in 25 Sprachen. Englisch ist die Quelle, jede andere Sprache liegt in i18n/<code>/:

Datei Enthält
ui.json Oberflächentexte: Überschriften, Schaltflächen und Sätze mit {placeholders}
data.json Kategorienamen, Kriterien, Ratgeber und Länderhinweise
entries.json Bewertungsbeschreibungen, Begründungen für Empfehlungen und Offenlegungen
pages/*.md Ganze Dokumente wie dieses

Jede JSON-Datei ordnet dem englischen Text seine Übersetzung zu. Ändert sich der englische Text, passt die alte Übersetzung nicht mehr, und der englische Text erscheint, bis jemand den neuen Text übersetzt. Veraltetes wird nie angezeigt.

  1. npm run build ausführen. Der Befehl schreibt die aktuellen englischen Listen nach i18n/source/.
  2. npm run i18n:check ausführen, um zu sehen, was in jeder Sprache fehlt, oder node scripts/i18n-check.js de ui für die Details einer Sprache und Datei.
  3. Übersetzungen hinzufügen oder korrigieren und dabei jeden {placeholder} genau so belassen, wie er ist.
  4. Für ein Dokument den englischen Text aus i18n/source/pages/ kopieren, die erste Zeile (<!-- source: … -->, die die Übersetzung an diese Version des englischen Textes bindet) beibehalten und den Rest übersetzen.

Hinweise und Belege zu einzelnen Antworten bleiben auf Englisch. Vergleiche und die meisten einzelnen Bewertungen gibt es nur auf Englisch; Empfehlungen, Kategorien, Ratgeber, Alternativen, Open-Source-Listen, Rechtsräume und Dokumente werden übersetzt. Das Sprachmenü und die automatische Weiterleitung nutzen die hreflang-Links auf jeder Seite.

Checkliste für Pull-Requests

Diese Seite auf GitHub bearbeiten Markdown