Signals
A signal is one thing that happened — a page viewed, an order placed, an agent running a tool. Aether checks it, adds context, and files it in the right place.
Event types
Every signal carries a type from one registry shared by every SDK and the backend — a little over 400 types across about two dozen families. Unknown types are dropped at the SDK with a debug warning, never mislabeled.
| Family | Examples |
|---|---|
| Core interaction | page, track, conversion |
| Identity | identify |
| Consent | consent grants and revocations |
| Commerce | product_viewed, cart_item_added, checkout_started, order_completed, payment_completed |
| Journeys | journey_started, journey_checkpoint, journey_completed, journey_abandoned |
| Agents | agent_task_created, agent_tool_called, agent_outcome_recorded |
| Web3 | wallet, transaction |
Anatomy of a signal
idClient-generated; used for idempotent dedup
context.sequenceDetects gaps and reordering per client
context.surfaceWhich SDK or plane emitted it
context.consentThe purposes granted at capture time
▲Raw is not confirmedClient heuristics (like a likely checkout) travel with
confirmation.confirmed: false until the server confirms them.Same concept, different resolution