Seguridad
Cómo autenticamos requests, qué datos recibimos, qué guardamos y qué no.
Autenticación
Cada cuenta recibe una API key con el formato nd_ seguido de 30 caracteres base62 (a–z, A–Z, 0–9). El prefijo nd_ está pensado para que la key sea fácil de detectar en logs, control de versiones, screenshots y reportes de errores.
La key viaja en el header HTTP X-API-Key de cada request. No la pongas en query strings, fragmentos de URL ni en el cuerpo del request — los parámetros URL aparecen en logs de servidor, historial de navegador y referrer headers.
Todos los endpoints requieren HTTPS. Cualquier request entrante por HTTP plano se rechaza antes de procesar la autenticación. La rotación de keys no es self-serve durante acceso anticipado — contactanos y emitimos una nueva con ventana de migración.
Transporte
TLS 1.2 o superior es obligatorio para todos los endpoints. Las versiones TLS 1.0 y 1.1, además de SSLv2/v3, están deshabilitadas en el balanceador. No hay fallback inseguro: una negociación de protocolo viejo termina con un cierre de conexión.
El dominio normadata.io está enrolado en HSTS preload con max-age=63072000 e includeSubDomains. Los navegadores cargan la lista pre-shipeada con Chrome, Firefox, Safari y Edge y se niegan a abrir cualquier conexión no-HTTPS al dominio, incluso si el usuario tipea http:// a mano.
No exponemos endpoints HTTP de redirección a HTTPS para los hosts de API. Si tu cliente intenta http://api.normadata.io, recibe un fallo de conexión, no un redirect — esto evita protocol downgrade attacks sobre la primera request.
Qué datos recibimos
Cada request a la API contiene tres cosas: el valor que querés validar (el CUIT, el CPF, el RFC, el CBU, etc.), tu API key en el header X-API-Key, y los headers HTTP estándar que tu cliente manda (User-Agent, Accept, Content-Type).
No te pedimos nombre real, identidad ni metadata adicional. No corremos JavaScript en el lado servidor que recolecte fingerprints, ni instalamos pixels ni cookies sobre los endpoints de API — los endpoints son JSON-in / JSON-out y nada más.
Si usás el dashboard web (cuando esté disponible) o tu navegador para ver esta página, aplican las políticas descritas en /privacy. Esta página cubre solo el surface de la API.
Qué guardamos
| Dato | Retención |
|---|---|
| Request payload (PII de tu input — CUIT, CPF, RFC, etc.) | Procesado en memoria. NO persistido en disco ni en base de datos. |
| API key activity (timestamps, path, status code, latencia, hash de key) | 90 días para auditoría y rate limiting. Sin el valor enviado. |
| Request ID + status code (sin payload) | 90 días en logs operacionales para debugging y soporte. |
| Tu billing data (email, plan, método de pago tokenizado) | Mientras tu cuenta esté activa, más el período legal de retención fiscal. |
| Métricas agregadas (volumen, distribución por tipo, tasas de error) | Indefinidamente. Nunca vinculadas a valores individuales. |
Qué NO hacemos
- No retransmitimos tu input a terceros. La validación ocurre 100% adentro de nuestro stack — no llamamos APIs externas pasándoles tu CUIT o tu CPF.
- No vendemos data. Ningún input de clientes, ninguna métrica de uso, ningún identificador. No tenemos contratos de data brokerage. No tenemos un programa de monetización de data.
- No usamos tu input para entrenar modelos. No tenemos modelos de ML entrenados sobre payloads de clientes. La validación es 100% determinística — algoritmos publicados, no inferencia estadística.
- No consultamos registros gubernamentales con tu input. No scrapeamos AFIP, Receita Federal, SAT, ni ninguna autoridad. Solo verificamos que el formato del identificador sea matemáticamente válido.
- No hacemos KYC, KYB ni AML. Normadata es pre-validación de formato — la capa que corre antes de tu proveedor regulado. No somos un sustituto de verificación de identidad.
Certificaciones
Normadata está en acceso anticipado. NO tenemos SOC 2, ISO 27001 ni PCI-DSS certificados todavía. NO hacemos claims que no podemos respaldar.
Cuando avancemos, vamos a publicar certificaciones reales con número de auditor y fecha de emisión. Hasta entonces, lo siguiente es lo que SÍ implementamos hoy:
- TLS 1.2+ con HSTS preload y certificate transparency monitoring.
- Aislamiento de tenants a nivel de API key — cada key es única, hasheada en logs y revocable individualmente.
- Procesamiento de payloads en memoria, sin persistencia a disco de los valores enviados.
- Logs estructurados con retención acotada (90 días) y sin PII de input.
- Backups encriptados de la metadata de cuentas (billing, API keys) — no se backupean payloads porque no se persisten.
- Acceso interno con MFA obligatorio y registro de auditoría sobre cualquier acción administrativa.
Disclosure de vulnerabilidades
Si descubrís una vulnerabilidad de seguridad en Normadata, reportala a security@normadata.io. Incluí descripción del problema, pasos para reproducirlo, impacto potencial y, si tenés, un PoC. security@normadata.io
Política de no-retaliation: no vamos a iniciar acciones legales contra investigadores que reporten en buena fe, sin acceder a data de otros clientes, sin degradar el servicio y dándonos tiempo razonable para responder antes de publicar.
Confirmamos recepción en 3 días hábiles. Seguimos una política de divulgación coordinada de 90 días — pedimos que esperes a que el fix esté shippeado antes de publicar detalles. Acreditamos a los reporters en el changelog (con tu consentimiento) cuando el problema esté resuelto.
¿Pregunta de seguridad? Escribinos a security@normadata.io