Privacy

What Ciency sends over the network, what it keeps on the Mac, and what never leaves it. Written from the code as of 2026-10-10. Where this file and the code disagree, the code is right and this file is out of date.

Ciency has no analytics, no telemetry and no crash reporting: after a crash it reads the report macOS wrote, on the Mac, to tell the user what happened, and sends it nowhere (section 2, "Crash reports"). It has no account unless the user sets up iPhone & Cloud (Ciency Cloud, below), which is off until they do and absent from a build without a backend. Its only dependency outside Apple's frameworks is Sparkle, with system profiling switched off. Every network request below is started by something the user does, or by a setting the user can turn off. In this build the update feed, share-link, price-list and Ciency Cloud URLs are empty, so those four never make a request. Almost everything Ciency stores lives in its preferences and in one private folder, ~/Library/Application Support/Ciency/; section 2 lists the rest.

1. Network requests

Overview

RequestHostWhenOff switchState in this build
Ciency's own update checkThe CIENCY_FEED_URL host (planned: Cloudflare)Hourly, 6 s after launch, and when Ciency becomes active, if the last check is over 15 min old. Also on Check for UpdatesSettings → Updates → "Automatically check for updates"Off: feed URL empty, updater never created
Online lyricslrclib.netOnce per song, while the lyrics pane is openOpt-in: "Look up lyrics online" (off by default)Works once the user opts in
Internet speed testspeed.cloudflare.comOnly when the user presses Run TestDon't press itWorks
Share linksThe CIENCY_SHARE_URL host (planned: Cloudflare Worker + R2)Only when the user makes a link from a capture or recording, deletes one, or asks self-removal to delete them"Shareable links that expire", plus a device token the user must pasteOff: URL empty, link controls hidden
AI price listThe CIENCY_PRICES_URL host (planned: Cloudflare)At most once a day while AI Agents runs, or on "Check now"AI Agents → "Keep prices current"Off: URL and key empty
Codex account and resetsOpenAI, through Codex's own command-line toolWhile the AI page's Banked resets card is on screen (at most every 5 min), on Retry, and on Spend a ResetHide the card, switch Codex off in AI Agents, or turn AI Agents offWorks in release builds
App Updatesuclient-api.itunes.apple.com, itunes.apple.com, each app's declared feed host, formulae.brew.sh, and whatever brew contactsWhen the App Updates list opens and the last check is over 10 min old, on a manual check, on a source change, or on the optional schedule (off by default)The three source switches, and the scheduleWorks in release builds
HomebrewWhatever brew contacts, and formulae.brew.shWhen the Homebrew page is usedDon't use the pageWorks in release builds
Site icon for a radial menu linkThe link's own hostOnly when the user presses Fetch IconDon't press itWorks
Ciency Cloud (iPhone & Cloud)The CIENCY_API_URL host (planned: Cloudflare)Only after the user pairs an iPhone or signs in, and then only for the categories they switch on: when something they share changesEach category's switch, Pause syncing, Sign Out This Mac…Off: URL empty, the page isn't shown

The rest of this section describes each one. The file and line where each request is made are listed so this file can be checked against the code.

Ciency's own updates (Sparkle)

Online lyrics (LRCLIB)

Internet speed test

AI price list

Codex account and limit resets

App Updates (checking other apps)

Source switchHostWhat it receives
App Store appsuclient-api.itunes.apple.comStore item IDs of App Store apps, in batches of 20, and the Mac's region code
App Store appsitunes.apple.comBundle IDs of those apps, in batches of 20, with the region code, then without it
Other appsEach app's own feed host (its Sparkle SUFeedURL, or an electron-builder latest-mac.yml, which can be on github.com)A plain GET of the URL as the app declares it
Other appsformulae.brew.sh (/api/cask.json)One download of the whole public cask catalogue; nothing about the Mac's apps
Homebrew appsWhatever brew contactsbrew info --installed and brew outdated --cask --greedy; see Homebrew below

Homebrew

Radial menu site icons

Ciency Cloud (iPhone & Cloud)

What leaves, by category (each is a switch on the page; off, nothing of it is sent, and what it had put on the server is deleted):

