ShinrAIAuf STACKIT gehostet

Native PII-API v2

Personenbezogene Daten in Text, Tabellen, JSON, Transkripten, Bildern und Dokumenten mit einem Vertrag erkennen, schützen und wiederherstellen.

Ein Vertrag für jede Bereitstellung

Derselbe Anfrage-Body funktioniert mit der gehosteten API, der Sandbox und einer Installation in Ihrem eigenen Cluster. Die Offline-Edition bedient die native API v1, bis ihr Image v2 enthält. Die v1-Routen und die Verträge für Azure, AWS und Google bleiben verfügbar.

Mit den Fähigkeiten beginnen

Lesen Sie die Fähigkeiten einmal beim Start. Sie nennen die Modelle, Sprachen, Eingabearten, Stufen und Grenzen Ihrer Bereitstellung.

export SHINRAI_API_KEY=shr_live_...
curl -s https://api.shinrai.innovius.io/v2/capabilities -H "Authorization: Bearer $SHINRAI_API_KEY"

Jede Eingabeart senden

Ein einfacher Text braucht keine Hülle. Senden Sie eine Textdatei oder ein Bild direkt als Anfrage-Body und die Optionen im Query-String.

EingabeSo senden Sie sieHinweise
Text{"text": "..."} oder text/plainJSON oder die Rohdatei senden
Tabellen"kind": "table"Spalten und Zeilen
JSON"kind": "json"Alle Zeichenketten des Werts
Transkripte"kind": "transcript"Formen und Wortatome mit Zeitangaben
Seiten"kind": "page"Text plus Wortboxen aus Ihrer eigenen OCR oder der PDF-Textebene
Bilderimage/png, image/jpeg, image/bmp, image/tiff, image/webpBis 6 MiB: OCR, Pixelboxen pro Entität und das geschwärzte Bild
DokumentePOST /v2/jobsPDF und DOCX über einen Job (Beta)
curl -s https://api.shinrai.innovius.io/v2/detect -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: application/json" -d '{"text": "Anna Weber, anna.weber@example.org, IBAN DE89 3704 0044 0532 0130 00"}'
curl -s https://api.shinrai.innovius.io/v2/protect?preset=label -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: text/plain" -H "Accept: text/plain" --data-binary @letter.txt

Schutzart wählen

Eine Voreinstellung legt eine Richtlinie für alle Typen fest. Regeln legen eine Aktion pro Typ fest.

EinstellungWerte
Voreinstellungpseudonymize, mask, label, strict
Aktion pro Typsurrogate, label, mask, partial, generalize, replace, remove, keep
  • Pseudonymize schreibt realistische Ersatzwerte, die Sie wiederherstellen können.
  • Partial behält, was nicht identifiziert: die E-Mail-Domain, die Ländervorwahl, die letzten vier Ziffern einer Karte oder eines Kontos, das Jahr eines Datums.
  • Generalize schreibt eine Umschreibung für die Art des Namens, Orts oder der Organisation, in der Sprache der Eingabe.
  • Partial und generalize sind nicht umkehrbar.
curl -s https://api.shinrai.innovius.io/v2/protect -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Anna Weber aus Biberach, anna@example.org, Karte 4111 1111 1111 1111", "language": "de",
       "policy": {"default": {"action": "generalize"}, "rules": [{"types": ["EMAIL", "CREDIT_CARD"], "action": "partial"}]}}'

Erkennung steuern

  • Legen Sie eine Mindestkonfidenz für alle Typen, pro Typ oder pro Sprache fest.
  • Schließen Sie Typen über ihre kanonischen Namen oder über die Namen von Google, AWS, Azure oder Presidio ein oder aus.
  • Schließen Sie Werte aus, die nie gemeldet werden dürfen, etwa Ihren Firmennamen, oder fügen Sie eigene Werte hinzu.
  • Fordern Sie Annotationen an: Jahre, Beträge, Rechtsverweise und Bias-Begriffe. Protect ändert sie nie.
  • Fordern Sie das Verknüpfungsrisiko an: eine Schätzung, wie wahrscheinlich eine Eingabe eine Person herausgreift. Es ist eine Heuristik, keine Zählung.

Wiederherstellen und eine Zuordnung behalten

Fordern Sie die Zuordnung an, wenn Sie eine Antwort später wiederherstellen müssen. Die Zuordnung enthält die Originalwerte. Speichern Sie sie als sensible Anwendungsdaten und halten Sie sie aus Modell-Prompts heraus.

