Centro de confianza

Respuestas cortas y honestas a las preguntas que hará tu equipo de seguridad.

Publicamos lo que hacemos y, igual de importante, lo que no hacemos. Sin retargeting de escaneadores, sin píxeles de terceros, sin IPs en crudo ni user agents en nuestra base de datos, nunca. Para el desglose detallado de residencia de datos ver /security/; para uptime en tiempo real ver /status/.

1. Analíticas con privacidad por diseño

Conforme a ADR-0004, el pipeline de escaneos nunca registra una IP ni un User-Agent en crudo. Al ingestar, leemos CF-IPCountry (país) y pasamos el UA por una expresión regular de tipo de dispositivo (mobile / tablet / desktop / unknown), luego descartamos la cadena en crudo. Los datos a nivel de ciudad son un rollup agregado tomado de request.cf.city, sin fila por escaneo, sin identificador que se pueda unir. Los agregados de país con menos de 5 escaneos se agrupan en "Other" para evitar la reidentificación.

2. Backups cifrados

Cada noche a las 03:00 UTC un Worker separado hace un snapshot de D1 en R2. Los backups se cifran con AES-GCM usando una clave de datos rotada por KDF envuelta por BACKUP_ENCRYPTION_KEY. Cada bundle lleva un digest SHA-256 + manifiesto para la detección de manipulaciones (ver la tabla backups). Retención: 7 años para tenants Pro. La clave de cifrado se guarda en tres copias independientes (secreto del Worker, vault de 1Password, copia offline sellada), perder las tres haría irrecuperables los backups históricos, así que la tratamos como un punto único de verdad operativa.

3. API Shield + CSP estricto

Nuestra especificación pública OpenAPI 3.1 está subida a Cloudflare API Shield y cada solicitud a /api/* se valida contra ella. La deriva del esquema se elimina mediante un hook post_deploy que vuelve a subir la especificación en cada despliegue en producción. En el frontend, una Content Security Policy estricta prohíbe los scripts inline en todas partes, cada página referencia su JS mediante <script src>, y nuestro make check previo al despliegue se niega a publicar una página que viole la regla.

4. Log de auditoría + libro mayor GDPR

Cada mutación (creación/edición/eliminación de código, invitación de equipo, emisión de clave, cambio de plan, edición de webhook) escribe una fila append-only en audit_log con actor, scope y marca de tiempo, retenido 180 días y purgado por el sweeper. El libro mayor de solicitudes GDPR (gdpr_requests) registra cada exportación / eliminación / restauración; las filas sobreviven a la eliminación de cuenta (FK ON DELETE SET NULL, correo preservado) para que podamos demostrar el cumplimiento en tiempo de cada solicitud estatutaria años después de que la cuenta haya desaparecido.

5. Protecciones de autenticación

La autenticación se delega a la capa de identidad compartida de abundera.ai (JWT EdDSA mediante JWKS). Disponible para los clientes Pro:

  • 2FA (TOTP), contraseñas de un solo uso basadas en tiempo RFC 6238, cualquier app de autenticación estándar, códigos de backup emitidos en el registro.
  • SSO SAML 2.0, Okta, Entra ID, JumpCloud, Google Workspace, IdPs personalizados. Disponible en Team+ (incluido en Agency/Enterprise).
  • Aprovisionamiento SCIM 2.0, ciclo de vida de usuarios + grupos RFC 7643/7644, limitado por tasa por token, registrado en auditoría. Desactivado por defecto; habilitado por cliente.
  • Claves API, Business+, almacenadas como sha256(raw); el valor abnd_qrpro_... en crudo solo se devuelve en la creación y nunca más.

6. Subencargados

La lista corta: Cloudflare (alojamiento, D1, KV, R2, API Shield), Stripe (pagos), Zoho / ZeptoMail (correo transaccional), Twilio (verificación de teléfono + SMS). Ver /trust/subprocessors/ para la lista canónica con regiones, categorías de datos y nuestro compromiso de notificación de cambios con 30 días de antelación.

7. Acuerdo de Procesamiento de Datos

Nuestro DPA alineado con GDPR (SCCs de la UE, addendum para el Reino Unido, addendum para la FADP suiza) está disponible para descargar en abundera.ai/legal/dpa/. Se aplica automáticamente a todos los tiers de pago, sin contrafirma separada requerida a menos que tu proceso de aprovisionamiento lo exija (firmamos bajo petición en legal@abundera.ai).

8. SOC 2

SOC 2 Tipo II, en curso, objetivo Q3 2026. Estamos en fase de definición de alcance / planificación de la ventana de observación con una firma auditora de primer nivel. Hasta que se emita el informe no mostraremos ningún badge de SOC 2. Si la finalización del SOC 2 es un requisito estricto de aprovisionamiento para ti hoy, escribe a enterprise@abundera.ai, podemos compartir la evidencia de controles actuales, el borrador de descripción del sistema y la fecha proyectada de atestación bajo NDA.

9. Sin píxeles de terceros, nunca

Esta es una promesa fundamental y un límite del producto, no un valor predeterminado que podríamos cambiar en silencio. No inyectamos Google Analytics, Google Tag Manager, Meta Pixel, TikTok Pixel, LinkedIn Insight, Hotjar, FullStory ni ningún otro rastreador de terceros, ni en nuestras respuestas de redirección, ni en nuestras páginas de destino alojadas, ni en las superficies del panel que ven tus escaneadores. Tus escaneadores nunca son objeto de retargeting. Si necesitas atribución basada en píxeles en tu propio destino, añade tus propios parámetros UTM (o píxeles) a la URL de destino; nosotros nos mantenemos al margen. La redirección en sí es un 302 de nuestro worker a tu URL, nada más se ejecuta.

10. Divulgación responsable

¿Encontraste algo? Empieza por /.well-known/security.txt para el contacto actual, la clave PGP y el alcance. Escribe a security@abundera.ai, acusamos recibo en 24h (días hábiles), hacemos el triaje en 72h y coordinamos la corrección + divulgación contigo. Los investigadores que reporten de buena fe reciben reconocimiento público en abundera.ai/security/thanks/ una vez publicada la corrección.

11. Estado + uptime

El estado en tiempo real, la salud de los componentes y el historial de incidencias están en /status/. La ruta de redirección se monitoriza cada 5 minutos desde un Worker externo; los componentes degradados o caídos se reflejan en la página de estado en un ciclo de sondeo.