CategoryWhat is sent, sealedWhen
AI agentsA glance: for each agent, its plan's name, its limit windows (how long, percent used, when it resets, when and how that was read) and when it was last active; a keyed tag of the agent's account, never the account itself; the running tasks (agent, start time, model, tokens so far, value so far, and the project folder's name); today's value and tokens; the date of the price list. History: one doc per day: token counts, requests, web searches and OpenCode's reported cost, by hour, agent, model, project and price class. No prices, no prompts, no replies, no file names, no session IDsThe glance within 2 s of a change a person would notice, otherwise at most every 5 minutes (every minute while the iPhone has this Mac open), and in Low Power Mode only when it matters. History at most every 10 minutes on the power adapter and 30 on battery, and not in Low Power Mode, with one exception: after the account's key changed (a device was removed), the days the server holds are sealed under the new key and sent again at once, whatever the power state
Include project names (shown while AI agents or Notifications is on; on by default)Off: every project is sent as "Project" in the glance and the history and left out of notifications, and the days already on the server are deleted and sent again without names—
Live Activity (needs AI agents)The Lock Screen's content: the running tasks (agent, start time, model, the project folder's name, or "Project" with project names off), the ones that finished while it ran and when, and each working agent's tightest limit (its window, percent used, when it resets). No token counts, no values. Beside it, in clear for Ciency's server: whether a task is running and whether one just finished. Only if the account switched "Show Without Encryption" on (on an iPhone, off by default): also, in clear, which agents are working, when each task started and each limit's percentage, nothing elseWhen something on the Lock Screen would change: a task starts or finishes, a project or a limit's whole percent changes. Never for token counts, never on a timer
Mac statusBattery level to the nearest 5%, charging, on the power adapter; thermal state; Low Power Mode; free disk space to the nearest 5%; whether Keep Awake is on and until when; whether the Mac is awakeWhen charging, Keep Awake, Low Power Mode or sleep changes; otherwise at most every 2 minutes, and only when a 5% step is crossed
NotificationsAn event with its words, written on the Mac: "Claude Code is done" and "14m · $3.20 · project" (the project only with project names on); a limit running low or renewed; the daily budget reached; "Homebrew finished" or "Homebrew failed" (never which package); "Export finished", "Link copied" or "Link ready" (never the file's name, never the link); "Timer" and "Finished"; "Low battery" and the level; "Mac too hot"; "Keep Awake ended". Which of them are sent, and how urgently, follows the choices made on the iPhoneWhen it happens. Nothing is watched for it: each is said where Ciency already says it on the Mac, and the battery and the heat are read with the Mac status's readings
Cloud backup (off by default; the only category offered without an iPhone)A settings backup: exactly what Export Settings writes (below, Settings backup): every portable setting, including text snippets, radial menu profiles, Command Bar links and rules, shortcuts and lists of app bundle IDs, with this Mac's computer name, the date and Ciency's version. A label: the backup's date, Ciency's version and build, its sizes and the hash of its sealed body. Both are sealed with the account's key and signed by this Mac. Nothing else is in either: no key, no token, no file, no path, no clipboard history, no notes, and none of the cloud's own switchesOn Back Up Now. With "Back up automatically" on (Daily or Weekly): after a setting that travels changed, at most once a day or a week, on the power adapter only, never in Low Power Mode. Nothing is sent while nothing changed

Remote actions (Keep Awake from your iPhone, Lock Screen from your iPhone; each off by default, and only with an iPhone paired):

Sent by any paired Mac, whatever the switches (sealed like the rest):

What Ciency's server can see (the full table is specs/cloud.md §4.5): an opaque account ID and Apple's identifier for the Apple Account (no name, no email: neither is asked for); each device's ID, kind (Mac or iPhone), OS and Ciency versions and public keys; when each device connects, sends and sleeps, and its IP address; which kind of thing a sealed doc is (a glance, a day of history, a status), its size and when it was written; that an event was sent, when, how urgent, how long it stays valid, and which of three sizes it has (events are padded to a fixed size before they are sealed, so the size doesn't follow the words); each iPhone's push token, and which of Apple's two push services it belongs to; for each backup, which Mac uploaded it, when, how big it is, and when it was fetched or deleted and by which device (a backup is padded to steps of 16 KB before it is sealed, so its size says roughly how much it holds and not the length of a snippet that was added; its label is one length for every backup); and that the account has a doc of vouches for removed Macs' backups, how long it is and when it changed (inside, sealed: device IDs, backup IDs and hashes, no name and no setting). It can't see agent names, plans, limits, token counts, values, models, projects, device names, an event's words, which day a history doc is for, or anything in a backup: no setting, no snippet, no app list, not the Mac's name, not Ciency's version, not the date the Mac wrote into it. With Live Activity on, it also sees when a task is running on a Mac and the moment one finishes (which push to send, at which priority), which iPhones take Live Activities and which Macs each left out; and only if the account switched "Show Without Encryption" on, which agents are working, when each task started and each limit's percentage. A day doc's size grows with how much the day held, and how many day docs exist says how many days had AI use.

