Przejdź do treści głównej
Przegląd Przegląd Aktualności Aktualności
Udostępnij

Publishable Keys

Bezpieczne dla przeglądarki wywołania API. Bez własnego backendu.

Publishable Key (po_pk_) może znajdować się we frontendzie: ograniczony zakresem, powiązany z originem i limitowany budżetem.

Dla artefaktów Claude, Canvas ChatGPT, Grok oraz każdej własnej aplikacji webowej.

Własny prefiks po_pk_ Domyślnie powiązane z Origin Możliwe do cofnięcia w dowolnym momencie

Bezpośrednio z przeglądarki

Od AI-Canvas bezpośrednio do wywołania API

Budują Państwo aplikację PDF-to-Text w Claude Artifacts, ChatGPT Canvas lub Grok. Bez backendu wywołanie API było niemożliwe: CORS blokuje, klucz tajny byłby widoczny w kodzie źródłowym, a otwarty klucz obciążałby Państwa konto. Dokładnie tę lukę zamykają klucze publiczne.

Działa w Claude ArtifactsChatGPT CanvasGrokKażda aplikacja przeglądarkowa

Wklejenie w Claude, ChatGPT lub Grok

Prompt, który zamienia każdą AI-Canvas w prawdziwą demonstrację opartą na API — bez backendu.

AI Canvas Prompt
Przeczytaj ten dokument API:
https://api.paperoffice.ai/latest/docs/llms-full.txt Zbuduj jednoplikową aplikację React (Claude Artifact / ChatGPT Canvas / Grok):
Użytkownik przesyła plik PDF, aplikacja wywołuje
/job/add/paperoffice_aiocr___generate bezpośrednio z przeglądarki
i wyświetla wyekstrahowany tekst. Autoryzacja: Bearer po_pk_MY_PUBLISHABLE_KEY (poproś użytkownika o klucz).
Użyj processing_lane=instant dla wyników synchronicznych. Nagłówek Origin jest ustawiany przez przeglądarkę.

Wybór presetu, utworzenie i wklejenie klucza.

Dashboard dostarcza presetów dla zakresów i budżetu. Origin pozostaje pusty — wprowadź nagłówek Origin z narzędzi deweloperskich przeglądarki, a następnie skopiuj klucz do swojego promptu.

Utworzenie klucza
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());

Pierwsze wywołanie

fetch z przeglądarki, Origin ustawiany przez przeglądarkę

Wywołanie kierowane jest do POST /latest/job/add/{pipeline} — ten sam endpoint co przy użyciu klucza tajnego (Secret Key). Nowością są tylko typ klucza oraz nagłówek Origin, który przeglądarka wysyła automatycznie.

  • Origin pochodzi od przeglądarki

    fetch ustawia nagłówek Origin samodzielnie. Skrypty spoza przeglądarki (cURL, Node) muszą go wysłać wyraźnie — w przeciwnym razie API zwróci błąd 403 ORIGIN_HEADER_REQUIRED.

  • Wynik inline

    Dzięki ustawieniu processing_lane=instant i client_wait=true API utrzymuje połączenie i zwraca wynik bezpośrednio w odpowiedzi.

  • Wyraźne kody błędów

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — każda granica zgłasza się własnym kodem.

Macierz bezpieczeństwa

Sześć kontroli, wszystkie wymuszane po stronie serwera

Ograniczony zakresem, powiązany z originem, limitowany budżetem, odwołalny w dowolnym momencie. Każda kontrola jest egzekwowana po stronie serwera — dlatego klucz może znajdować się w kodzie frontendowym.

  • Ograniczony zakres

    Klucze mają dostęp tylko do tych grup endpointów, które Państwo jawnie udostępnią: ocr:read, llm:generate, translate:text i inne. Wywołania poza zakresem zwracają HTTP 403.

  • Powiązany z originem

    Każde żądanie musi zawierać nagłówek Origin, który pasuje do listy dozwolonych dla klucza (dokładny host lub wildcard subdomeny). Jeśli nie pasuje, API zwraca HTTP 403.

  • Brak dodatkowego limitu minut

    Nie ma osobnego limitu minut wyłącznie dla po_pk_. Obowiązują normalne limity szybkości tokenów konta; zużycie jest limitowane przez budżet lifetime.

  • Limitowany budżet

    Każdy klucz posiada limit budżetu w czasie życia klucza (lifetime). Gdy zostanie on wyczerpany, API zwraca HTTP 402 BUDGET_EXHAUSTED — zużycie kończy się natychmiast, a nie dopiero przy rozliczeniu.

  • Unieważnienie w dowolnym momencie

    Klucze można unieważnić w dowolnym momencie w ustawieniach konta. Unieważniony klucz nie jest już akceptowany przez API.

  • Trwale zablokowane

    HTTP DELETE oraz logowanie do konta, zarządzanie kluczami, OAuth, administracja partnerów, modyfikacje płatności i łamanie haseł pozostają stale zablokowane dla każdego po_pk_. Udokumentowane produkty API — w tym usuwanie POST, webhooks, odczyt rozliczeń i CRM — są dozwolone.

Hierarchia kluczy

Trzy typy kluczy, jasne odpowiedzialności

Klucz Secret Key dla serwera, Klucz Publishable Key dla przeglądarki — plus token użytkownika (User Token) dla dostępu związanego z użytkownikiem, objętego limitami częstotliwości.

Prefiks Type Przypadek użycia Przeglądarka bezpieczna Domyślny-Zakres
po_sk_ Tajny klucz Server-to-Server, pełny dostęp API Nie Wszystkie endpointy
po_ut_ User Token Użytkownik, limit warstwowy Nie Warstwowy
po_pk_ Publishable Key Przeglądarka / AI-Canvas (Claude, ChatGPT, Grok) Tak Lista zakresów

