Saltar al contenido principal

Manejo de datos

Qué almacena Percus

Percus almacena los siguientes datos en su infraestructura:

DatoDóndeNotas
Cuentas de usuarioIdentity Service (PostgreSQL)Correo, nombre, asignaciones de roles — proporcionados al iniciar sesión con Google OAuth
Metadatos de organizaciónIdentity ServiceNombre, configuración
Proyectos y templatesCampaign Service (PostgreSQL)Nombres de proyectos, descripciones, archivos de template (Lottie JSON, manifests, archivos de video)
Assets de templatesS3Archivos de animación, imágenes, video — cifrados en reposo
Credenciales de APICampaign ServiceClave de API almacenada en texto claro; secreto de API almacenado como hash unidireccional
Eventos de auditoríaCampaign ServiceQuié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.