feat(train): the person's key on Train's devices (ADR 0030, D15)

TrainKeys holds the one key everything of Train's is sealed with: made
on the first write where the account's keys are, kept in the synced
content_key rows sealed to the account, opened on the person's other
devices. Only keys sealed under Train's own IDs open, so the instance
can't relabel one, and a key the account sealed for another app never
counts; two devices that each made one offline write with the older. A
device without the account's keys opens and writes nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-28 11:17:26 +01:00
commit 61fc5c5f7c
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -15,6 +15,7 @@ resolution: workspace
dependencies:
flutter:
sdk: flutter
clock: ^1.1.3
equatable: ^3.0.0
flutter_bloc: ^9.1.1
# What every Halkyon app is built around (a shared package): the instances a