import { CodeBlock, InfoBox } from '@/components/DevPortalLayout'
export function SdkPseudonymSection() {
return (
<>
4. SDK-Integration
{`import { BreakpilotSDK, NamespaceClient } from '@breakpilot/compliance-sdk'
// 1. SDK initialisieren mit API-Key
const sdk = new BreakpilotSDK({
apiKey: process.env.BREAKPILOT_API_KEY,
endpoint: 'https://api.breakpilot.de'
})
// 2. Namespace-Client erstellen (pro Mandant/Abteilung)
const namespace = sdk.createNamespace({
tenantId: 'kunde-firma-abc',
passphrase: process.env.ENCRYPTION_PASSPHRASE // Bleibt lokal!
})
// 3. Dokument pseudonymisieren & verschluesselt hochladen
const result = await namespace.upload({
file: documentBuffer,
metadata: { type: 'vertrag', category: 'due-diligence' },
pseudonymize: true,
headerRedaction: true
})
// result.docToken = "a7f3c2d1-4e9b-4a5f-8c7d-..."
// 4. Referenzdokument hochladen (z.B. Pruefkriterien)
await namespace.uploadReference({
file: referenceBuffer,
title: 'Pruefkriterien Vertrag Typ A'
})
// 5. KI-Verarbeitung anstossen
const analysis = await namespace.analyze({
docToken: result.docToken,
prompt: 'Pruefe den Vertrag gegen die Referenzkriterien',
useRAG: true
})
// 6. Ergebnisse entschluesseln (passiert automatisch im SDK)
console.log(analysis.findings)
console.log(analysis.score)
// 7. Re-Identifizierung (Token → Originalname)
const identityMap = await namespace.getIdentityMap()
const originalName = identityMap[result.docToken]`}
Die Passphrase verlässt niemals das System des Kunden. Das SDK verschluesselt
und entschluesselt ausschliesslich lokal.
5. Pseudonymisierung: Wie personenbezogene Daten entfernt werden
5.1 Der doc_token: Ein zufaelliger Identifikator
Jedes Dokument erhaelt einen doc_token -- einen 128-Bit-Zufallscode im
UUID4-Format. Dieser Token ist kryptographisch zufaellig, kann
nicht zurueckgerechnet werden und dient als eindeutiger Schluessel
fuer die spaetere Re-Identifizierung.
5.2 Header-Redaction: PII wird entfernt
| Methode |
Wie es funktioniert |
Wann verwenden |
| Einfache Redaction |
Definierter Bereich des Dokuments wird entfernt |
Standardisierte Formulare mit festem Layout |
| Smarte Redaction |
OpenCV/NER erkennt Textbereiche mit PII und entfernt gezielt |
Freitext-Dokumente, variable Layouts |
5.3 Die Identitaets-Map: Nur der Kunde kennt die Zuordnung
{`NamespaceSession
├── tenant_id = "kunde-firma-abc" ← Pflichtfeld (Isolation)
├── encrypted_identity_map = [verschluesselte Bytes] ← Nur mit Passphrase lesbar
├── identity_map_iv = "a3f2c1..."
│
└── PseudonymizedDocument (pro Dokument)
├── doc_token = "a7f3c2d1-..." ← Zufaelliger Token (Primary Key)
├── session_id = [Referenz]
└── (Kein Name, keine personenbezogenen Daten)`}
Die Pseudonymisierung erfuellt die Definition der DSGVO: Personenbezogene Daten
koennen ohne Hinzuziehung zusaetzlicher Informationen
(der verschluesselten Identitaets-Map + der Passphrase) nicht mehr einer bestimmten Person zugeordnet werden.
>
)
}