curl -s https://api.shinrai.innovius.io/v2/protect -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Anna Weber lives in Darmstadt.", "policy": {"preset": "pseudonymize"}, "output": {"include": ["entities", "mapping"]}}'
curl -s https://api.shinrai.innovius.io/v2/restore -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mapping": {"known": [{"original": "Anna Weber", "replacement": "Julia Brandt"}]}, "inputs": [{"id": "1", "text": "Julia Brandt replied."}]}'
  • Innerhalb einer Anfrage behält ein Wert einen Ersatzwert.
  • Die nächste Anfrage zieht neue Ersatzwerte. Wiederholte Anfragen können Ersatzwerte daher nicht auf Originale zurückführen.
  • Für dieselben Ersatzwerte über mehrere Anfragen verwenden Sie eine Sitzung oder senden die früheren Paare als bekannte Zuordnungen.
  • Kontoweite Konsistenz ist als Option verfügbar. Sie ist schwächer: Jeder mit dem Schlüssel kann dann durch Wiederholung eine Tabelle der Originale aufbauen.
  • Andere Kunden erhalten immer andere Ersatzwerte.

Eine Sitzung hält eine Zuordnung höchstens 24 Stunden auf dem Server. Die Zuordnung wird verschlüsselt gespeichert, und nur Ihr Schlüssel kann sie lesen.

SESSION=$(curl -s -X POST https://api.shinrai.innovius.io/v2/sessions -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: application/json" -d '{"ttl_s": 3600}' | python3 -c 'import sys, json; print(json.load(sys.stdin)["id"])')
curl -s https://api.shinrai.innovius.io/v2/protect -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: application/json" -d '{"text": "Anna Weber called.", "mapping": {"session": "'$SESSION'"}}'
curl -s https://api.shinrai.innovius.io/v2/sessions/$SESSION/mapping -H "Authorization: Bearer $SHINRAI_API_KEY"

Screenshots und Scans schützen

  • Die OCR liest jede Sprache, die das Modell bedient. Senden Sie bei arabischen, hebräischen, japanischen und koreanischen Bildern die Sprache mit.
  • Jede Entität kommt mit Pixelboxen zurück, eine pro Textzeile oder eine pro Wort.
  • Protect liefert das Bild mit gefüllten Bereichen zurück.
  • Die Echtzeitstufe nimmt ein Bild pro Anfrage an, bis 4,2 Megapixel und 3 MiB.
curl -s "https://api.shinrai.innovius.io/v2/detect?language=de" -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: image/png" --data-binary @screenshot.png
curl -s https://api.shinrai.innovius.io/v2/protect -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: image/png" -H "Accept: image/png" --data-binary @screenshot.png -o redacted.png

Große Stapel und Dokumente als Jobs ausführen

Verwenden Sie einen Job, wenn die Arbeit für eine Anfrage zu groß ist: viele Texte oder eine PDF- oder Word-Datei. Ein Job läuft im Hintergrund mit dem Batch-Gewicht und hält seine Ergebnisse 24 Stunden bereit. Jobs sind in der Beta.

  1. Laden Sie eine JSONL-Datei mit einer Eingabe pro Zeile oder eine PDF- oder DOCX-Datei hoch.
  2. Starten Sie den Job mit der Upload-ID.
  3. Fragen Sie den Job-Status ab und laden Sie die Artefakte herunter.
{"custom_id": "row-1", "text": "Anna Schmidt, anna@example.com"}
{"custom_id": "row-2", "text": "Call +49 30 1234567", "language": "de"}
{"custom_id": "row-3", "input": {"kind": "table", "columns": [{"name": "email"}], "rows": [["max@example.org"]]}}
curl -s https://api.shinrai.innovius.io/v2/uploads \
  -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: application/x-ndjson" \
  --data-binary @rows.jsonl
curl -s https://api.shinrai.innovius.io/v2/jobs \
  -H "Authorization: Bearer $SHINRAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: rows-2026-09-28" \
  -d '{"kind": "text_batch",
       "inputs": [{"kind": "file", "source": {"upload": "up_..."}}],
       "output": {"artifacts": ["protected", "entities"]}}'
curl -s https://api.shinrai.innovius.io/v2/jobs/$JOB -H "Authorization: Bearer $SHINRAI_API_KEY"

Ein Dokumentjob schützt den Text des Dokuments. Das geschwärzte PDF und seine Wortboxen folgen in einem späteren Release.

Stufen, Wiederholungen und Nutzung

API-StufeGewichtGeeignet für
Standard×1Standardwert
Batch×0.5Halber Preis, niedrigste Priorität
Echtzeit×1.6Kleine Eingaben und geringe Latenz, ab Tarif Team
  • Senden Sie einen Idempotency-Key-Header, um sicher zu wiederholen. Eine Wiederholung mit demselben Schlüssel und Body wird einmal berechnet.
  • Wiederherstellung, Sitzungen, Fähigkeiten, Typen und Nutzung sind kostenlos.
  • Fehlgeschlagene Aufrufe werden nicht berechnet.
curl -s https://api.shinrai.innovius.io/v2/usage -H "Authorization: Bearer $SHINRAI_API_KEY"

Als Nächstes geplant

Audioeingabe und Streaming sind für die native API v2 geplant. Beides ist noch nicht verfügbar.

Referenz