You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: probe the broker socket before reporting Ready; docs match advisory helper-dir check
osascript exits 0 as soon as the consent prompt resolves and the shell
backgrounds the broker, so the launcher reported Ready from the SPAWN
alone. A broker that died immediately then looked healthy - the exact
silent shape the sun_path overflow produced. Probe the socket
(connect-and-drop; a dead broker leaves a stale socket FILE behind) and
report Pending inside a 15s bind grace, then Disabled, so the UI shows
degraded rather than an undiagnosable eternal Pending.
Also update DESIGN s5.3.2 for #211: the co-installation helper-dir check
is advisory, not fatal, so locked-file backup works on a normal
drag-install and the residual is logged as DEGRADED.
Copy file name to clipboardExpand all lines: README.md
+39-6Lines changed: 39 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -99,7 +99,7 @@ Notes:
99
99
- ³⁸ Windows and macOS only; Linux needs third-party tools.
100
100
- ³⁹ `bench/` runs Driven's real engine and rclone over identical seeded fixtures against a live Drive account, reporting wall time, throughput, API calls, CPU time, and peak memory for a cold and an incremental pass. See [`bench/README.md`](bench/README.md) for scales, costs, and what is and is not apples-to-apples.
101
101
- ⁴⁰ The others publish unit-test microbenchmarks, internal tuning harnesses (Duplicati's unreleased AutoTune), or vendor marketing numbers, rather than a runnable end-to-end suite. Backblaze does publish a quarterly benchmark, but of B2 object storage rather than the backup client.
102
-
- ⁴¹ Driven's checkmark is scoped to Windows, where a VSS snapshot lets a locked file (Outlook PST, running DB, VM disk) back up while it is held open. Neither macOS nor Linux backs a file up through a lock today - on macOS and Linux, a file Driven cannot open is instead classified precisely as a transient lock (`local.file_locked`) versus a macOS Full Disk Access denial (`local.permission_denied`) and skipped with a clear reason in the activity log, rather than misreported as a disk error. A macOS APFS-snapshot bypass equivalent to Windows VSS exists as a broker crate but is not yet wired into the backup path, so it does not do anything for a user yet; there is no Linux equivalent planned. See `design/DESIGN.md` §5.3 and §5.3.2.
102
+
- ⁴¹ Driven's checkmark is scoped to Windows, where a VSS snapshot lets a locked file (Outlook PST, running DB, VM disk) back up while it is held open. macOS has an equivalent behind an opt-in setting (Settings > Rules): a small privileged helper mounts a read-only APFS local snapshot so a *busy*file can be read: it is off by default, and it does nothing for a Full Disk Access denial. On both macOS and Linux, a file Driven cannot open is in any case classified precisely as a transient lock (`local.file_locked`) versus a macOS Full Disk Access denial (`local.permission_denied`) and skipped with a clear reason in the activity log, rather than misreported as a disk error. Linux has no snapshot equivalent and none is planned. See `design/DESIGN.md` §5.3 and §5.3.2.
103
103
104
104
Competitor rows were verified in July 2026 against rclone 1.74.4, restic 0.19.1,
105
105
Duplicati 2.3.0.4, Backblaze Personal Backup 10.0.2, and Drive for desktop 128.0.
@@ -128,8 +128,9 @@ These move: check each project's current docs before relying on a cell.
128
128
files, VM disks) still back up. On macOS and Linux, a file Driven cannot open
129
129
is classified precisely - a transient lock versus a macOS Full Disk Access
130
130
denial - and skipped with a clear reason rather than reported as a generic
131
-
disk error; an APFS-snapshot bypass equivalent to Windows VSS is in
132
-
development for macOS but not yet available.
131
+
disk error. macOS can also back up a *busy* file through an opt-in APFS
132
+
snapshot (Settings > Rules), which does not help with a Full Disk Access
133
+
denial; there is no Linux equivalent.
133
134
- In-app restore browser with full-text file-name search and streaming decrypt.
134
135
- Activity dashboard with a live tail and filterable history.
135
136
- Rolling local log files covering both the backend and the webview console,
@@ -208,15 +209,47 @@ is planned for a future release. Until then, grant it manually if you want
208
209
those folders backed up; everything else backs up normally without it.
209
210
210
211
**A locked-file snapshot is not a substitute for Full Disk Access, and Driven
211
-
never tries to make it one.** Driven's locked-file handling (Windows VSS
212
-
today; a macOS APFS-snapshot equivalent is in development, see the table
213
-
above) exists to read around a file that is transiently *busy* - open in
212
+
never tries to make it one.** Driven's locked-file handling (Windows VSS,
213
+
and the opt-in macOS APFS snapshot described below) exists to read around a file that is transiently *busy* - open in
214
214
another program. It does not and cannot read around a TCC *denial*, because a
215
215
snapshot preserves the original file's permissions and is itself subject to
216
216
the same TCC check. The historical `-o noowners` mount trick that could bypass
217
217
this (CVE-2020-9771) is long patched and is now a signature EDR products flag
218
218
as suspicious; Driven does not use it and never will.
Two different things stop a file being backed up on macOS, and they have
223
+
different fixes:
224
+
225
+
| Situation | Reported as | Fix |
226
+
|-----------|-------------|-----|
227
+
| The file is held open / busy - a live database, a VM disk, a mail store |`local.file_locked`| Turn on **Back up locked files using an APFS snapshot** in Settings > Rules |
228
+
| macOS privacy protection denies the read |`local.permission_denied`| Grant Full Disk Access (above). Nothing else works. |
229
+
230
+
The APFS snapshot option is **off by default**. Turning it on asks for your
231
+
administrator password once per session, and from then on Driven reads busy
232
+
files out of a read-only APFS local snapshot mounted by a small privileged
233
+
helper - the app itself stays un-elevated, and the helper only ever mounts and
234
+
unmounts. It works without Time Machine being set up.
235
+
236
+
> **Note on drag-installed copies.** One of the helper's defence-in-depth
237
+
> checks is weaker when Driven is installed the usual way. The helper confirms
238
+
> that whatever is talking to it sits next to it in the same folder - which only
239
+
> proves much if you could not write to that folder yourself. Dragging an app
240
+
> out of a `.dmg` makes **you** the owner of everything inside it (this is true
241
+
> even when you drag it into `/Applications`; only `.pkg` and App Store installs
242
+
> land root-owned), so on a normal Driven install that check is advisory and the
243
+
> helper records a `DEGRADED` line in its own log instead of enforcing it.
244
+
>
245
+
> Locked-file backup still works, and the checks that carry the real weight are
246
+
> unaffected: the helper only talks to your own user account, only mounts
247
+
> volumes Driven listed at launch, and only ever makes read-only mounts that
248
+
> preserve the original file ownership. Someone who defeated the folder check
249
+
> would already have to be running as you, and would gain a read-only copy of
250
+
> files they could already read. Installing from a `.pkg` would restore the
251
+
> check to full strength; it is an improvement, not a prerequisite.
252
+
220
253
#### macOS auto-updater caveat
221
254
222
255
Because the macOS build is not signed with a Developer ID, the in-app
0 commit comments