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.