Custom Credential Type Designer


One of my biggest uses for BitWarden is keeping track of all of the servers that I manage in my homelab and at various freelance gigs I have going on right now. Adding these servers as Logins works on a basic level, but there are just enough irrelevant or missing fields to make it a frustrating experience.

I can use the server’s IP address or DNS entry in place of the website URL and the username/password functionality works, but beyond that, the model breaks down a little. Even if I have the DNS name for a server, it might have several IP addresses that I need to store. It’s useful to know what OS that server is running and track basic inventory info about that service - service tag, serial number, CPU info, RAM, etc. The custom fields are currently too limited to capture all of that data, and for items like IP addresses, the text custom field does not provide any validation whatsoever.

I am sure that there are other community members who have special needs that would make BitWarden a much more expressive tool and give the product an edge over competitors. Many of us have needs that are pretty niche, but if there was a basic designer available, or even just a JSON schema to define what the credential should look like, power-users would have what they need to expand the program.

Templates for new credential types could be maintained in a gallery or library for other users to download. Perhaps there could even be a fee charged for these templates, where the creator and Bitwarden split the sales or all proceeds go to defend Internet freedom. I’m not a business person, I just want to bring your attention to the power of this idea.

The best part is that I am willing to code it! I am a rather skilled Typescript developer and would have no problem adding this functionality to the browser extensions or Electron app. This woulkd require some new API endpoints most likely, which are not available for public development if I recall correctly. I’d be willing to assist in designing the endpoints, defining them with the OpenAPI specification and testing them if I am unable to contribute to API construction directly.

I’d be happy to share a more detailed design with one of your engineers to get this process rolling forward. This functionality would improve my productivity at work and this project would help me build up a portfolio so that I can follow my dreams of pursuing freelance consulting work. If you have any questions or concerns, fire away!

I hope to hear back from you soon, especially if your reply contains magical phrases like “open an issue on GitHub and code away” :smiley:

–Scott Simontis
Full-Stack Software Engineer and DevOps Consultant