Mandantentrennung & Freigaben
Wie PIE Organisationen auf Datenbankebene isoliert und wie Produzenten bestimmte Produkte für bestimmte Abnehmer teilen.
Die Mandantentrennung ist die wichtigste Eigenschaft von PIE: Die Daten jeder Organisation sind von denen jeder anderen isoliert, und diese Isolation wird in der Datenbank durchgesetzt — nicht in Anwendungscode, der umgangen werden könnte.
Organisationsabgrenzung
Jede Anfrage wird auf einen Principal authentifiziert, der eine Organisations-ID trägt, ausschließlich aus dem validierten Berechtigungsnachweis (JWT oder API-Schlüssel) — nie aus dem Anfrage-Body oder den Query-Parametern. Die API öffnet für diese Organisation eine mandantengebundene Datenbankverbindung, die eine Sitzungsvariable setzt, die die Zeilensicherheit (RLS)-Richtlinien der Datenbank lesen. Jede Tabelle mit Kundendaten hat eine org_id und eine RLS-Richtlinie, die auf die aktuelle Organisation filtert, sodass eine Abfrage nur die Zeilen ihres eigenen Mandanten sehen kann.
Deshalb kann ein Abnehmer nicht die Daten eines anderen Abnehmers erreichen, und deshalb sind die Entwurfsprodukte eines Produzenten für alle anderen unsichtbar — die Grenze ist strukturell.
Freigaben: kontrolliertes Teilen
Produzenten müssen bestimmte Produkte mit bestimmten Abnehmern teilen. Genau das ist eine Freigabe: Ein Produzent stellt einer Abnehmer-Organisation einen Satz von Produkten bereit. Freigaben werden über freigabegestützte RLS gelesen — die mandantengebundene Verbindung des Abnehmers kann die Produktzeile eines Produzenten nur sehen, wenn eine Freigabe die beiden Organisationen verbindet. Der „freigegebene Katalog" eines Abnehmers ist daher kein anwendungsseitiger Filter, der lecken könnte; er ist das Einzige, was die Datenbank zurückgibt.
Einige Ressourcen sind bewusst nicht freigabegebunden — zum Beispiel die eigenen Qualitätsprofile eines Abnehmers —, sodass die eigenen Schreibvorgänge eines Abnehmers nie organisationsübergreifend aufgelöst werden.
Öffentliche Flächen
Manche Daten sind für die Öffentlichkeit bestimmt — Digitale Produktpässe, Markenportale und Printkataloge. Diese werden über eine separate, schreibgeschützte öffentliche Datenbankrolle bereitgestellt, die nur veröffentlichte, erlaubnislistierte Daten sehen kann, geschnappschosst zum Veröffentlichungszeitpunkt. Nichts Privates kann eine öffentliche Fläche erreichen.
Lebenszyklus & Governance
Eine Organisation kann gesperrt (Schreibvorgänge eingefroren, Lesevorgänge und Datenauskunfts-Selbstbedienungs-Exporte weiterhin erreichbar) und offgeboardet werden (ein vorschau- und bestätigungsgesicherter Export-dann-Stilllegen-Ablauf). Personendaten über jede Tabelle hinweg sind in einem Register klassifiziert, das die CI vollständig hält, sodass Datenauskunft und Löschung nie still eine Tabelle verfehlen können.