Hallpass SDK for Elixir

Elixir SDK for the Hallpass agent identity and message proof protocol.

Installation

Add to your mix.exs:

def deps do
  [{:hallpass_sdk, "~> 0.1.0"}]
end

Quick start

km = HallpassSdk.Keys.generate_agent_key_material()

bundle = HallpassSdk.Messages.create_proof_bundle(%{
  principal_username: "alice",
  body: "Invoice #1234 approved",
  author_label: "Billing Agent",
  key_material: km
})

{:ok, result} = HallpassSdk.Client.verify_message(bundle)

Modules

Module Description
HallpassSdk.Keys Key generation, loading, DID derivation
HallpassSdk.Jwt ES256 JWT signing and verification
HallpassSdk.Messages Message proof bundle creation and local verification
HallpassSdk.Challenges Agent challenge-response signing
HallpassSdk.Delegation Delegation JWT signing
HallpassSdk.Client Typed HTTP client for the Hallpass API

Environment variables

Variable Description
HALLPASS_BASE_URL API base URL (default: https://hallpass.org/api/v1)

License

MIT