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

ModuleDescription
HallpassSdk.KeysKey generation, loading, DID derivation
HallpassSdk.JwtES256 JWT signing and verification
HallpassSdk.MessagesMessage proof bundle creation and local verification
HallpassSdk.ChallengesAgent challenge-response signing
HallpassSdk.DelegationDelegation JWT signing
HallpassSdk.ClientTyped HTTP client for the Hallpass API

Environment variables

VariableDescription
HALLPASS_BASE_URLAPI base URL (default: https://hallpass.org/api/v1)

License

MIT