Saltar al contenido
Resumen Resumen Noticias Noticias
Compartir

Publishable Keys

Llamadas API seguras para el navegador. Sin backend propio.

Un Publishable Key (po_pk_) puede estar en el frontend: limitado por alcance, vinculado al origen y acotado por presupuesto.

Para artefactos Claude, Canvas ChatGPT, Grok y cualquier aplicación web propia.

Prefijo propio po_pk_ Predeterminado vinculado a Origin Revocable en cualquier momento

Directamente desde el navegador

Desde la AI-Canvas directamente a la llamada API

Están construyendo una aplicación de PDF a texto en Claude Artifacts, ChatGPT Canvas o Grok. Sin un backend, la llamada a la API ha fallado hasta ahora: CORS bloquea la solicitud, una clave secreta sería visible en el código fuente y una clave abierta afectaría su cuenta. Las claves publicables cierran exactamente esta brecha.

Funciona en Claude ArtifactsChatGPT CanvasGrokCualquier aplicación de navegador

Insertar en Claude, ChatGPT o Grok

Un prompt que transforma cualquier AI-Canvas en una demo real respaldada por API, sin backend.

Lienzo de IA Prompt
Lee este documento API:
https://api.paperoffice.ai/latest/docs/llms-full.txt Crea una aplicación React de un solo archivo (Claude Artifact / ChatGPT Canvas / Grok):
El usuario sube un PDF, la app llama
a /job/add/paperoffice_aiocr___generate directamente desde el navegador
y muestra el texto extraído. Autenticación: Bearer po_pk_MY_PUBLISHABLE_KEY (solicitar al usuario la clave).
Usar processing_lane=instant para resultados sincrónicos. El encabezado Origin lo establece el navegador.

Elija un preset, cree una clave, péguela.

El panel de control proporciona ajustes preestablecidos para alcances y presupuestos. Los orígenes permanecen vacíos; ingrese el encabezado Origin desde las herramientas de desarrollo del navegador y luego copie la clave en su prompt.

Crear clave
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());

Primera llamada

fetch desde el navegador, el navegador establece el Origin

La llamada se dirige a POST /latest/job/add/{pipeline} — el mismo punto final que con una clave secreta. Lo nuevo es solo el tipo de clave y el encabezado Origin, que el navegador envía automáticamente.

  • El origen proviene del navegador

    fetch establece automáticamente el encabezado Origin. Los scripts fuera del navegador (cURL, Node) deben enviarlo explícitamente; de lo contrario, API responderá con 403 ORIGIN_HEADER_REQUIRED.

  • Resultado en línea

    Con processing_lane=instant y client_wait=true, API mantiene la conexión y entrega el resultado directamente en la respuesta.

  • Códigos de error claros

    402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — cada límite notifica con su propio código.

Matriz de seguridad

Seis controles, todos impuestos en el servidor

Limitado por alcance, vinculado al origen, acotado por presupuesto, revocable en cualquier momento. Cada control se aplica en el lado del servidor; por eso la clave puede estar en el código del frontend.

  • Limitado por alcance

    Las claves solo acceden a los grupos de endpoints que usted libera explícitamente: ocr:read, llm:generate, translate:text y otros. Las llamadas fuera del alcance devuelven HTTP 403.

  • Vinculado al origen

    Cada solicitud debe incluir un encabezado Origin que coincida con la lista permitida de la clave (host exacto o comodín de subdominio). Si no coincide, se devuelve HTTP 403 con el código API.

  • Sin límite de minutos adicionales

    No existe un límite de minutos exclusivo solo para po_pk_. Se aplican los límites normales de tasa de tokens de la cuenta; el consumo está acotado por el presupuesto vitalicio.

  • Presupuesto limitado

    Cada clave tiene un presupuesto de por vida. Una vez agotado, API devuelve HTTP 402 BUDGET_EXHAUSTED; el consumo se detiene allí, no solo al facturar.

  • Revocación en cualquier momento

    Las claves pueden revocarse en cualquier momento desde la cuenta. Una clave revocada ya no será aceptada por API.

  • Bloqueo permanente

    HTTP DELETE, así como inicio de sesión de cuenta, administración de claves, OAuth, administración de socios, mutación de pagos y crackeo de contraseñas permanecen bloqueados permanentemente para cada po_pk_. Las API documentadas del producto —incluyendo eliminación POST, webhooks, lectura de facturación y CRM— están permitidas.

Jerarquía de claves

Tres tipos de claves, responsabilidades claras

Clave secreta para el servidor, clave publicable para el navegador; además, un token de usuario para acceso relacionado con el usuario y sujeto a límites de tasa.

Prefijo Tipo Caso de uso Seguro para el navegador Ámbito predeterminado
po_sk_ Clave secreta Servidor-a-servidor, acceso completo a API No Todos los endpoints
po_ut_ User Token Limitado por nivel, específico del usuario No Stufenbasiert
po_pk_ Publishable Key Navegador / AI-Canvas (Claude, ChatGPT, Grok) Lista de ámbitos

