JIS Core - JTel Identity Standard with TIBET provenance and bilateral intent verification
Project description
jis-core
Decentralized Identifiers for JTel Identity Standard
The identity layer for HumoticaOS. Pairs with tibet-core for complete AI provenance.
Install
pip install jis-core # Python
npm install jis-core # JavaScript (coming soon)
Quick Start
from jis_core import DIDEngine, DIDDocumentBuilder
# Create identity engine with Ed25519 keypair
engine = DIDEngine()
print(f"Public key: {engine.public_key}")
# Create a DID
did = engine.create_did("alice")
# -> "jis:alice"
# Or create from public key hash
did = engine.create_did_from_key()
# -> "jis:a1b2c3d4e5f6..."
# Build a DID Document
builder = DIDDocumentBuilder(did)
builder.add_verification_method("key-1", engine.public_key)
builder.add_authentication("key-1")
builder.add_consent_service("https://api.example.com/consent")
builder.add_tibet_service("https://api.example.com/tibet")
doc_json = builder.build()
# Sign and verify
message = "Hello, DID!"
signature = engine.sign(message)
valid = engine.verify(message, signature) # True
# Verify with external key
valid = DIDEngine.verify_with_key(message, signature, engine.public_key)
With tibet-core
from jis_core import DIDEngine
from tibet_core import TibetEngine
# Create identities
did_engine = DIDEngine()
tibet_engine = TibetEngine()
# Create DID
did = did_engine.create_did("my-agent")
# Create provenance token with DID as actor
token = tibet_engine.create_token(
"action",
"Processed user request",
["input-token-123"],
'{"model": "gpt-4"}',
"User asked for help",
did # actor is the DID
)
API
DIDEngine
| Method | Description |
|---|---|
DIDEngine() |
Create new engine with fresh Ed25519 keypair |
DIDEngine.from_secret_key(hex) |
Create from existing secret key |
.public_key |
Get public key as hex string |
.public_key_multibase |
Get public key in multibase format |
.create_did(id) |
Create jis:id |
.create_did_from_key() |
Create DID from public key hash |
.sign(message) |
Sign message, return hex signature |
.verify(message, signature) |
Verify signature |
.create_document(did) |
Create signed DID document |
DIDDocumentBuilder
| Method | Description |
|---|---|
DIDDocumentBuilder(did) |
Create builder for DID |
.set_controller(did) |
Set document controller |
.add_verification_method(id, pubkey) |
Add Ed25519 verification method |
.add_authentication(key_id) |
Add authentication reference |
.add_assertion_method(key_id) |
Add assertion method reference |
.add_service(id, type, endpoint) |
Add service endpoint |
.add_consent_service(endpoint) |
Add bilateral consent service |
.add_tibet_service(endpoint) |
Add TIBET provenance service |
.build() |
Build and return JSON document |
Functions
| Function | Description |
|---|---|
parse_did_py(did) |
Parse DID into (method, id) tuple |
is_valid_did_py(did) |
Check if jis: is valid |
create_did_py(parts) |
Create jis: from parts list |
The Stack
jis: → WHO (identity, keys, resolution)
tibet → WHAT + WHEN + WHY (provenance, audit)
Together they provide complete AI provenance for 6G networks.
Links
- PyPI: https://pypi.org/project/jis-core/
- npm: https://www.npmjs.com/package/jis-core
- GitHub: https://github.com/jaspertvdm/jis-core
- IETF Draft: https://datatracker.ietf.org/doc/draft-vandemeent-jis-identity/
License
MIT OR Apache-2.0
Co-created by Jasper van de Meent & Root AI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jis_core-0.2.0.tar.gz.
File metadata
- Download URL: jis_core-0.2.0.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
032f45c8a9523db0d3d9d88173c7349d7068afda683e37ccdd2ae987724e9a44
|
|
| MD5 |
8d44fead95a4e4d2dea90be05a93a279
|
|
| BLAKE2b-256 |
e28ed61747f6905abfe3bb1449a4e8bac36566a607d910223ab830b6db3de7cb
|
File details
Details for the file jis_core-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: jis_core-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 330.9 kB
- Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97d6cb85eed4327b89e2f7577e7f830d3b1176c874ff0b9e54434ba85e2f507d
|
|
| MD5 |
c79c8b654423c875a8a0daa29e58389a
|
|
| BLAKE2b-256 |
970642b4d89e56013546a6689385bed349890003a77b847d5b85031d6512822c
|