supabase_chat_e2ee 0.1.0
supabase_chat_e2ee: ^0.1.0 copied to clipboard
Opt-in end-to-end encryption for supabase_chat using the Signal Protocol (libsignal_protocol_dart): prekey distribution over Supabase and an encrypted room decorator. The server only ever sees ciphertext.
0.1.0 #
- Initial release.
- Opt-in end-to-end encryption for
supabase_chatvia the Signal Protocol (libsignal_protocol_dart): the server only ever stores ciphertext. E2eeIdentity(generate/restore, BYO-persistable Signal store) andE2eeManager(sessions, per-recipient encrypt, decrypt).DeviceKeyBundle+PreKeyDirectory(SupabasePreKeyDirectory/InMemoryPreKeyDirectory) for X3DH prekey distribution over Supabase, with atomic server-side one-time-prekey consumption.EncryptedChatRoomdecorator: verify-first encrypt-on-send / decrypt-on-receive for 1:1 rooms.- Safety numbers + strict
requireVerifiedmode (MITM protection) andIdentityChangedException(key-change rejection). - SQL migration for
device_keys/one_time_prekeys(+claim_one_time_prekeyRPC) andmessages.encrypted. - Licensed GPL-3.0 (this package links the GPL
libsignal_protocol_dart), so the pub.dev license matches the obligation you take on. Closed-source apps should usesupabase_chat_seal(MIT) instead. - Ships an
EncryptedChatViewFlutter recipe in the README (pairs the MITsupabase_chat_widgetswidgets with this package in your app).