<!--
  AUTO-GENERADO por scripts/import-corpus.mjs a partir de manuales/corpus/ — NO EDITAR A MANO.
  Para cambiar este contenido: edita manuales/neutros/*.html, regenera el corpus
  (manuales/build-corpus.mjs) y vuelve a ejecutar "pnpm run import:corpus".
  Fuente: manuales/neutros/50-manual-claves-api.html#seccion-6
-->

Cada clave tiene una lista opcional de **orígenes permitidos**: los dominios (hostnames) desde los que se acepta usarla cuando la petición llega con cabecera `Origin` (es decir, desde un navegador). El formato es el **hostname desnudo**, sin `https://` ni ruta — por ejemplo `miapp.midominio.es`, nunca `https://miapp.midominio.es/`.

**Vacía = sin restricción de origen** (el valor por defecto, y el que muestra la columna «Orígenes permitidos» como **«Sin restricción»**): la clave funciona desde cualquier sitio. Restringir el origen tiene sentido cuando la clave se va a usar **desde un frontend en el navegador** (por ejemplo, un widget propio que llama a la API con esta clave incrustada) y quieres reducir el daño si esa clave se filtrara — limita desde qué dominios web se puede usar.

> **Nota — No es una defensa contra todo**
>
> La comprobación de origen solo se aplica cuando la petición **trae** la cabecera `Origin` (típico de un navegador). Una llamada servidor-a-servidor —el uso principal de una clave de API— normalmente no envía esa cabecera, así que pasa igual aunque la lista de orígenes esté restringida. Es una capa contra el abuso desde un navegador, no el secreto principal que protege la clave: ese sigue siendo la propia clave.

El formulario «Nueva clave» (apartado 4) trae el campo **«Orígenes permitidos»** ya relleno con `*` — no hace falta tocarlo si te vale con «sin restricción». Para restringir, sustitúyelo por una lista de hostnames separados por comas (por ejemplo `miweb.com, app.miweb.com` — cada uno cubre también sus subdominios), sin `https://` ni barras; el límite es de **50 orígenes** por clave. Un valor que no sea un hostname válido (con `https://`, con ruta, con espacios…) da un error inmediato en el propio formulario, antes de enviar el código.

![Modal Nueva clave de API con el campo Orígenes permitidos con el valor «*» y, debajo, el texto de ayuda completo: «Limita desde qué webs se puede usar esta clave en peticiones hechas desde el navegador (protege frente a un uso no autorizado desde otro sitio). «*» = cualquier origen. Para restringir, sustitúyelo por una lista de hostnames separados por comas, sin «https://» (p. ej. «miweb.com, app.miweb.com»; cada uno cubre también sus subdominios). No afecta a peticiones servidor-a-servidor: si la petición no lleva cabecera Origin, esta clave sigue funcionando igual.»](/captures/apikeys-form-origenes.png)