Hopp til innhold
Oversikt Oversikt Nyheter Nyheter
Del

Publishable Keys

Nettlesersikre API-kall. Uten eget backend.

En Publishable Key (po_pk_) kan stå i frontend: scope-begrenset, opprinnelsesbundet og budsjettbegrenset.

For Claude-artefakter, ChatGPT Canvas, Grok og enhver egen webapp.

Egen prefiks po_pk_ Standardbundet til Origin Kan trekkes tilbake når som helst

Direkte fra nettleseren

Fra AI-Canvas direkte til API-kall

Du bygger en PDF-til-tekst-app i Claude, ChatGPT Canvas eller Grok. Uten backend har API-kallet hittil uteblitt: CORS blokkerer, et hemmelig nøkkel ville stått synlig i kildekoden, og en åpen nøkkel belaster kontoen din. Nettopp denne gapet fyller Publishable Keys.

Fungerer i Claude ArtifactsChatGPT CanvasGrokHver nettleserapp

Lim inn i Claude, ChatGPT eller Grok

En prompt som forvandler enhver AI-Canvas til en ekte demo støttet av API — uten backend.

AI canvas Prompt
Les denne API-dokumentet:
https://api.paperoffice.ai/latest/docs/llms-full.txt Bygg en enkeltfil React-app (Claude Artifact / ChatGPT Canvas / Grok):
Bruker laster opp en PDF, appen kaller
/job/add/paperoffice_aiocr___generate direkte fra nettleseren
og viser den uttrukne teksten. Autentisering: Bearer po_pk_MY_PUBLISHABLE_KEY (be brukeren om nøkkelen).
Bruk processing_lane=instant for synkrone resultater. Origin-headeren settes av nettleseren.

Velg et preset, lag en nøkkel, lim inn.

Dashbordet leverer presets for scopes og budsjett. Opprinnelser forblir tomme — skriv inn opprinnelseshodet fra nettleserens utviklerverktøy, kopier deretter nøkkelen til prompten din.

Lag nøkkel
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 kall

fetch fra nettleseren, Origin settes av nettleseren

Anropet går til POST /latest/job/add/{pipeline} — samme endepunkt som med en hemmelig nøkkel. Det nye er kun nøkkeltypen og Origin-headeren som nettleseren automatisk sender.

  • Origin kommer fra nettleseren

    fetch setter Origin-headeren automatisk. Skript utenfor nettleseren (cURL, Node) må sende den eksplisitt — ellers returnerer API 403 ORIGIN_HEADER_REQUIRED.

  • Resultat inline

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

  • Klare feilkoder

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — hver grense melder seg med sin egen kode.

Sikkerhetsmatrise

Seks kontroller, alle tvunget gjennom på serveren

Scope-begrenset, opprinnelsesbundet, budsjettbegrenset, når som helst tilbakekallelig. Hver kontroll håndheves på serversiden — derfor kan nøkkelen stå i frontend-koden.

  • Scope-begrenset

    Nøkler når kun de endpoint-gruppene du eksplisitt gir tilgang til: ocr:read, llm:generate, translate:text og flere. Forespørsler utenfor scope returnerer HTTP 403.

  • Opprinnelsesbundet

    Hver forespørsel må inneholde en Origin-header som matcher nøklens tillatelsesliste (eksakt vert eller subdomene-wildcard). Hvis den ikke matcher, returnerer API HTTP 403.

  • Ingen ekstra minuttgrense

    Det finnes ingen egen minuttgrense kun for po_pk_. Kontots normale token-rate-grenser gjelder; forbruket begrenses av livstidsbudsjettet.

  • Budsjettbegrensning

    Hver nøkkel har en livstidsbudsjett. Når det er brukt opp, returnerer API HTTP 402 BUDGET_EXHAUSTED — forbruket stopper der, ikke først ved fakturering.

  • Tilbakekalling når som helst

    Nøkler kan til enhver tid tilbakekalles i kontoen. En tilbakekalt nøkkel aksepteres ikke lenger av API.

  • Fast sperret

    HTTP DELETE samt kontoinnlogging, nøkkeladministrasjon, OAuth, partner-administrasjon, betalingsmutasjoner og passordknusing forblir permanent sperret for alle po_pk_. Dokumenterte produkt-APIs — inkludert POST-sletting, webhooks, faktureringslesing og CRM — er tillatt.

Nøkkelhierarki

Tre nøkkeltyper, klare ansvar

Secret Key for serveren, Publishable Key for nettleseren — pluss et brukertoken for brukerrelatert, ratebegrenset tilgang.

Prefiks Type Brukstilfelle Nettleser-sikker Standard-omfang
po_sk_ Hemmelig nøkkel Server-til-server, full API-tilgang Nei Alle endepunkter
po_ut_ User Token Brukerspesifikk, Tier-begrenset Nei Tier-basert
po_pk_ Publishable Key Nettleser / AI-Canvas (Claude, ChatGPT, Grok) Yes Scope-liste

Autentisering og nøkler

Tre forhåndsinnstillinger

