Skip to content

Commit c8b46c5

Browse files
authored
chore(docs): update spec (#101)
1 parent e86e10c commit c8b46c5

File tree

14 files changed

+536
-195
lines changed

14 files changed

+536
-195
lines changed

.gitignore

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,8 @@ yarn-error.log*
2121
node_modules
2222

2323
# Ignore Remote Content
24-
/docs/spec/nanotdf/manifest.md
25-
/docs/spec/tdf/KeyAccessObject.md
26-
/docs/spec/tdf/Manifest.md
27-
/docs/spec/tdf/PolicyObject.md
28-
/docs/spec/tdf/AttributeObject.md
24+
/docs/spec/index.md
25+
/docs/spec/**/*.md
2926
/docs/components/cli/
3027
/docs/getting-started/configuration.md
3128

@@ -34,4 +31,4 @@ node_modules
3431
# Ignore all downloaded packages and files in vale-styles
3532
.github/vale-styles/*
3633
# Except for the config directory where we keep the vocab
37-
!.github/vale-styles/config/
34+
!.github/vale-styles/config/

docs/components/key_access.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ KAS offers the following RPC methods:
3535
<img src="/img/kas_tdf_flow.svg" alt="KAS TDF Rewrap"/>
3636

3737
1. The client extracts two pieces of information from the TDF:
38-
1. [Key Access Object (KAO)](/spec/tdf/kao): This contains the wrapped key and the policy binding.
39-
2. The [Policy](/spec/tdf/policy) from the manifest.
38+
1. [Key Access Object (KAO)](/spec/schema/opentdf/key_access_object): This contains the wrapped key and the policy binding.
39+
2. The [Policy](/spec/schema/opentdf/policy) from the manifest.
4040

4141
2. The client generates an ephemeral asymmetric key pair, used to wrap the KAO content (such as an AES encryption key that can access the TDF payload) from KAS.
4242

@@ -84,7 +84,7 @@ At this point, the client is ready to make the rewrap request. The following is
8484
8585
NanoTDF leverages the same KAS Rewrap Endpoint but the request body differs slightly from a TDF Rewrap call.
8686
87-
1. The client extracts the NanoTDF [Header](/spec/nanotdf/manifest#331-header) and from that Header extracts the KAS URL.
87+
1. The client extracts the NanoTDF [Header](/spec/schema/nanotdf#331-header) and from that Header extracts the KAS URL.
8888
8989
2. The client generates an ephemeral asymmetric key pair, used to wrap the shared secret originally generated on NanoTDF creation.
9090
@@ -129,8 +129,8 @@ NanoTDF leverages the same KAS Rewrap Endpoint but the request body differs slig
129129
}
130130
```
131131

132-
5. KAS extracts the encrypted policy in the NanoTDF [Header](/spec/nanotdf/manifest#331-header) and verifies the policy binding.
132+
1. KAS extracts the encrypted policy in the NanoTDF [Header](/spec/schema/nanotdf#331-header) and verifies the policy binding.
133133
- If ECDSA Binding is enabled KAS will verify the use ECDSA to verify the signature otherwise it defaults to comparing the `GMAC`
134134

135-
6. If the policy is valid and untampered, KAS calls the [Authorization Service](./authorization) to confirm whether the entity is allowed access to the NanoTDF. If authorized, KAS generates a new shared key with the clients ephemeral public key and uses `AES-GCM` to encrypt the shared secret used to encrypt the NanoTDF payload.
135+
2. If the policy is valid and untampered, KAS calls the [Authorization Service](./authorization) to confirm whether the entity is allowed access to the NanoTDF. If authorized, KAS generates a new shared key with the clients ephemeral public key and uses `AES-GCM` to encrypt the shared secret used to encrypt the NanoTDF payload.
136136

docs/introduction.mdx

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
sidebar_position: 1
33
---
44

5-
import React from 'react';
6-
import Callout from '@site/src/components/Callout';
7-
import Cards from '@site/src/components/Cards';
5+
import React from "react";
6+
import Callout from "@site/src/components/Callout";
7+
import Cards from "@site/src/components/Cards";
88

99
# Welcome to OpenTDF Docs
1010

@@ -13,39 +13,39 @@ Find all the information you need to get started with OpenTDF.
1313
<Callout
1414
title="Quick Start"
1515
callToAction={{
16-
label: 'Learn more',
17-
link: '/getting-started',
16+
label: "Learn more",
17+
link: "/getting-started",
1818
}}
1919
>
20-
This guide will walk you through setting up a new OpenTDF platform locally and walk you through
21-
some of the basic concepts within the OpenTDF platform.
20+
This guide will walk you through setting up a new OpenTDF platform locally and
21+
walk you through some of the basic concepts within the OpenTDF platform.
2222
</Callout>
2323

24-
<Cards
24+
<Cards
2525
height={300}
2626
columns={3}
2727
items={[
2828
{
29-
name: 'TDF',
29+
name: "TDF",
3030
description: `
3131
The Trust Data Format (TDF) is an open standard that enables the cryptographic binding ofattribute-based
3232
access control (ABAC) policy to a data object so that the policy travels with the data.`,
33-
url: '/category/base-tdf',
33+
url: "/spec/schema/opentdf",
3434
},
3535
{
36-
name: 'Policy',
36+
name: "Policy",
3737
description: `The OpenTDF Policy engine enables creation, enforcement, and subscription to policies. By
3838
using attribute-based access control (ABAC) policies, the OpenTDF Policy engine can enforce flexible,
3939
fine-grained access control based on entity entitlements.`,
40-
url: '/components/policy',
40+
url: "/components/policy",
4141
},
4242
{
43-
name: 'Authorization',
43+
name: "Authorization",
4444
description: `The OpenTDF Authorization service enables policy driven, access based decisions using
4545
attribute-based access control (ABAC) based on entity entitlements. These decisions are used to enforce
4646
both data privacy and application security, ensuring consistent policy enforcement across all policy
4747
enforcement points.`,
48-
url: '/components/authorization',
48+
url: "/components/authorization",
4949
},
5050
]}
5151
/>
@@ -58,14 +58,16 @@ Find all the information you need to get started with OpenTDF.
5858
columns={2}
5959
items={[
6060
{
61-
name: 'SDK',
62-
description: 'Learn about the Trust Data Format (TDF) and how it enables the cryptographic binding of attribute-based access control (ABAC) policy to a data object.',
63-
url: '/category/sdk',
61+
name: "SDK",
62+
description:
63+
"Learn about the Trust Data Format (TDF) and how it enables the cryptographic binding of attribute-based access control (ABAC) policy to a data object.",
64+
url: "/category/sdk",
6465
},
6566
{
66-
name: 'CLI',
67-
description: 'Learn about the OpenTDF CLI tool (otdfctl) and how it can be used to manage the OpenTDF platform.',
68-
url: '/components/cli',
67+
name: "CLI",
68+
description:
69+
"Learn about the OpenTDF CLI tool (otdfctl) and how it can be used to manage the OpenTDF platform.",
70+
url: "/components/cli",
6971
},
7072
]}
7173
/>

docs/spec/NanoTDF/_category_.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

docs/spec/_category_.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"label": "Specification",
33
"position": 10,
44
"link": {
5-
"type": "generated-index",
6-
"description": "OpenTDF includes specifications for multiple variations of the Trusted Data Format (TDF) including the JSON encoded Base TDF data format and the NanoTDF binary file format. These specifications are intended to be used as a reference for developers who are implementing TDF support in their applications."
5+
"type": "doc",
6+
"id": "spec/index"
77
}
8-
}
8+
}

docs/spec/concepts/_category_.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"label": "Concepts",
3+
"position": 1,
4+
"link": {
5+
"type": "generated-index"
6+
}
7+
}

docs/spec/protocol/_category_.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"label": "Protocol",
3+
"position": 1
4+
}

docs/spec/schema/_category_.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"label": "Schema",
3+
"position": 2,
4+
"link": {
5+
"type": "doc",
6+
"id": "spec/schema/index"
7+
}
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"label": "OpenTDF",
3+
"position": 1,
4+
"link": {
5+
"type": "doc",
6+
"id": "spec/schema/opentdf/index"
7+
}
8+
}

docs/spec/tdf/_category_.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)