Spring til indhold
Oversigt Oversigt Nyheder Nyheder
Del

Publishable Keys

Browser-sikre API-opkald. Uden eget backend.

En Publishable Key (po_pk_) må stå i frontend: scope-begrænset, origin-bundet og budget-kaplet.

Til Claude-artefakter, ChatGPT Canvas, Grok og enhver egen web-app.

Egen præfix po_pk_ Standardbundet til Origin Kan til enhver tid tilbagekaldes

Direkte fra browseren

Fra AI-Canvas direkte til API-opkald

Du bygger en PDF-til-tekst-app i Claude Artifacts, ChatGPT Canvas eller Grok. Uden backend har API-opkaldet hidtil manglet: CORS blokerer, et hemmeligt nøgle ville stå synligt i kildekoden, og en åben nøgle belaster din konto. Netop denne kløft fylder Publishable Keys.

Fungerer i Claude ArtifactsChatGPT CanvasGrokHver browser-app

Indsæt i Claude, ChatGPT eller Grok

Et prompt, der omdanner enhver AI-Canvas til en ægte demo understøttet af API — uden backend.

AI-canvas Prompt
Læs denne API doc:
https://api.paperoffice.ai/latest/docs/llms-full.txt Byg en single-file React app (Claude Artifact / ChatGPT Canvas / Grok):
Bruger uploader en PDF, appen kalder
/job/add/paperoffice_aiocr___generate direkte fra browseren
og viser den udtrukne tekst. Auth: Bearer po_pk_MY_PUBLISHABLE_KEY (bed brugeren om nøglen).
Brug processing_lane=instant for synkrone resultater. Origin header sættes af browseren.

Vælg et preset, opret en key, indsæt den.

Dashboardet leverer presets til scopes og budget. Origins forbliver tomme — indtast Origin-headeren fra browserens udviklerværktøjer, kopér derefter nøglen til din prompt.

Oprettelse af key
JavaScript
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());

Første opkald

fetch fra browseren, Origin sættes af browseren

Anropet går til POST /latest/job/add/{pipeline} — samme endpoint som med en Secret Key. Det nye er kun key-typen og Origin-headeren, som browseren automatisk sender med.

  • Origin kommer fra browseren

    fetch sætter Origin-headeren selv. Scripts uden for browseren (cURL, Node) skal sende den eksplicit — ellers svarer API med 403 ORIGIN_HEADER_REQUIRED.

  • Resultat inline

    Med processing_lane=instant og client_wait=true holder API forbindelsen åben og leverer resultatet direkte i svaret.

  • Klare fejlkode

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — hver grænse giver besked med sin egen kode.

Sikkerhedsmatrix

Seks kontroller, alle tvunget server-side

Scope-begrænset, origin-bundet, budget-kaplet, når som helst tilbagekaldelig. Hver kontrol håndhæves server-side — derfor må nøglen stå i frontend-koden.

  • Scope-begrænset

    Nøgler når kun de endpoint-grupper, du eksplicit giver adgang til: ocr:read, llm:generate, translate:text og flere. Anrop uden for scope returnerer HTTP 403.

  • Origin-bundet

    Hver anmodning skal indeholde en Origin-header, der matcher nøgleens tilladelsesliste (nøjagtig vært eller subdomain-wildcard). Hvis den ikke matcher, returnerer API HTTP 403.

  • Ingen ekstra minutgrænse

    Der er ingen separat minutbegrænsning kun for po_pk_. De normale token-rate-begrænsninger for kontoen gælder; forbruget kaples af lifetime-budgettet.

  • Budget-begrænset

    Hver nøgle har et livstidsbudget. Når det er opbrugt, returnerer API HTTP 402 BUDGET_EXHAUSTED — forbruget stopper her, ikke først ved faktureringen.

  • Tilbagekaldelse til enhver tid

    Nøgler kan tilbagetrækkes i kontoen til enhver tid. En tilbagetrukket nøgle accepteres ikke længere af API.

  • Permanent låst

    HTTP DELETE samt kontologin, nøglehåndtering, OAuth, partner-administrering, betalingsmutation og adgangskodeknækning forbliver permanent blokeret for enhver po_pk_. Dokumenterede produkt-API'er — inklusive POST-sletning, webhooks, billing-læsning og CRM — er tilladt.

Nøgle-hierarki

Tre nøgletyper, klare ansvarsområder

Secret Key til serveren, Publishable Key til browseren — plus et user token til brugerrelateret adgang med ratebegrænsning.

Præfiks Type Anvendelsestilfælde Browser-sikker Standard-område
po_sk_ Hemmelig nøgle Server-til-server, fuld API-adgang Nej Alle endpoints
po_ut_ User Token Brugerdefineret, Tier-begrænset Nej Tier-baseret
po_pk_ Publishable Key Browser / AI-canvas (Claude, ChatGPT, Grok) Yes Scope-liste

