Skip to main content

Feature Matrix

The following table shows the features of the different versions of the library.

note

Questions regarding specific features should be raised in the GitHub Discussions.

The following tables utilize the following terms:

  • Lifecycle:
    • Alpha: The feature is in the early stages of development.
    • Beta: The feature is in the later stages of development.
    • GA: The feature is ready for production use.
  • State:
    • Planned: The feature is planned but not yet started.
    • Unstable: The feature is in development and may change.
    • Stable: The feature is ready for production use.
  • Support:
    • Official: The service, feature, or library is officially supported by the maintainers.
    • Community: The service, feature, or library is supported by the community. Community-supported features will have a link to the community repository and not be included in the OpenTDF organization.

Platform

The platform is made of different services. This matrix captures the high-level state of the various service features.

ServiceFeatureState
AuthorizationAccessStable
Key AccessRewrapStable
Key AccessPublic KeyStable
Key AccessRotateStable
PolicyManage Attribute NamespacesStable
PolicyManage Attribute DefinitionsStable
PolicyManage Attribute ValuesStable
PolicyManage Key Access Server RegistryStable
PolicyManage Key Access Server GrantsStable
PolicyManage Subject MappingsStable
PolicyManage Subject Condition SetsStable
PolicyManage Resource MappingsStable
PolicyManage Resource Mapping GroupsUnstable
PolicyUnsafe Mutations1Stable

SDK

Feature matrix for the different SDK versions.

GoJavaJavaScript
LifecycleGAGAGA
Support2OfficialOfficialOfficial
Encrypt/Decrypt3StableStableStable
- ZTDF4StableStableStable
- NanoTDF5StableStableStable
- ABAC6StableStableStable
- Key Access Grants7StableStableStable
Service APIs8StableStablePlanned
- Authorization9StableStablePlanned
- Key Access Server10StableStablePlanned
- Policy: Attributes11StableStablePlanned

FAQ

Why isn't language supported as an SDK?

To ensure we can provide the best support for the SDKs, we have decided to focus on a limited scope of languages which meet our criteria such as performance and environment. Python and C# were supported in the first version of the platform, but as we assessed our ability to maintain the SDKs, we decided to focus on the most popular and performant languages. We are open to community contributions to support these languages.

Where can I get updates on the state of services and SDKs?

The best place to get updates on the state of the services and SDKs is the OpenTDF GitHub Discussions.

Footnotes

  1. Unsafe Mutations are operations that can cause unintended consequences to data security. This feature will enable these operations (which are prevented in the management APIs) and bind their execution to audit events.

  2. Support is the level of support for the SDK (Official, Community).

  3. Encrypt is the ability to encrypt data.

  4. Support for the Zero Trust Data Format utilizing JSON manifests and assertation.

  5. Support for the Nano Trusted Data Format.

  6. ABAC is Attribute Based Access Control.

  7. Autoconfigure for key splits

  8. Service APIs are APIs that are provided by the library to interact with the service.

  9. Authorization APIs for managing authorization policies.

  10. Key Access Server (KAS) APIs for accessing key management.

  11. APIs for managing policy attributes proto.