Manifiesto Técnico de Seguridad
Los datos de tus clientes
jamás nos pertenecen.
Verifika fue diseñado con un principio arquitectónico no negociable: el comprobante de pago jamás toca un disco, una base de datos, ni ningún sistema de almacenamiento externo.
Flujo de procesamiento
Cada comprobante se destruye en <3 segundos.
Garantía arquitectónica, no solo operacional: Supabase Edge Functions ejecuta Deno en isolates efímeros sin acceso a filesystem persistente. Incluso si el código intentara escribir a disco, la plataforma lo impediría.
Qué guardamos y qué no
Nunca almacenamos la imagen original.
- —Imagen original del comprobante
- —Nombre del remitente
- —Número de cuenta del pagador
- —Cualquier PII extraído por la IA
- —Texto crudo de respuesta del modelo
- ·Puntaje de autenticidad (0–100)
- ·Veredicto (LEGÍTIMO / SOSPECHOSO / INCIERTO)
- ·Hash SHA-256 (unidireccional, sin datos originales)
- ·Banco detectado + país
- ·Canal de análisis (web / api / widget)
El número de referencia de transacción se guarda para detección de doble gasto, cifrado en tránsito vía TLS 1.3. Los hashes SHA-256 son unidireccionales: no permiten reconstruir los datos originales.
Controles de seguridad
Seis capas de protección activas.
API Keys almacenadas como hash SHA-256. La llave en texto plano nunca se persiste. Llaves publicables restringidas a dominios registrados.
Cuota gratuita anónima: 3 análisis por IP/mes. Con API Key o sesión: medición por créditos (1 crédito por análisis; los comprados no expiran). Cada llamada a la IA tiene timeout de 55s.
X-Content-Type-Options · CSP: default-src 'none' · HSTS 2 años · Cache-Control: no-store · Permissions-Policy
safeLog() filtra datos sensibles antes de cualquier emisión. Sin imagen, sin nombre, sin texto crudo del modelo en producción.
Contenido del comprobante en sandbox [DATO_EXTERNO_INICIO] / [FIN] con instrucción explícita al modelo de ignorar texto con apariencia de instrucción.
Header X-Verifika-Signature: sha256=<hex> en cada notificación. Permite al receptor validar integridad del payload.
Headers HTTP emitidos
Cada respuesta de API los incluye.
X-Content-Type-Options: nosniff Referrer-Policy: no-referrer Content-Security-Policy: default-src 'none' Strict-Transport-Security: max-age=63072000; includeSubDomains; preload Cache-Control: no-store Permissions-Policy: camera=(), microphone=(), geolocation=()
Auditoría & pruebas automatizadas
Verificado en cada cambio de código.
La seguridad no es una promesa estática: cada push y cada Pull Request dispara un pipeline de QA & Security en GitHub Actions que audita el código y bloquea el merge si algo falla.
Reglas OWASP, detección de secretos, XSS e inyección sobre todo el repositorio. Última corrida: 0 hallazgos.
Auditoría de dependencias en cada build. Última corrida: 0 vulnerabilidades.
Un check automático inspecciona las Edge Functions y falla el build si alguna intentara escribir a disco (Deno.writeFile, makeTempFile, etc.).
Script que inyecta 100 peticiones simultáneas y luego escanea disco (/tmp, proyecto) en busca de imágenes/PDF residuales. Pasa solo si el disco queda limpio.
Infraestructura
Stack seguro por diseño.
Divulgación responsable
¿Encontraste una vulnerabilidad?
Reporta de forma privada antes de divulgar públicamente. No publiques vulnerabilidades como issues en GitHub. Los reportes válidos pueden recibir créditos gratuitos como agradecimiento.
Versión 1.0 · 2026-07-19 · Verifika by Kitifica
Volver a verifika.app