Godkendelse og nøgler

Tre forudindstillinger

Et klik. En nøgle. Et formål.

Hvert preset er indstillet til en konkret use-case — sikre standardindstillinger, kuraterede scopes, realistiske budgetter. Alt kan tilpasses når som helst i dashboardet.

  • DEFAULT Sikker læsning

    Sikre standardrettigheder til simple demos og interne værktøjer: OCR, LLM, Translate, Documents, Search.

    Berechtigelsesområder (scopes)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Brug af dette preset
  • WIDGET Offentlig hjemmeside

    Til kontaktformularer, chat-widgets og booking-knapper på din egen virksomhedshjemmeside.

    Berechtigelsesområder (scopes)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Brug af dette preset

Første API-opkald

Klar til det første opkald fra browseren?

Opret nøgle, åbn llms-full.txt, indsæt prompt — din app kalder API direkte fra Claude, ChatGPT eller Grok.

Egen præfiks Uden backend Tilbagekaldelig når som helst
Video

Publishable keys i aktion

Se, hvordan PaperOffice publishable keys fungerer i praksis — i videoen.

Publishable keys i aktion

Ofte stillede spørgsmål

Alt vigtigt på et overblik

Hvad er forskellen på po_pk_ og po_sk_?

po_sk_ (Secret Key) er beregnet til server-til-server-integration — fuld adgang til API, må aldrig inkluderes i browseren. po_pk_ (Publishable Key) er bygget til browser-kode: scope-begrænset, origin-bundet, budget-begrænset. Samme API, andet sikkerhedsprofil.

Hvorfor ikke blot bruge en reverse-proxy fra eget backend?

Det er den klassiske vej — men den kræver stadig et backend. AI-artefakter (Claude, ChatGPT, Grok) er designet til drift uden eget backend. Publishable Keys gør dette muligt, uden at du afslører din Secret Key: Grænserne håndhæves server-side.

Fungerer det i Claude artefakter, på trods af deres CORS-sandbox?

Ja. Kaldet sker direkte fra browseren, browseren sætter selv Origin-headeren. PaperOffice leverer ingen vendor-allow-liste; du indtaster Origin ved oprettelse af nøglen fra udviklerværktøjerne.

Hvad sker der, hvis min po_pk_ bliver offentligt synlig?

Skaden begrænses: Origin-låsen blokerer brug på fremmede domæner, budgetgrænsen stopper forbruget, rate-limited bremser automatiserede adgangsforsøg. Tilbagekald nøglen i kontoen — derefter accepterer API den ikke længere.

Kan jeg tilføje min egen domæne som tilladt origin?

Ja. Ved oprettelse af nøglen tilføjer du enhver origin til allow-listen — som eksakt vært eller som subdomain-wildcard. WIDGET-presetet er bygget netop hertil: Registrer din egen domæne og indlejre chat-, booking- eller kontakt-widgets uden backend.

Hvordan sætter jeg budgettet pr. nøgle?

Ved oprettelse vælger du en Lifetime-grænse; forindstillingerne medbringer hver især et standardværdi. Når grænsen er nået, returnerer API HTTP 402 BUDGET_EXHAUSTED. Du kan tilpasse værdien på kontoen til enhver tid.

Har en po_pk_ brug for sin egen tarif?

Nej. Publishable Key er et ekstra beskyttelseslag omkring din eksisterende konto: Det begrænser scopes, origins og budget. Hvilken plan der passer til dit setup, vises i prisoversigten.

Hvilke endpoints er låst for po_pk_?

HTTP DELETE samt kontologin, bruger-administrering, nøglehåndtering, OAuth, partner-administrering, Stripe-checkout og adgangskodeknækning er permanent blokeret. Dokumenterede produkt-API'er er tilladt, herunder POST-sletning, webhooks, billing-læsning, import og CRM. Workspace sletning, tømming af papirkurv og Legal-Hold-frigivelse forbliver kun i UI (403 UI_ONLY_ENDPOINT).

Hvor vil I prøve PaperOffice?

Computer og smartphone er forbundet: Workspace på computeren, indfangning på telefonen.

Din prøveversion er klar

Hvor vil du starte?

Den fulde workspace er optimeret til computeren. Den mobile version er velegnet til at indfange, kontrollere og godkende dokumenter.

app.paperoffice.ai

Start på computeren

Vi sender dit personlige adgangslinke til din e-mailadresse.

Åbn PaperOffice Mobile

Indfange og rediger dokumenter direkte med smartphonen.

Åbn mobilversion
Registrere gratis Åbn app PaperOffice-app Det fulde produkt: web, desktop og mobil. Registrér, organisér, søg og arbejd med dokumenter sammen med teamet. Gratis konto påkrævet Åbn Playground Playground Prøv udvalgte funktioner med det samme — uden registrering, med en begrænset demo-API-nøgle. En begrænset demo-API-nøgle