Verificación
Comprueba el registro sin depender de nosotros
Un registro solo merece confianza si se puede comprobar sin fiarse de quien lo custodia. Esta página explica qué pruebas técnicas genera cada fichaje y te deja revisarlas aquí mismo, con un verificador abierto que no requiere cuenta.
Qué hay
Cuatro piezas técnicas
Recibo firmado
Al registrarse un fichaje, el servidor puede emitir un recibo: un texto firmado con una clave Ed25519 (formato JWS) que identifica el asiento. Los recibos son opcionales por empresa. Si un asiento no tiene recibo, existe igualmente, pero sin esta comprobación.
Sello diario
Por cada día ya cerrado, una firma sobre la huella de la cadena de asientos registrados ese día (en horario UTC). Sirve para comprobar que el día no se ha reescrito después de sellarse.
Cadena de hash append-only
Cada asiento guarda el resumen SHA-256 del anterior y el suyo propio. Solo se añaden asientos: no se modifican ni se borran. Alterar uno rompe el enlace con los siguientes y se detecta.
Paquete pericial
Un único archivo .json con los asientos de un periodo, la prueba de la cadena, los sellos, los recibos y solo las claves públicas necesarias. Se comprueba sin nuestro servidor.
Verificador en el navegador
Comprueba un fichero aquí
Elige un paquete pericial (.json), una lista de asientos (.json) o un recibo firmado (.txt). El fichero no sale de tu dispositivo: se lee y se calcula en esta página, sin enviarlo a ningún servidor. Puedes comprobarlo desconectando la red antes de elegirlo.
O prueba con un ejemplo
Son datos inventados, generados con claves de prueba. Los ejemplos se descargan de esta misma web; la comprobación se hace igualmente en tu navegador.
Un resultado correcto prueba que el registro no cambió después de grabarse. No prueba quién lo generó ni que los hechos sean ciertos, y los sellos no son firma electrónica cualificada (véase Qué no acredita).
Paquete y cadena
Verificar en tu equipo
Es el mismo programa que se ejecuta arriba: un único fichero,verificar.mjs, pequeño y legible. Solo necesita Node.js 20 o superior, no usa dependencias y no se conecta a ninguna red. Puedes leerlo o pedir a un perito que lo revise antes de ejecutarlo. Detecta por sí solo si le das un paquete pericial, una lista de asientos o un recibo.
- Descarga el paquete desde la aplicación (archivo
paquete.json) y déjalo junto al verificador. No lo abras ni lo guardes con un editor: cualquier byte distinto, un salto de línea final incluido, se marca como alteración. - Ejecuta la comprobación.
node verificar.mjs paquete.json - Lee el resultado y el código de salida.0 si todo cuadra, 1 si hay problemas y 2 si el archivo no se puede leer. Se informan todas las roturas, no solo la primera.
- Si quieres ver el contenido, extrae el informe y los asientos a una carpeta.
node verificar.mjs paquete.json --extraer salida
Qué comprueba, en este orden:
- Que el archivo es, byte a byte, la forma canónica y que la huella global coincide.
- Que cada parte coincide con la huella y los recuentos del manifiesto.
- La cadena: cada asiento repite su SHA-256, enlaza con el anterior y la secuencia no salta.
- Los sellos diarios y los recibos: firma Ed25519 válida y coincidencia con los asientos del tramo.
Si le das solo una lista de asientos, comprueba la cadena. El repositorio incluye vectores de prueba reproducibles (paquetes con un asiento alterado, borrado o insertado y con un sello falso) para comprobar el propio verificador. La especificación del algoritmo, con esos vectores y una referencia en Python, permite escribir un verificador propio.
Recibo suelto
Verificar un recibo con la clave pública
Un recibo se comprueba con las claves públicas que publicamos en app.elregistrodejornada.com/.well-known/jwks.json (formato JWKS, RFC 7517; solo claves públicas). El archivo conserva las claves antiguas, de modo que los recibos anteriores a una rotación de clave siguen verificando.
- Guarda el recibo en un archivo
recibo.txt. Es el texto con tres partes separadas por puntos. - Descarga las claves públicas.
curl -o jwks.json https://app.elregistrodejornada.com/.well-known/jwks.json - Ejecuta el verificador con el recibo y las claves. Toma de la cabecera del recibo el identificador de clave (
kid), busca esa clave en el JWKS (ktyOKP,crvEd25519) y valida la firma.node verificar.mjs recibo.txt --jwks jwks.json - Comprueba que corresponde a tu asientoaportándolo en un archivo: así se comprueba también que el recibo es de ese asiento y no de otro.
node verificar.mjs recibo.txt --jwks jwks.json --asiento asiento.json
Los recibos y los sellos que van dentro de un paquete llevan además sus claves en el propio archivo, así que el verificador del paquete funciona sin conexión. Si aportas también el JWKS (--jwks), comprueba que esas claves son las publicadas.
Límites
Qué no acredita
- Detecta que un asiento se modificó, se borró o se insertó después de grabarse. No prueba que el hecho registrado sea cierto: un fichaje falso desde el principio queda igual de encadenado.
- La huella del paquete prueba integridad, no autoría. La autenticidad frente a una reescritura completa la dan elementos que el archivo no controla: los recibos firmados con la clave pública publicada aparte y la huella anotada fuera al entregarlo.
- Los sellos y los recibos son firmas Ed25519 con una clave de El Registro de Jornada: sellos de integridad. No son firma electrónica cualificada ni sello cualificado de tiempo electrónico.
- El paquete solo cubre el tramo pedido. Lo anterior a su primer asiento no se verifica ahí.
- El informe legible del paquete es un resumen, no la prueba. El verificador comprueba que no se ha tocado, pero no recalcula sus cifras.
- No sustituye a un perito. Un peritaje puede requerir examinar además el sistema, la custodia del archivo y la identificación de las personas.
Referencias
Fuentes
- BOEEstatuto de los Trabajadores, art. 34.9 (registro diario de jornada)
- EUR-LexReglamento (UE) 910/2014 (eIDAS), arts. 3.12, 3.34, 25.2 y 41.2
- IETFRFC 7515, JSON Web Signature (JWS)
- IETFRFC 7517, JSON Web Key (JWK y JWKS)
- IETFRFC 8032, firmas Ed25519
El artículo 34.9 establece la obligación de registrar la jornada diaria. Este sistema de verificación no responde a ninguna obligación de formato: el Real Decreto de registro horario digital está en tramitación y no está aprobado.Estado de la norma. Más sobre medidas y datos en Seguridad y datos.
Estamos terminando la aplicación.
Déjanos tu correo y entrarás antes que el resto, con los catorce días de prueba desde el primer día. Preferimos decirte que aún no está a venderte una prueba que hoy no podríamos darte.