Publishable Keys
Browser-sichere API-Calls. Ohne eigenes Backend.
Ein Publishable Key (po_pk_) darf im Frontend stehen: scope-begrenzt, origin-gebunden und budget-gedeckelt.
Für Claude Artifacts, ChatGPT Canvas, Grok und jede eigene Web-App.
- Eigene EU-Infrastruktur Ihre Daten bleiben in Europa.
- ISO 27001 aktiv Sicherheit zertifiziert.
- SOC 2 Type II aktiv Internationale Audit-Standards.
- 24+ Jahre Erfahrung Bewährt. Stabil. Zukunftssicher.
Direkt aus dem Browser
Von der AI-Canvas direkt zum API-Aufruf
Sie bauen in Claude Artifacts, ChatGPT Canvas oder Grok eine PDF-zu-Text-App. Ohne Backend blieb der API-Aufruf bisher aus: CORS blockiert, ein Secret Key stünde sichtbar im Quelltext, und ein offener Key belastet Ihr Konto. Genau diese Lücke schließen Publishable Keys.
In Claude, ChatGPT oder Grok einfügen
Ein Prompt, der jede AI-Canvas in eine echte, API-gestützte Demo verwandelt — ohne Backend.
Read this API doc:
https://api.paperoffice.ai/latest/docs/llms-full.txt Build a single-file React app (Claude Artifact / ChatGPT Canvas / Grok):
User uploads a PDF, the app calls
/job/add/paperoffice_aiocr___generate directly from the browser
and shows the extracted text. Auth: Bearer po_pk_MY_PUBLISHABLE_KEY (prompt user for the key).
Use processing_lane=instant for sync results. Origin header is set by the browser. Ein Preset wählen, einen Key erstellen, einfügen.
Das Dashboard liefert Presets für Scopes und Budget. Origins bleiben leer — tragen Sie den Origin-Header aus den Browser-DevTools ein, dann kopieren Sie den Key in Ihren Prompt.
const form = new FormData();form.append("file_1", fileInput.files[0]);form.append("processing_lane", "instant");form.append("client_wait", "true");const response = await fetch("https://api.paperoffice.ai/latest/job/add/paperoffice_aiocr___generate", { method: "POST", headers: { Authorization: "Bearer po_pk_YOUR_PUBLISHABLE_KEY" }, body: form,});console.log(await response.json()); curl -X POST "https://api.paperoffice.ai/latest/job/add/paperoffice_aiocr___generate" \ -H "Authorization: Bearer po_pk_YOUR_PUBLISHABLE_KEY" \ -H "Origin: https://app.example.com" \ -F "[email protected]" \ -F "processing_lane=instant" \ -F "client_wait=true" Erster Aufruf
fetch aus dem Browser, Origin setzt der Browser
Der Aufruf geht an POST /latest/job/add/{pipeline} — derselbe Endpunkt wie mit einem Secret Key. Neu sind nur der Key-Typ und der Origin-Header, den der Browser automatisch mitschickt.
- Origin kommt vom Browser
fetch setzt den Origin-Header selbst. Skripte außerhalb des Browsers (cURL, Node) müssen ihn ausdrücklich senden — sonst antwortet die API mit 403 ORIGIN_HEADER_REQUIRED.
- Ergebnis inline
Mit processing_lane=instant und client_wait=true hält die API die Verbindung und liefert das Ergebnis direkt in der Antwort.
- Klare Fehlercodes
402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — jede Grenze meldet sich mit einem eigenen Code.
Security-Matrix
Sechs Kontrollen, alle serverseitig erzwungen
Scope-begrenzt, origin-gebunden, budget-gedeckelt, jederzeit widerrufbar. Jede Kontrolle wird serverseitig durchgesetzt — deshalb darf der Key im Frontend-Code stehen.
-
Scope-begrenzt
Keys erreichen nur die Endpoint-Gruppen, die Sie explizit freigeben:
ocr:read,llm:generate,translate:textund weitere. Aufrufe außerhalb des Scopes liefern HTTP 403. -
Origin-gebunden
Jede Anfrage muss einen Origin-Header mitbringen, der zur Allow-List des Keys passt (exakter Host oder Subdomain-Wildcard). Passt er nicht, liefert die API HTTP 403.
-
Kein Extra-Minuten-Limit
Es gibt kein eigenes Minuten-Limit nur für po_pk_. Es gelten die normalen Token-Rate-Limits des Kontos; den Verbrauch deckelt das Lifetime-Budget.
-
Budget-gedeckelt
Jeder Key trägt ein Lifetime-Budget. Ist es aufgebraucht, liefert die API HTTP 402 BUDGET_EXHAUSTED — der Verbrauch endet dort, nicht erst bei der Abrechnung.
-
Widerruf jederzeit
Keys lassen sich im Konto jederzeit widerrufen. Ein widerrufener Key wird von der API nicht mehr akzeptiert.
-
Fest gesperrt
HTTP DELETE sowie Konto-Login, Key-Verwaltung, OAuth, Partner-Admin, Zahlungsmutation und Passwort-Crack bleiben für jeden po_pk_ fest gesperrt. Dokumentierte Produkt-APIs — inklusive POST-Löschen, Webhooks, Billing-Lesen und CRM — sind erlaubt.
Key-Hierarchie
Drei Key-Typen, klare Verantwortlichkeiten
Secret Key für den Server, Publishable Key für den Browser — plus ein User Token für nutzerbezogenen, ratenlimitierten Zugriff.
| Präfix | Typ | Use-Case | Browser-sicher | Default-Scope |
|---|---|---|---|---|
po_sk_ | Secret Key | Server-to-Server, voller API-Zugriff | Nein | Alle Endpoints |
po_ut_ | User Token | User-scoped, Tier-limitiert | Nein | Tier-basiert |
po_pk_ | Publishable Key | Browser / AI-Canvas (Claude, ChatGPT, Grok) | Ja | Scope-Liste |
Drei Presets
Ein Klick. Ein Key. Ein Zweck.
Jedes Preset ist für einen konkreten Use-Case eingestellt — sichere Defaults, kuratierte Scopes, realistische Budgets. Alles jederzeit im Dashboard anpassbar.
-
DEFAULTSicheres LesenSichere Standardrechte für einfache Demos und interne Tools: OCR, LLM, Translate, Documents, Search.
Berechtigungsbereiche (Scopes)
Mit diesem Preset starten -
AIDEMOKI-Spielwiese EmpfohlenFür Claude Artifacts, ChatGPT Canvas und Grok-Demos. Alles, was Sie benötigen, um AI-Demos live zu schalten.
Berechtigungsbereiche (Scopes)
Mit diesem Preset starten -
WIDGETÖffentliche WebsiteFür Kontaktformulare, Chat-Widgets und Booking-Buttons auf der eigenen Firmenwebsite.
Berechtigungsbereiche (Scopes)
Mit diesem Preset starten
Erster API-Call
Bereit für den ersten Aufruf aus dem Browser?
Key erstellen, llms-full.txt öffnen, Prompt einfügen — Ihre App ruft die API direkt aus Claude, ChatGPT oder Grok auf.
Publishable Keys in Aktion
Sehen Sie, wie PaperOffice Publishable Keys in der Praxis funktioniert — im Video.
Häufige Fragen
Alles Wichtige im Überblick
Wie unterscheidet sich po_pk_ von po_sk_?
po_sk_ (Secret Key) ist für Server-zu-Server-Integration gedacht — voller Zugriff auf die API, niemals im Browser einbinden. po_pk_ (Publishable Key) ist für Browser-Code gebaut: scope-begrenzt, origin-gebunden, budget-gedeckelt. Gleiche API, anderes Sicherheitsprofil.
Warum nicht einfach einen Reverse-Proxy aus dem eigenen Backend nutzen?
Das ist der klassische Weg — er setzt aber weiterhin ein Backend voraus. AI-Artifacts (Claude, ChatGPT, Grok) sind auf den Betrieb ohne eigenes Backend ausgelegt. Publishable Keys machen das möglich, ohne Ihren Secret Key preiszugeben: Die Grenzen werden serverseitig durchgesetzt.
Funktioniert das in Claude Artifacts, trotz deren CORS-Sandbox?
Ja. Der Aufruf läuft direkt aus dem Browser, den Origin-Header setzt der Browser selbst. PaperOffice liefert keine Vendor-Allow-List mit; die Origin tragen Sie beim Anlegen des Keys aus den DevTools ein.
Was passiert, wenn mein po_pk_ öffentlich einsehbar wird?
Der Schaden bleibt eingegrenzt: Der Origin-Lock blockiert die Nutzung auf fremden Domains, das Budget-Limit beendet den Verbrauch, das Rate-Limit bremst automatisierte Zugriffe. Widerrufen Sie den Key im Konto — danach akzeptiert die API ihn nicht mehr.
Kann ich meine eigene Domain als erlaubtes Origin hinzufügen?
Ja. Beim Erstellen des Keys fügen Sie jede Origin zur Allow-List hinzu — als exakten Host oder als Subdomain-Wildcard. Das WIDGET-Preset ist genau dafür gebaut: Registrieren Sie Ihre eigene Domain und betten Sie Chat-, Booking- oder Kontakt-Widgets ohne Backend ein.
Wie setze ich das Budget pro Key?
Beim Erstellen wählen Sie ein Lifetime-Limit; die Presets bringen jeweils eine Vorgabe mit. Ist das Limit erreicht, liefert die API HTTP 402 BUDGET_EXHAUSTED. Sie können den Wert im Konto jederzeit anpassen.
Braucht ein po_pk_ einen eigenen Tarif?
Nein. Der Publishable Key ist eine zusätzliche Schutzschicht um Ihr bestehendes Konto: Er begrenzt Scopes, Origins und Budget. Welcher Plan zu Ihrem Setup passt, zeigt die Preisübersicht.
Welche Endpoints sind für po_pk_ gesperrt?
HTTP DELETE sowie Konto-Login, Nutzer-Admin, Key-Verwaltung, OAuth, Partner-Admin, Stripe-Checkout und Passwort-Crack sind fest gesperrt. Dokumentierte Produkt-APIs sind erlaubt, darunter POST-Löschen, Webhooks, Billing-Lesen, Import und CRM. Workspace löschen, Papierkorb leeren und Legal-Hold-Freigabe bleiben UI-only (403 UI_ONLY_ENDPOINT).
Betrieb und Vertrauen
Was Enterprise-Teams vor dem ersten Call prüfen
Verträge, Sicherheit, Support und Limits, alles an einem Ort verlinkt.
- Sicherheit und Compliance ISO 27001, SOC 2 Type II, eigene EU-Infrastruktur.
- SLA 99,9 % Verfügbarkeit je Kalendermonat, vertraglich zugesichert.
- Auftragsverarbeitung (DPA) DSGVO-konformer Vertrag zur Auftragsverarbeitung.
- Sub-Processor-Liste Alle Unterauftragsverarbeiter, transparent gelistet.
- Technischer Support Direkter Weg zum Support-Team, mit Ticket.
- Rate-Limits und Header Dokumentierte Mindestwerte je Token, RateLimit-Header in jeder Antwort.
- Preise und Credits Transparente Credit-Preise je Aufruf.
Nächste Station
So geht es weiter
Der empfohlene nächste Schritt im Developer-Funnel und zwei passende Abzweige.