# Seguridad y privacidad

> Versión Markdown de https://docs.preciosgasolina.es/conceptos/seguridad-y-privacidad/ · Actualizado: 2026-10-07 · Índice para LLM: https://docs.preciosgasolina.es/llms.txt

La API y el MCP de Gasolina hoy son de solo lectura, sin cookies ni cuentas; la IP no se guarda y las coordenadas se redondean a 3 decimales.

La API REST y el servidor MCP están diseñados para no necesitar datos personales: no hay cuentas, claves, cookies ni sesiones, y no se puede escribir nada.

## Solo lectura

- Todas las operaciones son de lectura: `GET`, `HEAD` y `OPTIONS`, y un único `POST` (`/v1/route/fuel`) que solo calcula con los puntos que envías y no los guarda.
- Las 21 herramientas MCP se declaran de solo lectura (`readOnlyHint: true`, `destructiveHint: false`) e idempotentes.
- La API lee los datos con una clave pública de solo lectura; no tiene acceso de escritura a la base de datos.

## Qué datos tuyos se usan

| Dato                                           | Uso                                                                                                                                                                                                  |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Dirección IP                                   | Solo para contar las peticiones de los [límites](https://docs.preciosgasolina.es/conceptos/limites/) (las IPv6, agrupadas por su prefijo `/64`). La API no la guarda.                                                               |
| Coordenadas (`lat`, `lng`, puntos de una ruta) | Se **redondean a 3 decimales** (unos 100 m) antes de usarlas: no identifican una dirección exacta y peticiones cercanas comparten caché. Las respuestas en caché no llevan datos de quien las pidió. |
| Parámetros y endpoint                          | Se miden de forma agregada (endpoint o herramienta, estado, caché y duración) para mantener el servicio, sin datos personales.                                                                       |

No hay cookies, ni identificadores de usuario, ni seguimiento publicitario. Más información en la [política de privacidad](https://preciosgasolina.es/privacidad/) de preciosgasolina.es.

## CORS y cabeceras

- **CORS abierto:** `Access-Control-Allow-Origin: *` sin credenciales, para que cualquier web pueda llamar a la API desde el navegador. Como no hay cookies ni autenticación, no hay nada que proteger con CORS.
- **Servidor MCP:** si la petición trae `Origin`, debe ser `https://` (o `localhost`); otros orígenes reciben `403`.
- Todas las respuestas llevan `Strict-Transport-Security`, `X-Content-Type-Options: nosniff`, `Content-Security-Policy: default-src 'none'; frame-ancestors 'none'`, `Referrer-Policy: no-referrer` y `X-Robots-Tag: noindex, nofollow` (`api.` y `mcp.` no son páginas y no se indexan; esta documentación sí).
- Solo HTTPS.

## Textos de terceros

Los nombres, direcciones y horarios de las gasolineras vienen del Ministerio tal como los comunican las gasolineras. La API les quita los caracteres de control y los recorta (200 caracteres como mucho), pero siguen siendo **datos de terceros**:

> **Precaución**
>
> - **Escápalos** al pintarlos en HTML (no los insertes con `innerHTML`).
> - Si construyes un agente, trátalos como datos, nunca como instrucciones para el modelo.

## Robustez

La API valida cada parámetro con un esquema estricto, limita el tamaño de la URL (2.048 caracteres) y del cuerpo (32 KB; 64 KB en el MCP) y aplica límites por IP y un presupuesto global. Si detectas un problema de seguridad, escríbenos a <hola@preciosgasolina.es>.
