Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Binary file added .github/banner_audit_trails.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
102 changes: 52 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,95 +10,97 @@
<p align="center">
<a href="#introduction">Introduction</a> ◈
<a href="#where-to-start">Where To Start</a> ◈
<a href="#toolkits">Toolkits</a> ◈
<a href="#suite-components">Suite Components</a> ◈
<a href="#documentation-and-resources">Documentation & Resources</a> ◈
<a href="#bindings">Bindings</a> ◈
<a href="#contributing">Contributing</a>
</p>

---

# IOTA Notarization And Audit Trail
# IOTA Notarization Suite

## Introduction

This repository contains two complementary IOTA ledger toolkits for verifiable on-chain data workflows:
This repository contains the IOTA Notarization Suite, a set of IOTA ledger tools for verifiable on-chain data workflows.

- **IOTA Notarization**
Best when you want a proof object for arbitrary data, documents, hashes, or latest-state notarization flows.
- **IOTA Audit Trail**
Best when you want shared audit records with sequential entries, role-based access control, locking, and tagging.
The suite includes:

Each toolkit is available as:
- **Single Notarization**
Use this for individual locked or dynamic notarizations of arbitrary data, documents, hashes, or latest-state records.
- **Audit Trails**
Use this for structured record histories with sequential entries, role-based access control, locking, and tagging.

Each suite component is available as:

- a **Move package** for the on-chain contracts
- a **Rust SDK** for typed client access and transaction builders
- **wasm bindings** for JavaScript and TypeScript integrations

## Where To Start

### I want to notarize data
### I want a single notarized record

Use **IOTA Notarization** when your main need is proving the existence, integrity, or latest state of data on-chain.
Use **Single Notarization** when your main need is proving the existence, integrity, or latest state of one notarized object on-chain.

- [Notarization Rust SDK](./notarization-rs)
- [Notarization Move Package](./notarization-move)
- [Notarization Wasm SDK](./bindings/wasm/notarization_wasm)
- [Notarization examples](./bindings/wasm/notarization_wasm/examples/README.md)
- [Single Notarization Rust SDK](./notarization-rs)
- [Single Notarization Move Package](./notarization-move)
- [Single Notarization Wasm SDK](./bindings/wasm/notarization_wasm)
- [Single Notarization examples](./bindings/wasm/notarization_wasm/examples/README.md)

### I want audit records
### I want an audit trail

Use **IOTA Audit Trail** when you need shared audit records with permissions, capabilities, tagging, and write or delete controls.
Use **Audit Trails** when you need a structured record history with permissions, capabilities, tagging, and write or delete controls.

- [Audit Trail Rust SDK](./audit-trail-rs)
- [Audit Trail Move Package](./audit-trail-move)
- [Audit Trail Wasm SDK](./bindings/wasm/audit_trail_wasm)
- [Audit Trail examples](./bindings/wasm/audit_trail_wasm/examples/README.md)
- [Audit Trails Rust SDK](./audit-trail-rs)
- [Audit Trails Move Package](./audit-trail-move)
- [Audit Trails Wasm SDK](./bindings/wasm/audit_trail_wasm)
- [Audit Trails examples](./bindings/wasm/audit_trail_wasm/examples/README.md)

### I want the on-chain contracts

- [Notarization Move](./notarization-move)
- [Audit Trail Move](./audit-trail-move)
- [Single Notarization Move](./notarization-move)
- [Audit Trails Move](./audit-trail-move)

### I want application SDKs

- [Notarization Rust](./notarization-rs)
- [Audit Trail Rust](./audit-trail-rs)
- [Notarization Wasm](./bindings/wasm/notarization_wasm)
- [Audit Trail Wasm](./bindings/wasm/audit_trail_wasm)
- [Single Notarization Rust](./notarization-rs)
- [Audit Trails Rust](./audit-trail-rs)
- [Single Notarization Wasm](./bindings/wasm/notarization_wasm)
- [Audit Trails Wasm](./bindings/wasm/audit_trail_wasm)

## Toolkits
## Suite Components

