Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
e8a28a6
Add new marketing homepage
jp-ayyappan Feb 14, 2026
032e63b
Add CC BY 4.0 license and update README
jp-ayyappan Feb 14, 2026
6f20071
Add marketing.css import for homepage styles
jp-ayyappan Feb 14, 2026
828d755
Update Get Started button to link to /getting-started
jp-ayyappan Feb 14, 2026
f76e698
Update View Documentation button to link to /introduction
jp-ayyappan Feb 14, 2026
9939da2
Update Learn the Concepts button to link to /category/components-and-…
jp-ayyappan Feb 14, 2026
b5b23db
Update Learn the Concepts button to link to /category/concepts
jp-ayyappan Feb 14, 2026
e5ab7b0
Update Quick Start button to link to /quickstart
jp-ayyappan Feb 14, 2026
0733d6e
Update API Reference button to link to /OpenAPI-clients
jp-ayyappan Feb 14, 2026
50f653f
Add new Java SDK collection examples
jp-ayyappan Feb 14, 2026
921890d
feat(docs): enhance OpenAPI docs and update marketing homepage
jp-ayyappan Feb 14, 2026
d6cc850
Add Surge info back
jp-ayyappan Feb 14, 2026
b21943d
chore: remove Java collection examples from PR
jp-ayyappan Feb 14, 2026
4009abb
chore: add CC-BY-4.0 license to package.json
jp-ayyappan Feb 14, 2026
a771890
refactor: address code review feedback
jp-ayyappan Feb 14, 2026
52717fa
feat: add catch-all category for uncategorized APIs
jp-ayyappan Feb 14, 2026
8f76dae
refactor: remove premature index generation from preprocessing
jp-ayyappan Feb 14, 2026
5138c03
fix: correct OpenAPI index links to use directory paths
jp-ayyappan Feb 18, 2026
dc0a087
fix: address code review feedback on homepage
jp-ayyappan Feb 18, 2026
444a127
Merge branch 'main' into new-homepage
jp-ayyappan Feb 18, 2026
b6a2f67
docs: sync README with docs/update-license branch
jp-ayyappan Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 29 additions & 60 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Copyright 2025 Virtru Corporation
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
Copyright 2026 Virtru Corporation
This work is licensed under the Creative Commons Attribution 4.0 International License.

Attribution-ShareAlike 4.0 International
Attribution 4.0 International

=======================================================================

Expand Down Expand Up @@ -36,7 +36,7 @@ exhaustive, and do not form part of our licenses.
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
wiki.creativecommons.org/Considerations_for_licensors

Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
Expand All @@ -51,24 +51,22 @@ exhaustive, and do not form part of our licenses.
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees

=======================================================================

Creative Commons Attribution-ShareAlike 4.0 International Public
License
Creative Commons Attribution 4.0 International Public License

By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-ShareAlike 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.


Section 1 -- Definitions.
Expand All @@ -87,59 +85,51 @@ Section 1 -- Definitions.
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.

c. BY-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.

d. Copyright and Similar Rights means copyright and/or similar rights
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.

e. Effective Technological Measures means those measures that, in the
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.

f. Exceptions and Limitations means fair use, fair dealing, and/or
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.

g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution and ShareAlike.

h. Licensed Material means the artistic or literary work, database,
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.

i. Licensed Rights means the rights granted to You subject to the
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.

j. Licensor means the individual(s) or entity(ies) granting rights
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.

k. Share means to provide material to the public by any means or
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.

l. Sui Generis Database Rights means rights other than copyright
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.

m. You means the individual or entity exercising the Licensed Rights
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.


Expand Down Expand Up @@ -185,13 +175,7 @@ Section 2 -- Scope.
Licensed Rights under the terms and conditions of this
Public License.

b. Additional offer from the Licensor -- Adapted Material.
Every recipient of Adapted Material from You
automatically receives an offer from the Licensor to
exercise the Licensed Rights in the Adapted Material
under the conditions of the Adapter's License You apply.

c. No downstream restrictions. You may not offer or impose
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Expand Down Expand Up @@ -273,24 +257,9 @@ following conditions.
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.

b. ShareAlike.

In addition to the conditions in Section 3(a), if You Share
Adapted Material You produce, the following conditions also apply.

1. The Adapter's License You apply must be a Creative Commons
license with the same License Elements, this version or
later, or a BY-SA Compatible License.

2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.

3. You may not offer or impose any additional or different terms
or conditions on, or apply any Effective Technological
Measures to, Adapted Material that restrict exercise of the
rights granted under the Adapter's License You apply.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.


