Autenticación

API key

Tu API key es una cadena con prefijo de marca (veriko_) seguida de 64 caracteres hexadecimales generados aleatoriamente. Se utiliza para firmar las acciones que realizas en la plataforma. En el servidor se guarda totalmente cifrada (nunca en texto plano) y solo se muestra UNA vez al generarla.

Detalle completo en: Autenticación de la API

Manejo de datos sensibles

Números de cuenta (CLABE, tarjeta, celular)

Las cuentas beneficiarias se guardan en user_beneficiaries.account_number y dentro del JSON request_data de cada validación. No las cifrarmos a nivel de columna.

Imágenes subidas

Las imágenes que subes, pasan por un proceso de sanitización antes de tocar el servidor principal. Es importante las tengas en cuenta para cualquier petición:

  1. Tamaño: 40 bytes mínimo, 12 MB máximo.
  2. Formato: Solo JPEG/PNG/WebP.
  3. Cross-check MIME.
  4. Parse estructural: Caps de dimensión (12000 px por eje, 60 megapíxeles totales).
  5. Escaneo polyglot: rechaza payloads maliciosos.
  6. Eliminación de metadata: EXIF, XMP, ICC profiles, text chunks (PNG), VP8X chunks (WebP), etc.
  7. Entre otros mecanísmos de seguridad.

Para imágenes recuperadas vía image_url, se endurece la salida: HTTPS-only, HTTP con SSRF y Protección DNS, redirects limitados, verificación estricta de certificados SSL, cap de tamaño vigilado en stream, entre otros mecanísmos de seguridad.

Webhooks salientes

Los eventos que mandamos a tus endpoints se firman con HMAC-SHA256 sobre el body JSON, usando un secret por endpoint que tú generas y rotas en el panel. La firma viaja en:

X-Webhook-Signature: sha256=<hex>

Detalle completo en: Arquitectura de webhooks.

Retención

Estos son tiempos de retención de Veriko conforme a la Ley Federal de Protección de Datos Personales en Posesión de los Particulares (LFPDPPP):

  • Comprobantes OCR: 30 días. Los archivos huérfanos se barren periódicamente.
  • idempotency_keys: Cada hora (TTL por scope, 24h para validaciones).
  • otp_codes: Cada hora se borran OTPs vencidos.
  • notifications y notification_deliveries: Limpieza diaria.
  • telegram_link_tokens: Cada hora.
  • webhook_ingress_events.raw_payload: 30 días.
  • audit_log: 1 año.

Las validaciones (validations) y los beneficiarios (user_beneficiaries) no tienen retención automática — son tu historial y permanecen hasta que tú los borres explícitamente.

Soporte de cumplimiento

Si tu equipo necesita coordinar una revisión de seguridad, un cuestionario de proveedor (vendor assessment), un acuerdo de procesamiento de datos, o una solicitud de borrado vía un usuario final, contacta al equipo de seguridad por el canal que figura en tu contrato.

Si tu proceso requiere SOC 2, ISO 27001 u otra atestación formal, pregunta por el estado actual antes de integrar.