Uwierzytelnianie i klucze

Trzy ustawienia wstępne

Jedno kliknięcie. Jeden klucz. Jeden cel.

Każdy preset jest skonfigurowany pod konkretny przypadek użycia — bezpieczne domyślne ustawienia, starannie dobrane zakresy (scopes), realistyczne budżety. Wszystko można w dowolnym momencie dostosować w panelu.

  • DEFAULT Bezpieczne odczytywanie

    Bezpieczne uprawnienia domyślne do prostych demonstracji i narzędzi wewnętrznych: OCR, LLM, Translate, Documents, Search.

    Zakresy uprawnień (scopes)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Start z tym presetem
  • WIDGET Publiczna strona internetowa

    Dla formularzy kontaktowych, widgetów czatu i przycisków rezerwacji na własnej stronie firmowej.

    Zakresy uprawnień (scopes)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Start z tym presetem

Pierwsze połączenie API

Gotowy na pierwsze wywołanie z przeglądarki?

Utworzenie klucza, otwarcie llms-full.txt, wklejenie promptu — Państwa aplikacja wywołuje API bezpośrednio z Claude, ChatGPT lub Grok.

Własny prefiks Bez backendu Odwoływalny w dowolnym momencie
Wideo

Klucze Publikowalne w Działaniu

Proszę zobaczyć w filmie, jak PaperOffice Publishable Keys działają w praktyce.

Klucze Publikowalne w Działaniu

Często zadawane pytania

Wszystko ważne na jednym miejscu

Jakie jest różnica między po_pk_ a po_sk_?

po_sk_ (Klucz tajny) jest przeznaczony do integracji serwer-serwer — pełny dostęp do API, nigdy nie należy go umieszczać w przeglądarce. po_pk_ (Klucz publiczny) został zaprojektowany dla kodu przeglądarkowego: ograniczony zakresem, powiązany z źródłem (origin), z limitem budżetu. Ten sam API, inny profil bezpieczeństwa.

Dlaczego nie użyć po prostu reverse proxy z własnego backendu?

To jest klasyczna ścieżka — wymaga ona jednak nadal backendu. AI-Artifacts (Claude, ChatGPT, Grok) są zaprojektowane do działania bez własnego backendu. Klucze publiczne (Publishable Keys) umożliwiają to, nie ujawniając Państwa klucza tajnego (Secret Key): granice są egzekwowane po stronie serwera.

Czy to działa w Artifactach Claude, pomimo ich piaskownicy CORS?

Tak. Wywołanie odbywa się bezpośrednio z przeglądarki, nagłówek Origin jest ustawiany automatycznie przez przeglądarkę. PaperOffice nie dostarcza listy dozwolonych dostawców; origin wprowadzasz podczas tworzenia klucza z narzędzi deweloperskich.

Co się stanie, jeśli mój po_pk_ stanie się publicznie widoczny?

Szkoda pozostanie ograniczona: Blokada źródła (Origin Lock) uniemożliwia użycie na obcych domenach, limit budżetu zatrzymuje zużycie, limit szybkości spowalnia automatyczne dostęp. Unieważ klucz w swoim koncie — API przestanie go akceptować.

Czy mogę dodać własną domenę jako dozwolone źródło?

Tak. Przy tworzeniu klucza dodają Państwo każde źródło do listy dozwolonych — jako dokładny host lub jako wildcard dla subdomeny. Preset WIDGET został stworzony właśnie pod to: proszę zarejestrować swoją domenę i osadzić widżety czatu, rezerwacji lub kontaktu bez backendu.

Jak ustawić budżet na klucz?

Podczas tworzenia proszę wybrać limit Lifetime; presety zawierają własne ustawienia domyślne. Po osiągnięciu limitu API zwraca HTTP 402 BUDGET_EXHAUSTED. Wartość można w dowolnym momencie dostosować w ustawieniach konta.

Czy klucz po_pk_ wymaga własnego taryfu?

Nie. Publishable Key to dodatkowa warstwa ochronna wokół Państwa istniejącego konta: ogranicza zakresy, origin i budżet. Który plan pasuje do Państwa konfiguracji, pokazuje przegląd cenowy.

Które endpointy są zablokowane dla po_pk_?

HTTP DELETE oraz logowanie do konta, administracja użytkownikami, zarządzanie kluczami, OAuth, administracja partnerów, Stripe Checkout i łamanie haseł są stale zablokowane. Udokumentowane produkty API są dozwolone, w tym usuwanie POST, webhooks, odczyt rozliczeń, import i CRM. Usuwanie Workspace, opróżnianie kosza na śmieci i zwalnianie Legal Hold pozostają tylko w interfejsie użytkownika (403 UI_ONLY_ENDPOINT).

Gdzie chcą Państwo wypróbować PaperOffice?

Komputer i smartfon są połączone: workspace na komputerze, przechwytywanie na telefonie.

Wersja testowa jest gotowa

Gdzie chcą Państwo zacząć?

Pełny workspace jest zoptymalizowany pod kątem komputera. Wersja mobilna nadaje się do przechwytywania, sprawdzania i udostępniania dokumentów.

app.paperoffice.ai

Rozpocznijcie na komputerze

Osobisty link dostępu zostanie wysłany na podany adres e-mail.

Zarejestrować się bezpłatnie Otwórz aplikację Aplikacja PaperOffice Pełny produkt: sieć, pulpit i urządzenia mobilne. Przechwytywanie, organizowanie, wyszukiwanie dokumentów i praca z zespołem. Wymagane jest bezpłatne konto Otwórz Playground Playground Wybrane funkcje natychmiast — z ograniczonym kluczem API demo. Z ograniczonym kluczem API demo