chore: declare the end-to-end encryption for app store export compliance #58

This commit is contained in:
Linus Rath
2026-10-31 17:23:19 +01:00
parent e5027c45aa
commit 5ead7a8164
2 changed files with 18 additions and 4 deletions
+4 -4
View File
@@ -58,10 +58,10 @@ module.exports = {
bundleIdentifier: 'org.bulwarkmail.mobile',
buildNumber: IOS_BUILD_NUMBER,
config: {
// The app only speaks HTTPS/TLS and uses platform crypto, which is
// exempt. Declaring it here skips the manual export-compliance
// questionnaire that otherwise blocks every TestFlight build.
usesNonExemptEncryption: false,
// PGP and S/MIME (#58) add end-to-end encryption beyond HTTPS/TLS,
// so the app declares non-exempt encryption; App Store Connect asks
// for the export compliance documentation on upload.
usesNonExemptEncryption: true,
},
},
android: {
@@ -0,0 +1,14 @@
import { describe, expect, it } from 'vitest';
import fs from 'node:fs';
import path from 'node:path';
// With PGP and S/MIME in the app (#58) the encryption is no longer only
// HTTPS/TLS, so the App Store export compliance answer must say so.
describe('export compliance', () => {
it('declares non-exempt encryption for iOS', () => {
const src = fs.readFileSync(path.resolve(__dirname, '../../../app.config.js'), 'utf8');
expect(src).toMatch(/usesNonExemptEncryption: true/);
expect(src).not.toMatch(/usesNonExemptEncryption: false/);
});
});