Skip to content
Public beta — Swift, Android and Flutter SDKs are liveRead the source
Notifie

Delivery observability

“Sent” is a transport state.
Not an outcome.

Notifie preserves the evidence around every boundary so developers can distinguish an event that never matched from a provider rejection, an inactive token, or a notification the device never presented.

INVOCATION · INV_2M4D8APRESENTED
LATENCY PROFILE · 1.41S END TO END
event.receivedorder_shipped
identity.resolvedusr_42 · 2 devices
policy.allowedwindow open
provider.acceptedapns-id 8F2…
device.presentediPhone · production
OUTCOMEOne device presented. One stale token excluded before send.

The delivery graph

One record across systems that usually disagree.

Notifie connects application evidence, database state, worker decisions, provider responses, and device callbacks without collapsing them into one optimistic status.

Admission evidence

Which event was stored, whether it was a duplicate, and which subscription admitted the run.

Workflow evidence

Every wait, condition value, branch choice, policy deferral, and action attempt.

Provider evidence

Provider status, message ID, environment, retry classification, and proven-dead tokens.

Device evidence

Presentation and open callbacks reported separately from provider acceptance.

Failure classification

Configuration failures do not burn retries intended for transient provider outages.

User-level diagnosis

Answer why a specific user did or did not receive a specific notification.

Honest delivery language

Accepted. Presented. Opened.

Each stage is useful, and none implies the next. Notifie keeps the boundaries explicit in APIs, dashboards, and diagnostics.

Provider acceptance proves that Apple or Google accepted a request. It does not prove the operating system displayed it—or that a person saw it.
Notifie domain invariant

Public beta — no credit card

Stop debugging across five consoles.

Follow a single delivery trace from event ingest to the physical device.

Connect a real app