Sichere Darstellung: Speicherung, Sicherheit und Betrieb
Legt Datenstrukturen, Darstellung, Berechtigungen, Moderationskontrollen, Prüfpfad, Tests und Betrieb für sichere Darstellung fest. Es definiert Annahmegrenzen und beobachtbare Fehlerbelege, während umgebungsspezifische Limits konfigurierbar bleiben.
Paketstatus: Referenzkontext bereit für menschliche Überprüfung. Der Vertrag und die Testszenarien sind abgeschlossen, es wird jedoch nicht behauptet, dass eine übernehmende Implementierung diese bestanden hat.
Entscheidung
Für sichere Darstellung wird ein versionierter Inhaltsdatensatz und eine Moderationszustandsmaschine übernommen. Das Verhalten wird über einen autoritativen Schreibpfad, typisierte Schnittstellen, expliziten Zustand und idempotente Nebenwirkungsbehandlung implementiert. Dieses Paket ist ein Referenzvertrag: Das übernehmende Team muss numerische Limits, Anbieter, Rechtsgebiete und operative Verantwortliche anhand von Belegen in der eigenen Umgebung auswählen.
Umfang
- Die Akteure, Eingaben, Ausgaben, Zustände, Richtlinien- oder Schemaversionen und extern sichtbaren Ergebnisse der sicheren Darstellung, die durch diesen Implementierungsblock beschrieben werden.
- Primäre und alternative Schnittstellen, Hintergrundarbeiten, Caches, Integrationen, Supportpfade und Belege, die dieselbe Grenze ausüben können.
- Übernahmespezifische Konfiguration, Rollout, Wiederherstellung und Verifikationsverantwortlichkeiten, die für die sichere Anwendung der Referenz erforderlich sind.
Außerhalb dieses Blocks
- Die Wahl eines universellen Anbieters, Frameworks, Rechtsgebiets, numerischen Schwellenwerts, Aufbewahrungszeitraums oder Service-Level-Objectives für jeden Übernehmer.
- Die Behauptung, dass verpackte Szenarien gegen eine nachgelagerte Implementierung ausgeführt wurden oder dass diese Referenz eine rechtliche, sicherheits- oder barrierefreie Zertifizierung gewährt.
Vertrag
- Speichere die ursprüngliche Eingabe getrennt von der normalisierten oder gerenderten Ausgabe und identifiziere den verwendeten Transformer und die Richtlinienversion.
- Säubere für den tatsächlichen Ausgabekontext; Parsing, Markdown-Konvertierung und MIME-Bezeichnungen machen aktive Inhalte nicht vertrauenswürdig.
- Autorisiere Erstellen, Bearbeiten, Veröffentlichen, Moderieren, Einspruch und Löschen unabhängig und bewahre die materielle Entscheidungsnachverfolgung.
- Repräsentiere explizit die Zustände ausstehend, erlaubt, eingeschränkt, abgelehnt, angefochten und entfernt, anstatt Sichtbarkeitsflags zu überladen.
- Validieren Eingaben einmal an der Grenze und bewahre die normalisierte Darstellung, die von nachgelagerter Logik verwendet wird.
- Speichere den geschäftlichen Übergang vor oder atomar mit einem Outbox-Datensatz; Verbraucher deduplizieren anhand einer dauerhaften Operationsidentität.
- Parse nicht vertrauenswürdige Inhalte in eine eingeschränkte Darstellung, erlaube unterstützte Konstrukte auf einer Positivliste, säubere für den finalen Ausgabekontext und rendere aktive Formate in einer isolierten Origin oder einem Worker.
- Blockiere Skripte, unsichere URLs, Event-Handler, externe Abrufe, ausführbares SVG und Ressourcenmissbrauch und versioniere Parser und Richtlinie für reproduzierbare Nachbearbeitung.
Implementierungsanleitung
- Liefere additive Speicher- und Schnittstellenänderungen zuerst aus, fülle sie beobachtbar nach und stelle alte Pfade nach Kompatibilitätsnachweis ein.
- Modelle Eingaben, Ausgaben, Akteure, Zustände, Invarianten, Nebenwirkungen und Belege der sicheren Darstellung, bevor Framework- oder Anbieterdetails ausgewählt werden.
- Speichere die anwendbare Version des sicheren Darstellungsvertrags oder der Richtlinie mit materiellem Zustand, damit Migrationen, Wiedergabe und Supportentscheidungen zuordenbar bleiben.
- Führe den Pfad hinter kontrolliertem Rollout ein, vergleiche erwartete und beobachtete Ergebnisse und halte eine getestete Wiederherstellungsroute, bis Übernahmebelege vollständig sind.
Fehlerbehandlung und Schutzmaßnahmen
- Unsichere oder nicht klassifizierbare Inhalte bleiben standardmäßig nicht verfügbar und gelangen in einen begrenzten Prüf- oder Ablehnungspfad.
- Ungültiger oder widersprüchlicher Zustand der sicheren Darstellung wird abgelehnt oder isoliert; die Implementierung schätzt niemals einen Wert, der Autorität erweitert oder eine Wirkung dupliziert.
- Wiederholungen sind begrenzt und verwenden dauerhafte Identität; nach Erschöpfung erreicht die Arbeit einen inspizierbaren Endzustand mit verantwortlichem Eigentümer.
Verifikation und Betrieb
- Injezieren Abhängigkeitsfehler vor und nach der Persistenz und beweisen, dass Wiederholungen auf ein einziges extern sichtbares Ergebnis konvergieren.
- Überwache Erfolg, Ablehnung, Validierungsfehler, Abhängigkeitsfehler, Wiederholungsermüdung und Wiederherstellung der sicheren Darstellung nach Vertragsversion ohne sensible Nutzlastdimensionen.
- Führe gepaarte positive und negative Fixtures nach Richtlinien-, Schema-, Abhängigkeits-, Migrations- oder Grenzänderungen erneut aus und bewahre die resultierenden Belege.
Übernahmeannahmen
- Namen und Werte im Beispiel sind ein konkretes Fixture, keine universellen Standardwerte; Übernehmer ersetzen sie durch dokumentierte Belege und Eigentum.
- Das übernehmende System kann authentifizierte Identität, dauerhafte Operationen- oder Datensatzversionen, begrenzte Telemetrie und einen kontrollierten Änderungsweg bereitstellen.
Die ausführungsähnlichen Beispiele in diesem Paket sind Fixtures und Akzeptanzverträge. Führe den Sammlungsvalidator aus, um Struktur und Metadaten zu prüfen, übersetze und führe dann die Szenarien im Ziel-Repository aus, bevor Implementierungsbelege aufgezeichnet werden.