Encryption at rest
Social Security numbers and bank account details are encrypted with Fernet — AES-128-CBC with HMAC-SHA256 authentication — so a tampered value is rejected rather than silently decrypted. No one, including our own staff, sees a full number in the app unless they specifically need to.