Autenticación y claves

Drei Voreinstellungen

Un clic. Una clave. Un propósito.

Cada preset está configurado para un caso de uso específico: valores predeterminados seguros, ámbitos curados y presupuestos realistas. Todo ajustable en cualquier momento desde el panel de control.

  • DEFAULT Lectura segura

    Permisos estándar seguros para demos simples y herramientas internas: OCR, LLM, Traducción, Documentos, Búsqueda.

    Ámbitos de permiso (Scopes)

    ocr:readllm:generatetranslate:textdocuments:uploaddocuments:readsearch:query
    Comenzar con este preset
  • WIDGET Sitio web público

    Para formularios de contacto, widgets de chat y botones de reserva en el sitio web corporativo.

    Ámbitos de permiso (Scopes)

    knowledge:readwidget:chatwidget:bookingwidget:formswidget:contactwidget:leadwidget:fingerprint
    Comenzar con este preset

Primera llamada API

¿Listo para la primera llamada desde el navegador?

Crear clave, abrir llms-full.txt, insertar prompt — su aplicación llama directamente a API desde Claude, ChatGPT o Grok.

Prefijo propio Sin backend Revocable en cualquier momento
Vídeo

Publishable Keys en acción

Vea cómo funciona Publishable Keys de PaperOffice en la práctica — en vídeo.

Publishable Keys en acción

Preguntas frecuentes

Todo lo importante a primera vista

¿En qué se diferencia po_pk_ de po_sk_?

po_sk_ (Clave secreta) está destinada a la integración de servidor a servidor: acceso completo a API, nunca debe integrarse en el navegador. po_pk_ (Clave publicable) está diseñada para código del navegador: alcance limitado, vinculada al origen y con límite presupuestario. Mismo API, diferente perfil de seguridad.

¿Por qué no usar simplemente un proxy inverso desde el propio backend?

Este es el camino clásico, pero sigue requiriendo un backend. Los AI-Artifacts (Claude, ChatGPT, Grok) están diseñados para operar sin un backend propio. Las claves publicables hacen esto posible sin revelar su clave secreta: los límites se aplican en el lado del servidor.

¿Funciona esto en los artefactos de Claude, a pesar de su sandbox CORS?

Sí. La llamada se realiza directamente desde el navegador; el navegador establece automáticamente el encabezado Origin. PaperOffice no proporciona una lista de proveedores permitidos; ingrese el origen al crear la clave desde las herramientas de desarrollo.

¿Qué ocurre si mi po_pk_ se vuelve públicamente visible?

El daño se mantiene contenido: el bloqueo de origen impide su uso en dominios ajenos, el límite presupuestario detiene el consumo y el límite de tasa ralentiza los accesos automatizados. Revogue la clave en su cuenta; después, API ya no la aceptará.

¿Puedo añadir mi propio dominio como origen permitido?

Sí. Al crear la clave, puede añadir cualquier origen a la lista de permitidos: como host exacto o como comodín de subdominio. El preset WIDGET está diseñado precisamente para esto: registre su propio dominio e incruste widgets de chat, reservas o contacto sin backend.

¿Cómo configuro el presupuesto por clave?

Al crear, seleccione un límite de por vida; las plantillas incluyen una configuración predeterminada. Una vez alcanzado el límite, API devuelve HTTP 402 BUDGET_EXHAUSTED. Puede ajustar este valor en su cuenta en cualquier momento.

¿Necesita un po_pk_ su propio plan tarifario?

No. El Publishable Key es una capa de protección adicional para su cuenta existente: limita alcances, orígenes y presupuesto. La tabla de precios muestra qué plan se adapta a su configuración.

¿Qué endpoints están bloqueados para po_pk_?

HTTP DELETE, así como inicio de sesión de cuenta, administración de usuarios, administración de claves, OAuth, administración de socios, Stripe Checkout y crackeo de contraseñas están bloqueados permanentemente. Están permitidas las API documentadas del producto, incluida la eliminación POST, webhooks, lectura de facturación, importación y CRM. La eliminación de Workspace, el vaciado del papelera y la liberación de retención legal permanecen solo en la interfaz (403 UI_ONLY_ENDPOINT).

¿Dónde desea probar PaperOffice?

Ordenador y smartphone conectados: espacio de trabajo en el ordenador, captura en el teléfono.

Su versión de prueba está lista

¿Dónde desea comenzar?

El espacio de trabajo completo está optimizado para el ordenador. La versión móvil es adecuada para capturar, revisar y aprobar documentos.

app.paperoffice.ai

Comenzar en el ordenador

Le enviaremos su enlace de acceso personal a su dirección de correo electrónico.

Registrarse gratis Abrir aplicación Aplicación PaperOffice El producto completo: web, escritorio y móvil. Capture, organice, busque y trabaje en documentos con su equipo. Se requiere una cuenta gratuita Abrir Playground Playground Pruebe funciones seleccionadas de inmediato — con una clave API de demostración restringida. Con una clave API de demostración restringida