This Privacy Policy explains what information Nucleic processes, why, and the choices you have. Nucleic is built to be private by design: it runs on your own hardware, and we deliberately avoid collecting anything we don't need.
Nucleic is provided by Andrew Blakeslee Moore (“Nucleic,” “we,” “us,” or “our”). This policy covers the Nucleic website at nucleic.blakeslee.xyz, the Nucleic macOS app, the Nucleic iPhone remote app, and the supporting cloud services described below. If you have any questions, contact us at hello@nucleic.blakeslee.xyz.
01What we do not collect
Because this is what most people want to know first, here is what stays local unless you make a separate, explicit choice described below:
- Your source code, files, and repositories. Nucleic does not upload your repository. A problem report can contain code or file content from the selected chat's transcripts and current git patch; it does not sweep unrelated repository files.
- Your prompts and agent transcripts. The conversation between you and your coding agents stays on your device unless you press Send Report in the Report a Problem sheet for that chat.
- Account or identity information. There is no sign-up, no login, no name, no email required to use Nucleic.
- Your IP address. Our analytics endpoint is explicitly built to not read or store the client IP.
- Advertising identifiers or cross-site tracking data. We run no ad networks and set no tracking cookies.
- Payment information. Nucleic is currently a free open beta; we do not process payments.
02The website
The Nucleic website is a static marketing site served from Cloudflare's edge network. It contains no analytics scripts, no tracking pixels, no cookies, and no sign-up forms.
- Server logs. As with essentially any website, our hosting provider (Cloudflare) processes standard request metadata — such as the requested URL, timestamp, and IP address — to deliver the page and protect the service against abuse. We do not use this for tracking or profiling, and we do not combine it with any other data.
- Web fonts. Our typefaces (Hanken Grotesk and Spline Sans Mono, both open-source) are self-hosted — served directly from this site alongside the page. Your browser never contacts Google or any other third party to load them, so loading a font reveals your IP address and request headers to no one beyond our own Cloudflare edge.
- Downloads. The “Download” button requests the app installer from our update host (
updates.nucleic.blakeslee.xyz, backed by Cloudflare R2). This generates standard CDN request logs; we do not require any information from you to download.
03The Nucleic app (local-first)
The Nucleic macOS app runs on your Mac and can operate offline. It clones, sandboxes, and edits your repositories on your machine, and drives coding agents you choose. The substance of your work — code, files, prompts, and transcripts — is stored locally on your device and is not transmitted to us unless you explicitly submit one chat through Report a Problem.
Coding agents are third parties
Nucleic is an orchestrator for coding agents such as Claude Code, Codex, Grok Build, and any other ACP-compatible agent you connect. When you run one of these agents, that agent sends your prompts and relevant code to its own provider (for example, Anthropic, OpenAI, or xAI) under that provider's terms and privacy policy. Those providers — not Nucleic — control and process that data. You configure and authenticate those agents with your own credentials or API keys, which are managed on your device. We encourage you to review the privacy practices of any agent you use.
Apple Intelligence
Nucleic uses Apple's Foundation Models for small in-app intelligence tasks such as classifying turns, summarizing tool calls, and triaging your idea inbox. You choose how these run, and the choice has different privacy properties:
- Apple On-Device (default). The on-device Apple Foundation Model runs entirely on your Mac. It is private and works offline; the data stays on your device.
- Private Cloud Compute. You may choose to use Apple's Private Cloud Compute Foundation Model, which processes the request on Apple's privacy-preserving cloud infrastructure rather than on your Mac. The relevant prompt is sent to Apple for processing under Apple's Private Cloud Compute model.
- Energy Aware. On laptops, you may choose this mode, which uses the on-device model while connected to power and Private Cloud Compute while on battery.
In every case this is handled by Apple's Foundation Models framework and is subject to Apple's terms and privacy practices. Nucleic does not receive or store this content. Whenever you select a Private Cloud Compute option (including Energy Aware on battery), the applicable request is sent to Apple rather than kept on your Mac.
Optional session problem reports
If a chat fails or behaves unexpectedly, you may choose Report a Problem in its transcript toolbar. The app shows a disclosure and gives you space to optionally explain what you were doing. Nothing is uploaded when you merely open the sheet; each report requires you to press Send Report.
A submitted report is a comprehensive, machine-readable diagnostic package. It contains the selected chat's full session and project metadata, live state such as pending approvals and process stalls, every normalized event (including details hidden or folded in the visible transcript), the exact Nucleic transcript, the coding provider's native transcript when it can be located, the current changed-file list and complete git patch, any capture errors, your optional explanation, and coarse technical fields (macOS version, app version/build, release channel, and CPU architecture). These materials may contain source code, prompts, tool input and output, secrets, personal information, or third-party material, so review whether you are permitted to share the selected chat and its current changes before sending it.
The capture is deliberately allowlisted: it does not separately read or attach credential stores, authentication files, provider caches or homes, other chats, or repository files unrelated to the selected chat's git patch. Secrets already present in the selected metadata, transcripts, or patch remain part of the report.
The report does not include the anonymous heartbeat install ID, a device identity, an account, or your email address. Our Cloudflare Worker generates an opaque report ID and stores the report in a private Cloudflare R2 bucket for up to 90 days, solely to investigate the problem and improve Nucleic. The bucket has no public domain. After storage, Cloudflare Email Service sends our developers a notification containing the report and storage identifiers, timestamps, session/backend/status, app/build information, diagnostic counts or availability, a signed link that retrieves that report for up to 90 days, and a Resolve in Nucleic link that starts a diagnostic chat in Nucleic with the same report staged as a file attachment. The email itself does not contain your explanation, transcript, patch, error text, or an attachment. Anyone with either signed link can access that report until the link expires or the report is deleted. Keep the displayed report ID if you want us to locate or delete it early.
04Anonymous usage analytics (opt-out)
To understand roughly how many people are actively using Nucleic, the app sends an anonymous “heartbeat” at most once per day. This is the only usage telemetry Nucleic sends, and you can turn it off at any time.
The heartbeat is identified by a random install ID — a UUID generated on your device and stored only in your local Keychain. It is deliberately kept separate from any cryptographic identity, contains no personal information, and lets us count installs, not people. The full payload is:
| Field | Example | What it is |
|---|---|---|
| installId | a random UUID | An anonymous per-install identifier (local Keychain). Not linked to you. |
| platform | macos / ios | Which app sent the ping. |
| osVersion | 26.0 | Operating-system version. |
| channel | beta | Release channel of the build. |
| appVersion | 0.1.0 | App version. |
| build | 828 | Build number. |
| arch | arm64 | CPU architecture. |
| locale | en | Language code only (coarse — no region). |
The receiving endpoint (api.nucleic.blakeslee.xyz, a Cloudflare Worker) is built to not read or store your IP address, and the heartbeat carries no account, no project content, and no file or prompt data. The data is stored in Cloudflare Analytics Engine as aggregate, auto-expiring time-series events (retained roughly 90 days) and is used only to count active installs and to slice them by platform, channel, and version.
05The iPhone remote & the relay
The Nucleic iPhone app lets you watch sessions, answer approvals, and steer work on your Mac from your phone. It is paired to your Mac by scanning a QR code (your phone's camera is used only to read that code at pairing time; pairing images are not stored or transmitted to us).
The connection between your phone and your Mac is end-to-end encrypted using the Noise protocol. When the two are on the same network, they connect directly over your LAN, with no cloud involved. When they are not, the connection is carried by our relay (relay.nucleic.blakeslee.xyz, a Cloudflare Worker and Durable Object).
The relay cannot read your data. It forwards the encrypted frames between your devices byte-for-byte and never decrypts them. To route and secure those connections, the relay handles a small amount of non-secret metadata:
- Room identifier — a pseudonymous value derived from a hash of your Mac's public key. It identifies an account-like “room,” not a person, and is not an email or name.
- Device identifiers and presence — so paired devices can find each other and so the relay can tell whether a device is currently connected.
- Admission tokens — short-lived, hashed credentials that gate who may join a room. They grant no ability to read traffic, and they are revoked when you unpair a device.
- A daily-active-user count — one aggregate, auto-expiring event (indexed by the pseudonymous room identifier) is recorded per admitted connection, stored in Cloudflare Analytics Engine (~90-day retention, no IP).
06Push notifications
So your phone can alert you when an agent needs your approval, the iPhone app registers for Apple Push Notification service (APNs). Your device's APNs push token is stored by our relay in Cloudflare KV with a rolling 90-day expiry, solely to deliver these wake notifications, and is removed when a device is unpaired or revoked.
The push notifications themselves are content-free. They are a “tickle” that says an approval is waiting — they carry no code, no transcript, and no approval detail. Your phone then wakes and pulls the actual content over the end-to-end encrypted channel. Delivery is handled by Apple under Apple's privacy practices.
07Software updates
The macOS app checks for updates using Sparkle, fetching a signed update feed and installer from our update host (updates.nucleic.blakeslee.xyz, Cloudflare R2). These requests generate standard CDN logs at our hosting provider; they do not carry an account or personal information from you.
08Service providers
We keep our list of processors short. The third parties that may process limited data on our behalf or as part of the service are:
- Cloudflare — website hosting, the analytics/relay/update infrastructure, private problem-report storage, and edge security. Cloudflare processes request metadata to deliver and protect the service.
- Apple — App Store / TestFlight distribution of the iPhone app and delivery of push notifications via APNs.
- Your chosen AI agent providers (e.g., Anthropic, OpenAI, xAI) — receive your prompts and code directly when you run their agents, under their own terms and privacy policies.
09Data retention
We retain the little data we process only as long as needed for its purpose:
- Anonymous analytics (install heartbeats and the relay's daily-active-user count) auto-expire after roughly 90 days.
- Push tokens and relay admission tokens expire on a rolling basis (typically within 90 days) and are deleted when you unpair or revoke a device.
- Session problem reports are automatically deleted from private Cloudflare R2 storage after 90 days. Contact us with the report ID to request earlier deletion.
- Local app data (your code, settings, transcripts, and your install ID) lives on your device until you delete it or uninstall the app.
- Hosting and CDN logs are retained by Cloudflare per its standard log-retention practices.
10Security
Privacy and security are built into Nucleic's design: connections between your devices are end-to-end encrypted; sensitive local values such as your install ID and pairing credentials are kept in the system Keychain; sandboxed agents on Nucleic Control run inside Apple's containerization framework; and our relay is structured so that it cannot read your traffic. No system is perfectly secure, but we aim to collect so little that there is very little to lose.
11Your choices & rights
- Turn off analytics at any time in Settings → Privacy. When off, no heartbeat is sent.
- Choose whether to send each problem report. Nothing is uploaded until you press Send Report. If you sent one, contact us with its report ID to request early deletion.
- Unpair devices to revoke their access to the relay and delete their stored push token.
- Uninstall the app to remove all locally stored data, including your anonymous install ID.
Depending on where you live, you may have rights under laws such as the EU/UK GDPR or the California Consumer Privacy Act (CCPA/CPRA) — including the right to access, correct, or delete personal information, and to not be discriminated against for exercising those rights. Because Nucleic is designed to be anonymous and local-first, in most cases we do not hold data that can identify you, and our analytics data is not reasonably linkable to an individual. A problem report may contain information from the transcript you chose to send; include its report ID when contacting us so we can locate it without a persistent account identifier. We do not sell or “share” personal information, and we do not use it for targeted advertising. If you would like to make a request, contact us at hello@nucleic.blakeslee.xyz and we will respond as required by applicable law.
12Children
Nucleic is a developer tool intended for adults and is not directed to children. We do not knowingly collect personal information from children under 13 (or the equivalent minimum age in your jurisdiction).
13International users
Nucleic is operated from the United States, and the infrastructure described here (Cloudflare, Apple) may process data in the United States and other countries. If you use Nucleic from outside the United States, you understand that the limited data described above may be processed in the United States.
14Changes to this policy
We may update this Privacy Policy from time to time. When we do, we will revise the “Last updated” date at the top of this page, and significant changes will be reflected here. Your continued use of Nucleic after an update means you accept the revised policy.
15Contact
Questions, concerns, or requests about privacy? Email hello@nucleic.blakeslee.xyz.