Section 4 -- Sui Generis Database Rights.
Expand All @@ -305,9 +274,8 @@ apply to Your use of the Licensed Material:
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material,
Rights (but not its individual contents) is Adapted Material; and

including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.

Expand Down Expand Up @@ -428,3 +396,4 @@ the avoidance of doubt, this paragraph does not form part of the
public licenses.

Creative Commons may be contacted at creativecommons.org.

182 changes: 172 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,165 @@
# Website
# OpenTDF Documentation

> The official documentation website for OpenTDF - an open source toolkit for zero trust, data-centric security.

## About This Repository

This repository contains the source code for the [OpenTDF documentation website](https://docs.opentdf.io), built using [Docusaurus](https://docusaurus.io/). The documentation provides comprehensive guides, tutorials, and reference materials for developers and organizations implementing data-centric security with OpenTDF.

Check failure on line 7 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Terms] Use 'JavaScript' instead of 'Docusaurus'. Raw Output: {"message": "[Vale.Terms] Use 'JavaScript' instead of 'Docusaurus'.", "location": {"path": "README.md", "range": {"start": {"line": 7, "column": 121}}}, "severity": "ERROR"}

## What is OpenTDF?

OpenTDF is an open source system for implementing data-centric security that enables:

- **Zero Trust Data Protection**: Cryptographically bind access control policies to data objects
- **Attribute-Based Access Control (ABAC)**: Fine-grained access decisions based on attributes and context
- **Policy Travels with Data**: Security controls remain attached wherever data goes
- **Trust Data Format (TDF)**: Open standard for self-protecting data

Check failure on line 16 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Terms] Use 'Postgres' instead of 'TDF'. Raw Output: {"message": "[Vale.Terms] Use 'Postgres' instead of 'TDF'.", "location": {"path": "README.md", "range": {"start": {"line": 16, "column": 24}}}, "severity": "ERROR"}

## Documentation Structure

Our documentation follows a user-needs approach with four main categories:

- **πŸš€ Tutorials**: Step-by-step learning experiences for hands-on practice
- **πŸ“– How-To Guides**: Problem-solving recipes for specific tasks and integrations
- **πŸ’‘ Explanations**: Conceptual guides covering the "why" behind OpenTDF's design
- **πŸ“š Reference**: Technical specifications, API docs, and lookup information

Check failure on line 25 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Terms] Use 'NPE' instead of 'API'. Raw Output: {"message": "[Vale.Terms] Use 'NPE' instead of 'API'.", "location": {"path": "README.md", "range": {"start": {"line": 25, "column": 46}}}, "severity": "ERROR"}

## Contributing

We welcome contributions to improve our documentation! Please see our [Contributing Guide](CONTRIBUTING.md) for guidelines on:

- Writing and editing documentation
- Style and formatting standards
- Review and approval process
- Technical setup for contributors

For style guidelines, please refer to our [Style Guide](STYLE_GUIDE.md).

## Quick Links

- **Live Documentation**: [docs.opentdf.io](https://docs.opentdf.io)
- **OpenTDF Platform**: [github.com/opentdf/platform](https://github.com/opentdf/platform)
- **TDF Format Spec**: [github.com/opentdf/spec](https://github.com/opentdf/spec)

Check failure on line 42 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Terms] Use 'Postgres' instead of 'TDF'. Raw Output: {"message": "[Vale.Terms] Use 'Postgres' instead of 'TDF'.", "location": {"path": "README.md", "range": {"start": {"line": 42, "column": 5}}}, "severity": "ERROR"}
- **OpenTDF Organization**: [github.com/opentdf](https://github.com/opentdf)
- **Community Discussions**: [GitHub Discussions](https://github.com/opentdf/platform/discussions)

---

## Local Development

This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.

### Installation
### Prerequisites

Before you can run the documentation locally, you'll need Node.js and npm. We recommend using nvm (Node Version Manager) to manage Node.js versions.

Check failure on line 54 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Spelling] Did you really mean 'nvm'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'nvm'?", "location": {"path": "README.md", "range": {"start": {"line": 54, "column": 95}}}, "severity": "ERROR"}

Check failure on line 54 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Spelling] Did you really mean 'npm'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'npm'?", "location": {"path": "README.md", "range": {"start": {"line": 54, "column": 71}}}, "severity": "ERROR"}

#### Option 1: Using nvm (Recommended)

Check failure on line 56 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Spelling] Did you really mean 'nvm'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'nvm'?", "location": {"path": "README.md", "range": {"start": {"line": 56, "column": 22}}}, "severity": "ERROR"}

nvm allows you to install and switch between different Node.js versions easily.

Check failure on line 58 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Spelling] Did you really mean 'nvm'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'nvm'?", "location": {"path": "README.md", "range": {"start": {"line": 58, "column": 1}}}, "severity": "ERROR"}

