Política de privacidad / Privacy policy
Qué guarda el servidor, dónde y por cuánto tiempo. / What the server keeps, where and for how long.
Resumen
Burs-IA Utils es un servidor MCP y HTTP gratuito y sin llave con 482 funciones deterministas. No hay cuentas, ni cookies, ni rastreo: no usamos analítica, píxeles ni publicidad de terceros. Las herramientas son funciones puras: no hacen llamadas de red, así que lo que envías no sale hacia otros servicios desde ellas. Los argumentos y resultados se procesan en memoria durante la llamada y no se guardan; la única excepción son los textos de búsqueda y los nombres de herramienta inexistentes, que se cuentan en agregado como explica la tabla.
Qué guarda el servidor y por cuánto tiempo
| Dato | Qué contiene | Dónde | Cuánto tiempo |
|---|---|---|---|
Registro TOOL_CALL | Una línea por llamada a una herramienta con: herramienta (nombre del catálogo, o «unknown» si el nombre no existe), endpoint, grupo, transporte (mcp/http), ok, código de error, duración en ms, origen estimado (interno/externo) y hora (UTC). Sin IP, sin argumentos, sin resultados, sin user-agent y sin cabeceras. El origen es una heurística sobre cabeceras que cualquiera puede enviar: una estimación, no una identificación. | Salida estándar del proceso → registros de Railway | 30 días (plan Pro de Railway; fuente). |
| Demanda agregada | Búsquedas (buscar, find_tool, /tools?q=) y nombres de herramienta inexistentes, normalizados y con datos personales enmascarados (correos, teléfonos, números largos, tokens…). Se cuentan clientes y redes solo como huellas SHA-256 con una sal que cambia cada día UTC. Un texto se publica o registra solo si lo enviaron al menos 3 clientes distintos y 3 redes distintas el mismo día: /stats/demand muestra solo conteos y etiquetas de un vocabulario fijo; una línea diaria privada BURSIA_UTILS_DEMAND_DAILY lista hasta 50 de esos textos de búsquedas sin resultado y hasta 50 nombres inexistentes (100 en total como máximo), con su conteo. | Memoria del proceso; la línea diaria, en los registros de Railway | En memoria: hasta 9 días (hoy y los 8 días UTC anteriores) o hasta que el servidor se reinicia; la sal diaria se borra al cambiar el día. Línea diaria: 30 días (plan Pro de Railway; fuente). |
| Contadores de uso | Conteos por hora: llamadas por herramienta y resultado, rechazos por código, rutas de descubrimiento y el tipo de cliente en 5 categorías (agente de IA, cliente MCP, rastreador, monitoreo, desconocido) deducido del user-agent, que no se guarda. /stats publica estos conteos; los clientes únicos, solo de días cerrados y redondeados a 5. Para contar clientes únicos (en total y de onda-traducir) se guardan huellas SHA-256 de la clave del cliente con la sal diaria. | Memoria del proceso | Conteos por hora: 8 días. Huellas de clientes: hasta cambiar el día UTC (la sal se borra), o hasta reiniciar. |
| Limitador de uso | Por cliente, una clave = SHA-256 de la IP (IPv6 agrupada por /64) con una sal aleatoria de cada proceso, y su saldo de fichas (por defecto 120 por minuto, ráfaga 60). Además, durante 60 s: las claves cuyas llamadas agotaron tiempo o memoria, y la huella SHA-256 de (herramienta + entrada) de una entrada que tumbó un proceso, para no ejecutarla otra vez. Nunca la IP en claro. | Memoria del proceso | La clave se borra tras 10 minutos sin actividad; las de 60 s, a los 60 s; todo, al reiniciar. |
proxy_shape | Cuántas entradas trae X-Forwarded-For y cuántos valores distintos hay en cada posición, comparados como huellas con sal en memoria. Solo conteos: /stats muestra la ventana anterior en rangos (0, 1, 2-9, 10-99, 100+) y una línea PROXY_SHAPE por hora registra las cifras exactas. | Memoria; la línea horaria, en los registros de Railway | Huellas: se borran cada hora. Línea: 30 días (plan Pro de Railway; fuente). |
| Otras líneas del proceso | Al arrancar: versión, número de herramientas y qué cabecera usa el limitador (nunca la IP). Errores internos sin datos de la petición. Si el operador activa LOG_REQUESTS (apagado por defecto): método, ruta genérica, estado y duración. | Registros de Railway | 30 días (plan Pro de Railway; fuente). |
| Registros HTTP de Railway | Railway, el proveedor de alojamiento, registra por su cuenta cada petición HTTP: IP del cliente, método, host, ruta completa, estado, user-agent, identificador de petición, hora y región del borde. Este servidor no los controla. Una búsqueda enviada como GET /tools?q=… puede quedar ahí junto a la IP: prefiera POST /mcp (buscar o find_tool), que lleva la consulta en el cuerpo. | Railway | 30 días (plan Pro de Railway; fuente). |
| Tu navegador | La página /puerta guarda solo tu idioma preferido en localStorage (bursia-lang); no se envía al servidor. Estas páginas no usan scripts. | Tu navegador | Hasta que lo borres. |
Para qué
Operar el servicio, aplicar el límite de uso justo, protegerlo de abusos y saber qué herramientas faltan. No vendemos ni compartimos datos con fines comerciales y no creamos perfiles.
Terceros
Railway aloja el servidor y su borde de red; procesa las peticiones en tránsito y guarda sus registros HTTP según su plan (registros, privacidad de Railway). No usamos otros proveedores para estos datos.
Qué datos enviar
Envía solo lo necesario. Los validadores de documentos (NIT, RFC, CPF, cédula…) revisan el número en memoria y no lo guardan, pero viaja por la red de Railway. Si no necesitas un dato personal real, usa uno de ejemplo.
Tus opciones
Como no guardamos identificadores, normalmente no podemos asociar un registro a una persona. Puedes escribirnos para preguntar qué hay o pedir que se borre lo que se pueda identificar. El servicio no está dirigido a menores de 13 años.
Contacto
founder@burs-ia.com
Cambios
Esta política describe la versión 1.6.3 del servidor (actualizada el 2026-11-01). Si cambia lo que guardamos, la cambiamos aquí antes o al mismo tiempo.
Summary
Burs-IA Utils is a free, keyless MCP and HTTP server with 482 deterministic functions. No accounts, no cookies, no tracking: no third-party analytics, pixels or ads. The tools are pure functions with no network access, so what you send is not passed on to other services by them. Arguments and results are processed in memory during the call and are not kept; the only exception is search texts and unknown tool names, which are counted in aggregate as the table explains.
What the server keeps and for how long
| Item | What it holds | Where | How long |
|---|---|---|---|
TOOL_CALL log | One line per tool call with: tool (catalog name, or "unknown" if the name does not exist), endpoint, group, transport (mcp/http), ok, error code, duration in ms, estimated origin (internal/external) and time (UTC). No IP, no arguments, no results, no user-agent and no headers. The origin is a heuristic over headers anyone can send: an estimate, not an identification. | Process standard output → Railway logs | 30 days (Railway Pro plan; source). |
| Aggregated demand | Searches (buscar, find_tool, /tools?q=) and unknown tool names, normalized and with personal data masked (emails, phones, long numbers, tokens…). Clients and networks are counted only as SHA-256 fingerprints with a salt that changes every UTC day. A text is published or logged only if at least 3 distinct clients and 3 distinct networks sent it on the same day: /stats/demand shows only counts and labels from a fixed vocabulary; one private daily BURSIA_UTILS_DEMAND_DAILY line lists up to 50 such zero-result search texts and up to 50 unknown tool names (at most 100 in total), with their count. | Process memory; the daily line in Railway logs | In memory: up to 9 days (today and the 8 previous UTC days) or until the server restarts; the daily salt is wiped when the day changes. Daily line: 30 days (Railway Pro plan; source). |
| Usage counters | Hourly counts: calls per tool and outcome, rejections per code, discovery routes and the client type in 5 categories (AI agent, MCP client, crawler, monitoring, unknown) derived from the user-agent, which is not kept. /stats publishes these counts; unique clients only for closed days, rounded to 5. To count unique clients (overall and of onda-traducir), SHA-256 fingerprints of the client key with the daily salt are kept. | Process memory | Hourly counts: 8 days. Client fingerprints: until the UTC day changes (the salt is wiped), or until restart. |
| Rate limiter | Per client, a key = SHA-256 of the IP (IPv6 grouped by /64) with a random per-process salt, and its token balance (by default 120 per minute, burst 60). Also, for 60 s: keys whose calls ran out of time or memory, and the SHA-256 fingerprint of (tool + input) of an input that killed a worker, so it is not run again. Never the raw IP. | Process memory | A key is dropped after 10 idle minutes; the 60 s entries after 60 s; everything on restart. |
proxy_shape | How many X-Forwarded-For entries arrive and how many distinct values each position has, compared as salted fingerprints in memory. Counts only: /stats shows the previous window in ranges (0, 1, 2-9, 10-99, 100+) and one hourly PROXY_SHAPE line records the exact figures. | Memory; the hourly line in Railway logs | Fingerprints: wiped every hour. Line: 30 days (Railway Pro plan; source). |
| Other process lines | At startup: version, number of tools and which header keys the limiter (never the IP). Internal errors without request data. If the operator turns on LOG_REQUESTS (off by default): method, generic route, status and duration. | Railway logs | 30 days (Railway Pro plan; source). |
| Railway HTTP logs | Railway, the hosting provider, logs every HTTP request on its own: client IP, method, host, full request path, status, user-agent, request id, time and edge region. This server does not control them. A search sent as GET /tools?q=… can appear there next to the IP: prefer POST /mcp (buscar or find_tool), which carries the query in the body. | Railway | 30 days (Railway Pro plan; source). |
| Your browser | The /puerta page stores only your preferred language in localStorage (bursia-lang); it is not sent to the server. These pages use no scripts. | Your browser | Until you clear it. |
Why
To run the service, apply the fair-use rate limit, protect it from abuse and learn which tools are missing. We do not sell or share data for commercial purposes and build no profiles.
Third parties
Railway hosts the server and its network edge; it processes requests in transit and keeps its HTTP logs per plan (logging, Railway privacy). We use no other providers for this data.
What to send
Send only what is needed. The ID validators (NIT, RFC, CPF, cédula…) check the number in memory and do not keep it, but it travels through Railway's network. If you do not need a real personal number, use a sample one.
Your choices
Because we keep no identifiers, we usually cannot link a record to a person. You can write to us to ask what exists or to have anything identifiable deleted where possible. The service is not directed at children under 13.
Contact
founder@burs-ia.com
Changes
This policy describes server version 1.6.3 (updated 2026-11-01). If what we keep changes, we change it here first or at the same time.