edv
edv copied to clipboard
Encrypted data vault implementation in Golang - https://identity.foundation/edv-spec/
edv
An implementation of the Encrypted Data Vaults v0.1 (20 June 2022) specification. This implementation is a work in progress; be sure to read the limitations section which outlines which parts of the specification have yet to be implemented.
Limitations
The following has not yet been implemented:
- Service endpoint discovery
- Encrypted attribute querying with multiple name+value pairs
- Support for the unique property on an encrypted attribute pair
- Streams (also a work in-progress in the specification)
Underlying Storage
This EDV server is not by itself a database - a database provider must be chosen for it to work. This underlying database is used by the EDV server for storage of encrypted data. Currently, three database providers are supported:
- MongoDB
- CouchDB
- In-memory storage
See here for information on how to choose the database provider.
Extensions
This EDV server implementation includes support for an optional feature that, as of writing, is in the spec but is marked "at-risk". It is disabled by default, but can be safely enabled without breaking any standard features. Non-extension-aware clients will still work seamlessly. See the extensions documentation for more information.
Documentation
- Build + BDD tests
- Run as Binary with CLI
- Run as Docker Container
- OpenAPI Spec
- OpenAPI Demo
Contributing
Thank you for your interest in contributing. Please see our community contribution guidelines for more information.
License
Apache License, Version 2.0 (Apache-2.0). See the LICENSE file.