Kriterienampel

Die Kriterienampel zeigt, ob ein gespeicherter Wert ein hier definiertes Einzelziel erfüllt. Sie bewertet keinen Anbieter als Ganzes.

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_logs

Ziel 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_logs

Ziel 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_stored

Ziel 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_stored

Ziel 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_stored

Ziel 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_logged

Ziel 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_telemetry

Ziel 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_audit

Ziel 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_public

Ziel 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_report

Ziel 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_clients

Ziel 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_server

Ziel 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_builds

Ziel 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_available

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

Funktionsziel 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_udp

Funktionsziel 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_tcp

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

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

Ziel 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_quantum

Ziel 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_protection

Ziel 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_handling

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

Ziel 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_permanent

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

Funktionsziel 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_forwarding

Funktionsziel 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_dns

Funktionsziel 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_filter

Funktionsziel 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_rules

Funktionsziel 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_tunnel

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

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

Funktionsziel 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_gui

Funktionsziel 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_cli

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

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

Funktionsziel 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_documented

Funktionsziel 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_needed

Ziel 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