Status
oConsent is a research project with working code, not a finished product. This page is the honest inventory. If something here is wrong or out of date, tell us.
Create, verify, revoke, and list agreements through the Python SDK and CLI.
A consent agreement carries the subject, the processor, its purposes, a validity window, status, and references to its proof and timestamp. Each purpose has its own retention period.
Agreements are signed with the subject's key using standard elliptic-curve signatures.
An independent time is attached from the NIST Randomness Beacon, with a Bitcoin provider as a second source.
Three Solidity contracts, ConsentRegistry, ConsentVerifier, and ConsentBatchOperations, built on OpenZeppelin, with a test suite.
An IPFS storage provider with pinning, retries, and streaming, so bulky metadata stays off-chain.
Seven CLI commands cover creating, verifying, revoking, listing, exporting agreements, adding purposes, and configuration.
A Bitcoin timestamp provider exists but expects a local node and has not been hardened for real use.
Generated reference docs exist, but the docs subdomain currently redirects to the homepage. It is being rebuilt.
The contracts are MIT. A single, project-wide license is still being settled. Help here is welcome.
The proof step is a hash-based placeholder today. The real zero-knowledge proofs described in the paper are not implemented. The code says so in a comment, and so do we.
Only Ethereum is wired up. The sidechain module is an empty stub.
There is no product and no user dashboard. The old site's dashboard was a static mockup with placeholder data.
Both have been mentioned before. Neither has been started.
Want to change what is on this page? The fastest way is to ship code. See how to contribute or read the reference implementation.