Skip to content

next: private device enrol returns the log URL and genesis item - #631

Merged
callumalpass merged 4 commits into
mainfrom
next/private-enrol-genesis
Oct 6, 2026
Merged

callumalpass merged 4 commits into
mainfrom
next/private-enrol-genesis

Conversation

@callumalpass

Copy link
Copy Markdown
Contributor

Follow-up to #630, which is queued. It applies the same change to POST /v1/next/collections/:id/private/devices: the answer also carries log_url and genesis: {seq: 1, item}, the exact appended seq-1 bytes. The enrolling device verifies and pins them before it trusts the log.

…item

A joining device must pin the collection's genesis (sync.json genesis_hash)
before trusting the log; the answer now returns the exact appended seq-1 bytes
(candidate bytes the device verifies against its trust pins), as create does.
@callumalpass
callumalpass added this pull request to the merge queue Oct 6, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 6, 2026
@callumalpass
callumalpass enabled auto-merge October 6, 2026 11:53
@callumalpass
callumalpass added this pull request to the merge queue Oct 6, 2026
Merged via the queue into main with commit 7091725 Oct 6, 2026
14 checks passed
@callumalpass
callumalpass deleted the next/private-enrol-genesis branch October 6, 2026 12:11
@callumalpass

Copy link
Copy Markdown
Contributor Author

security (post-merge): no blocking findings — security on merged head 6ac1fd4 (merge 7091725), scope: private device enrol response now carries log_url and the exact appended seq-1 genesis item (same change as #630 for cloud-copy join). The server only echoes the appended batch it already holds (appendedBatch requires the appended state), under the same proof/current-identity checks as before; the enrolling device must still verify and pin the genesis against the log and its trusted roots (replica genesis pin, c3b0da99/825e0954), so a wrong or forged genesis from the control plane is a terminal mismatch for that collection, not a trust widening. No new authority, secret or route. Ledger row added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant