Publishable Keys
Selainturvalliset API-kutsut. Ilman omaa backendia.
Sivustolla voi olla Publishable Key (po_pk_): scope-rajoitettu, alkuperäsidonnainen ja budjetoitu.
Claude-artefakteille, ChatGPT Canvasille, Grokille ja mille tahansa omalle web-sovellukselle.
- Oma EU-infrastruktuuri Tietonne pysyvät Euroopassa.
- ISO 27001 aktiivinen Turvallisuus sertifioitu.
- SOC 2 Type II aktiivinen Kansainväliset tarkastusstandardit.
- 24+ vuoden kokemus Testattu. Vakaa. Tulevaisuuden varma.
Suoraan selaimesta
AI-Canvasista suoraan API-kutsuun
Rakennat PDF-täteksti-sovelluksen Claude Artifactsissa, ChatGPT Canvasissa tai Grokissa. Ilman backendia API-kutsu jäi tekemättä: CORS estää, salainen avain näkyisi lähdekoodissa ja avoin avain kuormittaisi tiliänne. Nimenomaan tämän aukon täyttävät julkaistavat avaimet.
Liitä Claude:ssä, ChatGPT:ssä tai Grokissa
Ohje, joka muuttaa minkä tahansa AI-Canvasin todelliseksi, API:lla tuetuksi demoksi — ilman taustajärjestelmää.
Lue tämä API -asiakirja:
https://api.paperoffice.ai/latest/docs/llms-full.txt Luo yksittäinen React-sovellus (Claude Artifact / ChatGPT Canvas / Grok):
Käyttäjä lataa PDF-tiedoston, sovellus kutsuu
/job/add/paperoffice_aiocr___generate -päätepistettä suoraan selaimesta
ja näyttää poimitun tekstin. Todennus: Bearer po_pk_MY_PUBLISHABLE_KEY (pyydä käyttäjää antamaan avain).
Käytä processing_lane=instant saadaksenne synkroniset tulokset. Origin-pääte asetetaan selaimen toimesta. Esiasetuksen valinta, avaimen luonti ja liittäminen.
Työtila tarjoaa esiasetuksia scopeille ja budjetille. Alkuperät pysyvät tyhjinä — syötä alkuperä-otsikko selaimen kehitystyökaluista, kopioi avain sitten kehotteeseesi.
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" Ensimmäinen kutsu
fetch selaimesta, Origin asetetaan selaimen toimesta
Pyyntö lähetetään osoitteeseen POST /latest/job/add/{pipeline} — sama päätepiste kuin salaisella avaimella. Uutta ovat vain avaintyyppi ja alkuperäisotsikko, jonka selain lähettää automaattisesti.
- Alkuperä tulee selaimelta
fetch asettaa alkuperäisotsikon itse. Selaimen ulkopuoliset skriptit (cURL, Node) täytyy lähettää se nimenomaisesti — muuten API vastaa koodilla 403 ORIGIN_HEADER_REQUIRED.
- Tulos sisällytetty
Käyttämällä processing_lane=instant ja client_wait=true API pitää yhteyden auki ja palauttaa tuloksen suoraan vastauksessa.
- Selkeät virhekoodit
402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — jokainen raja ilmoittaa itsensä omalla koodillaan.
Turvallisuusmatriisi
Kuusi valvontatoimea, kaikki palvelinpohjaisesti pakotettuja
Scope-rajoitettu, alkuperäsidonnainen, budjetoitu, milloin tahansa peruutettavissa. Jokainen valvonta toteutetaan palvelimen puolella — siksi avain voi olla sivuston koodissa.
-
Laajuudeltaan rajoitettu
Avaimet koskevat vain niitä päätepisteryhmiä, jotka olette nimenomaisesti sallinut:
ocr:read,llm:generate,translate:textja muita. Laajuuden ulkopuoliset pyynnöt palauttavat HTTP 403. -
Alkuperään sidottu
Jokaisen pyynnön on sisällettävä alkuperäotsikko, joka vastaa avaimen sallittujen listaa (tarkka isäntänimi tai aliverkkotason jokerimerkki). Jos se ei täsmää, API palauttaa HTTP 403.
-
Ei ylimääräistä minuuttirajaa
po_pk_:lle ei ole omaa minuuttirajaa. Voimassa ovat tilin tavalliset token-nopeusrajoitukset; kulutuksen rajoittaa elinkaibudjetti.
-
Budjettirajoitettu
Jokaisella avaimella on elinikäinen budjetti. Kun se on käytetty loppuun, API palauttaa HTTP 402 BUDGET_EXHAUSTED — kulutus päättyy siihen, ei vasta laskutuksen yhteydessä.
-
Peruutus milloin tahansa
Avaimet voidaan peruuttaa tilillä milloin tahansa. Peruutettua avainta API ei enää hyväksy.
-
Kiinteästi lukittu
HTTP DELETE sekä tilin kirjautuminen, avainten hallinta, OAuth, kumppanien hallinta, maksutapahtumat ja salasanojen murtaminen pysyvät kaikille po_pk_:lle tiukasti estettyinä. Dokumentoidut tuote-API:t — mukaan lukien POST-poisto, webhotit, laskutuksen lukeminen ja CRM — ovat sallittuja.
Avainhierarkia
Kolme avaintyyppiä, selkeät vastuut
Secret Key palvelimelle, Publishable Key selaimelle — sekä käyttäjätoken käyttäjään liittyvää, rate-rajoitettua käyttöä varten.
| Etuliite | Tyyppi | Käyttötarkoitus | Selainystävällinen | Oletusalue |
|---|---|---|---|---|
po_sk_ | Salainen avain | Palvelin-palveluun -täysi API-käyttöoikeus | Ei | Kaikki päätepisteet |
po_ut_ | User Token | Käyttäjän määrittämä, Tason rajoittama | Ei | Tasopohjainen |
po_pk_ | Publishable Key | Selain / AI-Canvas (Claude, ChatGPT, Grok) | Kyllä | Scope-luettelo |
Kolme esiasetusta
Yksi klikkaus. Yksi avain. Yksi tarkoitus.
Jokainen esiasetus on räätälöity tiettyä käyttötapaa varten — turvatut oletusarvot, kuratoidut oikeudet, realistiset budjetit. Kaikki muokattavissa hallintapaneelista milloin tahansa.
-
DEFAULTTurvallinen lukuTurvatut oletusoikeudet yksinkertaisiin demo- ja sisäisiin työkaluihin: OCR, LLM, käännös, asiakirjat, haku.
Oikeusalueet (scopes)
Aloitus tällä esiasetuksella -
AIDEMOKI-leikkikenttä SuositeltuClaude-artifakteille, ChatGPT Canvasille ja Grok-demoille. Kaikki tarvittava AI-demojen käynnistämiseen.
Oikeusalueet (scopes)
Aloitus tällä esiasetuksella -
WIDGETJulkinen verkkosivustoYrityksen omalla verkkosivustolla olevia yhteyslomakkeita, chat-widgetteja ja varauspainikkeita varten.
Oikeusalueet (scopes)
Aloitus tällä esiasetuksella
Ensimmäinen API-kutsu
Oletko valmis tekemään ensimmäisen kutsun selaimesta?
Luokaa avain, avatkaa llms-full.txt, liittäkää prompti — sovelluksenne kutsuu API:n suoraan Claude:stä, ChatGPT:sta tai Grokista.
Julkaisukelpoiset avaimet käytössä
Katsokaa, miten PaperOffice Publishable Keys toimivat käytännössä — videolla.
Usein kysytyt kysymykset
Kaikki tärkeä yhdessä katsannossa
Miten po_pk_ eroaa po_sk_:stä?
po_sk_ (Secret Key) on tarkoitettu palvelin-palvelu-integraatioon — täysi käyttöoikeus API:ään, ei koskaan sisällytä selaimen koodiin. po_pk_ (Publishable Key) on rakennettu selainkoodia varten: scope-rajoitettu, sidottu alkuperään (origin), budjetoitu. Sama API, eri turvallisuusprofiili.
Miksi ei yksinkertaisesti käytä omaa backendia reverse-proxy:nä?
Tämä on klassinen tapa — se edellyttää kuitenkin edelleen backendia. AI-artefaktit (Claude, ChatGPT, Grok) on suunniteltu toimimaan ilman omaa backendia. Publishable Keys tekevät tämän mahdolliseksi paljastamatta Secret Keyänne: rajat pakotetaan palvelimen puolella.
Toimiiko tämä Claude-artefakteissa niiden CORS-sandboxista huolimatta?
Kyllä. Kutsu tapahtuu suoraan selaimesta, ja alkuperä-otsikon asettaa selain itse. PaperOffice ei toimita vendor-sallituslistaa; syötä alkuperä avainta luotaessa kehitystyökaluista.
Mitä tapahtuu, jos po_pk_ tulee julkisesti näkyviin?
Vahinko pysyy rajoitettuna: Origin-lock estää käytön muilla domainneilla, Budget-limit loputtaa kulutuksen, Rate-limit hidastaa automaattisia pääsyjä. Peruuttakaa key tilillänne — sen jälkeen API ei hyväksy sitä enää.
Voinko lisätä oman domainin sallittujen origojen joukkoon?
Kyllä. Keyn luonnin yhteydessä voitte lisätä minkä tahansa originin Allow-listalle — joko tarkkana isäntänimenä tai alidomain-wildcardina. WIDGET-preset on juuri tätä varten suunniteltu: rekisteröikää oma domain ja upottakaa Chat-, Booking- tai Kontakt-widgetit ilman backendia.
Miten asetan budjetin per key?
Luodessanne valitsette elinkaaren rajan; esiasetukset sisältävät kukin oletuksen. Kun raja on saavutettu, API palauttaa HTTP 402 BUDGET_EXHAUSTED. Voitte muuttaa arvoa tilillänne milloin tahansa.
Tarvitseeko po_pk_ oman hintatason?
Ei. Publishable Key on lisäsuojakerros olemassa olevan tilin ympärillä: se rajoittaa scopeja, alkuperiä ja budjettia. Hintaesittely näyttää, mikä sopimus sopii kokoonpanoosi.
Mitä päätepisteitä on po_pk_:lle estetty?
HTTP DELETE sekä tilin kirjautuminen, käyttäjien hallinta, avainten hallinta, OAuth, kumppanien hallinta, Stripe-kassa ja salasanojen murtaminen ovat tiukasti estettyjä. Dokumentoidut tuote-API:t ovat sallittuja, mukaan lukien POST-poisto, webhotit, laskutuksen lukeminen, tuonti ja CRM. Workspace:n poisto, roskakorin tyhjentäminen ja oikeudellinen pidätysvapautus pysyvät vain käyttöliittymässä (403 UI_ONLY_ENDPOINT).
Toiminta ja luottamus
Mitä yritystiimit tarkistavat ennen ensimmäistä puhelua
Sopimukset, turvallisuus, tuki ja rajat, kaikki linkitetty yhteen paikkaan.
- Turvallisuus ja noudattaminen ISO 27001, SOC 2 Type II, oma EU-infrastruktuuri.
- SLA 99,9 % Saatavuus kalenterikuukausittain, sopimuksella taattu.
- Tilausprosessointi (DPA) GDPR-yhteensopiva sopimus tilausprosessoinnista.
- Alihankkijaluettelo Kaikki alihankkijat, läpinäkyvästi luettelossa.
- Tekninen tuki Suora tie tukitiimiin, lippujärjestelmällä.
- Nopeusrajoitukset ja otsikot Dokumentoidut vähimmäisarvot per token, RateLimit-otsikot jokaisessa vastauksessa.
- Hinnat ja Credits Läpinäkyvät Credits per pyyntö.
Seuraava pysäkki
Näin se etenee
Suositeltu seuraava askel kehittäjän suppilossa ja kaksi sopivaa haarautumaa.