Kriterienampel
Optional, ohne Anbieterwertung
Die Kriterienampel ist standardmäßig ausgeschaltet. Sie können sie in der Matrix einschalten. Die Farben beziehen sich ausschließlich auf das jeweilige, unten erklärte Ziel. Ein erfülltes Kriterium bedeutet nicht, dass ein Anbieter insgesamt sicher, vertrauenswürdig oder für Sie geeignet ist.
Es gibt keine Gesamtnote, keine Scores, Gewichte oder Ranglisten und keine Sortierung nach Qualität. Die Ergebnisse werden nicht zu einer Anbieterwertung zusammengezählt. Welche Funktionen Sie brauchen, hängt von Ihrem Einsatzzweck ab; zusätzliche Funktionen sind nicht automatisch ein Vorteil.
Was die Farben bedeuten
- Erfüllt
- Grün: Der gespeicherte Wert erfüllt das ausdrücklich genannte Ziel dieses Kriteriums.
- Teilweise erfüllt
- Gelb: Der gespeicherte Wert beschreibt einen konkret definierten Teilumfang oder eine zusätzliche nötige Einstellung.
- Nicht erfüllt
- Rot: Der gespeicherte Wert erfüllt dieses Einzelziel nicht. Das ist keine negative Gesamtbewertung des Anbieters.
- Neutral
- Neutral: Es gibt keine Zuordnung, keinen verwertbaren Wert oder keine eindeutige Beleglage. Das bedeutet weder erfüllt noch nicht erfüllt.
Binäre Kriterien haben nur erfüllt und nicht erfüllt als zugeordnete Ergebnisse. Eine gelbe Zwischenstufe wird nicht erfunden. Fehlende oder strittige Angaben bleiben auch dort neutral.
Quellenqualität bleibt separat
Eine Anbieterangabe (claimed) kann ein Einzelziel laut ihrem Rohwert erfüllen. Sie bleibt trotzdem eine Anbieterangabe und wird durch eine grüne Farbe nicht zum unabhängigen Beleg (confirmed). Derselbe Rohwert erhält bei claimed und confirmed dieselbe Kriterienfarbe; die Konfidenz, Quellen und Abrufdaten bleiben davon getrennt.
Bei unknown oder disputed bleibt die Kriterienampel neutral, auch wenn ein Wert gespeichert ist. Die Farben ersetzen weder die Quellenlektüre noch eine eigene Prüfung. Umfang, Plattform, Konfiguration und Datum eines Belegs können die Aussage begrenzen.
Fehlend ist nicht falsch
Ein fehlender Datenpunkt, null, undefined, ein leerer oder nur aus Leerraum bestehender Text bedeutet nicht false. Unbekannte Enum-Werte, unpassende Datentypen und nicht klassifizierte Kriterien bleiben neutral. Ein explizites boolesches false kann dagegen bei einem zugeordneten Funktionsziel nicht erfüllt bedeuten. Freitext wird nicht interpretiert, und Werte werden nicht in andere Typen umgewandelt.
Preise, Länder, Unternehmensnamen, Eigentumsverhältnisse, Servermengen und andere Angaben ohne allgemein festgelegte Richtung bleiben bewusst neutral. Auch nicht aufgeführte Funktionen und Freitextfelder bekommen keine Farbe. Neutral ist keine Aussage über die Qualität eines Anbieters.
Aktuelle Zuordnungen
Diese Liste wird direkt aus denselben Regeln wie die Kriterienampel erzeugt. Jedes Ziel nennt seine Grenzen. Die Zuordnungen gelten nur für claimed oder confirmed; für alle anderen Werte und für unknown oder disputed gilt neutral. Die Reihenfolge folgt dem Kriterienkatalog, nicht einer Gewichtung.
Anführungszeichen kennzeichnen exakte Enum-Zeichenfolgen. true und false ohne Anführungszeichen sind boolesche Werte. Gleich klingende Wörter, andere Schreibweisen oder die Texte "true" und "false" werden nicht gleichgesetzt.
Zu einem Kriterium springen
Keine Aktivitäts- und Traffic-Logs
logging.activity_logsZiel ist, besuchte Domains, DNS-Anfragen, Zielserver und Inhalte nicht zu protokollieren. Vorhandene Aktivitäts-Logs erfüllen dieses Ziel nicht. Verbindungsmetadaten werden separat betrachtet.
"no"- Erfüllt
"yes"- Nicht erfüllt
"unclear"- Neutral
Keine Verbindungs-Logs
logging.connection_logsZiel ist, keine Verbindungsmetadaten aufzubewahren. Aggregierte Summen ohne Kontobezug sind ein definierter Teilumfang der Datensparsamkeit, aber nicht der vollständige Verzicht auf Erfassung. Datensätze pro Sitzung erfüllen das Ziel nicht.
"no"- Erfüllt
"aggregated"- Teilweise erfüllt
"per_session"- Nicht erfüllt
"unclear"- Neutral
Keine dauerhafte Speicherung der echten IP-Adresse
logging.source_ip_storedZiel ist, die Quell-IP nicht über die laufende Verbindung hinaus zu speichern. Keine Speicherung und ausschließlich flüchtige Verarbeitung während der Verbindung erfüllen dieses Ziel. Ein VPN-Server muss die Quell-IP für die Verbindung vorübergehend kennen; das wird nicht als Mangel eingeordnet.
"no"- Erfüllt
"transient"- Erfüllt
"yes"- Nicht erfüllt
"unclear"- Neutral
Keine Speicherung der zugewiesenen VPN-IP
logging.assigned_ip_storedZiel ist, die einer Sitzung zugewiesene VPN-IP nicht zu speichern. Eine gespeicherte Zuordnung kann zusammen mit weiteren Daten zur Verknüpfung von Sitzungen beitragen. Das Feld allein belegt keine Identifizierbarkeit.
"no"- Erfüllt
"yes"- Nicht erfüllt
"unclear"- Neutral
Keine gespeicherten Zeitstempel
logging.timestamps_storedZiel ist der Verzicht auf gespeicherte Zeitstempel. Grobe Datumsangaben begrenzen die zeitliche Genauigkeit und erfüllen das Ziel teilweise, sekundengenaue Zeitstempel nicht. Die Aussage betrifft nicht andere mögliche Verbindungsdaten.
"no"- Erfüllt
"coarse"- Teilweise erfüllt
"precise"- Nicht erfüllt
"unclear"- Neutral
Keine Erfassung des Datenvolumens
logging.bandwidth_loggedZiel ist, kein übertragenes Datenvolumen festzuhalten. Reine Summen ohne Kontobezug sind ein Teilumfang der Datensparsamkeit; eine Erfassung pro Konto erfüllt das Ziel nicht. Volumengrenzen können eine solche Zählung erfordern, werden dadurch aber nicht insgesamt bewertet.
"no"- Erfüllt
"aggregate"- Teilweise erfüllt
"per_account"- Nicht erfüllt
"unclear"- Neutral
Telemetrie standardmäßig aus und vermeidbar
logging.app_telemetryZiel ist, dass App-Telemetrie ohne aktive Zustimmung ausbleibt und die App ohne sie nutzbar ist. Keine Telemetrie und Opt-in erfüllen beides. Opt-out erfüllt nur die Abschaltbarkeit, weil die Übertragung standardmäßig aktiv ist. Erzwungene Telemetrie erfüllt das Ziel nicht. Dies sagt nichts über die VPN-Logs aus.
"none"- Erfüllt
"opt_in"- Erfüllt
"opt_out"- Teilweise erfüllt
"forced"- Nicht erfüllt
No-Log-Behauptung extern untersucht
trust.nolog_auditZiel ist das Vorliegen eines unabhängigen No-Log-Audits. Erfüllt bedeutet nur, dass eine solche Untersuchung laut Datenpunkt stattgefunden hat, nicht dass sie alle Systeme umfasst, aktuell ist oder dauerhaftes Nicht-Logging beweist. Die Belegqualität des Datenpunkts bleibt separat.
true- Erfüllt
false- Nicht erfüllt
Vollständiger Prüfbericht öffentlich
trust.audit_report_publicZiel ist, den vollständigen Prüfbericht mit Umfang, Einschränkungen und Feststellungen lesen zu können. Eine Zusammenfassung bietet nur einen Teil dieses Einblicks. Die Veröffentlichung sagt nichts darüber aus, ob die Prüfung ohne Beanstandung ausging.
"full"- Erfüllt
"summary"- Teilweise erfüllt
"no"- Nicht erfüllt
Regelmäßiger Transparenzbericht
trust.transparency_reportZiel sind regelmäßige Berichte über behördliche Anfragen mit Fallzahlen und Zeitraum. Unregelmäßige Berichte erfüllen nur den Veröffentlichungsteil, nicht die Regelmäßigkeit. Die Existenz eines Berichts belegt nicht seine Vollständigkeit.
"regular"- Erfüllt
"irregular"- Teilweise erfüllt
"none"- Nicht erfüllt
Alle Clients quelloffen
trust.opensource_clientsZiel ist einsehbarer Quellcode für alle Clients. Einige offene Clients erfüllen nur einen Teil des Ziels. Offener Code beweist weder Fehlerfreiheit noch, dass die ausgelieferte App genau daraus gebaut wurde.
"all"- Erfüllt
"some"- Teilweise erfüllt
"none"- Nicht erfüllt
Serverseitige Software quelloffen
trust.opensource_serverZiel ist einsehbarer Quellcode der serverseitigen Software. Teilweise veröffentlichter Code erfüllt das Ziel teilweise. Auch vollständig offener Code belegt nicht, dass genau diese Fassung auf den betriebenen Servern läuft.
"yes"- Erfüllt
"partial"- Teilweise erfüllt
"no"- Nicht erfüllt
Reproduzierbare Builds verfügbar
trust.reproducible_buildsZiel ist, aus demselben Quellcode bitgenau identische Programmdateien erzeugen und damit veröffentlichte Builds abgleichen zu können. Diese Eigenschaft allein belegt weder die Sicherheit des Codes noch die Prüfung jeder ausgelieferten Version.
true- Erfüllt
false- Nicht erfüllt
Android-App über F-Droid beziehbar
trust.fdroid_availableFunktionsziel ist die Installation über F-Droid ohne Google-Konto. Das betrifft einen konkreten Vertriebsweg, nicht die Qualität der Android-App oder die Verfügbarkeit auf iOS.
true- Erfüllt
false- Nicht erfüllt
Verbindung über WireGuard möglich
crypto.wireguardFunktionsziel ist die Verfügbarkeit von WireGuard. Andere Protokolle erfüllen dieses spezielle Kompatibilitätsziel nicht, sind deshalb aber nicht pauschal unsicher. Implementierung und Umgang mit internen IP-Zuordnungen sind separate Fragen.
true- Erfüllt
false- Nicht erfüllt
Verbindung über OpenVPN mit UDP möglich
crypto.openvpn_udpFunktionsziel ist die Unterstützung von OpenVPN über UDP für passende Clients und Netze. Das bewertet weder andere Protokolle noch den tatsächlichen Durchsatz oder die eingesetzte Verschlüsselung.
true- Erfüllt
false- Nicht erfüllt
Verbindung über OpenVPN mit TCP möglich
crypto.openvpn_tcpFunktionsziel ist die Unterstützung von OpenVPN über TCP für passende Clients und Netze. Daraus folgt keine Garantie für das Umgehen von Netzsperren oder für eine bestimmte Geschwindigkeit.
true- Erfüllt
false- Nicht erfüllt
Verbindung über IKEv2/IPsec möglich
crypto.ikev2Funktionsziel ist die Unterstützung von IKEv2/IPsec. Das ist eine Kompatibilitätsaussage, keine Überlegenheit gegenüber anderen Protokollen und keine Zusage für jedes Betriebssystem.
true- Erfüllt
false- Nicht erfüllt
Perfect Forward Secrecy vorhanden
crypto.pfsZiel ist, vergangene Sitzungen auch dann gegen nachträgliche Entschlüsselung zu schützen, wenn später der langfristige Serverschlüssel bekannt wird. Das Feld erfasst die Eigenschaft, nicht die Fehlerfreiheit ihrer Implementierung oder sämtliche Angriffswege.
true- Erfüllt
false- Nicht erfüllt
Post-Quantum-Schlüsselaustausch standardmäßig aktiv
crypto.post_quantumZiel ist ein bereits verfügbarer und voreingestellter Post-Quantum-Schlüsselaustausch. Eine zuschaltbare Option erfüllt die Verfügbarkeit, aber nicht die Voreinstellung. Eine Ankündigung ist keine verfügbare Funktion. Es wird keine allgemeine Sicherheitsgarantie daraus abgeleitet.
"default"- Erfüllt
"optional"- Teilweise erfüllt
"announced"- Nicht erfüllt
"no"- Nicht erfüllt
Schutz vor DNS-Lecks vorhanden
crypto.dns_leak_protectionZiel sind technische Vorkehrungen gegen DNS-Anfragen außerhalb des Tunnels. Die gespeicherte Angabe über diese Funktion ist keine eigene Messung und garantiert nicht den Schutz jeder Plattform, Browserkonfiguration oder App-Version.
true- Erfüllt
false- Nicht erfüllt
IPv6 durch den Tunnel nutzbar, ohne Leck
crypto.ipv6_handlingDas Ziel umfasst sowohl die Nutzung von IPv6 im Tunnel als auch die Vermeidung von IPv6-Lecks. Blockieren verhindert das Umgehen des Tunnels, nimmt aber die IPv6-Nutzbarkeit und erfüllt deshalb nur einen Teil. Ein Leck erfüllt das Ziel nicht; unklares Verhalten bleibt neutral.
"full_support"- Erfüllt
"blocked"- Teilweise erfüllt
"leaks"- Nicht erfüllt
"unclear"- Neutral
Systemweite Sperre bei Tunnelabbruch
features.killswitchZiel ist eine Verkehrssperre für das gesamte Gerät bei einem Verbindungsabbruch. Eine systemweite Sperre erfüllt das Ziel, auch ohne zusätzlichen App-Modus. Eine Sperre nur für ausgewählte Programme deckt lediglich einen Teil ab. Fortbestehen nach App-Ende oder Neustart wird separat erfasst.
"system"- Erfüllt
"app"- Teilweise erfüllt
"both"- Erfüllt
"none"- Nicht erfüllt
Sperre bleibt nach App-Ende und Neustart aktiv
features.killswitch_permanentZiel ist eine im Betriebssystem verankerte Verkehrssperre, die auch nach Beenden oder Absturz der App sowie nach einem Neustart greift. Die Angabe ersetzt keine Prüfung der konkreten Plattform und Konfiguration.
true- Erfüllt
false- Nicht erfüllt
Ein- und Ausgang bei Multihop frei kombinierbar
features.multihopFunktionsziel ist Multihop mit frei kombinierbarem Ein- und Ausgang. Feste Routen erfüllen den Mehrfach-Hop, nicht die freie Auswahl. Mehrfach-Hop ist keine Zusage zusätzlicher Anonymität; beide Server können zum selben Anbieter gehören.
"configurable"- Erfüllt
"fixed"- Teilweise erfüllt
"no"- Nicht erfüllt
Portweiterleitung verfügbar
features.port_forwardingFunktionsziel ist die Weiterleitung eingehender Verbindungen an das eigene Gerät. Einschränkungen etwa bei Ports oder Standorten gelten als teilweise erfüllt. Eine verfügbare Weiterleitung ist kein allgemeiner Sicherheitsvorteil und kann zusätzliche Erreichbarkeit schaffen.
"yes"- Erfüllt
"limited"- Teilweise erfüllt
"no"- Nicht erfüllt
Anpassbarer DNS-Werbe- und Trackerfilter
features.adblock_dnsFunktionsziel ist ein DNS-Filter mit wählbaren Listen oder Kategorien. Eine feste Liste erfüllt die Filterfunktion, nicht die Anpassbarkeit. Das Verfahren filtert Domains und entfernt nicht jede Werbung oder jede Form von Tracking.
"yes_configurable"- Erfüllt
"yes_fixed"- Teilweise erfüllt
"no"- Nicht erfüllt
Schadsoftware- und Phishing-Domains filterbar
features.malware_filterFunktionsziel ist das Blockieren von Domains auf Schadsoftware- oder Phishing-Listen. Das ist keine Prüfung heruntergeladener Dateien und kein vollständiger Schutz vor Schadsoftware.
true- Erfüllt
false- Nicht erfüllt
Automatisches Verbinden nach Regeln möglich
features.autoconnect_rulesFunktionsziel sind einstellbare Bedingungen für den Verbindungsaufbau, etwa beim Start oder in bestimmten Netzen. Die Verfügbarkeit sagt nicht, dass diese Regeln bereits aktiviert sind oder dass jede Verbindungslücke ausgeschlossen ist.
true- Erfüllt
false- Nicht erfüllt
IPv6 im Tunnel transportierbar
features.ipv6_tunnelFunktionsziel ist die Nutzung von IPv6 durch den Tunnel. Eine reine IPv6-Sperre erfüllt dieses Verfügbarkeitsziel nicht, auch wenn sie Lecks verhindern kann. Das Verhalten bei IPv6-Lecks wird im Kriterium zum Umgang mit IPv6 getrennt erklärt.
true- Erfüllt
false- Nicht erfüllt
Windows mit eigener Anbieter-App nutzbar
apps.windowsFunktionsziel ist die Nutzung unter Windows mit einer eigenen Anbieter-App. Reine Konfigurationsdateien ermöglichen die Nutzung mit anderer Software, erfüllen aber nicht den App-Teil. Das ist keine Wertung von Codequalität, Funktionsumfang oder unterstützten Windows-Versionen.
"native"- Erfüllt
"config_only"- Teilweise erfüllt
"no"- Nicht erfüllt
macOS mit eigener Anbieter-App nutzbar
apps.macosFunktionsziel ist die Nutzung unter macOS mit einer eigenen Anbieter-App. Manuelle Konfiguration erfüllt nur den Nutzungsteil. Store-Fassung und direkt geladene App können sich unterscheiden; die Farbe macht dazu keine Aussage.
"native"- Erfüllt
"config_only"- Teilweise erfüllt
"no"- Nicht erfüllt
Linux mit grafischer Anbieter-App nutzbar
apps.linux_guiFunktionsziel ist eine grafische Linux-App des Anbieters. Konfigurationsdateien ermöglichen die Einrichtung mit anderen Werkzeugen, liefern aber keine solche Oberfläche. Unterstützte Distributionen und Paketformate werden damit nicht bewertet.
"native"- Erfüllt
"config_only"- Teilweise erfüllt
"no"- Nicht erfüllt
Linux mit eigenem Kommandozeilenwerkzeug nutzbar
apps.linux_cliFunktionsziel ist ein vom Anbieter gepflegtes Linux-Kommandozeilenwerkzeug. Reine Verbindungsprofile decken die Einrichtung mit anderen Werkzeugen ab, nicht den eigenen Client. Dokumentation und Quelloffenheit sind separate Eigenschaften.
"native"- Erfüllt
"config_only"- Teilweise erfüllt
"no"- Nicht erfüllt
Android mit eigener Anbieter-App nutzbar
apps.androidFunktionsziel ist die Nutzung unter Android mit einer eigenen Anbieter-App. Reine Konfiguration mit einem anderen Client erfüllt nur den Nutzungsteil. Die Zuordnung sagt nichts über Tracker, Vertriebsweg oder unterstützte Android-Versionen aus.
"native"- Erfüllt
"config_only"- Teilweise erfüllt
"no"- Nicht erfüllt
iOS mit eigener Anbieter-App nutzbar
apps.iosFunktionsziel ist die Nutzung unter iOS mit einer eigenen Anbieter-App. Profile oder ein anderer Client decken nur den Nutzungsteil ab. Die Verfügbarkeit ist keine Aussage über den konkreten Schutzumfang unter iOS.
"native"- Erfüllt
"config_only"- Teilweise erfüllt
"no"- Nicht erfüllt
Skriptgesteuerte Verbindungen dokumentiert
apps.cli_documentedFunktionsziel ist eine veröffentlichte Befehls- oder Schnittstellenreferenz, mit der sich Verbindungen skriptgesteuert aufbauen lassen. Ein Werkzeug ohne diese Dokumentation erfüllt das Ziel nicht.
true- Erfüllt
false- Nicht erfüllt
Nutzung ohne persönliche Registrierung möglich
apps.no_account_neededZiel ist die Nutzung ohne persönliche Registrierung, im Sinne des Katalogs auch mit zufällig erzeugter Kontonummer statt E-Mail-Adresse und Passwort. Das belegt weder fehlende Verbindungs-Logs noch einen anonymen Zahlungsweg.
true- Erfüllt
false- Nicht erfüllt