diff --git a/PARITY.md b/PARITY.md
index 1067190..7cf89c0 100644
--- a/PARITY.md
+++ b/PARITY.md
@@ -507,3 +507,41 @@ peer q1.json poll; peer q2.json poll
peer q1.json send
c; peer q2.json send d # the exchange that used to die
peer q1.json poll; peer q2.json poll
```
+
+## iOS TestFlight readiness, checked 2026-08-25
+
+Verified against the BUILT PRODUCT, not the source tree — the difference matters,
+and caught one thing that would have bounced the upload.
+
+| | |
+|---|---|
+| `xcodebuild archive`, `generic/platform=iOS` | ✅ succeeded, arm64, WebRTC embedded |
+| Unit tests | ✅ 38 passed, 0 failures |
+| `PrivacyInfo.xcprivacy` | ✅ added, **confirmed present in the .app bundle** |
+| `UILaunchScreen` | ✅ present (empty dict is the modern form) |
+| Bundle / version / min OS | `net.flamenet.messenger`, 0.1.0 (1), iOS 16.0 |
+| Usage strings | mic + Face ID; no camera use, so none required |
+| App icon | 1024×1024 |
+| ATS | fully on — no dev exception left behind |
+| Third-party SDK manifest | WebRTC ships its own (no ITMS-91061) |
+| Trackers | none — grepped for firebase/analytics/crashlytics/sentry/etc. |
+
+🔴 **The privacy manifest was a hard blocker.** Apple requires one for any app
+touching a "required reason" API, and this app uses `UserDefaults` in five files
+— mute and pin flags, the push toggle, the chosen relay. Without it the upload is
+rejected **ITMS-91053 before it ever reaches TestFlight**. ⚠️ The first archive
+silently omitted it because the file was added after the project was generated:
+**check the bundle, not the repo.**
+
+⚠️ Two things a human must settle before submitting:
+- `NSPrivacyCollectedDataTypes` is a legal declaration and must match the privacy
+ label in App Store Connect. Written from what the code sends; confirm it.
+- `CURRENT_PROJECT_VERSION` is `1`. Fine once; every later upload needs a bump.
+
+⚠️ **`plutil -extract` WRITES BACK IN PLACE** unless given `-o -`. Using it to
+"inspect" an archive destroyed that archive's `Info.plist` down to 3 bytes. Use
+`plutil -p` to read.
+
+Still unproven: the feature surface end-to-end on a device — voice notes, calls,
+groups, stories. Unit tests and an archive do not cover those, and testers will
+be the first to exercise them.