Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clarify export compliance information for ios #515

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

menaechmi
Copy link
Contributor

I think something like this should address the ios issues. Defold-engine only code meets the exemption requirements for the US, EU, and France. It's unlikely but possible that someone creates a project that would change that.

As for the French declaration - an in-depth look of the requirements are in the details below. But it is a mistake on Apple's part to be requiring the document for all apps with cryptography in France.

I included the link to the form, because it's more than Apple provides, but I didn't feel instructions for filling it out were appropriate for the manual - where would it go best?

Closes #322

Analysis of each country's law

US Rules

Per https://www.bis.doc.gov/index.php/all-articles/15-policy-guidance/encryption/560-encryption-faqs#15

Examples of items that are excluded from Category 5, Part 2 by Note 4 include, but are not limited to, the following:
Consumer applications. Some examples:
piracy and theft prevention for software or music;
music, movies, tunes/music, digital photos – players, recorders and organizers
games/gaming – devices, runtime software, HDMI and other component interfaces, development tools
printers, copiers, scanners, digital cameras, Internet cameras – including parts and sub-assemblies
household utilities and appliances

Additionally, the use of industry standard algorithms means US export requirements do not apply to Defold.

French Rules

Per https://cyber.gouv.fr/controle-reglementaire-sur-la-cryptographie-demarches-accomplir
Use in France requires no declaration to ANSSI (Utilisation en France). Import might (Importation en France).

Either way, the table of exceptions specifies that Protection against duplication is exempt for any operation (Protection contre la duplication - Exemption pour toute opération).

For confirmation: Décret n°2007-663 du 2 mai 2007

Chapter 1 Article 1 states that usage of cryptology in Annex 1 is exempt from the processes of the law.

Sont dispensées des formalités préalables prévues aux chapitres II et III du présent décret les opérations de fourniture, de transfert, d'importation ou d'exportation des moyens et prestations de cryptologie mentionnées à l'annexe 1 du présent décret.

Annex 1, Category 6: Equipment designed to limit the protection of software or computer data against copying or illegal use and the cryptography is not accessible to the user.

Equipements spécialement conçus et limités pour assurer la protection de logiciels ou de données informatiques contre la copie ou l'utilisation illicite et dont la capacité cryptographique n'est pas accessible à l'utilisateur.

French law is of course also compliant to EU law:
Delegated Regulation (EU) No 1382/2014

Category 5 – Part 2 does not control items incorporating or using “cryptography” and meeting all of the following:
a. The primary function or set of functions is not any of the following:

  1. “Information security”;
  2. A computer, including operating systems, parts and components therefor;
  3. Sending, receiving or storing information (except in support of entertainment, mass commercial broadcasts, digital rights management or medical records management); or
  4. Networking (includes operation, administration, management and provisioning);
    b. The cryptographic functionality is limited to supporting their primary function or set of functions;


* Making calls over secure channels (i.e. HTTPS and SSL)
* Copyright protection of Lua code
Some users have reported being asked to upload a French Encryption Delaration when uploading to the App Store in France. Despite your app being exempt, Apple may still require you to submit a form to the French Cybersecurity Agency and upload their response. The form and directions are available directly from the [French Cybersecurity Agency](https://cyber.gouv.fr/controle-reglementaire-sur-la-cryptographie-les-formulaires).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't recall seeing anyone mention this on the forum or Discord. Do you have a source?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apple's Export page mentions they might make you do it, in Defold's forum there's a topic asking about it. It was briefly brought up in an issue: defold/defold#3451 (comment) with no resolution.

But most reports come from unanswered Unity forum posts: 1 2 3


The Defold game engine use encryption for the following purposes:
These uses of encyption in the Defold engine are exempt from export compliance document requirements under United States and European Union law. Most Defold projects will remain exempt, but the addition of other cryptographic methods may change this status. It is your responsiblity to ensure that your project meets the requirements of these laws and the App Store's rules. See Apple's [Export Compliance Overview](https://help.apple.com/app-store-connect/#/dev88f5c7bf9) for more information.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@britzl
Copy link
Contributor

britzl commented Feb 3, 2025

I included the link to the form, because it's more than Apple provides, but I didn't feel instructions for filling it out were appropriate for the manual - where would it go best?

I'm not so sure this is something we should provide. I do not feel that the Defold Foundation should provide legal advice or this type of guidance. Are other game engines doing this?

@menaechmi
Copy link
Contributor Author

As far as I can tell, the cause of the issue is that setting ITSAppUsesNonExemptEncryption to No in the info.plist skips all of the questions in App Store Connect. Without it set, users get asked "Does your app only use encryption limited to that within the Apple operating system?" - correctly answering "no" has App Store Connect require the French documentation. Its a matter of Apple's mistake - the App Store Connect questions and the key don't accurately reflect one another, AND the question doesn't accurately reflect the French law, AND they provide no guidance how to submit the form.

I thought changing the info.plist was more complicated previously, but I'm glad to find out it isn't! I think the new commit is a better way of putting it, while avoiding being legal advice - which is hard when dealing with legal requirements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add clarification and course of action for Apple export compliance
2 participants