Fichas
La ficha es la entrada pública que se crea al registrarte: con fecha, con número y sellada con un hash criptográfico que cualquiera puede recalcular. Esta página es la referencia completa — incluida la receta exacta del hash.
Qué contiene una ficha
Estos son los campos públicos de toda ficha:
| Campo | Significado |
|---|---|
registry_code |
El número THB, p. ej. THB-2026-00117.
|
slug |
El identificador de la URL pública de la ficha:
https://platform.thehumanbehind.com/r/nova.
|
avatar_name | El nombre del avatar, clon, voz o agente registrado. |
type | avatar · voice_clone · agent ·
image · other.
|
scope | general, o un ámbito sensible: health,
finance, legal.
|
operates_at | Dónde opera: el perfil, sitio o canal declarado. |
responsible_name | El nombre de la persona que responde por él. |
status | active, o unclaimed (una ficha a la espera
de su titular — ver
Reclamaciones).
|
verification_level | registered (sello verde) o verified (sello
dorado, con verified_at). Ver
Verificación.
|
registered_at | Fecha y hora del alta, en ISO-8601 UTC. |
content_hash | SHA-256 del snapshot del alta — la receta, más abajo. |
El correo de la persona responsable no es un campo de la
ficha. Nunca forma parte del hash, nunca se muestra en la página
pública y nunca lo devuelve la API.
El número THB
Cada ficha recibe un identificador con el formato
THB-<año>-<número>, p. ej.
THB-2026-00117: el año del alta más un número
secuencial dentro de ese año, relleno con ceros hasta cinco dígitos. Lo
asigna la base de datos de forma atómica en el momento de la inserción, es
correlativo sin huecos dentro de cada año y
jamás se reutiliza — ni siquiera si la ficha se da de baja
después.
Qué puede cambiar — y qué no podrá jamás
- Editable por el titular:
avatar_name,
type, scope, operates_at,
responsible_name.
- Inmutable para todos, administradores incluidos:
registry_code, registered_at,
content_hash y slug. Los triggers de la base de
datos rechazan cualquier intento de cambiarlos, lo intente quien lo
intente.
Esto significa que el hash certifica la ficha tal como se declaró el
primer día. Si más adelante editas un campo, la ficha conserva su
número, su fecha y su hash originales: el registro nunca reescribe la
historia. La baja también es «blanda»: la ficha deja de listarse, pero su
URL sigue respondiendo con un aviso fechado (HTTP 410) para
que la constancia permanezca.
El hash de contenido — receta pública exacta
El content_hash es un resumen SHA-256 que
calcula la propia base de datos, en la misma transacción que crea la ficha.
Cualquiera puede recalcularlo a partir de datos públicos. La receta, byte a
byte:
- Toma los ocho campos del snapshot:
registry_code, slug, avatar_name,
type, scope, operates_at,
responsible_name y registered_at.
- Normaliza los valores:
type y
scope son sus identificadores en minúsculas (p. ej.,
voice_clone); si operates_at no se indicó, se
usa la cadena vacía ""; registered_at se
formatea en ISO-8601 UTC con exactamente seis dígitos de microsegundos y
una Z final — AAAA-MM-DDTHH:MM:SS.ssssssZ.
- Serializa como un objeto JSON de una sola línea en forma
canónica: claves ordenadas primero por longitud y después por orden de
bytes (es la forma textual canónica del
jsonb de
PostgreSQL). Para estos ocho campos, el orden es por tanto siempre:
slug, type, scope,
avatar_name, operates_at,
registered_at, registry_code,
responsible_name. Tras cada clave van dos puntos y espacio
(: ) y los pares se separan con coma y espacio
(, ). El resultado se codifica en UTF-8.
- Calcula el hash:
content_hash es el SHA-256
de esos bytes en hexadecimal en minúsculas (64 caracteres).
Ejemplo completo
Para una ficha llamada Nova
(THB-2026-00117), el snapshot canónico es
exactamente esta línea:
{"slug": "nova", "type": "avatar", "scope": "general", "avatar_name": "Nova", "operates_at": "https://instagram.com/nova.avatar", "registered_at": "2026-07-14T09:21:33.481205Z", "registry_code": "THB-2026-00117", "responsible_name": "Maria Lopez"}
Compruébalo en cualquier máquina:
printf '%s' '{"slug": "nova", "type": "avatar", "scope": "general", "avatar_name": "Nova", "operates_at": "https://instagram.com/nova.avatar", "registered_at": "2026-07-14T09:21:33.481205Z", "registry_code": "THB-2026-00117", "responsible_name": "Maria Lopez"}' | sha256sum
# 54a8995c2e0c1c4ab014c18d65243c6527e0f62ff456440ed74bf8473f2b10fc
La salida coincide con el content_hash publicado de la ficha.
Cambia un solo carácter en cualquier punto del snapshot y el hash será
completamente distinto: eso es lo que hace que la ficha sea a prueba de
manipulaciones.
Verificar una ficha de principio a fin
-
Obtén la ficha desde la
API pública (o lee los campos en su
página pública).
- Reconstruye el snapshot canónico con la receta de arriba.
-
Compara tu SHA-256 con el
content_hash publicado. Si
coinciden, los datos que ves son exactamente los que se registraron, en
la fecha indicada.