Messaging Assurance

Monitor OTP/SMS

Check that your OTP/SMS reaches a real phone on an international number, and how long it took.

  • otp_sms
Available
1 corridor
$189.00/mo
  • 1 corridor, 1 number, 3 authorized senders
  • 3,000 checks / month
  • 1 GB evidence storage
  • 50,000 API requests / month
  • 90-day retention
Start now
01 — The problem

The problem

You don't have end-to-end visibility of your own OTP/SMS flow (provider to carrier to phone). You don't know if a code was lost, delayed, or if the sender/content arrived intact.

Who it is for

Any company that sends OTP/SMS to end users and needs independent visibility into whether the code really arrives on a real phone.

02 — What you send us

What you send us

FieldFormatValidation
authorized_sendersOne or more: E.164 number, or 3-11 char alphanumeric sender IDNever a wildcard ("*"); matched exactly, case-insensitively, never as a substring
correlation_token6-32 chars, letters/digits/hyphenRequired: your OTP SMS must include a correlation token of 6-32 characters that you choose (e.g. WT-ACME); it lets us match your message to your check
expected_window_secondsInteger, 60-3600Defaults to 900; the run must land inside this window to count as received
max_latency_secondsIntegerOptional ceiling on top of expected_window_seconds
forward_webhook_urlhttps:// URLOptional; must be https://, same SSRF-safe URL check as every other webhook field
country_code2-letter codeMust be one of your plan’s included corridors

You send the OTP from your own provider to a number you authorize; Witnio never sends the OTP itself, it only receives and measures it.

03 — What runs

What runs

  • An arriving SMS is detected on the worker’s next read of the receiving phone’s inbox — every worker cycle, about 80 seconds measured across the fleet — so typically within 2 minutes.
  • The sender is matched against authorized_senders_json exactly; a non-matching sender is not attributed to your check.
  • Content integrity is checked but the OTP itself is masked before it is ever persisted or sent to AI.
  • An incident opens once failure_threshold is exceeded within expected_window_seconds.
04 — What you get

What you get

json
{
  "status": "ok",
  "latency_ms": 4210,
  "duration_ms": 4340,
  "screenshot_path": null,
  "failure_class": null,
  "recovery_actions_json": null,
  "evidence_signature_json": {
    "signature": "9bd0...4e",
    "algorithm": "Ed25519",
    "key_id": "witnio-run-ed25519-2026-09"
  },
  "ran_at": "2026-09-23T09:15:47Z"
}
  • One MonitorRun per event (status, latency_ms, evidence_json)
  • Alerts (Telegram/email)
  • Dashboard
  • API/webhook per plan
05 — Limits & quotas

Limits & quotas

Loading...

06 — Autonomy

Autonomy

Every OTP event is observed and evidenced unattended. Human escalation triggers only when failure_threshold is exceeded inside the expected window, or when a sender fails to match any authorized_senders entry repeatedly.

07 — Compliance

Compliance

Each plan declares its corridor (number country, hosting country, access method). Delivery is observed on a real handset reached through an international number; it is not a measurement of in-country network performance, delivery or mobile latency. The corridor context is recorded inside every signed evidence record and shared on request.

08 — Known limitations

Known limitations

  • Delivery is observed on a real handset reached through an international number. It does not show how the same message is delivered on US or other in-country networks.
  • A number reached via roaming or Wi-Fi calling is never sold as that country's "network" or "mobile latency".
  • Doesn't replace your SMS provider — it only audits it.
  • Activation requires proof that you control your company domain (a DNS TXT record shown at checkout, before payment). If your account e-mail is on a free provider (Gmail, Outlook...), we verify your company manually, usually within 1 business day.
09 — FAQ
FAQ

Questions about this service

Yes, it is required. Your OTP SMS must include a correlation token of 6-32 characters that you choose (e.g. WT-ACME); it lets us match your message to your check. You enter it in the intake form after checkout.

Ready for Monitor OTP/SMS?