Listrar-Register
Sicherheit
Diese Seite beschreibt Kontrollen, die heute im Produkt existieren. Wo etwas eine Deployment-Konfiguration statt einer implementierten Kontrolle ist, steht das dabei.
Mandantentrennung in zwei unabhängigen Schichten
Jede Fachabfrage wird in der Datenzugriffsschicht auf den aufrufenden Mandanten eingegrenzt, sodass mandantenübergreifender Zugriff nicht durch Unterlassen entstehen kann. Darunter greift die Row-Level Security von PostgreSQL pro Anfrage über Sitzungsvariablen — ein von der Datenbank erzwungener Rückhalt, der nicht davon abhängt, dass der Anwendungscode korrekt ist. Beide Schichten müssten versagen, damit Daten eine Mandantengrenze überschreiten.
Der öffentliche Pfad
Anonyme Besucher erreichen Produktpässe über einen Client, der keinen Mandanten setzt; das grenzt jede Lesung auf die öffentlichen Lesepolicies ein: veröffentlichte Produkte und ihre Relationen. Der Filter im Anwendungscode bleibt, ist aber nicht mehr das Einzige zwischen einem Besucher und den Entwürfen eines anderen Mandanten.
Autorisierung über Capabilities
Berechtigungen werden als Capabilities ausgedrückt, nicht über Rollennamen-Vergleiche, und ein einziges Register speist Navigation, Seitenschutz und serverseitige Prüfungen — sie können also nicht auseinanderlaufen. Ablehnung als Standard. Den Status eines Eintrags zu ändern und eine Überprüfung zu erfassen sind eigene Capabilities, getrennt von der Katalogbearbeitung, weil es unterschiedliche Handlungen sind.
Prüfspur
Sicherheitsrelevante Ereignisse — An- und Abmeldung, jede Produkterstellung und -änderung, jede Statusänderung, jede erstellte oder widerrufene Überprüfung — werden in ein Nur-Anhängen-Protokoll geschrieben. Das Nur-Anhängen wird im Code erzwungen, nicht per Konvention: Update- und Löschpfade stehen für diese Tabelle nicht zur Verfügung.
API-Authentifizierung
API-Schlüssel werden ausschließlich als Hashes gespeichert, nie im Klartext. Jeder Schlüssel trägt explizite Scopes, und eine Route weist einen Schlüssel ohne den erforderlichen Scope ab. Anfragen werden gegen ein monatliches Kontingent je Schlüssel und Tarifstufe gezählt. Eingaben werden an jeder Grenze validiert, bevor sie die Datenbank erreichen.
Wo Daten gehostet werden
Das Deployment fixiert eine EU-Region für Hosting und Datenbank, und die Compliance-Dokumentation des Projekts hält EU-Datenresidenz als Entwurfshaltung fest. Das ist eine im Repository dokumentierte Konfigurationsentscheidung, keine unabhängige Zertifizierung — und diese Seite behauptet nichts anderes.