1.5 KiB
+++ title = "Concepts" weight = 40 sort_by = "weight" template = "documentation.html" +++
Goals
Highly resilient - Multiple instances of Aerogramme can been run in parallel without coordination. Multi-region support, survive datacenter failures.
Easy to operate - Transparently replicate mailbox and solve conflicts. Integrate with your LDAP server. Privacy friendly
Per-user encryption of mailboxes. Can be run as a local proxy to hide your mailbox content from the server.
Main concepts
Per-user encryption - Aerogramme can't persist data in plain text, instead its whole data model is built upon the idea that a mailbox is a series of encrypted blob. These blobs do not reveal the mailbox name, the metadata of stored emails or even the flags that have been put on them.
Continuous Mailbox Merging - As multiple instances of Aerogramme can be run simultaneously, and that's possible that 2 instances interact with the same mailbox (over Garage), each process monitors external writes for the mailbox they track and automatically do the merging in a correct way.
Modular design - Login and Mailbox storage is abstracted behind an interface: multiple implementations are thus possible.
Microservice - Aerogramme is stateless and tries to adhere as much as possible to the 12 factor app principles so it's easy to run in a cluster.