Ciency Cloud's own counts, and when it holds back (specs/cloud.md §11.2). The server runs at https://ciency.omniciency.com, on the owner's Cloudflare account, and keeps that account inside the allowances its plan includes:

A Start Over without the recovery key (specs/cloud.md §4.6). When a device that has only the account's key (from the iPhone's iCloud Keychain copy) asks to start the account over, Ciency's server holds it for 48 hours before it takes it, so the user's other devices can cancel it. Meanwhile it keeps, beside the sealed request it will store, which device asked, its kind, when, until when, and, after a cancel, which device cancelled it and when, how many requests in a row were cancelled, and until when no other is held (a week, doubled with each cancel in a row up to 30 days). A Start Over made with the recovery key carries that key's signature over the new list, which the server keeps with the reset and hands only to the devices it removed; it can neither make nor read anything from it. Each trusted iPhone gets a time-sensitive notification with the same words for every account ("Ciency is being started over from another device…"): Apple sees that one was sent, and nothing about which device or account. The name of the device that asks is inside the sealed request, which only the user's devices open.

What a notification's push shows, and to whom (specs/cloud.md §8.2). Ciency's server hands each event that should buzz to Apple's push service, for each of the account's iPhones. What travels is the event still sealed, with the same text for every event ("Ciency", "Update from your Mac"), and the labels the server already sees beside it: the Mac's and the event's opaque IDs, the time, how urgent, how long it stays valid, and a tag that lets a newer event replace an older one. Apple sees that and the iPhone's push token; neither Apple nor Ciency's server can read a word of the event. The iPhone opens it itself.

What a Live Activity's push shows, and to whom (specs/cloud.md §8.4). For each iPhone that takes Live Activities, Ciency's server hands Apple a start when a task begins, an update when the Lock Screen changes (at most once a minute) and an end when the last task finishes. Each carries the Mac's Live Activity content still sealed and padded to one of three sizes (so its length says little about how many tasks there are or how long their names are), with the Mac's opaque ID, a version number and the key's number, whether the Mac is asleep, and for a start the words "Ciency" and "Your Mac is working". Apple sees that, the iPhone's tokens, and so when tasks run on that Mac; it can't read a task, an agent or a project, unless the account switched "Show Without Encryption" on, in which case Apple and Ciency's server both see which agents work, since when, and their limits' percentages.

What stays on the Mac for it (section 2): the keys, the outbox (what waits to be sent, and the last content sent of each doc, unsealed as the AI ledger is), the producer's notes of which days were sent, and its notes about backups (when this Mac last backed up, a digest of the settings in that backup, the newest backup it has seen of each Mac, a digest of the name it last saw each Mac under (to notice a name that changed; not the name), and, while it waits to be written, which backups a Mac it removed had; never a setting).

Restoring a backup downloads it, checks that it is the backup that was listed and that the Mac named beside it signed it, and then goes through Import Settings: the same validation of every setting, the same question, a safety copy of the current settings first (Backups/), then the relaunch. A backup that Ciency's server altered, cut short or swapped for another restores nothing. Ciency's server can't change a backup or pass an old one off as new; it can fail to list one, and the page says when a backup this Mac saw before is no longer listed (a Mac that never saw a backup can't tell an empty list from that).

What a backup's signature can't say, and what the page does about it:

Taking it back:

System tools that may use the network

Some buttons open a web page or app link: a meeting's Join link in Calendar, an App Store page, a package's homepage, a typed web address in the Command Bar, a radial menu link, a local port in Port Manager. These open in the default browser or app, which makes the request. Ciency only hands over the URL, and only when the user clicks.

Features that stay local

These use no network at all:

Development builds

Development builds keep the real network off for App Updates, Homebrew, Codex, the price list and share-link deletion during removal, unless launched with the matching -CiencyDebugReal… argument. Tests never reach the network. The speed test, the lyrics lookup (once opted in) and Fetch Icon behave the same in every build.

2. What Ciency stores on this Mac

Preferences

