Skip to main content

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

License

MIT OR Apache-2.0


Co-created by Jasper van de Meent & Root AI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jis_core-0.2.0.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jis_core-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl (330.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

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

Hashes for jis_core-0.2.0.tar.gz
Algorithm Hash digest
SHA256 032f45c8a9523db0d3d9d88173c7349d7068afda683e37ccdd2ae987724e9a44
MD5 8d44fead95a4e4d2dea90be05a93a279
BLAKE2b-256 e28ed61747f6905abfe3bb1449a4e8bac36566a607d910223ab830b6db3de7cb

See more details on using hashes here.

File details

Details for the file jis_core-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for jis_core-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 97d6cb85eed4327b89e2f7577e7f830d3b1176c874ff0b9e54434ba85e2f507d
MD5 c79c8b654423c875a8a0daa29e58389a
BLAKE2b-256 970642b4d89e56013546a6689385bed349890003a77b847d5b85031d6512822c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page