Delay measured to the second
Network timestamp and receive timestamp give the real delay, not a provider average. The dashboard shows median and p95 delay per operator, and the non-delivery rate.
An OTP that takes 90 seconds on one operator instead of 5 means lost sign-ups — while your SMS provider reports "delivered". Accuse triggers the journey, waits for the SMS on a real French SIM and measures the delay to the second, checks the content, and alerts when nothing arrives.
No credit card to start. Secure payment through Stripe when you change plan.
An OTP that takes 90 seconds on one operator instead of 5 means lost sign-ups, while the provider reports “delivered”. This chart is the screen that must show it. It is empty, and it will stay empty until the fleet has a phone with a SIM: no SMS has ever been received, so no delay has ever been measured.
No. The fleet holds no phone with a SIM, so no real SMS has ever been received, no operator delay has been measured, and the `sms-wait` job has never run for real. The "SMS received on 2 operators" criterion is still unmet today.
It is encrypted (AES-256-GCM, unique nonce, mandatory key) and kept for 30 days. Off-pattern, it is destroyed without being stored: neither plaintext nor ciphertext touches the database; only an audit log without content keeps a trace. No API response carries an SMS body.
No, never. The customer only sees SMS from their own declared senders, and there is no free inbox. That is a safeguard, not a commercial option: the service cannot be used to create fake accounts elsewhere.
Not proven by measurement: the job result does not publish the SIM operator, so Accuse records the one declared by the scenario. Per-operator latency is exact by scenario construction, not verified by the network.
In phase 1, proof of ownership (a file on the domain, or a Play developer account matching the package) is checked by hand, with a written procedure. Automating it is planned, not done.
Network timestamp and receive timestamp give the real delay, not a provider average. The dashboard shows median and p95 delay per operator, and the non-delivery rate.
The code is extracted with the scenario pattern, the displayed sender is checked, and the encoding is analysed: GSM-7 or UCS-2, accents, segmentation into parts, length. An SMS that arrives broken is not a success.
The stored body is encrypted with AES-256-GCM under a mandatory per-environment key, and purged after 30 days. An SMS that matches no declared sender is destroyed without being stored: neither plaintext nor ciphertext touches the database.
No free inbox: no route lists the SMS of a SIM, and no API response carries an SMS body. An audit log keeps the sender, length, fingerprint and decision, never the content.
By API (Accuse calls a customer endpoint), by mobile journey (a Maestro flow types the number), by web journey, or manually. The reference path stays the API: its measurement window is the most reliable.
A service that receives SMS must say what it does with them. Here it is, in order: the content is encrypted, kept for 30 days, and destroyed before any write when it does not match what the customer declared. No API response carries an SMS body.
The SMS arrives on a real French line. Nothing is written at this stage.
If the sender is not among those declared by the customer, the decision is no: the content never touches the database.
Mandatory per-environment key, unique nonce. Without the key the product refuses to start: there is no default value.
Then automatic purge. Only the audit log remains: sender, length, SHA-256 fingerprint and decision — never the content.
Undeclared sender, unmatched pattern, disabled scenario, suspended customer or reached cap: the content is neither stored in clear nor stored encrypted. There is no free inbox, and no route lists the SMS received by a SIM.
A product that hides its limits wastes everybody's time. Here are ours, today.
Create an account, take a key, run your first test. It is free to start.