Publishable Keys
Браузърно безопасни API извиквания. Без собствено бекенд приложение.
Publishable Key (po_pk_) може да стои във фронтенда: обхват-ограничен, произход-свързан и бюджет-ограничен.
За Claude артефакти, ChatGPT Canvas, Grok и всяко собствено уеб приложение.
- Собствена инфраструктура в ЕС Вашите данни остават в Европа.
- ISO 27001 активен Сигурността е сертифицирана.
- SOC 2 Type II активен Международни стандарти за одит.
- 24+ години опит Доказано. Стабилно. Бъдеще-ориентирано.
Директно от браузъра
От AI-Canvas директно до извикване на API
Изграждате PDF към текст приложение в Claude, ChatGPT Canvas или Grok. Без бекенд извикването на API досега липсваше: CORS блокира, видим ключ за тайна би бил открит в изходния код, а отворен ключ би натоварил вашия акаунт. Точно този празнини запълват Publishable Keys.
Вмъкнете в Claude, ChatGPT или Grok
Промпт, който превръща всяка AI-Canvas в истинска демо версия, подпомогната от API — без бекенд.
Прочетете този документ API:
https://api.paperoffice.ai/latest/docs/llms-full.txt Създайте еднофайлово React приложение (Claude Artifact / ChatGPT Canvas / Grok):
Потребителят качва PDF, приложението извиква
/job/add/paperoffice_aiocr___generate директно от браузъра
и показва извлечения текст. Автентикация: Bearer po_pk_MY_PUBLISHABLE_KEY (поискайте ключа от потребителя).
Използвайте processing_lane=instant за синхронни резултати. Заглавката Origin се задава от браузъра. Избор на пресет, създаване на ключ, поставяне.
Табло с пресетове за обхвати и бюджети. Произходите остават празни — въведете заглавката Origin от DevTools на браузъра, след което копирайте ключа във вашия промпт.
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" Първо извикване
fetch от браузъра, Origin се задава от браузъра
Заявката се изпраща към POST /latest/job/add/{pipeline} — същият крайна точка като с тайен ключ. Новото е само типът на ключа и заглавката Origin, която браузърът изпраща автоматично.
- Origin идва от браузъра
fetch самият задава заглавката Origin. Скрипт извън браузъра (cURL, Node) трябва да я изпрати изрично — в противен случай API ще отговори с 403 ORIGIN_HEADER_REQUIRED.
- Резултат вграден
С processing_lane=instant и client_wait=true, API поддържа връзката и връща резултата директно в отговора.
- Ясни кодове за грешки
402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — всяка граница се съобщава със собствен код.
Матрица на сигурността
Шест контроли, всички принудително изпълнени на сървъра
Обхват-ограничен, произход-свързан, бюджет-ограничен, винаги отменяем. Всяка контрола се прилага сървърно — затова ключът може да стои във фронтенд кода.
-
Ограничен по обхват
Ключовете достигат само до групите крайни точки, които изрично освобождавате:
ocr:read,llm:generate,translate:textи други. Извиквания извън обхвата връщат HTTP 403. -
Свързан с произхода
Всяка заявка трябва да съдържа Origin заглавка, която съвпада с разрешителния списък на ключа (точно име на хост или поддомейн с wildcards). Ако не съвпада, API връща HTTP 403.
-
Няма допълнителен лимит за минути
Няма отделен лимит за минути само за po_pk_. Прилагат се нормалните лимити на токени на акаунта; потреблението се ограничава от бюджета в реално време.
-
Ограничен бюджет
Всеки ключ има lifetime бюджет. Когато той се изчерпи, API връща HTTP 402 BUDGET_EXHAUSTED — потреблението спира там, а не при фактурирането.
-
Оттегляне по всяко време
Ключовете могат да бъдат оттеглени по всяко време от профила. Оттеглен ключ вече не се приема от API.
-
Твърдо блокиран
HTTP DELETE, както и вход в акаунт, управление на ключове, OAuth, администриране на партньори, плащания и cracking на пароли остават постоянно блокирани за всеки po_pk_. Документирани продуктови API — включително POST изтриване, уебхукове, четене на фактури и CRM — са разрешени.
Йерархия на ключовете
Три типа ключове, ясни отговорности
Secret Key за сървъра, Publishable Key за браузъра — плюс User Token за потребителски достъп с лимитиране на заявки.
| Префикс | Тип | Сценарий на употреба | Браузър-сигурен | Стандартен обхват |
|---|---|---|---|---|
po_sk_ | Тайна ключ | Сервър-към-сервър, пълен API достъп | Не | Всички крайни точки |
po_ut_ | User Token | Потребителско обхват, ограничено до ниво | Не | Ниво-базиран |
po_pk_ | Publishable Key | Браузър / AI-Canvas (Claude, ChatGPT, Grok) | Да | Списък с обхвати |
Три предварителни настройки
Едно кликване. Един ключ. Една цел.
Всеки пресет е настроен за конкретен сценарий на употреба — сигурни настройки по подразбиране, курирани обхвати, реалистични бюджети. Всичко може да се променя по всяко време в таблото за управление.
-
DEFAULTСигурно четенеСигурни права по подразбиране за лесни демо версии и вътрешни инструменти: OCR, LLM, Translate, Documents, Search.
Области на правомощия (обхвати)
Стартиране с този пресет -
AIDEMOAI-песочница ПрепоръчителенЗа Claude Artifacts, ChatGPT Canvas и Grok демо версии. Всичко необходимо за стартиране на AI демо в реално време.
Области на правомощия (обхвати)
Стартиране с този пресет -
WIDGETПубличен уебсайтЗа контактни формуляри, чат виджети и бутони за резервации на собствения корпоративен уебсайт.
Области на правомощия (обхвати)
Стартиране с този пресет
Първи API извикване
Готови ли сте за първото извикване от браузъра?
Създайте ключ, отворете llms-full.txt, поставете промпта — вашето приложение извиква API директно от Claude, ChatGPT или Grok.
Публикуваеми ключове в действие
Вижте как PaperOffice Publishable Keys работи в практиката — във видеото.
Често задавани въпроси
Всичко важно на едно място
Каква е разликата между po_pk_ и po_sk_?
po_sk_ (Secret Key) е предназначен за интеграция сървър-към-сървър — пълен достъп до API, никога не го включвайте в браузър. po_pk_ (Publishable Key) е създаден за код в браузъра: ограничен обхват, свързан с произхода, с ограничени бюджетни лимити. Същата API, различен профил на сигурността.
Защо просто да не използваме обратен прокси сървър от собственото ни бекенд?
Това е класическият начин — но той все още изисква бекенд. AI артефактите (Claude, ChatGPT, Grok) са проектирани за работа без собствен бекенд. Publishable Keys правят това възможно, без да разкривате вашия Secret Key: границите се прилагат на сървъра.
Работи ли това в Claude артефакти, въпреки тяхната CORS песъчница?
Да. Извикването става директно от браузъра, а заглавката Origin се задава автоматично от браузъра. PaperOffice не предоставя списък с разрешени доставчици; произхода въвеждате при създаването на ключа от DevTools.
Какво се случва, ако моя po_pk_ стане публично видим?
Щетите остават ограничени: Origin Lock блокира използването на чужди домейни, Budget Limit прекратява потреблението, Rate Limit забавя автоматизираните достъпи. Откажете ключа в профила си — след това API вече няма да го приеме.
Мога ли да добавя моя собствен домейн като разрешен Origin?
Да. При създаването на ключа добавете всеки Origin към Allow-List — като точен хост или като wildcard за поддомейн. WIDGET preset е точно за това: регистрирайте своя домейн и вградете чат, резервация или контактни виджети без бекенд.
Как да задам бюджета на ключ?
При създаване изберете лимит за жизнения цикъл; шаблоните включват съответни стойности по подразбиране. Когато лимитът бъде достигнат, API връща HTTP 402 BUDGET_EXHAUSTED. Стойността може да се променя по всяко време от профила.
Трябва ли po_pk_ да има собствен тарифен план?
Не. Publishable Key е допълнителен защитен слой около вашия съществуващ акаунт: ограничава обхвата, произхода и бюджета. Кой план е подходящ за вашата конфигурация, показва прегледът на цените.
Кои крайни точки са блокирани за po_pk_?
HTTP DELETE, както и вход в акаунт, администриране на потребители, управление на ключове, OAuth, администриране на партньори, Stripe Checkout и cracking на пароли са постоянно блокирани. Документирани продуктови API са разрешени, включително POST изтриване, уебхукове, четене на фактури, импорт и CRM. Изтриването на Workspace, изпразването на кошчето и освобождаването на Legal-Hold остават само чрез потребителския интерфейс (403 UI_ONLY_ENDPOINT).
Експлоатация и доверие
Какво екипите на предприятията проверяват преди първия разговор
Договори, сигурност, поддръжка и лимити, всичко свързано на едно място.
- Сигурност и съответствие ISO 27001, SOC 2 Type II, собствена инфраструктура в ЕС.
- СЛА 99,9 % Наличност за всеки календарен месец, договорно гарантирана.
- Обработка на данни от име (DPA) Договор за обработка на данни в съответствие с GDPR.
- Списък на подизпълнителите Всички подизпълнители, прозрачно изброени.
- Техническа поддръжка Директен път до екипа за поддръжка чрез тикет.
- Лимити на честотата и заглавки Документирани минимални стойности за всеки токен, заглавки за лимит на честотата в всеки отговор.
- Цени и Credits Прозрачни цени на Credits за всяко обаждане.
Следваща спирка
Какво следва
Препоръчителната следваща стъпка във фунията за разработчици и две подходящи разклонения.