Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Encryption keys

Three keys in .env protect the data. The installer and make .env generate them. Each is 64 hex characters; openssl rand -hex 32 makes one, and manage.sh check reports a missing or malformed key.

SettingProtectsUsed
DATA_ENCRYPTION_KEYThe server’s private keys, and the keyed hash that replaces each sender’s addressAlways
DATABASE_FIELD_ENCRYPTION_KEYLinked accounts’ platform tokensWhen field encryption is on
DATABASE_ENCRYPTION_KEYThe whole SQLite database file (SQLCipher)When encryption is on and the database is SQLite

Caution

Back up .env whenever you back up the database, store it apart (Backup and restore), and never change a key once the install holds data. Data encrypted with a lost or changed key can’t be read again, and a new DATA_ENCRYPTION_KEY also gives every sender a new hash.