

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Still calibrating
click for more info
Not enough gems
Cost: 6 gems
1: Encrypting Data at Rest
incomplete
2: Key Management and Rotation
incomplete
3: Password KDFs
incomplete
4: Salts
incomplete
5: Argon2 Parameters
incomplete
6: Encrypted Files
incomplete
7: Secure Database Practices
incomplete
8: Personally Identifiable Information
incomplete
9: Financial Data
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
Imagine a payroll service that stores employee tax documents as ordinary files. If an attacker copies its disk, backup, or storage snapshot, they get every document in plaintext.
If you're storing sensitive documents, encrypt them at rest.
The safest way to handle the storage sequence is:
In other words, the plaintext bytes never touch the disk, only memory.
Give the encrypted file a random name, like a UUID with an .enc extension. Map that value back to the original filename in the database so the stored path doesn't reveal or trust a user-supplied name.
The upload flow, archive imports, authorized downloads, and automatic migration are already wired together. Complete the two byte transforms in src/uploads/taxDocuments.ts, then move the sample fixture out of runtime storage.
With Bearly Secure still running, run and submit the CLI tests from the project root.