DEVLOPN Audit

ITSAppUsesNonExemptEncryption = false — le réflexe faux des apps Flutter qui chiffrent

Chiffrer sa base locale avec sqlite3mc et cocher false, c'est répondre faux à une question de classification EAR. Notes 3 et 4, ERN au BIS, déclaration ANSSI.

ITSAppUsesNonExemptEncryption = false

Le réflexe de la plupart des apps Flutter qui chiffrent leur base locale. Et c'est faux !

Tu embarques sqlite3mc, donc de l'AES-256 sur tes données. Les exemptions Apple ne couvrent que la crypto de l'OS, TLS, l'authentification, le DRM et le médical. Rien pour ton cas.

Cette case plist n'est pas un réglage technique, c'est une réponse à une question de classification EAR.

Chiffrer, c'est déclarer — case plist, EAR classement US, BIS ERN + rapport, ANSSI déclaration FR : des deux côtés

Deux notes décident

  • La Note 4 déclasse un produit dont la fonction première n'est pas de stocker ou traiter de l'information, et dont la crypto se limite à soutenir cette fonction. Un inventaire local-first stocke de l'information par définition. Elle ne te sauve pas.
  • La Note 3 prend le relais. Elle déclasse le logiciel grand public : vendu au détail, crypto non modifiable, installable sans assistance. Une app App Store coche les trois. Tu passes de la catégorie contrôlée lourde au mass market. Fini la licence et le CCATS, mais le mass market garde ses obligations : un enregistrement ERN au BIS et un rapport annuel. Une heure par an.

La mauvaise tentation

Retirer le chiffrement pour rendre le false vrai. Tu échanges de la sécurité réelle contre du confort administratif. Mauvais calcul.

Pas une, mais deux déclarations

  1. Côté américain, l'export EAR au BIS.
  2. Côté français, la déclaration ANSSI de l'article 30 III : publier une app chiffrante depuis la France reste une fourniture de moyen de cryptologie.

Aucune ne dispense de l'autre.


Petit lexique

  • EAR : Export Administration Regulations, la réglementation export américaine qui couvre le chiffrement.
  • BIS : Bureau of Industry and Security, l'agence US qui administre les EAR et reçoit les enregistrements.
  • ERN : Encryption Registration Number, le numéro délivré par le BIS quand tu enregistres ton app chiffrante.
  • CCATS : la procédure de classification lourde du BIS, dont le mass market te dispense.
  • ANSSI : l'agence française de cybersécurité, destinataire de la déclaration de l'article 30 III.
  • Info.plist : le fichier de configuration d'une app iOS, où vit la clé ITSAppUsesNonExemptEncryption.