diff --git a/marketing/positioning.md b/marketing/positioning.md index 1bc4973..26d6b04 100644 --- a/marketing/positioning.md +++ b/marketing/positioning.md @@ -53,13 +53,20 @@ pages, marketing copy, comparison tables, meta descriptions, emails, FAQs, all o Copy that says "13 agents" or "no data leaves the device" must have a test backing it. If a claim cannot be pointed at code or a test, it does not go in copy. -### 3. Honest privacy scoping +### 3. No privacy claim until the egress inventory exists (withdrawn 2026-10-29) -Telemetry and the trial email **do** leave the device. The defensible claim is: +The claim that stood here — "No prompt or code content leaves the device" — is **false at HEAD** +and must not be restated in any copy until it is verified and replaced. It was backed by an +argument about envelope metadata, which says nothing about what leaves the machine. Three things +at HEAD contradict it: crash reporting initialises with `sendDefaultPii = true`; the licence call +sends the hardware UUID and the device name; the phone relay carries sealed prompt and reply +payloads. `/privacy` names the hardware UUID and the device name and says nothing about crash +reporting with PII or about the relay. -> **No prompt or code content leaves the device.** - -Never "no data leaves the device". +So: write **no** privacy claim at all — not softened, not partial. "Telemetry and the trial email +do leave the device" is true and insufficient; it is not a substitute. The replacement goes in +only after FRE-333 lands an egress inventory and `/privacy` text that match what the app does. +See FRE-326 (the `/faq` withdrawal) and FRE-333 (the inventory). ### 4. Sell what works today @@ -87,8 +94,7 @@ nothing posts itself. | Permission gate answered from a card | awaitPolicyTable + bridge directive path (`hook/normalize.go`, `serialize.go`) | | Fan / thermal / charge control | `helper/` (privileged helper, SMC, no kext) | | One-time purchase, no subscription | $10 → $15 at 1.0; Stripe checkout | -| macOS 14+ | 27 source files use the `@Observable` framework | -| No prompt or code content leaves the device | envelope carries session/event/terminal metadata only (see `docs/agent-interface.md`) | +| macOS 14.2+ | the CoreAudio overlay symbol the mixer uses only exists from 14.2 (NOOK-881) | ## Held claims (not publishable)