/edv

Encrypted data vault implementation in Golang

Primary LanguageGoApache License 2.0Apache-2.0

Release License Godocs

Build Status codecov Go Report Card

edv

An implementation of Encrypted Data Vaults from the Confidential Storage 0.1 (04 December 2020) 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
  • Index querying with multiple name+value pairs (which is still a work in-progress in the specification)
  • 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 a number of optional features that, as of writing, are either recently added to the spec (and not in widespread use) or are features marked "at-risk". They are all disabled by default, but they can all be safely enabled without breaking any standard features. Non-extension-aware clients will still work seamlessly. See the extensions documentation for more information.

Documentation

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.