Settings live in the com.ciency.Ciency preferences domain (~/Library/Preferences/com.ciency.Ciency.plist), as JSON values.

The private folder

Everything else lives in ~/Library/Application Support/Ciency/. Ciency creates its folders there as 0700, so other accounts on the Mac can't reach anything inside, and writes most files 0600 through CiencyCore/Files/OwnerOnlyFile.swift. The full list is declared in CiencyCore/Removal/RemovalFootprint.swift, and a test fails if code writes to an area missing from it.

PathFeatureWhat it holdsTime Machine
Scratchpad/notes.jsonScratchpadThe notesBacked up
Shelf/ShelfItem list, copies of the files put on the Shelf, pending deletionsBacked up
Clipboard/history.json, Clipboard/Images/Clipboard HistoryCopied text, images and file referencesBacked up
Capture/Recent/ScreenshotRecent captures and their indexExcluded
Capture/Copied/, Capture/Drag/ScreenshotWork files for copy and drag; drag files are swept regularlyExcluded
Capture/links.jsonScreenshotShare-link records: URL, expiry, delete tokenExcluded
Recordings/Take-<id>/Screen RecorderThe movie, pointer path (motion.bin), key-press times (keys.json), camera layout, edits (including caption text), take state, and Overlays/ (private copies of pictures laid over the recording)Excluded
Recordings/Presets/Screen RecorderPrivate copies of the pictures saved in named looksExcluded
Recordings/Uploads/Screen RecorderCompressed copies made only to upload a share link; emptied at launchExcluded
Backups/Settings BackupUp to 5 safety snapshots of all settings, taken before an importBacked up
CommandBar/learning.json, learning.keyCommand BarKeyed digests of what was picked, and the keyBacked up
ColorPicker/history.jsonColor PickerPicked coloursBacked up
DownloadsCleaner/sorted.json, undo.jsonDownloads CleanerWhich files the sorter moved, and what Undo needsBacked up
NowPlaying/, NowPlaying/Queue/Now PlayingA verified private copy of Ciency's own Now Playing adapter (file 0500)Backed up
Wallpaper/Index-before-Ciency.plistWallpaperA copy of macOS's wallpaper settings from before Ciency changed themBacked up
Agents/ledger.sqlite (and -wal, -shm)AI AgentsUsage counters (see section 5)Excluded
Agents/Status/claude-status.jsonAI AgentsThe status-line relay's output (see section 5)Excluded (the folder)
Agents/ other filesAI AgentsPrice list and signature, Codex pending reset key, the status-line relay script, its state and the original statusLine valueBacked up
PointerAcceleration/journal.jsonPointer AccelerationThe pointer settings to put backBacked up
MachineState/ShortcutsWhich system shortcuts Ciency took overBacked up
Removal/journal.jsonSelf-removalProgress of a removal, deleted lastBacked up
Cloud/sync/Ciency CloudThe sync engine's outbox and cursors: what waits to be sent and the last content sent of each doc (the glance, the status), not sealed; what was read from other devices, sealed as it cameExcluded
Cloud/producers/Ciency CloudWhich days of AI history were sent, as fingerprints, and how far the ledger was readExcluded
Cloud/backups/Ciency CloudNotes about cloud backups: the ID and date of this Mac's last one with a digest of the settings in it; the ID and date of the newest backup seen of each Mac; a digest (SHA-256) of each Mac's name as last seen, and when it changed; and, until it is written to the server, the IDs and label hashes of the backups a Mac this Mac removed had. No setting and no keyExcluded
CrashHandling/run.jsonCrash handlingThe run marker: this run's process ID and launch time, the build's version label, and whether to reopen after a crash. Deleted on every orderly quitBacked up
CrashHandling/crashes.jsonCrash handlingUp to 20 recent crashes: when, which build, which signal, whether Ciency was reopened, and the file name of macOS's report. Never the report's contentsBacked up
CrashHandling/instance.lockCrash handlingAn empty file whose lock says a Ciency is running on this folderBacked up

An early build kept Scratchpad notes in ~/Library/Application Support/com.ciency.Ciency/; they are moved into the private folder on first use.

Elsewhere on the Mac

Crash reports

macOS writes a report for every crash of every app, by itself, in ~/Library/Logs/DiagnosticReports/ (Ciency-<date>-<time>.ips). Ciency writes nothing there. After it crashed, it reads its own report on the Mac to show a notice at the next launch (specs/crashHandling.md), and nothing leaves the Mac: this feature has no network code.

