Resumen arquitectónico
El sistema separa la acreditación de elegibilidad, la autorización, la preparación y recepción de papeletas, el conteo y la verificación pública. Cada frontera limita los datos que puede conocer el siguiente componente. Este es un diseño de referencia: no demuestra que todas las partes estén conectadas o desplegadas.
Vista lógica
Proveedor de elegibilidad → aplicación de votación → autorización y compromisos → recepción de material cifrado → relé → conteo agregado con custodios → paquete de evidencia → verificador público. La relación entre el proveedor de identidad y la papeleta no debe hacerse visible al relé ni al verificador.
Aplicación web
Presenta la elección, jurisdicción, dignidades y opciones habilitadas; guía la preparación de la selección en el contexto electoral correcto. Puede ejecutar validaciones locales de formato y selección. El navegador no constituye una autoridad de integridad: la recepción debe volver a validar contexto, forma y reglas. Los datos de elegibilidad solicitados a la persona deben limitarse a los necesarios.
Proveedor de elegibilidad
Es una frontera de identidad externa que podría acreditar atributos o pruebas relevantes. Su salida debe ser suficiente para establecer elegibilidad sin entregar el expediente civil completo a la aplicación o al sistema de recepción. La documentación no fija el protocolo, formato de credencial, API ni mecanismo de revocación.
Capa de autorización y compromisos
La dirección tecnológica documentada asigna a una capa de privacidad la gestión de compromisos, raíces de elegibilidad, autorización anónima, no reutilización y evidencia del ciclo. Midnight aparece como objetivo para estas funciones, no como integración de producción confirmada. El identificador o nullifier debe tener alcance por dignidad: impedir la repetición en una dignidad no puede bloquear otras participaciones válidas. El diseño final está pendiente.
Recepción cifrada y relé
El punto de recepción debe comprobar que el material está ligado a la elección y dignidad correctas, que está bien formado y que la autorización no fue reutilizada. La arquitectura objetivo transmite material cifrado hacia un relé separado, sin identidad civil u opción en claro juntas. El relé conoce los metadatos necesarios para transportar el envío; los riesgos por dirección de red, tiempos y patrones de uso no se eliminan con cifrado.
Conteo externo
El conteo se mantiene separado de la autorización y de la cadena de compromisos. La línea de investigación contempla agregación cifrada BGV y una prueba aislada en Go/Lattigo. El conteo debe operar sobre el conjunto aceptado y producir resultados agregados tras el cierre; formatos criptográficos, parámetros, interfaces e integración siguen sin especificarse.
Custodios
La propuesta contempla autoridad electoral, observador cívico y auditor técnico, con participación de dos de tres para el descifrado agregado. Ese umbral es un supuesto de confianza, no protección frente a dos custodios coludidos. Generación, almacenamiento, disponibilidad, recuperación y validación de shares requieren protocolos y pruebas.
Paquete y verificador público
El paquete previsto reúne raíces y manifiestos de elementos aceptados o rechazados, evidencia de agregación cifrada, pruebas o firmas y totales finales. El verificador debe poder comprobar integridad y correspondencia de los resultados sin recibir identidades civiles ni selecciones individuales. El formato y el paquete de prueba agregada no están listos como contrato de producción.
Secuencia de datos
1) Configuración de elección y reglas. 2) Presentación de elegibilidad mínima. 3) Autorización anónima de alcance por dignidad. 4) Preparación y vinculación de la papeleta a elección y dignidad. 5) Validación y recepción del material protegido. 6) Cierre del conjunto aceptado y conteo agregado. 7) Publicación de evidencia y revisión independiente. La modalidad de envío —por dignidad o como paquete final— continúa abierta.
Stack documentado y límites de detalle
El material del proyecto registra PostgreSQL, React, Vite, Bun y TypeScript como stack de aplicación, y una prueba aislada en Go/Lattigo para explorar el conteo cifrado. Esto no acredita que el stack esté desplegado en la infraestructura pública ni que el spike esté integrado. La documentación revisada no proporciona endpoints, esquemas de datos o mensajes, parámetros criptográficos, gestión de claves ni topología de despliegue; se deben definir con artefactos verificables, no inferirse.