Vada al contenuto principale
Panoramica Panoramica Notizie Notizie
Condividi

Publishable Keys

Chiamate API sicure nel browser. Senza un backend proprietario.

Un Publishable Key (po_pk_) può trovarsi nel frontend: limitato per ambito, vincolato all'origine e coperto da budget.

Per artefatti Claude, Canvas ChatGPT, Grok e ogni sua applicazione web.

Prefisso proprio po_pk_ Standardmäßig an Origin gebunden Rinunciabile in qualsiasi momento

Direttamente dal browser

Dalla AI-Canvas direttamente alla chiamata API

Sta costruendo un'app PDF-to-text in Claude Artifacts, ChatGPT Canvas o Grok. Senza un backend, la chiamata a API è finora mancata: CORS blocca, una chiave segreta sarebbe visibile nel codice sorgente e una chiave aperta graverebbe sul suo account. È proprio questa lacuna che chiudono le Publishable Keys.

Funziona in Claude ArtifactsChatGPT CanvasGrokQualsiasi app browser

Inserire in Claude, ChatGPT o Grok

Un prompt che trasforma ogni AI-Canvas in una demo reale, supportata da API — senza backend.

AI canvas Prompt
Leggi questo documento API:
https://api.paperoffice.ai/latest/docs/llms-full.txt Crea un'app React a file singolo (Artifact Claude / Canvas ChatGPT / Grok):
L'utente carica un PDF, l'app chiama
/job/add/paperoffice_aiocr___generate direttamente dal browser
e mostra il testo estratto. Autenticazione: Bearer po_pk_MY_PUBLISHABLE_KEY (chiedi all'utente la chiave).
Usa processing_lane=instant per risultati sincroni. L'intestazione Origin è impostata dal browser.

Scegliere un preset, creare una chiave, incollarla.

Il dashboard fornisce preset per ambiti e budget. Le origini rimangono vuote: inserisci l'intestazione Origin dagli Strumenti di sviluppo del browser, quindi copia la chiave nel suo prompt.

Creare una chiave
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());

Prima chiamata

fetch dal browser, l'Origin è impostato dal browser

La chiamata va a POST /latest/job/add/{pipeline} — lo stesso endpoint usato con una chiave segreta. Nuovi sono solo il tipo di chiave e l'intestazione Origin, che il browser invia automaticamente.

  • L'origine proviene dal browser

    fetch imposta automaticamente l'intestazione Origin. Gli script al di fuori del browser (cURL, Node) devono inviarla esplicitamente — altrimenti la API risponde con 403 ORIGIN_HEADER_REQUIRED.

  • Risultato inline

    Con processing_lane=instant e client_wait=true, la API mantiene la connessione aperta e restituisce il risultato direttamente nella risposta.

  • Codici di errore chiari

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — ogni limite segnala con un codice specifico.

Matrice di sicurezza

Sei controlli, tutti applicati lato server

Limitato per ambito, vincolato all'origine, coperto da budget, revocabile in qualsiasi momento. Ogni controllo viene applicato lato server; pertanto la chiave può trovarsi nel codice frontend.

  • Limitato all'ambito

    Le chiavi raggiungono solo i gruppi di endpoint che ha esplicitamente autorizzato: ocr:read, llm:generate, translate:text e altri. Le chiamate al di fuori dell'ambito restituiscono HTTP 403.

  • Vincolato all'origine

    Ogni richiesta deve includere un header Origin che corrisponde alla lista consentita della chiave (host esatto o wildcard di sottodominio). Se non corrisponde, viene restituito HTTP 403 con codice API.

  • Nessun limite extra di minuti

    Non esiste un limite di minuti specifico solo per po_pk_. Si applicano i normali limiti di velocità dei token dell'account; il consumo è coperto dal budget lifetime.

  • Budget limitato

    Ogni chiave ha un budget lifetime. Una volta esaurito, API restituisce HTTP 402 BUDGET_EXHAUSTED — il consumo si interrompe immediatamente, non solo in fase di fatturazione.

  • Revoca in qualsiasi momento

    Le chiavi possono essere revocate in qualsiasi momento dall'account. Una chiave revocata non viene più accettata da API.

  • Blocco permanente

    HTTP DELETE, accesso all'account, gestione delle chiavi, OAuth, amministrazione partner, transazioni di pagamento e cracking della password rimangono fissamente bloccati per ogni po_pk_. Le API documentate del prodotto — inclusa l'eliminazione POST, i webhook, la lettura dei dati di fatturazione e il CRM — sono consentite.

Gerarchia delle chiavi

Tre tipi di chiave, responsabilità chiare

Secret Key per il server, Publishable Key per il browser — più un User Token per l'accesso utente con rate limiting.

Prefisso Tipo Caso d'uso Sicuro per il browser Ambito predefinito
po_sk_ Chiave segreta Server-to-Server, accesso completo a API No Tutti gli endpoint
po_ut_ User Token Utente, limitato per livello No Basato sul livello
po_pk_ Publishable Key Browser / AI canvas (Claude, ChatGPT, Grok) Elenco degli ambiti