| Toolkit | Best for | Move Package | Rust SDK | Wasm SDK |
| ------------ | ------------------------------------------------------------------------ | ------------------------------------------ | -------------------------------------- | -------------------------------------------------------- |
| Notarization | Proof objects for documents, hashes, and updatable notarized state | [`notarization-move`](./notarization-move) | [`notarization-rs`](./notarization-rs) | [`notarization_wasm`](./bindings/wasm/notarization_wasm) |
| Audit Trail | Shared sequential records with roles, capabilities, tagging, and locking | [`audit-trail-move`](./audit-trail-move) | [`audit-trail-rs`](./audit-trail-rs) | [`audit_trail_wasm`](./bindings/wasm/audit_trail_wasm) |
| Component | Best for | Move Package | Rust SDK | Wasm SDK |
| -------------------- | ------------------------------------------------------------------------ | ------------------------------------------ | -------------------------------------- | -------------------------------------------------------- |
| Single Notarization | Individual locked or dynamic notarizations for documents, hashes, and state | [`notarization-move`](./notarization-move) | [`notarization-rs`](./notarization-rs) | [`notarization_wasm`](./bindings/wasm/notarization_wasm) |
| Audit Trails | Shared sequential records with roles, capabilities, tagging, and locking | [`audit-trail-move`](./audit-trail-move) | [`audit-trail-rs`](./audit-trail-rs) | [`audit_trail_wasm`](./bindings/wasm/audit_trail_wasm) |

### Which one should I use?

| Need | Best fit |
| ------------------------------------------------------------------------- | ------------ |
| Immutable or updatable proof object for arbitrary data | Notarization |
| Simple proof-of-existence or latest-state notarization flow | Notarization |
| Shared sequential records with roles, capabilities, and record tag policy | Audit Trail |
| Team or system audit log with governance and operational controls | Audit Trail |
| Need | Best fit |
| ------------------------------------------------------------------------- | -------------------- |
| Locked proof object for arbitrary data | Single Notarization |
| Dynamic latest-state notarization flow | Single Notarization |
| Shared sequential records with roles, capabilities, and record tag policy | Audit Trails |
| Team or system audit log with governance and operational controls | Audit Trails |

## Documentation And Resources

### IOTA Notarization
### Single Notarization

- [Notarization Rust SDK README](./notarization-rs/README.md)
- [Notarization Move Package README](./notarization-move/README.md)
- [Notarization Wasm README](./bindings/wasm/notarization_wasm/README.md)
- [Notarization examples](./bindings/wasm/notarization_wasm/examples/README.md)
- [Single Notarization Rust SDK README](./notarization-rs/README.md)
- [Single Notarization Move Package README](./notarization-move/README.md)
- [Single Notarization Wasm README](./bindings/wasm/notarization_wasm/README.md)
- [Single Notarization examples](./bindings/wasm/notarization_wasm/examples/README.md)
- [IOTA Notarization Docs Portal](https://docs.iota.org/developer/iota-notarization)

### IOTA Audit Trail
### Audit Trails

- [Audit Trail Rust SDK README](./audit-trail-rs/README.md)
- [Audit Trail Move Package README](./audit-trail-move/README.md)
- [Audit Trail Wasm README](./bindings/wasm/audit_trail_wasm/README.md)
- [Audit Trail examples](./bindings/wasm/audit_trail_wasm/examples/README.md)
- [Audit Trails Rust SDK README](./audit-trail-rs/README.md)
- [Audit Trails Move Package README](./audit-trail-move/README.md)
- [Audit Trails Wasm README](./bindings/wasm/audit_trail_wasm/README.md)
- [Audit Trails examples](./bindings/wasm/audit_trail_wasm/examples/README.md)

### Shared

Expand All @@ -108,12 +110,12 @@ Use **IOTA Audit Trail** when you need shared audit records with permissions, ca

[Foreign Function Interface (FFI)](https://en.wikipedia.org/wiki/Foreign_function_interface) bindings available in this repository:

- [Web Assembly for IOTA Notarization](./bindings/wasm/notarization_wasm)
- [Web Assembly for IOTA Audit Trail](./bindings/wasm/audit_trail_wasm)
- [Web Assembly for Single Notarization](./bindings/wasm/notarization_wasm)
- [Web Assembly for Audit Trails](./bindings/wasm/audit_trail_wasm)

## Contributing

We would love to have you help us with the development of IOTA Notarization and Audit Trail. Each and every contribution is greatly valued.
We would love to have you help us with the development of the IOTA Notarization Suite. Each and every contribution is greatly valued.

Please review the [contribution](https://docs.iota.org/developer/iota-notarization/contribute) sections in the [IOTA Docs Portal](https://docs.iota.org/developer/iota-notarization/).

Expand Down
Loading