- Dikirim
- 19 Agustus 2026 pukul 18.38 UTC
- Penulis
- Kamo
- Commit
- e64cc8b
Setiap catatan tubuh dalam produksi tidak dapat dibaca. NOTES _ MASTER _ ENCRYPTION _ KEY was tidak pernah ditetapkan di mana saja - tidak dalam penyebaran, dan konfigurasinya tidak dilakukan catatan: blok sama sekali - jadi noce.master- enkripsi-kunci diselesaikan ke kosong dan getUserEncryptionKey menghasilkan kunci AES acak ke dalam tumpukan pada penggunaan pertama. Itu kunci hidup persis selama pod. Setiap menyebarkan, OOM atau titik bergerak yatim setiap catatan yang ditulis sebelum itu: dekripsi melemparkan, isi dipulled, dan sejak isi menyimpan sengaja CONTPlain NULL tidak ada yang dapat dibaca kiri. The catatan terus judul dan warna dan kehilangan tubuhnya. Sebuah kunci absen sekarang menghentikan layanan di konstruksi. Menghirup satu adalah kegagalan mode, bukan fallback: layanan catatan yang tidak dapat membaca catatan kemarin lebih buruk daripada salah satu yang tidak datang, karena pertama menghancurkan data diam-diam. Kunci itu sendiri berasal dari noce- baru enkripsi-rahasia kunci, kabel melalui keduanya Peta Konfigurasi dan penyebaran, dan tidak boleh diputar tanpa mengenkripsi ulang. Kunci anggota kini berasal dari HKDF-SHA256 daripada XOR terhadap pengulangan String "user- < id >", yang dapat diubah - satu kunci anggota bocor ditambah id yang dikenal mengembalikan kunci masternya dan semua catatan anggota lainnya. Kunci juga scoped to the keanggotaan sekarang, pencocokan bagaimana catatan sendiri yang scoped. Baik biaya perubahan migrasi: tidak ada ciphertext yang sudah ada dapat dibaca. decryptDTO berhenti melaporkan kegagalan sebagai catatan kosong dan set decryptionFailed, sehingga klien dapat menolak untuk menulis atas apa yang tidak bisa membaca.