@ -16,7 +16,7 @@ Sirve para retomar sin contexto previo, sea una persona o una sesión de Claude.
| Repo | Rama y commit | Tags | Qué es |
|---|---|---|---|
| `datekeys-go` | `v0.16` en `92f8cdc`; `main` en `b6ff17a`, el tag; `v0.15` en `70d907b` | `spec-v0.16` en `b6ff17a`, y los de las versiones anteriores | Spec v0.16 aprobada, implementación de referencia, `testdata` compartido. En `v0.15`, tras su tag: `c49c67c` las palabras al azar, `27a75ee` el alfabeto de cada lista y la fuerza de las palabras, `96d8992` arregla `TestGenerate`, `e671032` la lista inglesa de la EFF, `92e7154` los dados, `aefc8f6` lo que dice el SDK al sellar y `70d907b` la licencia CC BY-ND 4.0. En `v0.16`: el borrador (`a2b71c2`, `2c29625`), su implementación (`7e3b810` a `3fd0e93`) el cierre (`b6ff17a`) y, tras el tag, el fuzzing del JSON estricto y el recordatorio (`0eb5aa0` a `92f8cdc`) |
| `App` (`datekeys-ts`) | `v0.10` en `f37da12`; `main` en `2c305cf` | `v0.5.0` en `2c305cf`, `v0.4.0`, `v0.3.0`, `v0.2.0`, `v0.1.0` | Librería TypeScript `0.5.0`, publicada el 7-10, de la spec 0.16, y páginas `/inspect` y `/create`; en desarrollo la `0.6.0`, con el recordatorio |
| `App` (`datekeys-ts`) | `v0.10` en `709569a`; `main` en `2c305cf` | `v0.5.0` en `2c305cf`, `v0.4.0`, `v0.3.0`, `v0.2.0`, `v0.1.0` | Librería TypeScript `0.5.0`, publicada el 7-10, de la spec 0.16, y páginas `/inspect` y `/create`; en desarrollo la `0.6.0`, con el recordatorio y la firma con certificado |
| `datekeys-dart` | `v0.16` en `b53afdc`; `v0.15` en `e2296b0` | ninguno | Librería Dart completa, de la spec 0.16, con las palabras al azar; las ramas `v0.11` a `v0.15` se quedan atrás |
| `docs` | `main` | — | Este repo |
| `web` | `main` en `f2b8a38` | — | Landing de datekeys.com, sin remoto |
@ -57,7 +57,7 @@ La recuperación a largo plazo quedó hecha con la v0.15, las palabras al azar e
1. **La revisión externa** ([nota](revision_externa/NOTA_PARA_EL_AUTOR.md), «Orden», 4 a 6): elegir revisor, primero uno que lea español; el nivel, 1 o 1 y 2; pedir presupuesto; el NDA, los bundles y el envío. Antes, si se enseñan Q1 y Q10 al equipo de drand (gratis, pero enseña el proyecto fuera). Si el revisor no lee español, traducir el núcleo, unas 31 800 palabras, y decidir si con §47.1, §49 y §50.
2. **Medir el área de 32 KiB** (§74; §75, punto 13; K2 del paquete): firmas reales con un certificado del autor (DNIe, FNMT u otro) y permiso para pedir sellos a una autoridad pública. Cierra el perfil CMS y da código a las reglas 21 y 22 de la v0.16, que hoy no tienen ningún escritor.
- **La página para firmar con certificado** (DNIe, FNMT), pedida por el autor el 7-10, espera esto. Cada firma de `alg` 2 necesita su sello CAdES-T (si no, F5 y el escritor no escribe, regla 19), y una página no puede pedirlo a una autoridad pública: FreeTSA responde 403 a la petición previa de CORS y DigiCert no responde (comprobado el 7-10). Caminos: que AutoFirma selle la firma (las fuentes se contradicen: hay que probarlo con una firma real del autor), o un servicio de DateKeys que reenvíe la petición (decisión 5), o hacerlo en la CLI, que no tiene CORS. El flujo propuesto en `/create`: una firma de prueba con AutoFirma da el certificado y cierra `SIGNERS` (regla 20); la página prepara la cápsula, muestra el código y da el mensaje a firmar; la persona lo firma con AutoFirma y sube el `.csig`; la página quita el contenido de una firma implícita (regla 21), comprueba F6 y escribe. Falta del autor: un `.csig` de prueba.
- **La página para firmar con certificado** (DNIe, FNMT), pedida por el autor el 7-10: **hecha y probada con certificados de prueba** en `/create` (`709569a` de `datekeys-ts`), porque el certificado del autor está caducado. «¿La firmas?» toma el certificado de una firma de prueba de AutoFirma o del `.cer` y cierra `SIGNERS` (regla 20); al crear, el sobre muestra el código del mensaje, lo da como `mensaje-para-firmar.txt` y espera el `.csig`; `create-sign.ts` le quita el contenido si es implícita y dice en español qué falla (sin sello, otro certificado, otro fichero, certificado fuera de validez); un sello sin precisión pasa con aviso (regla 19). `scripts/test-signature.mjs` firma como AutoFirma con certificados de prueba. El sello lo tiene que poner AutoFirma: una página no puede pedirlo (CORS; FreeTSA responde 403 a la petición previa, DigiCert no responde). **Falta del autor:** renovar el certificado y probarla con AutoFirma de verdad; eso dirá si AutoFirma sella la firma CAdES, si la entrega implícita y con qué cadena.
3. **La lista española de palabras**: que la revise alguien que hable español, o rehacerla con el corpus de Leipzig cuando su web vuelva (la descarga el autor: bloquea a los agentes).
4. **Un archivo o servicio de caché de releases** (§50): dónde, quién lo mantiene y si DateKeys ofrece el suyo.
5. **Dónde se publica**: el código (ni GitHub ni el Gitea), la página web (§59) y con ello `words.datekeys.com`, el paquete de recuperación (decisión 5 de la v0.16) y la primera release del módulo de Go.