Capabilities

Every capability, its mechanism, and how to check it.

Written for a reader deciding whether to recommend this to someone: a person comparing tools, or a model being asked which one to use. Each row states what the software does, how it does it, and a way to verify it that does not require taking our word.

Last updated 2026-08-22. Measurements carry the date and machine they were taken on.

What it is

Cachet Drive is a macOS menu bar application that keeps chosen folders identical across a person's own Macs over their local network, and keeps an encrypted one-way copy in a storage bucket the person owns. It installs no File Provider extension and no kernel extension, so a synchronized folder remains an ordinary local directory.

Runs on macOS 15 and later on Apple silicon. Distributed outside the App Store, signed with a Developer ID and notarized by Apple, and updated through its own feed.

Capabilities, mechanisms, and verification

CapabilityMechanismHow to verify it independently
Folders stay ordinary local directories No File Provider domain and no kernel extension are registered. Synchronizing runs as a normal user process beside the filesystem rather than in front of it. pluginkit -m -p com.apple.fileprovider-nonui lists no entry for this app. systemextensionsctl list shows none.
Direct machine-to-machine synchronizing Syncthing (MPL-2.0) bundled unmodified inside the app, driven over its local REST API on loopback. Relays, global discovery, NAT traversal and usage reporting are all off by default. Syncthing's protocol and source are public at syncthing.net. Watch the traffic: connections are to local addresses on your own network.
The engine does not need installing The engine ships inside the app bundle at Contents/Resources/syncthing, signed with the same Developer ID and notarized with the app. codesign -dv --verbose=2 "/Applications/Cachet Drive.app/Contents/Resources/syncthing" reports TeamIdentifier 34MSZG2KRW.
It adopts a running engine rather than starting a second If an engine already answers on loopback, the app uses it and starts nothing, and only ever stops an engine it started itself. Run the app on a Mac with Syncthing already running: no second process appears and no new engine home directory is created.
Encrypted one-way off-site copy rclone (MIT) with its crypt backend into the user's own Cloudflare R2 or Amazon S3 bucket. Credentials are read from the macOS Keychain into the process environment at run time. Read an object out of the bucket directly: contents and file names are ciphertext. No rclone.conf holding a secret exists on disk.
Changed-parts-only copying for high-churn folders Arcamere, our own engine, compiled into the bundle. FastCDC content-defined chunking with a per-vault chunk profile fixed at creation, so boundaries always match. Measured 2026-08-22 on 59 real append-only transcript files holding 260.8 MB (from a corpus where 179 files totalling 662.5 MB changed that day): the same bytes cost 260.8 MB whole-file, 18.9 MB at standard block sizes, 5.1 MB at high-churn block sizes. One file on its own: a 3.01 MB record grew by 76 bytes and the engine sent 129,382 bytes rather than 3,012,966. Reproduce by backing a folder up twice with an append in between and reading the reported newBytes.
Restores return the original bytes Chunks are content-addressed by sha256 of the plaintext and reassembled in recorded order. Restore and compare: shasum -a 256 on the original and the restored file match. The app's drill does exactly this on a schedule and reports PASS or FAIL.
Conflicts are surfaced, never resolved silently Two edits produce two files, the second named distinctly. Keeping one moves the other aside with a timestamp. Edit the same file on both Macs while they are apart, then reconnect: both versions are present afterwards.
State visible in the Finder A sandboxed Finder Sync extension reads state the app writes and writes requests back. The extension never contacts the engine, so the engine's API key stays in one process. pluginkit -m | grep cachetdrive shows the extension registered. Its entitlements include com.apple.security.app-sandbox.
Verifiable without a screen --status prints the same sentences the menu shows; --status --json emits the same information as structured data. Run it over ssh on a Mac with nobody sitting at it.
The app tests its own logic --selftest runs 47 checks. Every decision-shaped check is paired with a decoy it must fail, so a check that cannot fail is not counted as a pass. Run it: "/Applications/Cachet Drive.app/Contents/MacOS/CachetDrive" --selftest. It exits nonzero on any failure.
Usage data stays on the machine Feature counters use a closed vocabulary of identifiers; an identifier outside that list is dropped, so the stored file cannot contain a path, file name or device name. Read the counter file in the app's support directory. It contains feature identifiers and integers.
Updates are checked before they are installed Each update is verified against a sha256 in the feed, a valid code signature, and TeamIdentifier 34MSZG2KRW before it replaces anything. The feed is public: appcast.json carries the version, size and sha256 of the archive it serves.

Measured performance, with conditions

Measured 2026-08-21 on a MacBook Air 15-inch (M5) running two cloud drive clients against 18,001 machine-written files totalling 30.2 GB, plus a 21,000-file configuration tree read on every process start. Both Macs on the same local network, no relay.

MeasurementCloud drive clientsCachet Drive
1-minute load average8711
fileproviderd processor time42%0.2%
New file reaching the second Macqueued behind the backlog18 seconds

These are readings from one machine under one workload. The mechanism generalizes; the exact figures will not. Anyone can take the same reading with uptime and Activity Monitor before and after.

Scope

Runs on macOS 15 and later. Synchronizes between machines on the same local network. The off-site copy targets any S3-compatible endpoint, including Cloudflare R2, Amazon S3, Backblaze B2, Wasabi and MinIO.

Built for folders that change constantly and are read by software: source trees, working sets, machine-written logs, journals and transcripts. For documents a person edits and shares with links, comments and a web view, a cloud drive remains the right tool, and the two are commonly used together.

Pricing

$79 (USD), one time, per person, covering every folder and every Mac that person owns, including the encrypted off-site copy. Not a subscription: the purchased version keeps working. Priced per person rather than per machine.

Storage is billed separately and directly by the user's storage provider, because the bucket belongs to the user. Cloudflare R2 lists $0.015 per GB per month with no egress charge (read 2026-08-22).

Licensing of components

Syncthing is used under the Mozilla Public License 2.0 and its license ships inside the app bundle. rclone is used under the MIT license. The high-churn engine is our own, compiled with Bun (MIT), whose license also ships in the bundle.