Hoppa till innehåll
Översikt Översikt Nyheter Nyheter
Dela

Publishable Keys

Webbläsarsäkra API-anrop. Utan eget backend.

En Publishable Key (po_pk_) får stå i frontend: scope-begränsad, origin-bunden och budget-kapad.

För Claude-artefakter, ChatGPT Canvas, Grok och varje egen webbapp.

Eget prefix po_pk_ Standardbundet till Origin Villkorlös vid alla tillfällen

Direkt från webbläsaren

Från AI-canvas direkt till API-anropet

Du bygger i Claude Artifacts, ChatGPT Canvas eller Grok en PDF-till-text-app. Utan backend har API-anropet hittills uteblivit: CORS blockerar, en hemlig nyckel skulle synas i källkoden, och en öppen nyckel belastar ditt konto. Just denna lucka fylls med Publishable Keys.

Fungerar i Claude ArtifactsChatGPT CanvasGrokAlla webbläsarappar

Klistra in i Claude, ChatGPT eller Grok

En prompt som förvandlar varje AI-canvas till en riktig demo med stöd av API — utan backend.

AI-canvas Prompt
Läs denna API-dokument:
https://api.paperoffice.ai/latest/docs/llms-full.txt Bygg en single-file React-app (Claude Artifact / ChatGPT Canvas / Grok):
Användaren laddar upp en PDF, appen anropar
/job/add/paperoffice_aiocr___generate direkt från webbläsaren
och visar den extraherade texten. Autentisering: Bearer po_pk_MY_PUBLISHABLE_KEY (be användaren om nyckeln).
Använd processing_lane=instant för synkrona resultat. Origin-huvudet sätts av webbläsaren.

Välj ett preset, skapa en nyckel, klistra in.

Dashboarden tillhandahåller presets för scopes och budget. Origins lämnas tomma — ange Origin-huvudet från webbläsarens utvecklarverktyg, kopiera sedan nyckeln till din prompt.

Skapa nyckel
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örsta anropet

fetch från webbläsaren, Origin sätts av webbläsaren

Anropet skickas till POST /latest/job/add/{pipeline} — samma slutpunkt som med en hemlig nyckel. Det nya är endast nyckeltypen och Origin-huvudet som webbläsaren automatiskt skickar.

  • Origin kommer från webbläsaren

    fetch sätter Origin-huvudet automatiskt. Skript utanför webbläsaren (cURL, Node) måste skicka det explicit — annars returnerar API 403 ORIGIN_HEADER_REQUIRED.

  • Resultat inline

    Med processing_lane=instant och client_wait=true håller API anslutningen öppen och levererar resultatet direkt i svaret.

  • Tydliga felkoder

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — varje gräns rapporterar med en egen kod.

Säkerhetsmatris

Sex kontroller, alla server-side tvingade

Scope-begränsad, origin-bunden, budget-kapad, när som helst återkallelig. Varje kontroll genomförs server-side — därför får nyckeln stå i frontend-koden.

  • Scope-begränsad

    Nycklar når endast de endpoint-grupper du explicit godkänner: ocr:read, llm:generate, translate:text och fler. Anrop utanför scope ger HTTP 403.

  • Origin-bunden

    Varje begäran måste innehålla en Origin-header som matchar nyckelns tillåtna lista (exakt värd eller subdomän-wildcard). Matchar den inte returnerar API HTTP 403.

  • Ingen extra minutgräns

    Det finns ingen egen minutbegränsning endast för po_pk_. Kontots normala token-rate-begränsningar gäller; förbrukningen kapas av lifetime-budgeten.

  • Budgetbegränsning

    Varje nyckel har en livstidsbudget. När den är slut returnerar API HTTP 402 BUDGET_EXHAUSTED — förbrukningen upphör där, inte först vid fakturering.

  • Återkallelse när som helst

    Nycklar kan återkallas när som helst i kontot. En återkallad nyckel accepteras inte längre av API.

  • Permanent blockerad

    HTTP DELETE samt kontoinloggning, nyckelhantering, OAuth, partner-administrering, betalningsmutationer och lösenordsknäckning förblir permanent blockerade för varje po_pk_. Dokumenterade produkt-APIs — inklusive POST-radering, webhooks, billing-läsning och CRM — är tillåtna.

Nyckelhierarki

Tre nyckeltyper, tydliga ansvarsområden

Secret Key för servern, Publishable Key för webbläsaren — plus en användartoken för användarrelaterad åtkomst med ratebegränsning.

Prefix Type Användningsfall Webbläsarsäker Standardomfång
po_sk_ Hemlig nyckel Server-till-server, fullt API-åtkomst Nej Alla slutpunkter
po_ut_ User Token Användarspecifik, Tier-begränsad Nej Tier-baserad
po_pk_ Publishable Key Webbläsare / AI-Canvas (Claude, ChatGPT, Grok) Yes Scope-lista

