Manejo de datos
Qué almacena Percus
Percus almacena los siguientes datos en su infraestructura:
| Dato | Dónde | Notas |
|---|---|---|
| Cuentas de usuario | Identity Service (PostgreSQL) | Correo, nombre, asignaciones de roles — proporcionados al iniciar sesión con Google OAuth |
| Metadatos de organización | Identity Service | Nombre, configuración |
| Proyectos y templates | Campaign Service (PostgreSQL) | Nombres de proyectos, descripciones, archivos de template (Lottie JSON, manifests, archivos de video) |
| Assets de templates | S3 | Archivos de animación, imágenes, video — cifrados en reposo |
| Credenciales de API | Campaign Service | Clave de API almacenada en texto claro; secreto de API almacenado como hash unidireccional |
| Eventos de auditoría | Campaign Service | Quién realizó qué acción y cuándo |
Percus no almacena PII de clientes finales — los datos de los usuarios finales utilizados para personalizar cada video (nombres, saldos, números de cuenta, etc.) nunca son transmitidos ni persistidos en los servidores de Percus.
Cómo se manejan los datos de personalización
La arquitectura de renderizado de Percus está diseñada para que el PII permanezca en el navegador.
Sistema del cliente Infraestructura de Percus
───────────────────────────────────── ────────────────────────────────────
Página host (sitio web del cliente) Campaign Service
└── percus-embed-sdk └── Archivos de template (S3)
└── postMessage PERCUS/INIT └── servidos al iframe
└── data: { nombre, saldo }
↑
Solo en memoria.
Nunca se envía a Percus.
↓
<iframe> (Percus Player)
└── BindingEngine.applyBindings()
└── PII fusionado con el JSON del template
└── Renderizado en el navegador
└── PII descartado tras el render
Propiedades clave de este modelo:
- Los datos de personalización se pasan directamente desde la página host al iframe del player mediante
postMessage. - El Percus Player mantiene los datos en memoria solo durante la fase de binding.
- Los datos nunca se escriben en
localStorage,sessionStorage, logs ni ninguna solicitud de red. - Los mensajes de error emitidos por el player son sanitizados para garantizar que ningún valor de datos aparezca en los payloads de
PERCUS/ERROR. - Una vez completado el binding y renderizada la animación, el objeto de datos ya no es referenciado.
Esto significa que una brecha en la infraestructura de Percus no expone los datos de personalización de los clientes finales, porque esos datos nunca estuvieron allí.
Archivos de template
Los archivos de template (Lottie JSON, manifests, archivos de video) subidos por los motion designers se almacenan en S3 con cifrado del lado del servidor. Contienen estructura de animación y definiciones de binding — no datos de clientes.
Secretos de API
Cuando se crea una credencial de API, el secreto se devuelve una sola vez y no se almacena en forma recuperable. Percus almacena únicamente un hash unidireccional. Si se pierde un secreto, debe rotarse — no puede recuperarse.
Residencia de datos
La infraestructura de Percus corre en AWS. La región de AWS específica se determina en el momento del despliegue y es comunicada a los clientes durante el proceso de incorporación.