LaunchLint Academy

La respuesta breve
Las excepciones HTTP pueden ayudar en desarrollo, pero exponen datos y dejan una configuración amplia. Prefiere HTTPS y limita excepciones.
- Revisa ATS, Network Security Config, WebViews, certificados de debug y endpoints reales juntos.
Pruebas necesarias para publicar
No revises ats, tráfico http y seguridad de red como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Separa tres niveles de prueba para ATS, tráfico HTTP y seguridad de red: configuración visible en los archivos, comportamiento en un dispositivo limpio y ajustes externos de Apple Developer, App Store Connect o Play Console. La revisión solo es fiable cuando los tres describen el mismo candidato. Asigna responsable y criterio de parada a cada diferencia.
Pruebas necesarias para publicar
- Valor de producción para inventariar endpoints identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
1. Inventariar endpoints
Incluye APIs, auth, medios, WebViews, analytics y redirects.
No revises inventariar endpoints como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Pruebas necesarias para publicar
- Valor de producción para inventariar endpoints identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
2. Entender ATS
Inspecciona NSAppTransportSecurity y evita excepciones globales.
No revises entender ats como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Pruebas necesarias para publicar
- Valor de producción para entender ats identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
3. Controlar HTTP Android
Revisa usesCleartextTraffic y Network Security Config.
No revises controlar http android como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Pruebas necesarias para publicar
- Valor de producción para controlar http android identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
4. Limitar excepciones
Permite solo dominios y objetivos documentados.
No revises limitar excepciones como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Pruebas necesarias para publicar
- Valor de producción para limitar excepciones identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
5. Separar debug
CAs locales y proxies no pertenecen al candidato.
No revises separar debug como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Pruebas necesarias para publicar
- Valor de producción para separar debug identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
6. Revisar WebViews
La seguridad de transporte no sustituye una allowlist.
No revises revisar webviews como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Pruebas necesarias para publicar
- Valor de producción para revisar webviews identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
7. Probar certificados
Comprueba expiración, hosts, cadena y redirects.
No revises probar certificados como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Pruebas necesarias para publicar
- Valor de producción para probar certificados identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
8. Documentar el riesgo
Cada excepción necesita responsable, fecha y plan de retirada.
No revises documentar el riesgo como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.
Pruebas necesarias para publicar
- Valor de producción para documentar el riesgo identificado
- Archivo o ajuste responsable enlazado
- Configuración nativa resuelta comprobada
- Artefacto firmado probado en un dispositivo limpio
- Diferencias entre iOS y Android documentadas
- Cada discrepancia tiene responsable y criterio de parada
Preguntas frecuentes
¿Por qué localhost funciona?
Debug y producción usan reglas y certificados distintos.
¿Desactivo ATS?
Normalmente no; corrige el servidor o limita la excepción.
¿Basta usesCleartextTraffic=false?
No. Revisa también config, WebViews y bibliotecas.
¿LaunchLint ve el tráfico?
No. Solo analiza configuración estática.