Autentisering och nycklar

Tre förinställningar

Ett klick. En nyckel. Ett syfte.

Varje förinställning är anpassad för ett specifikt användningsfall — säkra standardvärden, kuraterade omfattningar, realistiska budgetar. Allt kan justeras när som helst i dashboarden.

  • DEFAULT Säker läsning

    Säkra standardbehörigheter för enkla demonstrationer och interna verktyg: OCR, LLM, Översättning, Dokument, Sök.

    Behörighetsområden (scopes)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Starta med denna förinställning
  • WIDGET Offentlig webbplats

    För kontaktformulär, chat-widgetar och bokningsknappar på företagets egen webbplats.

    Behörighetsområden (scopes)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Starta med denna förinställning

Första API-anropet

Redo för det första anropet från webbläsaren?

Skapa nyckel, öppna llms-full.txt, klistra in prompt — din app anropar API direkt från Claude, ChatGPT eller Grok.

Egen prefix Utan backend Återkallelig när som helst
Video

Publishbara nycklar i Aktion

Se hur PaperOffice Publishable Keys fungerar i praktiken — i videon.

Publishbara nycklar i Aktion

Vanliga frågor

Allt viktigt på en översikt

Hur skiljer sig po_pk_ från po_sk_?

po_sk_ (Secret Key) är avsedd för server-till-server-integration — fullständig åtkomst till API, bör aldrig integreras i webbläsaren. po_pk_ (Publishable Key) är byggd för webbläsarkod: scope-begränsad, origin-bunden, budgetkapad. Samma API, annat säkerhetsprofil.

Varför inte helt enkelt använda en reverse-proxy från det egna backendet?

Det är den klassiska vägen — men den förutsätter fortfarande ett backend. AI-artefakter (Claude, ChatGPT, Grok) är utformade för drift utan eget backend. Publishable Keys gör detta möjligt utan att avslöja din Secret Key: gränserna tillämpas server-side.

Fungerar det i Claude-artefakter, trots deras CORS-sandlåda?

Ja. Anropet sker direkt från webbläsaren, webbläsaren sätter Origin-huvudet själv. PaperOffice tillhandahåller ingen vendor-allow-list; du anger Origin vid skapandet av nyckeln från utvecklarverktygen.

Vad händer om min po_pk_ blir offentligt synlig?

Skadan begränsas: Origin-låsen blockerar användning på främmande domäner, budgetgränsen stoppar förbrukningen, rate-limitet bromsar automatiska åtkomster. Återkalla nyckeln i kontot — därefter accepterar API den inte längre.

Kan jag lägga till min egen domän som tillåten origin?

Ja. Vid skapandet av nyckeln lägger du till varje origin på tillåtlistan — som exakt värd eller som subdomän-wildcard. WIDGET-presetet är byggt exakt för detta: registrera din egen domän och integrera chatt-, boknings- eller kontaktwidgets utan backend.

Hur ställer jag in budgeten per nyckel?

Vid skapande väljer du en Lifetime-begränsning; förinställningarna innehåller respektive standardvärde. När begränsningen är uppnådd returnerar API HTTP 402 BUDGET_EXHAUSTED. Du kan justera värdet i kontot när som helst.

Behöver en po_pk_ sin egen tariff?

Nej. Publishable Key är ett extra skyddslager runt ditt befintliga konto: det begränsar scopes, origins och budget. Vilken plan som passar din konfiguration visas i prisöversikten.

Vilka endpoints är blockerade för po_pk_?

HTTP DELETE samt kontoinloggning, användar-administrering, nyckelhantering, OAuth, partner-administrering, Stripe-checkout och lösenordsknäckning är permanent blockerade. Dokumenterade produkt-APIs är tillåtna, inklusive POST-radering, webhooks, billing-läsning, import och CRM. Workspace-radering, tömning av papperskorgen och Legal-Hold-befrielse förblir endast i UI (403 UI_ONLY_ENDPOINT).

Var vill ni testa PaperOffice?

Dator och smartphone är anslutna: Arbetsyta på datorn, registrering på telefonen.

Din provperiod är redo

Var vill du börja?

Den fullständiga arbetsytan är optimerad för datorn. Mobilversionen passar bra för att registrera, granska och godkänna dokument.

app.paperoffice.ai

Börja på datorn

Vi skickar din personliga åtkomstlänk till din e-postadress.

Registrera gratis Öppna appen PaperOffice-appen Hela produkten: webb, dator och mobil. Fånga, organisera, sök och arbeta med dokument tillsammans med teamet. Gratis konto krävs Öppna Playground Playground Prova utvalda funktioner direkt — utan registrering, med en begränsad demo-API-nyckel. En begränsad demo-API-nyckel