Ir al contenido
Ciserex
English
Ciserex

Cómo está construido

Esta página es el detalle técnico que el resto del sitio deja fuera a propósito. Está escrita para quien tiene que evaluar el sistema antes de que una institución lo adopte.

El registro encadenado

El estado no se guarda como un campo que se sobrescribe. Se guarda la lista de lo que ocurrió, en orden, y el estado se calcula recorriéndola.

Cada anotación lleva el resumen criptográfico (SHA-256) de la anterior, de modo que la lista forma una cadena. Alterar o quitar una anotación rompe el resumen de todas las siguientes, y eso se detecta recorriéndola entera. La comprobación es pública para quien tiene acceso al expediente: no hay que confiar en que el sistema diga que la cadena está bien, se recorre y se comprueba.

De ahí salen dos propiedades que las instituciones suelen pedir por separado: la trazabilidad —quién hizo qué y cuándo— y la reproducibilidad: dos personas que recorren la misma cadena obtienen el mismo estado.

Un motor, muchas aplicaciones

Las nueve aplicaciones no son sistemas distintos integrados entre sí. Son vistas sobre un mismo motor y un mismo almacén, que es la razón por la que lo que anota una lo encuentran las demás sin sincronización.

El procedimiento —órganos, mayorías, quórum, plazos y cadena de aprobación— es dato, no código. Cambiarlo es un cambio de datos que pasa por su propia aprobación, con versión y fecha de vigencia, y se puede ensayar contra el registro antes de publicarlo.

Una solicitud de cambio contra una regla y un proyecto de ley contra el cuerpo normativo son el mismo objeto, y por eso un solo motor atiende los dos.

Identidad y permisos

La identidad es la cuenta de Google de la persona, verificada por Amazon Cognito con OpenID Connect y PKCE. El sistema no guarda contraseñas.

Los permisos no son una lista aparte. Un puesto del organigrama lleva un rol, el rol lleva permisos por aplicación, y nombrar a una persona en ese puesto es lo que escribe su acceso. Retirar el nombramiento lo revoca, sin que quede un usuario activo olvidado.

Cada llamada se resuelve con la identidad de quien llama y con la organización a la que pertenece, que se deduce de esa identidad y nunca de lo que venga en la petición.

Infraestructura como código

Toda la instalación —red, almacenamiento, funciones, dominios, correo y certificados— se declara en una sola plantilla de AWS CloudFormation. No hay un paso que alguien ejecute a mano y luego tenga que recordar.

La plantilla vive en Git, con el historial completo: qué cambió, quién lo cambió, cuándo y por qué. Una versión anterior se vuelve a aplicar como se vuelve atrás en el código.

Lo declarado y lo que está funcionando se comparan, y la diferencia se muestra. Una instalación nueva se levanta con el mismo comando que levantó la anterior.

Ejecución sin servidores

El motor, las puertas de la API y los trabajos programados son funciones de AWS Lambda. Los datos están en DynamoDB y los archivos en S3, detrás de CloudFront.

No hay una máquina encendida entre una petición y la siguiente: no hay sistema operativo que parchear, ni capacidad que dimensionar, ni ventana de mantenimiento que anunciar. El respaldo de DynamoDB es continuo y el almacenamiento se replica en tres zonas de disponibilidad.

Dónde funciona

En la nube de Ciserex, donde la institución entra y trabaja; o en la cuenta de nube de la propia institución, donde los datos no salen de esa cuenta. La plantilla es la misma y el lugar es un parámetro.

La región la elige el cliente, lo que suele decidirse por dónde debe residir el dato.

Cumplimiento comprobable

Cada control está definido una vez, con la consulta que produce su evidencia. Las normas —ISO 9001, ISO/IEC 27001, ISO 15489, ISO/IEC 42001, el RGPD y SOC 2— son mapeos sobre ese catálogo, de modo que dos normas no pueden contestar distinto sobre un mismo control.

Una cláusula que ninguna consulta responde se marca «a mano», nombra a quien debe verificarla y no cuenta como satisfecha. Ciserex no está certificada en esas normas: publica cómo las cumple y la evidencia de cada cláusula.

Interfaces

La única superficie de programación es una puerta HTTP: la interfaz y los demás canales llaman por ahí, con la identidad de quien llama. No hay un camino distinto y privilegiado por debajo.

Además de la web y las aplicaciones de teléfono, el sistema atiende por correo electrónico y por Telegram, y publica lo que corresponde como páginas públicas verificables.

Volver al inicio