Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Encrypt important columns across app #789

Open
zkat opened this issue Feb 23, 2024 · 0 comments
Open

Encrypt important columns across app #789

zkat opened this issue Feb 23, 2024 · 0 comments
Labels
technical improvement General technical improvements that might not be user-visible or affect the overall site experience.

Comments

@zkat
Copy link
Contributor

zkat commented Feb 23, 2024

Right now, the only things we encrypt are user passwords and S3 buckets (the latter only at rest).

It would've been nice to do this from the get go, but we should go over the app and see what columns it makes sense for us to encrypt. That is, what columns are sensitive enough that if the database itself is leaked, we definitely wouldn't want that data to leak with it?

Of course, this only goes so far: we'll only be able to encrypt at rest, so if a breach accesses the live system, they'll be able to access things like the decryption key, or just inspect any of the live data.

Still, I think this is worth doing. Maybe not urgently, but it's going to involve some data migration, so the sooner the better.

Conveniently, we can use an existing library to pull this off: https://hexdocs.pm/cloak_ecto/readme.html

Note: once we're ready to tackle this, it might make sense to make a concrete plan and split it into smaller phases.

@zkat zkat added the technical improvement General technical improvements that might not be user-visible or affect the overall site experience. label Feb 23, 2024
@zkat zkat moved this from 🆕 New to 📋 Backlog in Banchan Project Roadmap Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
technical improvement General technical improvements that might not be user-visible or affect the overall site experience.
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant