forked from Mike/freno-dev
privacy: fire the contingency — swap (b) and the iPhone paragraph to the opt-in form
v0.15.1 (2026-11-04) is the first release tag containing FRE-355's merge 6e74b261, and the live appcast serves v0.15.2. The page's own Contingency made the always-on (b) conditional on no release shipping FRE-355; that condition no longer holds, so the always-on text would be false on the build the page deploys with. Swap applied with two corrections against the pre-written contingency text, both measured in the shipped starter (Sources/NookApp/main.swift, CrashReporting.onTracesSampleRate): - session pings and performance traces (0.1) still flow while enabled, so they are named — the contingency's own completeness warning; - sendDefaultPii = false means no IP is attached, so the swap text's 'Sentry also receives your IP address' is dropped, not kept. iPhone paragraph corrected the same way (iOS gates identically: ios/AgentNookMobile/App.swift startIfEnabled, SettingsView default off). Last Updated -> November 6, 2026. privacy-page.patch regenerated (c1c498e..branch); draft sequencing/evidence rows updated.
This commit is contained in:
@@ -6,14 +6,22 @@
|
||||
* destinations, file:line evidence per row. When the app's egress changes,
|
||||
* this page changes in the same commit — not later.
|
||||
*
|
||||
* The crash-reporting paragraph below describes the build users run today:
|
||||
* Sentry starts unconditionally in `Sources/NookApp/main.swift:272-279`, with
|
||||
* `sendDefaultPii = true`, and there is no off switch in Settings. The opt-in
|
||||
* build change is merged on The-Nook master (FRE-355, 6e74b261) but no release
|
||||
* tag carries it yet, so the page must keep the always-on form until the first
|
||||
* release that contains it — then paragraph (b) is replaced by the shorter
|
||||
* form held in `marketing/drafts/privacy-page.md` §"Contingency" in the same
|
||||
* commit that makes it true.
|
||||
* The crash-reporting paragraphs ((b) and the iPhone companion) describe the
|
||||
* build users run today: crash reporting is opt-in, off by default, on
|
||||
* releases v0.15.1 and later — FRE-355 (merge `6e74b261`) first shipped in
|
||||
* `v0.15.1` (2026-11-04), and the live appcast serves `v0.15.2`. When enabled,
|
||||
* Sentry receives crash and error reports, session pings, and performance
|
||||
* traces at a 0.1 sample rate (`tracesSampleRate = 0.1`), and no IP address is
|
||||
* attached (`sendDefaultPii = false`, `Sources/NookApp/main.swift` and
|
||||
* `Sources/NookCore/System/CrashReporting.swift`). Builds before `v0.15.1`
|
||||
* started Sentry on every launch with `sendDefaultPii = true` and no off
|
||||
* switch; this page describes the current release.
|
||||
*
|
||||
* The *Contingency* in `marketing/drafts/privacy-page.md` fired with `v0.15.1`
|
||||
* and is applied in this commit, with two corrections against the pre-written
|
||||
* swap text: the shipped build still sends session pings and traces while
|
||||
* enabled, so they are named (the contingency's own completeness warning), and
|
||||
* `sendDefaultPii = false` means the IP sentence is dropped rather than kept.
|
||||
*
|
||||
* Corrected against the CTO's /privacy verdict (FRE-354): no macOS username
|
||||
* from Sentry (sendDefaultPii sets the IP only), session pings named, (a)
|
||||
@@ -37,7 +45,7 @@ export default function NookPrivacyPolicy() {
|
||||
<SubdomainHeader />
|
||||
<div class="min-h-screen px-[8vw] py-[10vh]">
|
||||
<div class="py-4 text-xl">The Nook's Privacy Policy</div>
|
||||
<div class="py-2">Last Updated: November 4, 2026</div>
|
||||
<div class="py-2">Last Updated: November 6, 2026</div>
|
||||
<div class="py-2">
|
||||
The Nook runs on your Mac, and the iPhone and Apple Watch companion
|
||||
is in TestFlight beta. Your prompts, your code and your agent
|
||||
@@ -71,15 +79,16 @@ export default function NookPrivacyPolicy() {
|
||||
a connection once.
|
||||
</div>
|
||||
<div class="pb-2">
|
||||
<div class="-ml-6">(b) Crash and error reporting:</div> Crash
|
||||
reports, error events, hang reports, session pings, and
|
||||
performance traces are sent to Sentry, our crash-reporting
|
||||
processor, and this is on for every launch in this version —
|
||||
there is no setting that turns it off. Each report carries the
|
||||
app version, the macOS version, the Mac model and what the app
|
||||
was doing when it failed, and Sentry also receives your IP
|
||||
address. Reports never include your prompts, your code or your
|
||||
session content.
|
||||
<div class="-ml-6">(b) Crash and error reporting — off unless
|
||||
you turn it on:</div> Crash reporting is off by default and
|
||||
runs only if you enable it in Settings. When it is on, The Nook
|
||||
sends crash reports, error events, hang reports, session pings,
|
||||
and a sample of performance traces to Sentry, our
|
||||
crash-reporting processor. Each report carries the app version,
|
||||
the macOS version, the Mac model and what the app was doing
|
||||
when it failed. Your IP address is not attached to the reports.
|
||||
They never include your prompts, your code or your session
|
||||
content.
|
||||
</div>
|
||||
<div class="pb-2">
|
||||
<div class="-ml-6">(c) Phone connection:</div> The phone
|
||||
@@ -160,10 +169,13 @@ export default function NookPrivacyPolicy() {
|
||||
</div>
|
||||
<div class="pb-2">
|
||||
<div class="-ml-6">The iPhone companion.</div> The iPhone and
|
||||
Apple Watch app is in TestFlight beta. It runs the same Sentry
|
||||
reporting: the app version, iOS version, iPhone model, session
|
||||
pings and your IP address, with the same no-off-switch. Those
|
||||
reports never include your prompts, code or session content.
|
||||
Apple Watch app is in TestFlight beta. Its crash reporting is
|
||||
the same opt-in: off unless you turn it on in its settings.
|
||||
When it is on, it sends crash reports, session pings and a
|
||||
sample of performance traces to Sentry — the app version, the
|
||||
iOS version and the iPhone model, with no IP address attached.
|
||||
Those reports never include your prompts, code or session
|
||||
content.
|
||||
Its other network traffic is the phone connection in (c) — the
|
||||
relay, or a direct LAN/tailnet link — plus, if you allow
|
||||
notifications, the push token it gives the relay so Apple can
|
||||
|
||||
Reference in New Issue
Block a user