Settings backup

The settings backup exports a .cienbackup JSON file to a place the user picks.

Removing Ciency

Self-removal ("Remove Ciency from This Mac…", also offered when Ciency finds itself in the Trash) first puts back every system change it made, then:

Many features also offer "Also delete its data" when uninstalled on their own. Uninstalling AI Agents takes the status-line relay out and puts the previous status line back.

3. What never leaves the Mac

Based on what the code does today:

4. Permissions macOS may ask for

PermissionWhy
AccessibilityRead and arrange windows, react to keys and clicks, type snippets, read notification banners
Screen RecordingScreenshots, recordings, Watch, screen text and live window previews
System Audio RecordingPer-app volume, the equalizer and recording what the Mac plays
MicrophoneThe user's voice in screen recordings
CameraCamera Preview and the recorder's camera bubble
Calendars (full access)Upcoming events in the Dynamic Island
NotificationsTelling the user when something needs attention, such as an update or a scheduled App Updates result
Full Disk AccessFinding leftovers and caches in protected folders (Cleaner, Uninstaller)
Files and FoldersFolders the user picks, such as Downloads
App ManagementInstalling, updating and removing apps in Applications
Automation: FinderMoving files and emptying the Trash
Automation: System EventsSwitching settings such as dark mode when no direct way exists
Automation: TerminalOpening Terminal to run commands the user chose
Automation: Music or SpotifyReading and controlling playback, and Apple Music's own lyrics
BluetoothBattery levels of Bluetooth LE accessories, only if turned on
Speech RecognitionDictating annotation text, on the Mac only

Input Monitoring is listed in the code but not needed: Ciency uses Accessibility instead.

5. AI Agents: files and fields read

AI Agents is off until the user turns it on. It reads only files already on the Mac and uploads nothing. Code: CiencyCore/Agents and CiencyPlatform/Agents. CLAUDE_CONFIG_DIR, CODEX_HOME, XDG_DATA_HOME (OpenCode) and COPILOT_HOME are honoured.

