En una app móvil (Flutter, React Native, nativo)

Abre la hosted_url en una Custom Tab (Android) o un SFSafariViewController (iOS): la cartera se abre desde esa vista mediante su enlace profundo, y el usuario vuelve a tu app a través de tu success_url como enlace universal (https, así que compatible). Tu backend confirma después con GET /verify/sessions/{id}, exactamente igual que en la web. success_url significa verificación superada, nunca que el usuario sea mayor de edad: una prueba de edad que vale false también llega allí, como cualquier resultado verificado. Lee el resultado en el servidor (claims.age_over_18 con el atajo age_over_18) y aplícale tu propia regla. Nunca pongas el token de licencia dentro de la app: es tu backend quien crea el recorrido y lee el resultado.

Los casos de uso nativos, mediante la API de sesión

Cuando quieres dibujar la pantalla tú mismo, la API de sesión directa (referencia técnica) te da la solicitud de autorización en bruto, para mostrarla como prefieras.

Tu propia pantalla QR (cross-device)

Crea la sesión con POST /verify/sessions, muestra la solicitud de autorización en tu interfaz (QR o enlace), y consulta el estado de la sesión: el usuario escanea con la cartera de su teléfono mientras está frente a tu pantalla. Es el modo que usa la página alojada, sin su maquetación.

Quiosco, mostrador, entrega en persona

La misma mecánica en un quiosco o una tableta de mostrador: tu pantalla muestra el QR, el cliente escanea, el agente ve llegar el resultado. La sesión caduca sola si nadie responde: nada que limpiar.

Prueba ya en mano: la verificación directa

Si tu recorrido ya te dio la presentación (SD-JWT VC o mdoc) por otro canal, POST /verify/sd-jwt-vc y POST /verify/mdoc la verifican sin sesión ni página: una petición, una respuesta.

Las tres reglas que nunca cambian. El token de licencia se queda en el servidor. El resultado se confirma con un GET /verify/sessions/{id} autenticado, nunca sobre la base de un parámetro de URL o un evento del navegador. Y no hay nada que almacenar: ni copia del documento, ni foto, solo la respuesta verificada que pediste, como se explica en la FAQ.