API-Dokumentation
Integrieren Sie Lathra.ai in weniger als 30 Minuten. Tokenisieren Sie PII vor dem AI-Call, de-tokenisieren Sie die Antwort danach – Sie behalten die volle Kontrolle über Ihre AI-Provider.
Architektur-Übersicht
Ihre App → Lathra Tokenize API
PII wird erkannt und durch Tokens ersetzt (z.B. "Max" → "TOKEN_A7F3")
Ihre App → Beliebiges AI-Modell (OpenAI, Anthropic, etc.)
Sie senden tokenisierte Daten direkt an Ihren AI-Provider – Lathra ist nicht im Request-Path
AI-Modell → Ihre App
Antwort enthält noch Tokens (z.B. "Angebot für TOKEN_A7F3 an TOKEN_B2E9")
Ihre App → Lathra Detokenize API
Tokens werden zurück in Original-PII aufgelöst ("TOKEN_A7F3" → "Max Mustermann")
Wichtig: Lathra ist kein Proxy. Sie behalten die volle Kontrolle über AI-Provider-Auswahl, Modell-Parameter und Request-Routing. Lathra schützt nur die PII-Daten.
Schnellstart
1. API-Key erhalten
Registrieren Sie sich kostenlos und erhalten Sie Ihren Lathra.ai API-Key. 14 Tage kostenlos testen, keine Kreditkarte erforderlich.
2. Tokenize-Endpoint aufrufen
Senden Sie Ihren Text mit PII an POST /v1/tokenize
3. Tokenisierten Text an AI-Modell senden
Nutzen Sie Ihren bevorzugten AI-Provider (OpenAI, Anthropic, Google, etc.) mit den tokenisierten Daten
4. Antwort de-tokenisieren
Senden Sie die AI-Antwort an POST /v1/detokenize mit der audit_id
Tokenisierung – Code-Beispiele
cURL - Tokenisierung
curl https://api.lathra.ai/v1/tokenize \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_LATHRA_API_KEY" \
-d '{
"text": "Max Mustermann ([email protected]) aus 10115 Berlin möchte ein Angebot.",
"ttl": 86400
}'
# Response:
# {
# "tokenized_text": "TOKEN_A7F3 (TOKEN_B2E9) aus TOKEN_C4D1 möchte ein Angebot.",
# "audit_id": "aud_7f8a9b2c3d4e5f6g",
# "tokens_created": 3
# }Python - Tokenisierung
import requests
# Schritt 1: PII tokenisieren
tokenize_response = requests.post(
"https://api.lathra.ai/v1/tokenize",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_LATHRA_API_KEY"
},
json={
"text": "Max Mustermann ([email protected]) aus 10115 Berlin möchte ein Angebot.",
"ttl": 86400 # Token-Lebensdauer in Sekunden
}
)
tokenized_data = tokenize_response.json()
print(tokenized_data["tokenized_text"])
# "TOKEN_A7F3 (TOKEN_B2E9) aus TOKEN_C4D1 möchte ein Angebot."JavaScript / TypeScript - Tokenisierung
// Schritt 1: PII tokenisieren
const tokenizeResponse = await fetch("https://api.lathra.ai/v1/tokenize", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_LATHRA_API_KEY"
},
body: JSON.stringify({
text: "Max Mustermann ([email protected]) aus 10115 Berlin möchte ein Angebot.",
ttl: 86400 // Token-Lebensdauer in Sekunden
})
});
const tokenizedData = await tokenizeResponse.json();
console.log(tokenizedData.tokenized_text);
// "TOKEN_A7F3 (TOKEN_B2E9) aus TOKEN_C4D1 möchte ein Angebot."Schritt 2: AI-Modell aufrufen
Nutzen Sie die tokenisierten Daten mit Ihrem bevorzugten AI-Provider. Lathra ist nicht im Request-Path – Sie behalten volle Kontrolle.
# Beispiel: OpenAI SDK
import openai
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "user", "content": tokenized_data["tokenized_text"]}
]
)
ai_response_text = response.choices[0].message.content
# "Gerne! Ich erstelle ein Angebot für TOKEN_A7F3 an TOKEN_B2E9."De-Tokenisierung – Code-Beispiele
cURL - De-Tokenisierung
curl https://api.lathra.ai/v1/detokenize \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_LATHRA_API_KEY" \
-d '{
"text": "Gerne! Ich erstelle ein Angebot für TOKEN_A7F3 an TOKEN_B2E9.",
"audit_id": "aud_7f8a9b2c3d4e5f6g"
}'
# Response:
# {
# "detokenized_text": "Gerne! Ich erstelle ein Angebot für Max Mustermann an [email protected].",
# "tokens_resolved": 2
# }Python - De-Tokenisierung
# Schritt 3: AI-Antwort de-tokenisieren
detokenize_response = requests.post(
"https://api.lathra.ai/v1/detokenize",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_LATHRA_API_KEY"
},
json={
"text": ai_response_text, # Antwort vom AI-Modell mit Tokens
"audit_id": tokenized_data["audit_id"]
}
)
final_text = detokenize_response.json()["detokenized_text"]
print(final_text)
# "Gerne! Ich erstelle ein Angebot für Max Mustermann an [email protected]."JavaScript / TypeScript - De-Tokenisierung
// Schritt 3: AI-Antwort de-tokenisieren
const detokenizeResponse = await fetch("https://api.lathra.ai/v1/detokenize", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_LATHRA_API_KEY"
},
body: JSON.stringify({
text: aiResponseText, // Antwort vom AI-Modell mit Tokens
audit_id: tokenizedData.audit_id
})
});
const finalData = await detokenizeResponse.json();
console.log(finalData.detokenized_text);
// "Gerne! Ich erstelle ein Angebot für Max Mustermann an [email protected]."API-Referenz
POST /v1/tokenize
Tokenisiert PII in einem Text.
Request Body
{
"text": string, // Text mit PII
"ttl": number, // Token-Lebensdauer in Sekunden (optional, default: 86400)
"categories": string[] // PII-Kategorien (optional, default: alle)
}Response
{
"tokenized_text": string, // Text mit Tokens statt PII
"audit_id": string, // Audit-ID für De-Tokenisierung
"tokens_created": number // Anzahl erstellter Tokens
}POST /v1/detokenize
Löst Tokens zurück in Original-PII auf.
Request Body
{
"text": string, // Text mit Tokens
"audit_id": string // Audit-ID aus Tokenize-Response
}Response
{
"detokenized_text": string, // Text mit Original-PII
"tokens_resolved": number // Anzahl aufgelöster Tokens
}GET /v1/audit/verify/:audit_id
Verifiziert einen Audit-Trail und gibt kryptografischen Hash zurück.
Response
{
"audit_id": string,
"hash": string, // SHA-256 Hash des Audit-Logs
"timestamp": string,
"tokens_count": number,
"verified": boolean
}Erweiterte Funktionen
PII-Kategorien konfigurieren
Wählen Sie, welche PII-Kategorien erkannt werden sollen (Standard: alle):
{
"text": "...",
"categories": ["name", "email", "phone", "address", "iban"]
}Zero-Knowledge-Architektur
Audit-Logs enthalten nur kryptografische Hashes, keine PII. Verify-Funktion beweist Verarbeitung ohne Datenzugriff. Token-Mappings werden nach TTL automatisch gelöscht.