Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
0f78523
feat(core): ed25519 to x25519 key conversion for envelope crypto
beardthelion Jun 10, 2026
317e535
feat(core): seal/open per-blob encryption envelopes
beardthelion Jun 10, 2026
ca2e9ed
feat(node): resolve per-blob encryption recipients (least-privilege)
beardthelion Jun 10, 2026
99558c9
feat(node): encrypted_blobs table and recipient-scoped queries
beardthelion Jun 10, 2026
9cb1a7b
feat(node): encrypt-then-pin withheld blobs at push (IPFS)
beardthelion Jun 10, 2026
ca54fcc
feat(node): authenticated discovery and fetch for encrypted blobs
beardthelion Jun 10, 2026
64c6c71
feat(gl): transparent recovery of authorized encrypted blobs on clone
beardthelion Jun 10, 2026
6bfade9
style: cargo fmt
beardthelion Jun 10, 2026
6abdc42
fix(node): re-seal encrypted blob when recipient set changes
beardthelion Jun 10, 2026
00a4a26
feat(node): unscoped encrypted-blob listing for replication
beardthelion Jun 10, 2026
d459d1a
feat(node): encrypted-blobs/replicate endpoint for peer mirrors
beardthelion Jun 10, 2026
e894130
feat(node): route encrypted-blobs/replicate under git_read_routes
beardthelion Jun 10, 2026
d673b74
feat(node): peer mirrors replicate encrypted withheld blobs (Option B2)
beardthelion Jun 11, 2026
2a1cce3
feat(node): anchor_encrypted_manifest for Option B3 Arweave manifests
beardthelion Jun 11, 2026
716eb31
feat(node): encrypt_and_pin returns the per-push sealed delta
beardthelion Jun 11, 2026
aea893b
feat(node): anchor encrypted-blob manifest on push (Option B3)
beardthelion Jun 11, 2026
8cba97e
feat(gl): Arweave/IPFS gateway recovery for encrypted blobs (Option B3)
beardthelion Jun 11, 2026
3fb45ec
feat(gl): transparent Arweave fallback recovery on clone (Option B3)
beardthelion Jun 11, 2026
02df8cb
style: cargo fmt
beardthelion Jun 11, 2026
a0e5668
fix(gl): bound Arweave recovery gateway requests with a 30s timeout
beardthelion Jun 11, 2026
6a764d7
test(gl): read-path recovery tests for Arweave fallback; quiet promis…
beardthelion Jun 11, 2026
668f4a3
fix: surface corrupt recipients JSON and silent recovery I/O failures
beardthelion Jun 11, 2026
649ac78
feat(core): blind recipient identities in withheld-blob envelopes
beardthelion Jun 12, 2026
57b0434
fix(core): reject malformed envelope nonces instead of panicking
beardthelion Jun 12, 2026
706a489
feat(node): blind recipient identities on the B2 replication surface
beardthelion Jun 12, 2026
dbd2c04
feat(node): stop anchoring recipient identities to Arweave
beardthelion Jun 12, 2026
6eb2c40
feat(node): blind recipient identities at rest and gate B1 by repo re…
beardthelion Jun 12, 2026
acd9ce2
chore: remove redundant .gitignore entry (covered by local exclude)
beardthelion Jun 12, 2026
d0a059b
fix(node): gate /replicate by repo readability; harden reseal on DB e…
beardthelion Jun 12, 2026
67afb20
fix(node): close under-withholding via full ref scope and reachable-o…
beardthelion Jun 12, 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
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,3 @@ keys/
# Logs
*.log
.openclaude-profile.json

# Local planning / scratch docs (never commit)
docs/superpowers/
126 changes: 126 additions & 0 deletions Cargo.lock

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

3 changes: 3 additions & 0 deletions crates/gitlawb-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ chrono = { workspace = true }
uuid = { workspace = true }
zeroize = { version = "1", features = ["derive"] }
pkcs8 = { version = "0.10", features = ["pem", "std"] }
curve25519-dalek = "4"
crypto_box = { version = "0.9", features = ["std", "chacha20"] }
chacha20poly1305 = "0.10"

[dev-dependencies]
tokio = { workspace = true }
Loading
Loading