**Installation:**

- **macOS/Linux**: Follow the installation instructions at [nvm GitHub repository](https://github.com/nvm-sh/nvm#installation-and-update)

Check failure on line 62 in README.md

View workflow job for this annotation

GitHub Actions / Vale

[vale] reported by reviewdog 🐢 [Vale.Spelling] Did you really mean 'nvm'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'nvm'?", "location": {"path": "README.md", "range": {"start": {"line": 62, "column": 61}}}, "severity": "ERROR"}
- **Windows**: Install nvm-windows from [nvm-windows releases](https://github.com/coreybutler/nvm-windows#installation--upgrades)

**Verify installation:**

```bash
nvm --version # macOS/Linux
nvm version # Windows
```
$ nvm use
$ npm ci
```

#### Option 2: Direct Node.js Installation

If you prefer not to use nvm:

1. **Visit [nodejs.org](https://nodejs.org/)** and download **Node.js version 22** (the version specified in our `.nvmrc` file)
2. **Follow the installation instructions** for your operating system
3. **Verify installation:**

```bash
node --version # Should show v22.x.x
npm --version # Should show npm version
```

### Installation

1. **Clone the repository:**

```bash
git clone https://github.com/opentdf/docs.git
cd docs
```

2. **Use the correct Node.js version** (if using nvm):

```bash
nvm use # This reads the .nvmrc file and switches to Node.js v22
```

If you don't have Node.js v22 installed via nvm:

```bash
nvm install 22
nvm use 22
```

3. **Install dependencies:**

```bash
npm ci # Installs exact versions from package-lock.json
```

### Local Development

```
$ npm run start
```
```bash
npm run start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Build

```bash
npm run build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

### Testing with Feature Branches

The documentation site pulls content from multiple upstream repositories using Docusaurus remote content plugins. By default, content is fetched from the `main` branch of each repository. You can override this behavior using environment variables to test documentation changes from feature branches before they're merged.

**Available Environment Variables:**

- `PLATFORM_BRANCH` - Controls which branch to fetch from `opentdf/platform` (default: `main`)
- `SPEC_BRANCH` - Controls which branch to fetch from `opentdf/spec` (default: `main`)
- `OTDFCTL_BRANCH` - Controls which branch to fetch from `opentdf/otdfctl` (default: `main`)

**Examples:**

Test with all feature branches:
```bash
PLATFORM_BRANCH=my-platform-feature SPEC_BRANCH=my-spec-feature OTDFCTL_BRANCH=my-cli-feature npm run build
```
$ npm run build

Test with a single feature branch:
```bash
SPEC_BRANCH=feature-branch-name npm run build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.
Test in development mode with feature branches:
```bash
PLATFORM_BRANCH=my-feature npm run start
```

**Use Cases:**

- **Before merging PRs**: Test how documentation changes from upstream repos will look when integrated
- **Cross-repo changes**: When making coordinated changes across multiple repositories, test the full integration locally
- **Debugging**: Investigate issues with specific branches without affecting your local main branch

**Note**: The branches must exist in the respective GitHub repositories and be accessible (public or you have access).

### Preview Deployment

Expand All @@ -41,6 +177,7 @@
```

**Examples:**

```bash
# Using ticket number
npx surge build opentdf-docs-preview-dspx-2345.surge.sh
Expand All @@ -52,3 +189,28 @@
Your preview will be available at `https://opentdf-docs-preview-<your-identifier>.surge.sh/`

**Note:** The first time you deploy, Surge will prompt you to create a free account or login.

---

## License

This documentation is licensed under the [Creative Commons Attribution 4.0 International License (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/).

### License Change Notice

**Effective Date: February 13, 2026**

This project's documentation license has changed from:
- **Previous:** Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
- **New:** Creative Commons Attribution 4.0 International (CC BY 4.0)

**What this means:**
- βœ… You can use, adapt, and share this documentation under any terms
- βœ… You only need to provide attribution to the original work
- βœ… No longer required to share derivative works under the same license (ShareAlike requirement removed)

**Rationale:** To make the documentation more accessible and easier to integrate into various projects and contexts while maintaining proper attribution.

All content committed after February 13, 2026 is licensed under CC BY 4.0. Content created before this date was released under CC BY-SA 4.0.

See the [LICENSE](LICENSE) file for the full legal text.
Loading
Loading