Verivent¶
Formerly Snoop: versions up to 0.7.0 were published as
io.github.asanre:snoop.
Your mobile analytics, verified on the device. Verivent checks every analytics event your app sends against your team's tracking plan, on the phone, with the real values and without uploading anything. Built for Kotlin Multiplatform (Android and iOS), with a Swift Package for native iOS apps.
A broken event shows up wherever you are testing: in the app, in a desktop browser, in the console
or in a CI test. Issues name the property and what the plan expected, never the value sent:
items[*].quantity · Expected integer, got string · 1 of 2.
Features¶
- Tracking plan on the device — a JSON Schema subset per event and channel, nested as deep as
your values:
type,enum,const,pattern,required,additionalProperties,items,minItemsandcontains. Checked at capture, on the values your code passed. - Vendor-agnostic — your analytics facade calls
log; Verivent never talks to an analytics SDK. - Everywhere you look — the on-device inspector, the web viewer on your Mac, one JSON line per event in the console, and one export format shared by all of them.
- Tests — compare a session with a recorded baseline, or ask the device over HTTP whether any event broke the plan.
- The same validator in the browser — an npm package with the device's rules and messages.
- Network on the same timeline — Ktor calls (and
URLSessionon native iOS) next to the events they should have produced, with headers, bodies, timing and cURL export. - Redaction at capture — sensitive values are replaced with a visible
██before anything reaches the store; a redacted property keeps its type, and the plan only checks that. - No-op mirrors — release builds swap in API-identical stubs that capture nothing.
Modules¶
verivent carries the analytics sink, the tracking plan, the baseline and the web viewer; add
verivent-ui for the on-device inspector and one adapter per HTTP client.
| Artifact | What it does |
|---|---|
verivent |
The analytics sink, the tracking plan, the baseline, the web viewer, the store and redaction |
verivent-ui |
Compose Multiplatform inspector UI and the live notifications |
verivent-ktor |
Ktor client plugin that captures traffic |
verivent-*-no-op |
Empty mirrors with the identical API for release builds |
verivent-ui is the only artifact that depends on Compose — leave it out and you get the web viewer
with no Compose in your graph.
See Getting started to install, then Integration to open the inspector. Apps written entirely in Swift start from Native iOS instead.