Seguridad por diseño, no por marketing
Lo que pasa por dentro cuando subes un chat. Sin lenguaje vago.
Infraestructura física
- Postgres 17 + pgvector: Hetzner Online (Falkenstein, Alemania), servidor dedicado sin exposición pública
- Redis (BullMQ queues): mismo data center, conexión interna privada
- Worker processes: orquestación con healthchecks, restart automático
- Object storage: Cloudflare R2, cifrado en reposo
Cifrado
- En tránsito: TLS 1.2 como mínimo, con TLS 1.3 preferido (HTTPS/HSTS) para web y APIs
- En reposo: los ficheros originales que subes (Cloudflare R2) están cifrados en reposo. La base de datos y las copias de seguridad residen en un servidor dedicado de acceso restringido, sin cifrado de disco: protegemos su contenido con aislamiento de red y control de acceso, no con criptografía
Autenticación y autorización
- Auth: Keycloak self-hosted, realm dedicado para Memchats
- Sesiones: NextAuth v5, JWT con secret rotable, cookies HttpOnly + Secure + SameSite=Lax
- OAuth social: federation con Google (próximamente Apple, Microsoft) gestionada vía Keycloak
- API tokens: app móvil usa Bearer tokens validados contra el JWKS del realm
Subprocessors
Servicios de terceros que procesan datos en nuestro nombre, todos en EU o con SCC firmado:
- Hetzner Online (Alemania): hosting, infraestructura compute
- Cloudflare R2: object storage de archivos de ingesta originales
- Cloudflare DNS: resolución de dominios, y caché de borde de los assets estáticos del sitio público (no de la aplicación ni del contenido de mensajes)
- Google (Gemini, SCC + DPA firmado): modelo de lenguaje para generar respuestas, vía Google AI o Vertex AI. Google NO entrena con los datos enviados por API
- Stripe (Irlanda + USA, SCC firmado): procesamiento de pagos. Memchats no almacena datos de tarjeta
- Sentry (USA, SCC firmado): error tracking. Configurado para no enviar PII ni contenido de mensajes en breadcrumbs
- Mailcow self-hosted (Hetzner Alemania): emails transaccionales y catchall
Anonimización de datos de terceros
Cuando importas un chat con María (que no firmó consentimiento), Memchats:
- El contacto se muestra con el nombre que tú le pongas, no con su número ni su email
- Sus datos quedan bajo tu cuenta y no se comparten con otras cuentas ni se usan para entrenar modelos
- Si María solicita borrado vía dpo@memchats.com, lo procesamos en 30 días
Privacidad en LLM calls
Cuando Memchats consulta al modelo (Gemini, de Google) para generar la respuesta de un asesor:
- Solo se envía el contexto necesario (memoria estructurada relevante + últimos N mensajes)
- Google no entrena con los datos enviados por API y hay contrato de no-retención firmado
Acceso y operaciones
- Acceso a producción restringido al fundador via Tailscale + autenticación SSH con key
- Acceso operativo restringido al fundador; no se consulta el contenido de tus mensajes salvo que tú lo pidas para resolver una incidencia
- Logs operativos sin contenido de mensajes
Disclosure y bug bounty
Si encuentras una vulnerabilidad, escríbenos a security@memchats.com. Respondemos en 48h. Bug bounty informal (€50-€1000 según severidad) para vulnerabilidades reales. Por favor, no hagas pruebas en cuentas de otros usuarios; usa tu propia cuenta o crea una de prueba.
Certificaciones
- RGPD: cumplimiento por diseño, contacto de privacidad en dpo@memchats.com
- SOC 2 Type II: en plan para 2027 (cuando tengamos compliance budget)
- ISO 27001: roadmap 2027-2028 si validación enterprise lo requiere
Estado del servicio
Todavía no tenemos página de estado automatizada. El mantenimiento programado y cualquier incidencia que afecte al servicio se anuncian aquí y por email a las cuentas afectadas. Si ves algo caído y no hay aviso, escríbenos a hola@memchats.com.
Última auditoría
Pendiente primera auditoría externa (planificada Q4 2026 con bufete EU especializado). Mientras tanto, escríbenos a dpo@memchats.com y te contamos cómo funciona por dentro.