Et klikk. En nøkkel. Ett formål.

Hvert preset er tilpasset en spesifikk brukssak — sikre standardverdier, kuraterte omfang, realistiske budsjetter. Alt kan tilpasses når som helst i dashbordet.

  • DEFAULT Sikker lesing

    Sikre standardrettigheter for enkle demoer og interne verktøy: OCR, LLM, oversettelse, dokumenter, søk.

    Tilgangsrom (scopes)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Start med dette presetet
  • WIDGET Offentlig nettside

    For kontaktskjemaer, chat-widget og bestillingsknapper på din egen bedriftsnettside.

    Tilgangsrom (scopes)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Start med dette presetet

Første API-kall

Klar for det første kall fra nettleseren?

Opprett nøkkel, åpne llms-full.txt, lim inn prompt — appen din kaller API direkte fra Claude, ChatGPT eller Grok.

Egen prefiks Uten backend Tilbakekallelig når som helst
Video

Publishable Keys i aksjon

Se hvordan PaperOffice Publishable Keys fungerer i praksis — i videoen.

Publishable Keys i aksjon

Ofte stilte spørsmål

Alt viktig på ett sted

Hva er forskjellen mellom po_pk_ og po_sk_?

po_sk_ (Secret Key) er ment for server-til-server-integrasjon — full tilgang til API, aldri inkludert i nettleserkode. po_pk_ (Publishable Key) er bygget for nettleserkode: scope-begrenset, opprinnelsesbundet, budsjettbegrenset. Samme API, annet sikkerhetsprofil.

Hvorfor ikke bare bruke en reverse-proxy fra eget backend?

Dette er den klassiske veien — men den forutsetter fortsatt et backend. AI-artefakter (Claude, ChatGPT, Grok) er designet for drift uten eget backend. Publishable Keys gjør dette mulig uten å utsette din Secret Key: Grensene håndteres på serveren.

Fungerer det i Claude-artefakter, til tross for deres CORS-sandbox?

Ja. Oppkallet skjer direkte fra nettleseren, og nettleseren setter selv opprinnelseshodet. PaperOffice leverer ingen vendor-tillatelsesliste; du skriver inn opprinnelsen når du oppretter nøkkelen fra utviklerverktøyene.

Hva skjer hvis min po_pk_ blir offentlig synlig?

Skaden holdes begrenset: Origin-låsen blokkerer bruk på fremmede domener, budsjettgrensen stopper forbruket, og rate-grensen demper automatiserte tilgangsforsøk. Tilbakekall nøkkelen i kontoen — deretter aksepterer API den ikke lenger.

Kan jeg legge til min egen domene som en tillatt opprinnelse?

Ja. Ved oppretting av nøkkelen legger du til hver opprinnelse i tillatelseslisten — som vert eller som subdomene-wildcard. WIDGET-presetet er bygget nettopp for dette: Registrer din egen domene og integrer chat-, booking- eller kontaktwidgets uten backend.

Hvordan setter jeg budsjett per nøkkel?

Når du oppretter, velger du et livstidsbegrensning; forhåndsinnstillingene har hver sin standardverdi. Når begrensningen er nådd, returnerer API HTTP 402 BUDGET_EXHAUSTED. Du kan tilpasse verdien i kontoen når som helst.

Trenger en po_pk_ sin egen prisplan?

Nei. Publishable Key er et ekstra beskyttelseslag rundt din eksisterende konto: Den begrenser scopes, opprinnelser og budsjett. Hvilken plan som passer til ditt oppsett, vises i prisoversikten.

Hvilke endepunkter er låst for po_pk_?

HTTP DELETE samt kontoinnlogging, brukeradministrasjon, nøkkeladministrasjon, OAuth, partner-administrasjon, Stripe-kasse og passordknusing er permanent sperret. Dokumenterte produkt-APIs er tillatt, inkludert POST-sletting, webhooks, faktureringslesing, import og CRM. Workspace-sletting, tømming av papirkurv og Legal-Hold-frigivelse forblir kun i UI (403 UI_ONLY_ENDPOINT).

Hvor vil dere prøve PaperOffice?

Datamaskin og smarttelefon er koblet: Arbeidsområde på PC, registrering på telefon.

Din prøveversjon er klar

Hvor vil du starte?

Den fulle arbeidsområdet er optimalisert for datamaskin. Mobilversjonen egner seg til å registrere, kontrollere og godkjenne dokumenter.

app.paperoffice.ai

Start på datamaskinen

Vi sender din personlige tilgangskode til e-postadressen din.

Åpne PaperOffice Mobile

Registrer og behandle dokumenter direkte med smarttelefonen.

Åpne mobilversjon
Registrere gratis Åpne appen PaperOffice-appen Hele produktet: nett, skrivebord og mobil. Registrer, organiser, søk og arbeid med dokumenter sammen med teamet. Gratis konto kreves Åpne Playground Playground Prøv utvalgte funksjoner med en gang — uten registrering, med en begrenset demo-API-nøkkel. En begrenset demo-API-nøkkel