La verificación de edad ha pasado de ser una casilla a ser una tarea de ingeniería. En el Reino Unido, el Online Safety Act exige a algunos servicios comprobaciones de edad "altamente eficaces". En la UE, la Comisión Europea ha publicado un modelo para demostrar que se tienen más de 18 años sin entregar nada más. Los dos citan los documentos de identidad como una de las vías.

Este artículo es para desarrolladores a los que les han pedido "añadir verificación de edad" y quieren saber dónde encaja el escaneo de un documento. Explica qué métodos enumeran las autoridades británicas y europeas, qué prueba y qué no prueba el escaneo de un pasaporte o un documento de identidad, cómo convertir una fecha de nacimiento en una respuesta de mayor o menor de edad y qué conservar después. Todas las citas proceden de la página de la propia autoridad, enlazada donde aparece; los originales están en inglés y las traducciones son nuestras.

Este es el blog de doc.cheap, una API de OCR para pasaportes y documentos de identidad. Lee la parte del producto teniéndolo en cuenta.

Reino Unido: el listón es "altamente eficaz"

La obligación está en la sección 12 del Online Safety Act 2023. Para los tipos de contenido más dañinos, el proveedor debe "usar la verificación de edad o la estimación de edad (o ambas) para impedir que niños de cualquier edad encuentren contenido de prioridad primaria dañino para los niños". Y la comprobación debe ser "de tal tipo, y usarse de tal manera, que sea altamente eficaz para determinar correctamente si un usuario concreto es o no un niño".

La sección 230 define los dos términos. La verificación de edad "significa cualquier medida diseñada para verificar la edad exacta de los usuarios" de un servicio sujeto a la ley. La estimación de edad "significa cualquier medida diseñada para estimar la edad o el rango de edad de los usuarios". Y cierra el atajo más fácil: "Una medida que exige al usuario declarar su edad por sí mismo (sin nada más) no se considerará verificación de edad ni estimación de edad".

Ofcom, el organismo supervisor de las comunicaciones del Reino Unido, explica el listón en su guía sobre la verificación de edad altamente eficaz para los servicios de la Parte 3 (la versión actualizada lleva fecha del 24 de abril de 2025). La sección 3 da "una lista no exhaustiva" de los métodos que considera capaces de ser altamente eficaces:

Método de la lista de Ofcom Dónde interviene un documento de identidad
Banca abierta (open banking) No
Cotejo de documento de identidad con foto Sí, el documento es la prueba
Estimación facial de la edad No
Comprobación de edad por el operador de telefonía móvil No
Comprobación con tarjeta de crédito No
Estimación de edad a partir del correo electrónico No
Servicios de identidad digital A menudo, cuando la identidad se verifica por primera vez

Ofcom describe así el cotejo con documento con foto: "funciona capturando la información relevante de un documento de identidad con foto subido y comparándola con una imagen del usuario tomada en el momento de subir el documento, para verificar que son la misma persona".

La misma sección enumera lo que no basta, entre otras cosas "pedir al usuario que introduzca su fecha de nacimiento sin más pruebas que confirmen esa información". Una fecha de nacimiento tecleada es una autodeclaración. Una fecha de nacimiento leída de un documento es una prueba, y el resto de la guía de Ofcom trata de lo buena que tiene que ser esa prueba.

La UE: un modelo basado en la prueba de edad

En el lado europeo, la Comisión publicó la primera versión de un modelo de verificación de edad el 14 de julio de 2025. En sus palabras, el modelo "ofrece un método que permite a los usuarios demostrar que tienen más de 18 años al acceder a contenido para adultos restringido, como la pornografía en línea, sin revelar ningún otro dato personal".

El diseño separa la comprobación del uso. La "edad del usuario la verificará el emisor usando datos personales detallados, como la fecha de nacimiento. Sin embargo, los servicios en línea solo recibirán una prueba de que el usuario es mayor de 18 años, sin ningún otro dato personal".

Los documentos de identidad entran en el primer paso. La ficha de la Comisión sobre el modelo enumera como fuentes de una prueba de edad "las identidades electrónicas nacionales, los pasaportes y los documentos de identidad, las apps preinstaladas con información de edad, como las apps bancarias, o la activación presencial por un tercero, como en una oficina de correos". Y añade que "en octubre de 2025 se publicó una segunda versión del modelo con un método basado en el pasaporte y el documento de identidad para generar una prueba de edad".

Así que en los dos sitios un documento es una entrada aceptada. En ninguno de los dos la foto de un documento es, por sí sola, toda la comprobación.

Qué prueba un escaneo y qué no

El escaneo de un documento responde bien a una pregunta: ¿qué dice este documento? Lee la fecha de nacimiento, la fecha de caducidad, el tipo de documento y la zona de lectura mecánica (MRZ), y puede decirte si los dígitos de control de esa zona cuadran. Esa es la parte de "capturar la información relevante" de la descripción de Ofcom.

