diff --git a/src/routes/nook/privacy.tsx b/src/routes/nook/privacy.tsx index da0cc1d..6a0acc0 100644 --- a/src/routes/nook/privacy.tsx +++ b/src/routes/nook/privacy.tsx @@ -1,9 +1,17 @@ /** * The Nook privacy policy — `nook.freno.me/privacy`. * - * Reflects the actual data The Nook sends when licensing: a masked hardware - * UUID + device name for trial/activation limits, the email used for purchase, - * and Stripe payment processing. + * Every statement on this page is traced to the egress inventory at + * `The-Nook` HEAD (FRE-333, `document-egress-inventory`): eleven internet + * 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 that ships today: + * Sentry starts unconditionally in `Sources/NookApp/main.swift:272-279`, with + * `sendDefaultPii = true`, and there is no off switch in Settings. If an + * opt-in setting ships, paragraph (b) is replaced by the shorter form held in + * `marketing/drafts/privacy-page.md` §"Contingency" in the same commit that + * makes it true. */ import { buildMainSiteUrl } from "~/lib/subdomain-url"; import { PageHead } from "~/components/PageHead"; @@ -21,39 +29,109 @@ export default function NookPrivacyPolicy() {
The Nook's Privacy Policy
-
Last Updated: August 26, 2026
+
Last Updated: October 29, 2026
- Welcome to The Nook ('We', 'Us', 'Our'). - Your privacy is important to us. This policy explains what we collect, - why, and how it is handled. The app itself runs locally on your device - and sends only the minimal data required for trial and licensing. + The Nook runs on your Mac. Your prompts, your code and your agent + sessions are processed on your device. This page lists every + connection the app makes over the network, what each one sends, and + whether you can turn it off.
    - 1. Data We Collect + 1. What leaves your Mac
    -
    (a) Device hardware UUID:
    When you start - a trial or activate a license, The Nook sends a hardware UUID - from your Mac. It is used solely to enforce the 14-day trial and - the 3-device activation limit, and to prevent resetting the - trial by reinstalling the app. +
    (a) Licensing and trial:
    When you start + a trial or activate a license, The Nook sends your Mac's + hardware UUID and device name to our licensing server + (freno.me). The UUID enforces the 14-day trial and the 3-device + activation limit and stops a trial being reset by reinstalling + the app; the device name is so you can recognize the Mac among + your activations. While you are on the trial, this is sent at + each launch. Once you are licensed, each launch re-checks only + that your key has not been revoked. These calls fail open: with + no connection, the app keeps working, because license + verification itself is offline. +
    +
    +
    (b) Crash and error reporting:
    Crash + reports, error events, hang reports 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 and your macOS + username. Reports never include your prompts, your code or your + session content. +
    +
    +
    (c) Phone connection:
    The phone + connection ships off and is yours to enable. When you turn it + on, your Mac registers with our relay (nook-relay.freno.me) + using a random install ID, and a licensed Mac presents its + license key once at registration. Everything your Mac and your + phone then exchange — session updates, approvals, replies — is + encrypted end-to-end: the relay routes it and cannot read it. + The relay can see which devices are connected, when, and how + much traffic they exchange. +
    +
    +
    (d) Weather:
    If you add the Weather + module, your Mac asks our relay for forecasts using coordinates + rounded to a 0.1° grid — about 11 km — and the rounding happens + on your Mac before anything is sent. The Weather module + registers with the relay for this even if you never turn on the + phone connection. "My Location" asks macOS for your + approximate position, and naming or searching for a place uses + Apple's Maps service, so Apple sees those lookups. Neither + feature sends us your precise location. +
    +
    +
    (e) The Network panel:
    While the + Network panel's connection section is on screen, The Nook + asks a third-party IP-lookup service (get.geojs.io, with + ipwho.is as backup) what your public IP address and provider + are — that is how the panel can show them to you. Those services + necessarily see your IP address. The speed-test button measures + against Cloudflare's public speed endpoint and uploads only + zeros, never your data. +
    +
    +
    (f) Update checks:
    Automatic update + checks ship off. If you turn them on, or press "Check for + Updates", The Nook fetches the update feed from freno.me + and the request carries your app version. Like every request on + this page, it also arrives from your IP address. +
    +
    +
    (g) Changelog:
    Opening Settings › + Changelog fetches the release notes from freno.me.
    -
    (b) Device name:
    The Nook sends your - Mac's name so you can recognize the device in your license - activations. It is not used for any other purpose. +
    (h) Bug reports:
    only what you choose + to send. If you write a bug report, you decide what it says. + Bug reports also include a machine snapshot — macOS version, Mac + model, CPU, memory, free disk, locale, and your displays' + names and resolutions — so the problem can be reproduced. The + optional contact email is used only to reply to you.
    -
    (c) Email:
    The email you provide at - checkout is used to deliver your license key and to look up your - order. +
    (i) Your email and payment:
    The email + you give at trial start or checkout delivers your license key + and looks up your order. Payments are processed by Stripe; we + never see or store your card details.
    -
    (d) Payment:
    Payments are processed by - Stripe. We never see or store your card details. +
    (j) What does not leave your Mac:
    The + hook and the bridge that connect your agents to The Nook talk to + nothing but your Mac — the hook dials the local bridge socket, + and the bridge only listens. The exception is deliberate and + yours: if you add a remote machine, the hook on that machine + dials this Mac, and that is the one case where agent traffic + crosses the network. The privileged helper that controls fans + and charging has no networking code at all.
    @@ -63,9 +141,11 @@ export default function NookPrivacyPolicy() { 2. How We Use It
- Device identifiers, your email, and license records are used only - to operate the trial, deliver purchases, and enforce the 3-device - license. We do not use them for advertising or sell them to anyone. + Device identifiers, install IDs, your email and license records are + used only to operate the trial and the licenses, to run the relay + and the weather service, to answer bug reports, and to deliver + purchases. We do not use them for advertising and we do not sell + them to anyone.
@@ -74,9 +154,11 @@ export default function NookPrivacyPolicy() { 3. Data Security
- License keys are signed and verified with Ed25519. The connection - to our servers uses TLS. Your license key is stored in the macOS - Keychain on your Mac. + License keys are signed and verified with Ed25519 and stored in + the macOS Keychain. Phone traffic is encrypted end-to-end with + keys your own devices generate at pairing; our relay holds no key + that can read it. Every connection described on this page uses + TLS.