Zum Hauptinhalt springen
Audact
Angebot ansehen

Authority before action. Proof through finality.

Diese Seite beschreibt den Aufbau des Systems. Sie ist für jemanden geschrieben, der den Response-Body liest und nicht den Prospekt.

Eine Anfrage wird gegen ein Mandat geprüft, bevor außerhalb des Modells irgendetwas geschieht. Die Prüfung gibt eine von drei Antworten zurück, und jede der drei schreibt eine Compliance-Quittung. Was ein Dritter aus dieser Quittung nachrechnen kann (ohne Schlüssel, ohne Konto und ohne Zugang zu unseren Systemen), steht unten, Feld für Feld. Diese Seite beschreibt die Form, in der Ihr eigenes System das Gate aufruft; in der betriebenen Sprachanwendung betreibt Audact den Weg, und dieselbe Prüfung sitzt darin. Die drei Antworten und die Quittung ändern sich zwischen beiden nicht.

01. Der Weg einer Anfrage

Vom Eingang bis zur Quittung

Sieben Schritte. Entscheidend ist der vierte: Die Prüfung läuft, bevor die Wirkung die Grenze verlässt, und nicht nachdem sie eingetreten ist. Ein System, das im Nachhinein prüft, kann Ihnen sagen, was schiefging. Ein System, das vorher prüft, kann es verhindern. Alles Weitere auf dieser Seite folgt aus dieser Reihenfolge.

Der Weg einer Anfrage

Die Prüfung steht vor der Handlung, nicht danach.

  1. 01

    Die Anfrage kommt an

    Ein Gesprächsbeitrag, eine Chat-Nachricht oder ein Tool-Aufruf eines Agenten verlangt etwas, das außerhalb des Modells wirkt.

  2. 02

    Das Mandat wird bestimmt

    Mandant, Agent und Land entscheiden, welches Mandat und welches Regelwerk für genau diese Anfrage gelten. Wo eine besondere Regel existiert, wird nicht gegen die allgemeine geprüft.

  3. 03

    Die Wirkung wird beschrieben

    Die beabsichtigte Wirkung wird in eine strukturierte Form gebracht: was, für wen, wie viel, nach welchen Regeln. An dieser Stelle ist sie beschrieben. Ausgeführt ist sie nicht.

  4. 04

    Die Prüfung läuft

    Diese Beschreibung wird gegen das Mandat geprüft (Obergrenze, Umfang, Befristung) und gegen das Regelwerk des Landes. Das ist der Schritt vor der Handlung, und darin liegt der ganze Unterschied.

  5. 05

    Eine von drei Antworten kommt zurück

    Zulassen, eskalieren oder ablehnen. Es gibt keine vierte Antwort und keine halbe.

  6. 06

    Nur eine Zulassung überschreitet die Grenze

    Bei einer Zulassung führen Ihre Systeme die Handlung innerhalb der geprüften Grenzen aus. Bei den beiden anderen Antworten wird sie gar nicht ausgeführt.

  7. 07

    Die Quittung wird geschrieben

    Eingabe-Hash, Ausgabe-Hash, die Verknüpfung zur vorigen Quittung und der Eintrag, der in den Merkle-Baum geht. Das geschieht nach jeder der drei Antworten.

02. Das Gate

Ein Aufruf. Drei Antworten. Nach jeder eine Quittung.

Das Gate ist ein einzelner Aufruf, den Ihr System an der Stelle macht, an der eine Wirkung sonst beginnen würde. Es antwortet mit einem von drei Ergebnissen und gibt in jedem Fall eine Compliance-Quittung zurück. An welcher Antwort auch immer: dass eine Quittung geschrieben wird, ändert sich dadurch nicht.

Die drei Ergebnisse eines Gate-Aufrufs

Drei Antworten, ein Artefakt.

Die drei Ergebnisse
  • Ergebnis
    Zulassen
    Was mit der Handlung geschieht
    Wird von Ihren Systemen ausgeführt, innerhalb der geprüften Grenzen.
    Was zurückkommt
    Compliance-Quittung
  • Ergebnis
    Eskalieren
    Was mit der Handlung geschieht
    Angehalten. Sie geht an einen Menschen, und dieser Mensch entscheidet.
    Was zurückkommt
    Compliance-Quittung
  • Ergebnis
    Ablehnen
    Was mit der Handlung geschieht
    Wird nicht ausgeführt.
    Was zurückkommt
    Compliance-Quittung

Eine Ablehnung erzeugt dasselbe Artefakt wie eine Zulassung. Genau darum geht es: Die Aufzeichnung ist keine Liste der Dinge, die gut gelaufen sind.

Die Form des Aufrufs

Zur Orientierung, nicht als Spezifikation. Die Referenz Feld für Feld steht in der API-Dokumentation.

Anfrage

POST /v1/gate/evaluate

{
  "tenant":  "acme-emea",
  "agent":   "renewals-emea",
  "intent":  "commit.discount",
  "country": "DE",
  "amount": {
    "value":    1240,
    "currency": "EUR"
  }
}