No responde a las otras preguntas que debe cubrir una verificación de edad:

  • ¿La persona es el titular? La sección de Ofcom sobre robustez nombra la vía evidente: "un usuario menor que sube la imagen de un documento que no le pertenece". Su respuesta es que "exigir una foto del usuario en el momento de subir el documento al hacer el cotejo con documento con foto ayuda a verificar que el documento pertenece a ese usuario".
  • ¿La persona está presente? "La detección de prueba de vida aporta más confianza en que un usuario menor no ha subido la foto de un adulto, al asegurar que el usuario que se somete al proceso de verificación de edad está presente en el momento en que se realiza la comprobación".
  • ¿El documento es auténtico? "Una comprobación robusta con documento con foto no debería poder eludirse con facilidad y, por tanto, un método basado en documento con foto debería ser capaz de detectar documentación falsificada o manipulaciones que un menor pudiera crear u obtener".

Nada de esto es OCR. Leer un documento y verificarlo son trabajos distintos, que hacen herramientas distintas, y una verificación de edad basada en documentos necesita los dos. El paso de lectura te da datos fiables sobre el documento; la comparación facial, la prueba de vida y la comprobación de autenticidad te dicen si puedes fiarte del documento y de la persona.

De la fecha de nacimiento a mayor o menor de edad

Una vez leída la fecha de nacimiento, la aritmética de la edad es poca, pero es fácil equivocarse. Restar años no basta: alguien nacido el 20 de noviembre de 2008 tiene 17 años el 10 de noviembre de 2026, no 18. Compara también el mes y el día.

from datetime import date


def age_on(birth_iso: str, on: date) -> int:
    """Whole years completed on the day `on`, from a YYYY-MM-DD date of birth."""
    born = date.fromisoformat(birth_iso)
    years = on.year - born.year
    if (on.month, on.day) < (born.month, born.day):
        years -= 1  # este año aún no ha llegado el cumpleaños
    return years


def is_over(birth_iso: str, threshold: int, on: date) -> bool:
    return age_on(birth_iso, on) >= threshold


print(age_on("2008-11-20", date(2026, 11, 10)))     # 17
print(is_over("2008-11-20", 18, date(2026, 11, 20)))  # True

En la práctica importan algunos detalles:

  • Usa la fecha de la comprobación, en una sola zona horaria. El "hoy" del servidor y el "hoy" del usuario pueden diferir cerca de medianoche. Elige un criterio y registra la fecha que usaste.
  • El 29 de febrero. Con la comparación de arriba, una persona nacida el 29 de febrero cumple años el 1 de marzo en los años que no son bisiestos. Si tu jurisdicción lo define de otro modo, cambia esa única rama.
  • Una fecha que falta no es una respuesta. Si el escaneo no devuelve fecha de nacimiento, el resultado es "no se pudo comprobar", nunca "mayor de 18".
  • La caducidad es otra cuestión. Si un documento caducado es una prueba aceptable lo decide tu política, así que lee la fecha de caducidad y decídelo de forma explícita.

Guarda la respuesta, no el documento

El diseño de la Comisión envía a los servicios "solo una prueba de que el usuario es mayor de 18 años". La misma idea funciona en tu propio sistema: una vez hecha la comprobación, el resultado que necesitas es un booleano y una fecha, no la imagen de un pasaporte.

La sección de Ofcom sobre privacidad apunta en la misma dirección. Recuerda a los proveedores que "todos los métodos de verificación de edad implican el tratamiento de datos personales y deberían seguir un enfoque de protección de datos desde el diseño", y cita la minimización de datos y la limitación del plazo de conservación entre los principios que hay que seguir.

Un registro mínimo tiene este aspecto:

{
  "user_id": "u_3f9c",
  "check": "age_over_18",
  "result": true,
  "checked_on": "2026-11-10",
  "method": "photo_id_matching"
}

Ni imagen, ni número de documento, ni fecha de nacimiento. Si una ley te obliga a guardar más, guarda exactamente eso, en un único almacén con su propia fecha de borrado.

Dónde encaja doc.cheap

doc.cheap lee pasaportes, documentos de identidad y permisos de conducir y devuelve en JSON lo que está impreso. Para una verificación de edad, los campos útiles son holder.birth_date, una fecha ISO YYYY-MM-DD o null, además de document.expiry_date, document.is_expired y mrz.status, de modo que la fecha que pasas a age_on sale de una lectura que puedes contrastar.

Es un servicio de lectura, no de verificación. En el escenario de solo reconocimiento, el campo authenticity.overall de la respuesta vale not_checked, y la comparación facial y la prueba de vida quedan para herramientas hechas para ello. Tampoco guarda nada que no pidas: retain_hours: 0 con una clave real no escribe ninguna fila, como explica la guía de conservación del historial. La imagen en sí nunca se almacena.

Para probar el paso de lectura antes de diseñar el resto, empieza por la API gratuita de OCR de pasaportes. Si estás eligiendo proveedor, la comparativa de APIs de OCR de pasaportes pone los precios publicados uno al lado del otro.

Esto es un resumen técnico, no asesoramiento jurídico.

Una pregunta para ti: ¿qué parte de tu verificación de edad te costó más dejar bien: la lectura, la comparación facial o el registro que guardas? Cuéntanoslo en los comentarios de abajo.