Bu durumda gerçek e2ee yerine transparent encryption daha uygun.Mesajları firestoreye yazmadan önce aes-gcm ile şifreleyip,kullanıcı/konuşma anahtarını backend+kms tarafında güvenli şekilde saklayabilirsin.Kullanıcı firebase auth ile giriş yaptığında anahtar arka planda alınır,cihaz değişse bile kullanıcı hiçbir şeyle uğraşmaz.Böylece firebasede plaintext durmaz ama backend gerektiğinde anahtara erişebildiği için e2ee sayılmaz.
Sizin istediğiniz yapı buna benzer olmalı. Her cihazda mesajları görüntüleyebilir ekstra bir şey yapmasına gerek kalmaz. İsterseniz her sohbet için şifre anahtarı oluşturun ister tek anahtarla bütün mesajları şifreleyin. Orası size kalmış
User
├── encryptionKey
└── messages
├── ciphertext
Tamamdır araştırayım teşekkürler bilgilendirme için