Desktop Notes
These notes describe the current Notary experience in Bookcicle Desktop.
Main Layers
The current desktop notary stack is split across three layers:
| Layer | Role |
|---|---|
| UI | Dashboard, verification, onboarding, settings, exports |
| Core | Proofs, checkpoints, watchers, verification, bundle export |
| Agent / API | Background automation and remote notary calls |
Main Modules
UI layer
This layer wires the desktop shell to:
- the Notary dashboard
- the verification view
- the inbox and related service areas
Core layer
This layer owns the durable notary behavior.
Agent and remote access
This layer handles:
- long-running watcher and reconcile loops
- auto-attest cycles
- anchor status polling
- remote attest and verify calls
In other words, desktop owns a big part of the Local Proofs side of the model, then uses remote workflows to add Attest receipts and Anchors later.
Settings Surfaces
The desktop app exposes four main Notary settings panels.
Watchers
Current options include:
- enable or disable watchers
- allow file watchers
- allow folder watchers
- cadence presets for file watchers
- cadence presets for folder watchers
- folder exclude list display
- OS notifications
- total watcher cap
- per-project watcher cap
- duplicate watcher rejection
Checkpoints
Current options include:
- enable or disable checkpoints
- max checkpoint size
- max total checkpoint storage
- retention by age
- retention by count per project
- dedupe by Merkle root
- garbage collect on write
- copy checkpoint directory
- copy checkpoint JSON
Auto-Attest
Current options include:
- enable or disable auto-attest
- include watcher proofs
- include manual proofs
- run interval in minutes
- per-project minimum gap in hours
- monthly cap
- auto-checkpoint cadence
- future overage toggle in dev-visible flows
These settings control how often eligible local proofs are upgraded into Bookcicle server receipts.
Persistent Agent
The desktop UI exposes runtime status for:
- installed
- enabled
- running
- version
- last error
The panel also lets the user:
- toggle persistent background behavior
- repair drift
- probe runtime status
Verification and Export
This area is responsible for:
- opening proof artifacts
- collecting evidence
- running offline and online checks
- classifying results
- exporting reports and portable bundles
Receipt verification details
The current verification code checks Attest receipts at multiple levels:
- Offline receipt binding: compare the receipt merkle root with the local proof merkle root
- Online public receipt verification: verify the server receipt signature without requiring auth
- Online receipt match: when auth or share access is available, fetch the authoritative cloud receipt and compare it with the embedded receipt in the capsule
That is the main reason Desktop is the best place to inspect Attest receipts deeply today.
Background Agent Contract
The agent is responsible for:
- running watchers continuously
- keeping the index reconciled
- scheduling anchor status checks
- supporting OS-managed startup
- running auto-attest cycles that add server receipts to eligible local proofs
Important behavior note:
- when persistent agent is off, the app still starts a session agent while Bookcicle is open
- when persistent agent is on, automation continues after app close