Antwort

200 OK

{
  "outcome": "escalate",
  "reason":  "above the agent ceiling",
  "receipt": {
    "id":          "rcpt_01J8...",
    "input_hash":  "sha256:9f2a...",
    "output_hash": "sha256:41c7...",
    "prev":        "sha256:0b8e...",
    "auth":        "hmac-sha256",
    "merkle": {
      "root": "sha256:77d1...",
      "path": 4
    }
  }
}
Governance-Gate-API

Wo eine Eskalation stehen bleibt

  1. Abgeschlossen: Mandat

    Von einem Menschen festgelegt.

  2. Abgeschlossen: Befugnis

    Begrenzt, nicht offen.

  3. Braucht einen Menschen: Freigabe

    Diese liegt darüber.

  4. Noch nicht begonnen: Wirkung

    Was sie auslösen würde.

  5. Noch nicht begonnen: Verpflichtung

    Was daraus folgt.

  6. Noch nicht begonnen: Endgültigkeit

    Folgt aus Abschlussnachweis einer zuständigen Quelle und ist später nachrechenbar.

Eine Eskalation scheitert nicht und rutscht auch nicht stillschweigend durch. Sie hält genau dort an, wo nur noch ein Mensch sie weiterbewegen kann. Diese sechs Stationen ordnen den Bildschirm und das Gespräch; sie sind eine Lesehilfe für den Zustand, kein als solches beanspruchter Mechanismus.

03. Verhalten im Fehlerfall

Was geschieht, wenn die Steuerungsschicht nicht erreichbar ist

Jeder Aufbau dieser Art muss eine Frage ehrlich beantworten: Was tut das System, wenn der Teil fehlt, der die Befugnis erteilt? Es gibt zwei mögliche Antworten, und nur eine davon hält die Aufzeichnung aussagekräftig.

Verhalten bei erreichbarer und bei nicht erreichbarer Steuerungsschicht

Keine Antwort gilt als fehlende Befugnis.

Normalfall

Das Gate antwortet

Eines der drei Ergebnisse kommt innerhalb des Prüffensters zurück. Die Handlung folgt der Antwort, und eine Quittung wird geschrieben.

Fail-closed

Das Gate antwortet nicht

Keine Antwort im Zeitfenster gilt als fehlende Befugnis. Die Handlung wird nicht ausgeführt, der Aufrufer erhält eine Ablehnung statt eines Schweigens, das sich wie ein Ja liest, und die Nichterreichbarkeit selbst wird aufgezeichnet, sodass die Lücke hinterher sichtbar ist und nicht unsichtbar.

Das Wort dafür ist fail-closed. Der umgekehrte Aufbau (erst handeln, später abgleichen) ist der, bei dem eine Störung von einer Genehmigung nicht mehr zu unterscheiden ist, und genau darauf verzichtet dieser Entwurf. Das ist ein bewusster Tausch: Verfügbarkeit wird ausgegeben, damit die Aufzeichnung ihre Aussagekraft behält.

04. Die Nachweiskette

Die Quittung als Datenstruktur

Eine Quittung ist keine Logzeile mit schönerem Namen. Sie besteht aus fünf Feldern, und drei davon kann jeder nachrechnen, der nichts als die Quittung hat: ohne Schlüssel, ohne Konto, ohne Zugang zu unseren Systemen. Ein viertes, der Merkle-Pfad, braucht eine veröffentlichte Wurzel; diese Veröffentlichung und der offene Endpunkt dafür sind in Entwicklung. Feld für Feld gelesen sagt sie genau, was das Artefakt trägt.

Quittungskette und Merkle-Baum

Jede Quittung verweist zurück und nach oben: auf die vorige und in die Wurzel, deren Veröffentlichung in Entwicklung ist.

Die Felder einer Quittung
  • Feld
    input_hash
    Was darin steht
    Die Anfrage genau so, wie sie geprüft wurde.
    Von Dritten nachrechenbar
    Ohne Schlüssel
  • Feld
    output_hash
    Was darin steht
    Die Wirkung genau so, wie sie aufgezeichnet wurde.
    Von Dritten nachrechenbar
    Ohne Schlüssel
  • Feld
    prev
    Was darin steht
    Der Hash der vorigen Quittung derselben Kette.
    Von Dritten nachrechenbar
    Ohne Schlüssel
  • Feld
    merkle
    Was darin steht
    Der Pfad von dieser Quittung zur Merkle-Wurzel.
    Von Dritten nachrechenbar
    Sobald die Wurzeln veröffentlicht sind
  • Feld
    auth
    Was darin steht
    HMAC-SHA256 unter einem symmetrischen Schlüssel je Mandant.
    Von Dritten nachrechenbar
    Schlüssel nötig

Drei Felder, von jedem nachrechenbar

