BeaconPublisher / BeaconReceiver API

Publisher

publisher = BeaconPublisher(
    org_id, publisher_did, signer, keypair,
    store=BeaconStore(), ttl_seconds=86400,
)

# Publish specific alert types
beacon = publisher.publish_compromised_identity(subject_did, title, description)
beacon = publisher.publish_malicious_skill(skill_id, title, description)
beacon = publisher.publish_active_threat(title, description)

Receiver

receiver = BeaconReceiver(
    org_id, subscriber_did, resolver,
    store=BeaconStore(),
)

# Add subscription filter
receiver.add_subscription(subscription)

# Register callback
receiver.on_beacon(lambda b: print(f"Alert: {b.title}"))

# Process incoming beacon (verifies PQC signature)
accepted = receiver.receive(beacon)

BeaconStore

store = BeaconStore()
store.store_beacon(beacon)
beacon = store.get_beacon(beacon_id)
beacons = store.get_beacons(alert_type=..., severity=..., limit=50)
beacons = store.get_by_subject(subject_did)
stats = store.get_stats()