Publishable Keys
Browser-sigurni API pozivi. Bez sopstvenog backend-a.
Publishable Key (po_pk_) može biti u frontendu: ograničen opseg, vezan za poreklo i limitiran budžet.
Za Claude artefakte, ChatGPT Canvas, Grok i svaku sopstvenu web aplikaciju.
- Vlastična EU-infrastruktura Vaši podaci ostaju u Evropi.
- ISO 27001 aktivno Sertifikovana bezbednost.
- SOC 2 Tip II aktiv Međunarodni standardi za reviziju.
- Preko 24 godine iskustva Provereno. Stabilno. Budućnost sigurno.
Direktno iz pregledača
Od AI-Canvas direktno do poziva API
Gradite PDF-u-tekst aplikaciju u Claude artefaktima, ChatGPT Canvas ili Grok. Bez bekenda, poziv API je ostao izostavljen: CORS blokira, tajni ključ bi bio vidljiv u izvornom kodu, a otvoreni ključ opterećuje vaš nalog. Upravo ovu prazninu popunjuju Publishable Keys.
Umetnuti u Claude, ChatGPT ili Grok
Prompt koji svaku AI-Canvas pretvara u pravu demo verziju podržanu od API — bez bekenda.
Pročitajte ovaj API dokument:
https://api.paperoffice.ai/latest/docs/llms-full.txt Izradite aplikaciju u jednom fajlu (Claude Artifact / ChatGPT Canvas / Grok):
Korisnik otprema PDF, aplikacija poziva
/job/add/paperoffice_aiocr___generate direktno iz pregledača
i prikazuje ekstrahovani tekst. Autentifikacija: Bearer po_pk_MY_PUBLISHABLE_KEY (tražite ključ od korisnika).
Koristite processing_lane=instant za sinhronizovane rezultate. Zaglavlje Origin postavlja pregledač. Izbor preseta, kreiranje ključa, lepljenje.
Dashboard pruža presete za opsege i budžet. Poreklo ostaje prazno — unesite zaglavlje Origin iz browser DevTools, zatim kopirajte ključ u svoj 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" Prvi poziv
fetch iz pregledača, Origin postavlja pregledač
Poziv ide na POST /latest/job/add/{pipeline} — isti endpoint kao sa tajnim ključem. Novo su samo vrsta ključa i Origin zaglavlje koje browser automatski šalje.
- Origin dolazi od browsera
fetch automatski postavlja Origin zaglavlje. Skripte van browsera (cURL, Node) moraju ga eksplicitno poslati — u suprotnom API odgovara sa 403 ORIGIN_HEADER_REQUIRED.
- Rezultat inline
Sa processing_lane=instant i client_wait=true, API zadržava vezu i vraća rezultat direktno u odgovoru.
- Jasni kodovi grešaka
402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — svaka granica se javlja sa svojim kodom.
Matrica bezbednosti
Šest kontrola, sve server-side prisilno izvršene
Ograničen opseg, vezan za poreklo, limitiran budžet, povlačenje u svakom trenutku. Svaka kontrola se nameće na serveru — zato ključ može biti u frontend kodu.
-
Ograničen opseg
Ključevi dostižu samo grupe endpointa koje eksplicitno odobravate:
ocr:read,llm:generate,translate:texti druge. Pozivi van opsega vraćaju HTTP 403. -
Vezano za poreklo
Svaki zahtev mora sadržati Origin zaglavlje koje odgovara allow-listi ključa (tačan host ili wildcard poddomene). Ako ne odgovara, vraća se HTTP 403 sa kodom API.
-
Bez dodatnog limita minuta
Ne postoji poseban limit minuta samo za po_pk_. Važe normalni token rate limiti naloga; potrošnju ograničava budžet životnog veka.
-
Budget ograničen
Svaki ključ ima budžet životnog veka. Kada se potroši, API vraća HTTP 402 BUDGET_EXHAUSTED — potrošnja se zaustavlja odmah, a ne tek pri obračunu.
-
Opoziv u bilo kom trenutku
Ključevi se mogu opozvati u bilo kom trenutku kroz nalog. Opozvani ključ više neće biti prihvaćen od strane API.
-
Trajno zaključano
HTTP DELETE kao i prijava na nalog, upravljanje ključevima, OAuth, partner admin, plaćanje i lomljenje lozinke ostaju trajno blokirani za svaki po_pk_. Dokumentovani produkt-API su dozvoljeni, uključujući brisanje putem POST-a, webhooks, čitanje fakturisanja i CRM.
Hijerarhija ključeva
Tri vrste ključeva, jasne odgovornosti
Secret Key za server, Publishable Key za browser — plus korisnički token za pristup vezan za korisnika sa ograničenjem brzine.
| Prefiks | Tip | Upotreba | Pretraživač siguran | Podrazumevani opseg |
|---|---|---|---|---|
po_sk_ | Tajni ključ | Server-to-server, puni API pristup | Ne | Sve krajnje tačke |
po_ut_ | User Token | Korisnički opseg, ograničen na nivo | Ne | Na osnovu nivoa |
po_pk_ | Publishable Key | Pretraživač / AI-Canvas (Claude, ChatGPT, Grok) | Da | Lista opsega |
Tri unapred definisana podešavanja
Jedan klik. Jedan ključ. Jedna svrha.
Svaki preset je podešen za konkretan slučaj upotrebe — sigurne podrazumevane vrednosti, kurirani opsezi, realistični budžeti. Sve se može prilagoditi u bilo kom trenutku na kontrolnoj tabli.
-
DEFAULTSigurno čitanjeSigurna podrazumevana prava za jednostavne demonstracije i interne alate: OCR, LLM, Prevod, Dokumenti, Pretraga.
Opsezi dozvola
Početak sa ovim presetom -
AIDEMOKI-igralište PreporučenoZa Claude Artifacts, ChatGPT Canvas i Grok demonstracije. Sve što vam je potrebno da pokrenete AI demonstracije u stvarnom vremenu.
Opsezi dozvola
Početak sa ovim presetom -
WIDGETJavni web sajtZa kontakt forme, chat widgete i dugmad za rezervacije na sopstvenom poslovnom sajtu.
Opsezi dozvola
Početak sa ovim presetom
Prvi API poziv
Spremni za prvi poziv iz pregledača?
Kreirajte ključ, otvorite llms-full.txt, umetnite prompt — vaša aplikacija direktno poziva API iz Claude, ChatGPT ili Grok-a.
Publishable Keys u akciji
Pogledajte kako PaperOffice Publishable Keys funkcionišu u praksi — u videu.
Česta pitanja
Sve bitno na jednom mestu
Kako se po_pk_ razlikuje od po_sk_?
po_sk_ (Secret Key) je namenjen integraciji server-na-server — puni pristup API, nikada ne uključivati u pregledaču. po_pk_ (Publishable Key) je izgrađen za browser kod: ograničen opsegom, vezan za poreklo (origin), sa ograničenim budžetom. Ista API, drugačiji profil bezbednosti.
Zašto jednostavno ne koristiti reverse-proxy iz sopstvenog backend-a?
To je klasičan put — ali i dalje zahteva backend. AI-artefakti (Claude, ChatGPT, Grok) su dizajnirani za rad bez sopstvenog backend-a. Publishable Keys to omogućavaju, a da pritom ne otkrijete svoj Secret Key: granice se nameću na serveru.
Da li ovo funkcioniše u Claude artefaktima, uprkos njihovoj CORS sandbox?
Da. Poziv se izvršava direktno iz pregledača, a zaglavlje Origin postavlja sam pregledač. PaperOffice ne isporučuje vendor allow listu; poreklo unosite pri kreiranju ključa iz DevTools.
Šta se dešava ako moj po_pk_ postane javno vidljiv?
Šteta je ograničena: Origin Lock blokira korišćenje na stranim domenima, Budget Limit prekida potrošnju, Rate Limit usporava automatske pristupe. Opozovite ključ u nalogu — nakon toga ga API više ne prihvata.
Mogu li dodati svoju sopstvenu domenu kao dozvoljeni origin?
Da. Prilikom kreiranja ključa dodajete svaki origin na Allow listu — kao tačan host ili wildcard za poddomene. WIDGET preset je baš za to dizajniran: registrujte svoju domenu i ugradite Chat, Booking ili Kontakt widgete bez backend-a.
Kako postaviti budžet po ključu?
Pri kreiranju birate Lifetime limit; presetovi imaju svoje podrazumevane vrednosti. Kada se limit iscrpi, API vraća HTTP 402 BUDGET_EXHAUSTED. Vrednost možete u bilo kom trenutku prilagoditi u svom nalogu.
Da li po_pk_ zahteva sopstveni tarifni plan?
Ne. Publishable Key je dodatni sloj zaštite oko vašeg postojećeg naloga: ograničava opsege, porekla i budžet. Koja opcija odgovara vašem podešavanju prikazuje pregled cena.
Koji endpointi su blokirani za po_pk_?
HTTP DELETE kao i prijava na nalog, korisnički admin, upravljanje ključevima, OAuth, partner admin, Stripe checkout i lomljenje lozinke su trajno blokirani. Dokumentovani produkt-API su dozvoljeni, uključujući brisanje putem POST-a, webhooks, čitanje fakturisanja, import i CRM. Brisanje Workspace, pražnjenje korpe i oslobađanje legalnog zadržavanja ostaju samo u interfejsu (403 UI_ONLY_ENDPOINT).
Operacije i poverenje
Šta entitim timovi proveravaju pre prvog poziva
Ugovori, bezbednost, podrška i limiti, sve povezano na jednom mestu.
- Bezbednost i usklađenost ISO 27001, SOC 2 Type II, sopstvena infrastruktura u EU.
- SLA 99,9% Dostupnost po kalendarskom mesecu, ugovorno garantovana.
- Ugovor o obradi podataka (DPA) Ugovor o obradi podataka usklađen sa GDPR.
- Lista subprocesora Svi podizvođači, transparentno navedeni.
- Tehnička podrška Direktan put do tima za podršku, sa tiketom.
- Ograničenja učestalosti i zaglavlja Dokumentovane minimalne vrednosti po tokenu, RateLimit zaglavlje u svakom odgovoru.
- Cene i Credits Transparentne cene Credits po pozivu.
Sledeća stanica
Kako nastaviti
Preporučeni sledeći korak u funilu za programere i dve odgovarajuće diverzije.