I'm really excited to unveil our latest product: a robust and easy-to-use Secret Management system.
Secrets are... a pain in the ass. Even at Prefab, where we are ostensibly experts on dynamic configuration of applications, secrets were the fly in our ointment. Our code and practices around secrets were secure, but they were a pain to manage. Everytime we wanted to add another 3rd party API key it meant re-learning how to do things and PRs into an infrastructure repo that wasn't part of our normal flow.
I am so much happier with how we are handling secrets today and I'm excited to share.
CLI-Based Workflow for Enhanced Security
When we went to build secrets, we had one big guardrail: don't screw it up. With this in mind we had a strong desire that Prefab should have zero-knowledge of your secrets.
The best way to achieve this was with a CLI-based approach, because that ensures your secrets are always encrypted locally, with an encryption key that we never see.
Cost-Effective Solution for Shared Secrets
There are some other good secret management platforms out there, but to us paying per user for something simple like this just didn't feel right.
In our mind, secrets are just another piece of configuration, albeit one that needs to be decrypted before you use it.
Do you really need to pay per user so that a library can run AES.decrypt()
on your configuration? We don't think so.
Say Goodbye to Insecure Practices
Secrets can feel like a shell game and it can be frustrating getting a new developer the secrets they need to run the application. It's not uncommon for a developer to slack a secret around to get someone unstuck quickly.
Having a single secret means that when new secrets are added, all of your developers need to do... nothing at all. With just their regular Prefab API Key and the single shared secret, your developers can focus on what they do best, free from the hassles of managing .env
files.
Flexible and Cross-Language Secret Sharing
We like Rails a lot at Prefab and our solution is heavily inspired by how Rails does Credentials. The problem with Rails credentials for us is simply that we aren't just a Rails monolith. We need secrets in all our code which meant that Rails credentials didn't work for us.
All we needed to do to build this was to make sure that all of our clients can consistently decrypt in the same way.
With Prefab secrets, whether you're working in Rails, Node, Java or Python, you can now hava a unified solution for all your applications.
Wrap
If you're interested in a simple improvement to the way your organization handles secrets, take a minute to check out the secret documentation or create a free account to try it out. We'd love to get your feedback on what we've built.