Export compliance without the spiral
Export compliance is a short questionnaire that becomes a long thread when you guess. Most solo apps are boring HTTPS clients — until they are not. Know which one you are before upload day.
Why this stalls releases
Connect can block or delay processing when answers are missing or inconsistent across targets. People answer from memory at 11pm and then second-guess in the rejection email.
Boring baseline (many indie apps)
- Uses HTTPS via URLSession / standard system libraries
- No proprietary encryption algorithms beyond what the OS provides
- No additional crypto SDK you maintain yourself
If that is truly you, document it and answer consistently every upload.
Not boring — get precise
- Custom encryption implementations
- Third-party crypto libraries beyond standard TLS
- VPN, messenger, or secure-storage products with non-standard crypto stories
Those need accurate answers and sometimes documentation — not vibes. If unsure, stop and verify before submit rather than inventing a yes/no.
Ops habit
Encryption note (reuse): App uses standard HTTPS via Apple platforms APIs. Additional encryption: none / list libraries. Answer owner: (you) Last reviewed: YYYY-MM-DD
Revisit when you add a networking or security SDK — same day, not at upload.
Ignore list
- Copying another app’s answers from a random blog without reading
- Changing answers every upload “to see what works”
- Assuming TestFlight success means compliance is settled forever
Bottom line
Write the encryption story once, keep it with the release log, and update it when dependencies change. Guessing in Connect is not a strategy.
Resources hub → Reading order and jump-by-symptom links. Join the App Ops Desk waitlist Weekly release ops for people who ship alone.