Cómo protegemos tu información.
Página técnica para auditores, partners bancarios, reguladores y usuarios que quieren saber qué hay debajo. Resumen ejecutivo + el stack completo + roadmap de certificaciones.
Resumen ejecutivo
- HTTPS/TLS en todas las comunicaciones cliente-servidor con HSTS 2 años.
- 2FA TOTP opcional para todo usuario, obligatorio para staff con acceso al panel admin.
- Sesiones revocables individualmente — JWT corto (7d) + session id en cada token verificable contra DB.
- Audit log inmutable append-only de cada acción admin: actor, target, razón, metadata, timestamp.
- Role-based access control en 4 niveles (USER / SUPPORT / MODERATOR / ADMIN) con herarchical checks por endpoint.
- Documentos KYC (cédula + selfie) con acceso restringido por rol y logueado en audit.
- Cumplimiento Ley 8968 (PRODHAB) con derechos ARCO + portabilidad + derecho al olvido in-app (anonimización inmediata).
Familias de controles
Autenticación
- OTP de 6 dígitos vía WhatsApp Business Cloud API (usuarios) o Resend (staff)
- OTP almacenado como hash SHA-256, nunca texto plano
- Códigos válidos 10 minutos, máximo 5 intentos
- TOTP RFC 6238 opcional/obligatorio según rol
- Rate limiting estricto por número/email + por IP
- Bloqueo automático tras intentos fallidos
Sesiones
- JWT firmado HS256 con TTL 7 días
- Cada token lleva un session id verificable server-side
- Revocación individual por dispositivo desde /me
- Revocación de todos los otros con un click
- Última actividad trackeada con throttling 1/min
- Logout server-side al cerrar sesión
Autorización
- RBAC hierárquico: USER < SUPPORT < MODERATOR < ADMIN
- Per-endpoint requireRole guard
- ADMIN_PHONES / ADMIN_EMAILS env como lockout protection del founder
- Self-protection: no podés bajarte el propio rol ni banearte
- Solo MODERATOR+ ve cédulas/selfies KYC
- Audit log de cada decisión destructiva
Datos y privacidad
- PII (teléfono, email, nombre) almacenado en DB encriptada at-rest (Railway)
- TLS in-transit a toda comunicación interna
- Documentos KYC en Cloudinary con acceso restringido por rol
- Anonimización inmediata al ejercer derecho al olvido
- Backups encriptados con retención 7 días
- Retención fiscal de tx 10 años por Código de Comercio CR Art. 251
Headers de seguridad
- HSTS max-age 2 años + includeSubDomains
- Content-Security-Policy restrictivo (Cloudinary + API origin allow-listed)
- X-Frame-Options DENY (no embedding)
- X-Content-Type-Options nosniff
- Referrer-Policy strict-origin-when-cross-origin
- Permissions-Policy bloqueando features no usadas
Detección y respuesta
- Audit log forensic-grade append-only (AdminAction)
- Rate limiting + lockout por endpoint
- Reportes coordinados (brigading) detectados automáticamente
- Reauth requerida para acciones admin destructivas
- Logs estructurados con timestamps + actores
- Plan de respuesta a incidentes documentado internamente
Alineación con Norma Técnica BCCR (NT-RCS)
En Fase 1 Simp no participa formalmente en SINPE (no movemos plata, no somos afiliados al BCCR). Adoptamos voluntariamente las 16 familias de controles de la NT-RCS Edición 7 (vigente desde 11/02/2026) para que la transición a Fase 3 — custodia con partner bancario, participación formal — no requiera rehacer la arquitectura.
~80% de los controles ya tienen una implementación o equivalente funcional. El 20% restante son procesos formales (políticas escritas, runbooks, ejercicios anuales, certificaciones del auditor — CISA/CISM/CISSP/ISO 27001 LA) que tienen sentido cerrar cuando el equipo crezca o cuando llegue Fase 3 con partner bancario regulado.
Documento de referencia: NT-RCS Edición 7 — Vigencia 11/02/2026 (BCCR). En Fase 3 contemplamos categorización formal (Categoría 1, por uso de web services) + atestación anual por auditor con CISA, CISM, CISSP o ISO 27001 Lead Auditor, presentada al BCCR antes del 30 de junio de cada año.
Responsable de protección de datos (DPO)
Digital Green Wise (operadora de Simp Cash) actúa como responsable del tratamiento bajo Ley 8968. Para ejercer derechos PRODHAB, denuncias, o consultas formales:
simpcashcr@gmail.comRoadmap de certificaciones
- Cumplimiento Ley 8968 PRODHAB
- OWASP Top 10 baseline (2025)
- Alineación voluntaria con Norma Técnica BCCR de Ciberseguridad para SINPE (controles núcleo)
- Penetration test externo · Fase 1.5
- Integración Equifax CR · validación SINPE nacional (Fase 2)
- SOC 2 Type I · Q3 2026
- SOC 2 Type II · 2027
- SUGEF compliance + adhesión formal BCCR · cuando entremos en Fase 3 (escrow real)
Encontraste una vulnerabilidad
Te pedimos divulgación responsable: avisanos primero a nosotros antes de hacerla pública. Comprometemos:
- Acuse de recibo en máximo 24 horas.
- Triage + remediación según severidad (críticas en horas, altas en días, medias en semanas).
- Crédito público en agradecimientos si lo querés.
- Sin acciones legales contra investigadores de buena fe.
Fuera de alcance: ataques DoS, social engineering al equipo, ataques físicos, escaneo de puerto sin autorización. Dentro de alcance: vulnerabilidades en simpcash.com, api.simpcash.com, las apps móviles, y nuestro uso de Cloudinary/Meta/Resend.
Stack técnico (sin secretos)
- Frontend
- Next.js 16 (App Router) + Tailwind 4
- Backend
- Node.js + Express + Prisma ORM
- Base de datos
- PostgreSQL (Railway managed)
- Hosting web
- Vercel
- Hosting API
- Railway
- Imágenes
- Cloudinary CDN
- Resend
- WhatsApp OTP
- Meta WhatsApp Business Cloud API
- Auth
- JWT HS256 + sesiones server-side + TOTP RFC 6238
- Mobile
- React Native + Expo SDK 56
- Code repo
- GitHub privado
- CI/CD
- Vercel + Railway auto-deploy desde GitHub