ship a BeanPostProcessor that proxied any ChatMemoryRepository implementations, intercepting the request to saveAll and findByConversationId and used, say, a specified Spring Security TextEncryptor to encode the text in Message objects (before saveAll) and decode the text in Message objects (after findByConversationId)

Comment From: joshlong

one thing that might make this scheme fail is if the types are final, like InMemoryChatMemoryRepository is. we should remove the word final.