Eingabe-Hash, Ausgabe-Hash und die Verknüpfung zur vorigen Quittung: drei Felder, nachrechenbar mit nichts als der Quittung. Ohne Schlüssel, ohne Konto, ohne Zugang zu unseren Systemen. Ein viertes, der Platz dieser Quittung in der Merkle-Wurzel, braucht eine veröffentlichte Wurzel, gegen die man rechnen kann. Diese Veröffentlichung und der offene Endpunkt dafür sind in Entwicklung. Das fünfte Feld, der Authentifizierungscode, wird unter dem symmetrischen Schlüssel des jeweiligen Mandanten berechnet und authentifiziert die Quittung gegen diesen Schlüssel.

Genau dieses Nachrechnen macht eine spätere Änderung an einer Quittung oder eine Umsortierung der Kette erkennbar: Die nachgerechnete Wurzel passt dann nicht mehr zur hinterlegten.

Receipt Explorer öffnen

05. Wo die Daten liegen

Hosting, in der Reihenfolge, auf die es ankommt

Das primäre Anwendungs-Hosting ist Frankfurt. Die Tabelle sagt Schicht für Schicht, wo welcher Teil des Systems läuft und wo welcher Anbieter verarbeitet.

Wo welche Schicht läuft
  • Schicht
    Anwendung und API
    Wo
    Frankfurt
    Anmerkung
    Primäres Anwendungs-Hosting.
  • Schicht
    Nachweiskette und Quittungen
    Wo
    Frankfurt
    Anmerkung
    Gespeichert bei dem Mandanten, zu dem sie gehören.
  • Schicht
    Sprach-, Modell- und Telefonieanbieter
    Wo
    Je Anbieter
    Anmerkung
    Einige verarbeiten außerhalb der EU auf Grundlage von Standardvertragsklauseln.
  • Schicht
    Merkle-Wurzeln (Veröffentlichung in Entwicklung)
    Wo
    Öffentlicher Endpunkt
    Anmerkung
    Nur Hashes, keine personenbezogenen Daten.

Die maßgebliche Liste

Das Trust Center führt jeden Subprozessor und dessen Verarbeitungsort auf, auch die, die auf Grundlage von Standardvertragsklauseln in den Vereinigten Staaten verarbeiten. Diese Liste wird gepflegt, sie ist für diese Frage maßgeblich, und diese Seite folgt ihr.

Aktuellen Produktstatus ansehen

06. Was es nicht ist

Drei Dinge, die es nicht ist, und die Missverständnisse, die das verhindert

Das sind die drei Annahmen, die am teuersten sind, wenn ihnen niemand widerspricht: Jede klingt wie ein Kompliment, und jede beschreibt ein anderes Produkt.

Keine Abfangschicht

Nicht das

Nichts von dem, was auf dieser Seite beschrieben ist, sitzt vor Ihrem Netzwerk, und nichts hiervon liest von sich aus einen Datenstrom von Ihnen mit.

Das hier beschriebene Gate ist ein Aufruf, den Ihr System an einer Stelle in Ihrem eigenen Code macht, die Sie selbst wählen. Ruft Ihr System es nicht auf, wird nichts geprüft – und nichts aufgezeichnet. Abdeckung ist eine Eigenschaft der Stelle, an die Sie den Aufruf setzen, und nichts, was das Netz Ihnen schenkt. Die betriebene Sprachanwendung ist die andere Form: dort wird der Speech-Stack von Audact betrieben, die Prüfung sitzt also in einem Weg, den wir betreiben, und nicht an einem Aufruf, den Sie setzen. Welche der beiden gilt, wird je Einsatz festgelegt.

Kein Schlüsselspeicher für Ihre Systeme

Nicht das

Audact hält, rotiert und verteilt keine Zugangsdaten, die Ihre Systeme untereinander verwenden, und ist kein Ort, an dem man einen Schlüssel ablegt, den man lieber nicht selbst verwalten will.

Ein Schlüssel wird je Mandant gehalten: der, unter dem der Authentifizierungscode auf der Quittung berechnet wird. Was dieser Schlüssel abdeckt, steht Feld für Feld in Abschnitt 04.

Kein Buchungssystem

Nicht das

Die Kette ist kein Kontenbuch. Sie führt keine Salden, sie bewegt kein Geld, und sie verrechnet nichts zwischen zwei Parteien.

Sie hält fest, was entschieden wurde und was daraus folgte. Geld bewegt sich in Ihren eigenen Systemen; die Quittung sagt, was erlaubt war und was aufgezeichnet wurde, und hält sich aus der Buchhaltung heraus.

Weiter

Rechnen Sie es selbst nach

Der schnellste Weg, diese Architektur zu beurteilen, ist nicht weiterzulesen. Nehmen Sie eine Quittung, rechnen Sie die Kette Feld für Feld nach und sehen Sie selbst, dass es aufgeht.

Die auf dieser Seite beschriebenen Mechanismen gehören zu einem zum Patent angemeldeten Governance-Stack (UK IPO).