I want to share my thoughts on the crpyto involved here.
My main concern with basically anything that stores encrypted information on-chain is forward secrecy. This is especially true for a protocol that is only using ECC cryptography. All of this private data will eventually become exposed in a PQ world.
To help with forward secrecy, modern messaging apps typically use key ratcheting. The most popular implementation is Signal’s double ratchet. There’s also the more recent MLS, which is an attempt to standardize a scalable ratcheting protocol for group messaging.
Even if you were to adopt PQ signatures you still are susceptible to key leaks and losing all forward secrecy. You could implement ratcheting, but it scalability becomes even worse with PQ schemes.
With this context, my main questions would be “who are the users and are they okay with this weakened security model?” The term “weakened” is relative to off-chain messaging apps that preserve forward secrecy. This also begs the question of whether or not the users are even fully aware of the security model.
I think the main problem that is trying to be solved here is “I know this persons Algorand address and I want to communicate with them in private.” If that is the case, then I think this can be solved by having a one-time communication on-chain to establish an off-chain communication channel (for example, sharing a signal handle). The value of storing each message publicly and indefinitely (by archival nodes) is not clear to me, thus I’m not convinced the weaker security is justifiable.