Autenticazione e chiavi

Tre preset

Un clic. Una chiave. Uno scopo.

Ogni preset è configurato per un caso d'uso specifico: impostazioni predefinite sicure, ambiti curati, budget realistici. Tutto modificabile in qualsiasi momento dalla dashboard.

  • DEFAULT Lettura sicura

    Autorizzazioni predefinite sicure per demo semplici e strumenti interni: OCR, LLM, Traduzione, Documenti, Ricerca.

    Ambiti di autorizzazione (Scopes)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Iniziare con questo preset
  • WIDGET Sito web pubblico

    Per moduli di contatto, widget di chat e pulsanti di prenotazione sul sito web aziendale.

    Ambiti di autorizzazione (Scopes)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Iniziare con questo preset

Prima chiamata API

Pronto per la prima chiamata dal browser?

Chiave pubblica creata, llms-full.txt aperto, prompt inserito — La sua app chiama direttamente API da Claude, ChatGPT o Grok.

Prefisso personalizzato Senza backend Revocabile in qualsiasi momento
Video

Chiavi Pubblicabili in Azione

Veda come funzionano le Publishable Keys di PaperOffice nella pratica — nel video.

Chiavi Pubblicabili in Azione

Domande frequenti

Tutto ciò che è importante in una panoramica

In cosa si differenzia po_pk_ da po_sk_?

po_sk_ (Chiave Segreta) è destinata all'integrazione server-to-server — accesso completo a API, non includere mai nel browser. po_pk_ (Chiave Pubblicabile) è costruita per il codice del browser: scope limitato, legato all'origine, con budget limitato. Stessa API, diverso profilo di sicurezza.

Perché non usare semplicemente un reverse-proxy dal proprio backend?

Questa è la via classica, ma richiede comunque un backend. Gli AI Artifacts (Claude, ChatGPT, Grok) sono progettati per funzionare senza un backend proprietario. Le Publishable Keys lo rendono possibile senza rivelare il suo Secret Key: i limiti vengono applicati lato server.

Funziona negli Artifacts di Claude, nonostante la loro sandbox CORS?

Sì. La chiamata avviene direttamente dal browser; l'intestazione Origin è impostata automaticamente dal browser. PaperOffice non fornisce una lista consentita dai vendor; inserisci l'origine durante la creazione della chiave dagli Strumenti di sviluppo.

Cosa succede se la mia po_pk_ diventa pubblicamente visibile?

Il danno rimane contenuto: il blocco Origin impedisce l'utilizzo su domini terzi, il limite di budget interrompe il consumo, il limite di frequenza rallenta gli accessi automatizzati. Revoca la chiave nell'account — dopo ciò, API non la accetterà più.

Posso aggiungere il mio dominio come origine consentita?

Sì. Durante la creazione della chiave, aggiunga ogni origine alla Allow-List — come host esatto o come wildcard di sottodominio. Il preset WIDGET è stato costruito esattamente per questo: registri il suo dominio e integri widget di chat, prenotazione o contatto senza backend.

Come imposto il budget per chiave?

Durante la creazione, selezioni un limite Lifetime; i preset includono ciascuno una preimpostazione. Una volta raggiunto il limite, API restituisce HTTP 402 BUDGET_EXHAUSTED. Può modificare il valore in qualsiasi momento dall'account.

Un po_pk_ richiede un piano tariffario separato?

No. Il Publishable Key è uno strato di protezione aggiuntivo intorno al suo account esistente: limita ambiti, origini e budget. La panoramica dei prezzi mostra quale piano si adatta al suo setup.

Quali endpoint sono bloccati per po_pk_?

HTTP DELETE, accesso all'account, amministrazione utenti, gestione delle chiavi, OAuth, amministrazione partner, Stripe Checkout e cracking della password sono fissamente bloccati. Le API documentate del prodotto sono consentite, tra cui l'eliminazione POST, i webhook, la lettura dei dati di fatturazione, l'importazione e il CRM. L'eliminazione di Workspace, lo svuotamento del cestino e il rilascio della conservazione legale rimangono solo tramite interfaccia utente (403 UI_ONLY_ENDPOINT).

Dove desidera provare PaperOffice?

Computer e smartphone sono collegati: area di lavoro sul computer, acquisizione sul telefono.

La versione di prova è pronta

Da dove si desidera iniziare?

L'area di lavoro completa è ottimizzata per il computer. La versione mobile è ideale per acquisire, verificare e approvare documenti.

app.paperoffice.ai

Iniziare sul computer

Il link di accesso personale verrà inviato all'indirizzo e-mail indicato.

Registrarsi gratuitamente Aprire l’app App PaperOffice Il prodotto completo: web, desktop e mobile. Acquisisca, organizzi, cerchi e lavori sui documenti con il team. È necessario un account gratuito Aprire Playground Playground Provi funzioni selezionate subito — con una chiave API demo limitata. Una chiave API demo con limitazioni