Guía de compliance

Cifrado y export compliance en App Store

Las respuestas fiables empiezan con un inventario técnico del build.

LaunchLint Academy

15 min de lecturaEdición y revisión de fuentes: Rene DresselPolítica editorial
Funciones de cifrado inventariadas y clasificadas para App Store Connect
Apple pregunta por cifrado en TestFlight y App Store. Inventaría HTTPS, servicios del sistema, SDKs y criptografía propia.
TL;DR

La respuesta breve

Apple pregunta por cifrado en TestFlight y App Store. Inventaría HTTPS, servicios del sistema, SDKs y criptografía propia.

  • ITSAppUsesNonExemptEncryption ayuda con preguntas repetidas, pero no sustituye la clasificación correcta ni el asesoramiento necesario.

Pruebas necesarias para publicar

No revises export compliance y declaraciones de cifrado como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 export compliance y declaraciones de cifrado: 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 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

Incluye red, almacenamiento, auth, VPN, mensajes, medios y SDKs.

No revises inventariar como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 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. Separar tipos

Distingue sistema, bibliotecas estándar y métodos propios.

No revises separar tipos como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 tipos 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. Incluir SDKs

Revisa documentación y funciones usadas.

No revises incluir sdks como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 incluir sdks 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. Seguir las preguntas

Responde para build, países y funciones concretos.

No revises seguir las preguntas como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 seguir las preguntas 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. Configurar Info.plist

El valor debe coincidir con la clasificación.

No revises configurar info.plist como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 configurar info.plist 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. Gestionar documentos

Planifica revisión, asignación y código.

No revises gestionar documentos como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 gestionar documentos 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. Resolver Expo

Comprueba el valor final generado por plugins.

No revises resolver expo como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 resolver expo 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. Versionar la decisión

Registra fuentes, cambios y fecha.

No revises versionar la decisión como un interruptor aislado. Relaciónalo con export compliance y declaraciones de cifrado, 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 versionar la decisión 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

¿HTTPS cuenta?

Sí técnicamente; la documentación depende de las excepciones.

¿Siempre false?

No. Debe ser veraz.

¿Es asesoramiento legal?

No. Busca ayuda cualificada en casos dudosos.

¿LaunchLint decide la excepción?

No. Detecta señales, no clasifica legalmente.

Fuentes primarias 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.