@SignOfficial
Revisé una atestación anterior que resultó ser más corta de lo que se había enviado.
El atestador había empujado el valor más allá.
La credencial no lo hizo.
Pensé que había seleccionado la incorrecta.
Lo volví a ejecutar.
La misma atestación.
El mismo schemaId.
Aún más corta.
Eso no me pareció correcto.
Así que continué con ello.
Lo que entró...
y lo que apareció...
no eran lo mismo.
Nada falló.
No hubo rechazo.
No hubo advertencia.
Se resolvió de manera limpia.
Fue entonces cuando miré el esquema nuevamente.
"maxValidFor" era menor de lo que se había enviado.
No estaba rechazando la entrada.
Estaba recortándola.
Lo intenté de nuevo.
Diferente atestador.
El mismo esquema.
El mismo resultado.
Fue entonces cuando hizo clic.
El atestador no está definiendo la credencial.
Están negociando con el esquema.
Y el esquema decide qué es lo que realmente sobrevive.
Desde afuera, parece que el atestador estableció el valor.
Dentro, parte de él nunca pasa.
Sin señal.
Sin rastro.
Solo un estado final limpio.
Dos envíos diferentes.
La misma credencial.
Sigo volviendo a esto como una ilusión de anulación del atestador.
Parece que el control está con el emisor.
Pero la forma final ya está limitada en otro lugar.
$SIGN solo importa si las restricciones del esquema como "maxValidFor" no remodelan silenciosamente lo que se envía...
sino que exponen ese límite claramente.
Porque una vez que las entradas se alteran sin visibilidad...
la fuente de verdad se desplaza.
Y no lo ves suceder.
Así que la verdadera pregunta se convierte en esto.
Si parte de la entrada nunca sobrevive al esquema...
¿qué exactamente estás verificando?

