Guía Deep Link Security

Configurar Deep Links seguros en iOS y Android

La verificación de dominio no valida cada ruta; todo link es entrada no confiable.

LaunchLint Academy

18 min de lecturaRevisado editorialmente por el equipo de LaunchLint
Dominio verificado conecta rutas seguras iOS y Android con la app
Universal Links y Android App Links conectan HTTPS con una app verificada, pero no validan el contenido de la ruta.
TL;DR

La respuesta breve

  • Universal Links y Android App Links conectan HTTPS con una app verificada, pero no validan el contenido de la ruta.
  • Trata cada enlace como entrada no confiable, limita destinos y exige autenticación y confirmación para acciones sensibles.
  • Esta checklist no se completa una sola vez. Ejecútala antes del primer upload, después de cambios relevantes en dependencias o configuración y justo antes de publicar. Desarrollo, producto y quien controla la consola deben revisar el mismo build. Las señales estáticas son reproducibles, pero no demuestran el runtime ni las respuestas del backend. Combínalas con pruebas del artefacto firmado, declaraciones oficiales y una decisión documentada.

1. Inventariar links y amenazas

Lista schemes, dominios, paths, parámetros y acciones sensibles.

Trata inventariar links y amenazas como una propiedad verificable del candidato exacto. Relaciona la decisión con su archivo, campo de la tienda o prueba reproducible. Registra por separado lo esperado y lo observado, asigna responsable y detén la publicación mientras quede una contradicción de seguridad o review.

Pruebas para aceptar la release

  • Estado de producción de inventariar links y amenazas identificado
  • Archivo o campo responsable enlazado
  • Prueba repetida en un dispositivo limpio
  • Diferencias iOS y Android documentadas
  • Cada duda tiene responsable y fecha
  • La evidencia no contiene secretos ni datos personales

2. Establecer confianza

Associated Domains e intent filters apuntan a dominio e identidad correctos.

Trata establecer confianza como una propiedad verificable del candidato exacto. Relaciona la decisión con su archivo, campo de la tienda o prueba reproducible. Registra por separado lo esperado y lo observado, asigna responsable y detén la publicación mientras quede una contradicción de seguridad o review.

Pruebas para aceptar la release

  • Estado de producción de establecer confianza identificado
  • Archivo o campo responsable enlazado
  • Prueba repetida en un dispositivo limpio
  • Diferencias iOS y Android documentadas
  • Cada duda tiene responsable y fecha
  • La evidencia no contiene secretos ni datos personales

3. Publicar asociaciones

AASA y `assetlinks.json` necesitan contenido, HTTPS, identidad y cache correctos.

Trata publicar asociaciones como una propiedad verificable del candidato exacto. Relaciona la decisión con su archivo, campo de la tienda o prueba reproducible. Registra por separado lo esperado y lo observado, asigna responsable y detén la publicación mientras quede una contradicción de seguridad o review.

Pruebas para aceptar la release

  • Estado de producción de publicar asociaciones identificado
  • Archivo o campo responsable enlazado
  • Prueba repetida en un dispositivo limpio
  • Diferencias iOS y Android documentadas
  • Cada duda tiene responsable y fecha
  • La evidencia no contiene secretos ni datos personales

4. Validar entradas

Normaliza URL, rechaza parámetros desconocidos y permite solo pantallas previstas.

Trata validar entradas como una propiedad verificable del candidato exacto. Relaciona la decisión con su archivo, campo de la tienda o prueba reproducible. Registra por separado lo esperado y lo observado, asigna responsable y detén la publicación mientras quede una contradicción de seguridad o review.

Pruebas para aceptar la release

  • Estado de producción de validar entradas identificado
  • Archivo o campo responsable enlazado
  • Prueba repetida en un dispositivo limpio
  • Diferencias iOS y Android documentadas
  • Cada duda tiene responsable y fecha
  • La evidencia no contiene secretos ni datos personales

5. Proteger acciones

Un link no debe ejecutar pagos, borrado o privilegios por sí solo.

Trata proteger acciones como una propiedad verificable del candidato exacto. Relaciona la decisión con su archivo, campo de la tienda o prueba reproducible. Registra por separado lo esperado y lo observado, asigna responsable y detén la publicación mientras quede una contradicción de seguridad o review.

Pruebas para aceptar la release

  • Estado de producción de proteger acciones identificado
  • Archivo o campo responsable enlazado
  • Prueba repetida en un dispositivo limpio
  • Diferencias iOS y Android documentadas
  • Cada duda tiene responsable y fecha
  • La evidencia no contiene secretos ni datos personales

6. Diseñar fallbacks

Cubre app ausente, token expirado, cuenta errónea, offline y versión antigua.

Trata diseñar fallbacks como una propiedad verificable del candidato exacto. Relaciona la decisión con su archivo, campo de la tienda o prueba reproducible. Registra por separado lo esperado y lo observado, asigna responsable y detén la publicación mientras quede una contradicción de seguridad o review.

Pruebas para aceptar la release

  • Estado de producción de diseñar fallbacks identificado
  • Archivo o campo responsable enlazado
  • Prueba repetida en un dispositivo limpio
  • Diferencias iOS y Android documentadas
  • Cada duda tiene responsable y fecha
  • La evidencia no contiene secretos ni datos personales

7. Separar entornos

Staging no reclama links ni tokens de producción.

Trata separar entornos como una propiedad verificable del candidato exacto. Relaciona la decisión con su archivo, campo de la tienda o prueba reproducible. Registra por separado lo esperado y lo observado, asigna responsable y detén la publicación mientras quede una contradicción de seguridad o review.

Pruebas para aceptar la release

  • Estado de producción de separar entornos identificado
  • Archivo o campo responsable enlazado
  • Prueba repetida en un dispositivo limpio
  • Diferencias iOS y Android documentadas
  • Cada duda tiene responsable y fecha
  • La evidencia no contiene secretos ni datos personales

8. Probar la matriz

Cubre cold start, background, reinstalación, navegadores, mensajes y redirects.

Trata probar la matriz como una propiedad verificable del candidato exacto. Relaciona la decisión con su archivo, campo de la tienda o prueba reproducible. Registra por separado lo esperado y lo observado, asigna responsable y detén la publicación mientras quede una contradicción de seguridad o review.

Pruebas para aceptar la release

  • Estado de producción de probar la matriz identificado
  • Archivo o campo responsable enlazado
  • Prueba repetida en un dispositivo limpio
  • Diferencias iOS y Android documentadas
  • Cada duda tiene responsable y fecha
  • La evidencia no contiene secretos ni datos personales

Preguntas frecuentes

¿Son seguros automáticamente?

No. Verifican dominio y app, no autorización.

¿Quito los schemes?

Prefiere HTTPS verificado y valida estrictamente lo restante.

¿Magic link inicia sesión?

Solo con token corto, único y validado por servidor.

¿LaunchLint abre todos los links?

No. Revisa la configuración estática.

Fuentes oficiales

Este artículo se basa en las siguientes fuentes primarias oficiales. Las reglas pueden cambiar; comprueba siempre la versión vigente antes de enviar.