Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
cda1c86
docs: define the security contract for encrypted workspace sync
SinaKhalili Sep 4, 2026
fb1f81a
feat(crypto): establish cross-language encrypted-sync foundations
SinaKhalili Sep 4, 2026
c6bd2eb
fix(crypto): reject weak Ed25519 signature encodings
SinaKhalili Sep 5, 2026
eba235d
test(engine): wait for assistant completion before checking heartbeats
SinaKhalili Sep 5, 2026
525615f
feat(crypto): seal content with scoped per-record encryption keys
SinaKhalili Sep 5, 2026
717ffa3
feat(sync): persist encrypted batches atomically with snapshots
SinaKhalili Sep 5, 2026
87dd0a5
feat(crypto): add HPKE envelopes, membership policy, keyring, and rec…
SinaKhalili Sep 5, 2026
82b58b9
feat(sync): encrypted vault control plane, engine vault service, and …
SinaKhalili Sep 7, 2026
1d486c5
feat(ios): verify vault membership, envelopes, and recovery kit nativ…
SinaKhalili Sep 7, 2026
ff9ce78
feat(registry): seal registry field values for encrypted profiles
SinaKhalili Sep 7, 2026
1cc7860
fix(vault): prevent locked-profile and relay plaintext exposure
SinaKhalili Sep 8, 2026
7b31ed3
fix(registry): preserve verified fields across rejected sync data
SinaKhalili Sep 8, 2026
78ed262
fix(rpc): keep credential revocation alive after connectivity event lag
SinaKhalili Sep 8, 2026
bf5578e
feat(vault): journal key changes before publication and confirm recov…
SinaKhalili Sep 8, 2026
632cb25
fix(sync): enforce vault fences on existing relay connections
SinaKhalili Sep 8, 2026
5126a79
fix(sync): reconcile verified apply outcomes with upstream causal repair
SinaKhalili Sep 8, 2026
2e78ac1
feat(ios): drive iOS sync from the vault state and add the Encryption…
SinaKhalili Sep 8, 2026
f5956a6
feat(rpc): authenticate device RPC with a Noise XX channel over the r…
SinaKhalili Sep 9, 2026
422844d
feat(registry): authenticate row tombstones with sealed lifecycle proofs
SinaKhalili Sep 9, 2026
899c5b6
Complete encrypted mobile sync and resumable history migration
SinaKhalili Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 134 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[workspace]
resolver = "2"
members = [
"crates/crypto",
"crates/theme",
"crates/proto",
"crates/doc",
Expand All @@ -21,6 +22,7 @@ license = "MIT"
publish = false

[workspace.dependencies]
zeron-crypto = { path = "crates/crypto" }
zeron-proto = { path = "crates/proto" }
zeron-doc = { path = "crates/doc" }
zeron-sync = { path = "crates/sync" }
Expand Down
6 changes: 6 additions & 0 deletions apps/ios/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,3 +136,9 @@ queued row when the composer is empty. It never skips a blocked head or stops
the agent merely because the draft is empty.

Queue editing on iOS changes text only and preserves queued attachments, including when the text is cleared. Draft photos are hidden and the attachment picker is unavailable during editing. If the row disappears or its lease is superseded, **Copy edit and stop editing** saves the edited text to the clipboard and restores the original draft and photos.
### Encrypted physical-device testing

The phone supports encrypted relay RPC, sealed recent-message tails, and
full tool output/diff sidecars. Follow the [Mac + iPhone test guide](../../docs/ios-encrypted-device-test.md)
for a separate local profile, installation, comparison-code pairing, and the
repeatable simulator-to-Rust live test.
Loading
Loading