Scoped Mandate — ein Mandat, viele Einkäufe, eine SCA

Ein KI-Agent kauft im Namen des Nutzers ein. Der Nutzer erteilt der Sparkasse einmal per Face ID ein begrenztes Mandat; danach prüft die Bank jede Zahlung gegen Limits, Händler und Gültigkeit, der Händler prüft die Warengruppen und signiert eine Attestation, der Agent handelt mit eigener Identität und eigenem Schlüssel. Die Wallet entscheidet nie über Zahlungen — sie zeigt den Stand der Bank und kann widerrufen.

Interface Specification   API-Referenz

WalletEUDIPal auf dem iPhone: Consent, SCA, Chat mit dem Agenten
Bankhält das Mandat, prüft den Payment-Scope, settelt per SCT Inst (SPAA-DRP)
HändlerKatalog, Fach-Scope, signierte Attestation — sieht keine Bankdaten
Agenteigener Secure-Enclave-Key, eigenes Credential, signiert jeden Zahlungsauftrag

Dokumente

API-Referenz

Maschinenlesbar für Partner: OpenAPI 3.1, gerendert mit Redoc; die Roh-YAML liegt hier und bei jedem Service unter /openapi.yaml.

Live-Systeme

Öffentlich erreichbar, keine Anmeldung. Alles läuft in Frankfurt (Google Cloud Run, europe-west3).

Quick start

curl -s https://bank.s-you.me/.well-known/mandate-service | jq .
curl -s 'https://shop.s-you.me/catalog?q=milch' | jq .

# kompletter Bank-Flow B/C/D mit echtem P-256-Agenten-Key (29 Checks)
uv run --python 3.12 --with 'cryptography==43.0.3' python tools/mock-bank/smoke_test.py https://bank.s-you.me

In der App (Build ≥ 751): Chat → „Kauf mir 2 Milch, Brot und Spülmittel“ → Freigabe-Sheet → Face ID → Beleg. „Und ein Bier dazu“ → der Händler lehnt ab, der Agent sagt wer und warum. „Was hat der Agent gekauft?“ → Log der Bank. „Widerrufen“ → danach lehnt die Bank jede Zahlung ab.