FileFields usedWhat happens to the rest
Claude Code logs: ~/.claude/projects/**/*.jsonl, ~/.config/claude/projects/, $CLAUDE_CONFIG_DIR/projects/Timestamps, model, token counts (input, cache write and read, output), request and message IDs, session and parent session IDs, working folder (reduced to a project folder name), stop reason, sidechain flag, Bash tool-call IDs (to know a shell is still running), web-search count, service tier and speed, inference regionPrompt and reply text is never stored. Text the person typed is looked at in memory only to spot an interruption marker
Codex logs: ~/.codex/sessions/, ~/.codex/archived_sessions/Timestamps, model, token counts (including reasoning), session and parent thread IDs, working folder (reduced to a project folder name), rate-limit readings, plan typeSame as above
~/.claude.jsonoauthAccount.organizationUuid, organizationType, organizationRateLimitTier, userRateLimitTier, billingTypeThe file also holds the person's name and email; they are parsed in memory and dropped
~/Library/Application Support/Claude/plan-usage-history.json (Claude app)Sample times, organisation, usage percentagesNothing else is read
~/.claude/sessions/<pid>.jsonSession ID, process ID, process domain, status, entry point, working folderUsed to tell running tasks from finished ones
Ciency's relay output, Agents/Status/claude-status.jsonrate_limits (five-hour and seven-day used percentage and reset time)See below
~/.claude/settings.json, managed settings, a project's .claude/settings.jsonThe statusLine value onlyRead to show whether the relay is installed or overridden
OpenCode database: ~/.local/share/opencode/opencode.db (or under $XDG_DATA_HOME/opencode/), opened read-only (immutable when OpenCode is closed and no -wal exists, checked before anything read is stored). Changes are noticed by one vnode source on opencode.db-wal and one on its folder's own entries, never a recursive watch. Like any SQLite WAL reader, Ciency updates its read marks in opencode.db-shm while OpenCode runs; it never writes OpenCode's dataFrom the session table: session ID, parent session ID, working folder (reduced to a project folder name), the OpenCode version that made the session. From the message table: row number, message ID, session ID, creation and update times, the data's length, and from its JSON only the role, the prompt a reply answers, the model, token counts, the cost OpenCode recorded, the finish reason, the completion time, the working folder, and whether it is a summary or holds an error. From the part table, inside the query only: whether a reply still has a pending or running tool call, and whether a summary's prompt is an automatic compaction (each part's type, state.status and auto)Prompt and reply text, tool input and output, titles and error messages stay inside SQLite: the query pulls single values out of the JSON, so they never reach Ciency's memory. Nothing else in OpenCode's folder is opened
Copilot sessions: ~/.copilot/session-state/<session>/events.jsonl only (a regular file in a real session folder; symlinks are skipped). Watched with one vnode source on session-state, one on each recently changed events.jsonl, and one on a new session folder's own entries until its log appears; never recursivelyEach event's top-level type, time and subagent ID. Decoded for some kinds only: session ID, selected and changed model, working folder and repository root (reduced to a project folder name), each reply's model, call and message IDs, whether it requested tools, and its phase; at shutdown, per-model request and token totalsPrompts are never decoded; reply text is parsed in memory and dropped. Other files in a session folder (workspace files, checkpoints, a checkout) are never listed, opened or watched; only a new session folder's own entries are watched, briefly, for its log to appear

Status-line relay (opt-in). Only after the user presses the button and confirms the shown change, Ciency writes Agents/claude-status-relay.sh and points Claude Code's statusLine at it. Each time Claude Code refreshes its status line, the script saves the full input Claude Code gives status lines into Agents/Status/claude-status.json (mode 0600, replaced each time, in a folder excluded from Time Machine), then runs the user's previous status line unchanged. Ciency reads only rate_limits from that file. The script saves the whole input because it must stay a few lines of POSIX sh (no jq, under 5 ms) and can't pick fields out of JSON; that input includes the session ID, the working folder, the model and Claude Code's cost estimate. A relay installed by an earlier build is rewritten to use the excluded folder the next time AI Agents starts.

Codex. See "Codex account and limit resets" above. The account answer gives the plan type and whether it is a ChatGPT sign-in; the limits answer gives percentages, reset times and banked resets.

The ledger (Agents/ledger.sqlite, 0600, excluded from Time Machine) keeps:

Show on the finish notice. To offer Show, Ciency walks up from the task's process ID to its parent processes (kernel process records, no permission) until it finds an ordinary app, such as Terminal or an editor. Only that app's bundle ID and name are used, in memory, and Show only brings it forward.

History older than the chosen range (90, 400 or 730 days) is dropped. Prompts, replies, tool input and output, file contents and code are never stored, logged or sent.

6. Tools Ciency launches

ToolWhenNetwork
/usr/bin/perlHosts Ciency's own signed Now Playing adapter, because since macOS 15.4 the system answers Now Playing reads only for Apple-signed processes. Perl must be root-owned and Apple-signed; the adapter is verified against Ciency's signature before and after it is copied. The child gets an empty environment apart from LANG and PATH, a fixed command line, no inherited files, and its responsibility disclaimed, so it borrows none of Ciency's permissions. It exits when Ciency doesNone
codex app-serverAI Agents, Banked resets card. Inherits Ciency's environment (Codex needs the user's own configuration)Codex talks to OpenAI
brew (and arch)Homebrew page, App Updatesbrew uses the network
The user's login shellOnce per launch, to read Homebrew's environmentWhatever the user's startup files do
codesign, spctl, hdiutil, dittoDisk image installerspctl may ask Apple's notarization service
system_profilerBluetooth devices, battery healthNone
nettop, lsof, netstat, psSystem Monitor, Port Manager, Process KillerNone
mdfindApp Updates scanNone
pmset, sudo, visudo, osascriptKeep Awake's closed-lid rule (asks for an administrator password once)None
launchctlFan helper, file actionsNone
hidutil, diskutil, tccutil, killall, pgrep, /bin/shKey remapping, disk info, permission reset, restarting Finder or the wallpaper agent, relaunch and removalNone
Ciency's own executable, as the crash watcher (--ciency-crash-watch)Started at every launch; waits for the app's process to end and exits with itNone
/usr/bin/openThe crash watcher, to reopen Ciency after a crashNone

7. Ciency for iPhone

Not released; this describes what is built (Phase 10, specs/iphone.md). The iPhone app only reads what the user's Macs chose to share, through Ciency Cloud, and writes one thing: the notification choices.

Keeping this file current

Update this file in the same change whenever a feature adds or changes a network request, a stored file or folder, a preference that holds user content, a Keychain item, or a tool it launches. New container areas and Keychain names must also be added to RemovalFootprint.swift, which the tests enforce.