nazar:read scope; nobody reads anyone else’s.
Every figure carries its grade, and the grade is the point. A fix is
seen (the phone’s word), checked (no mock provider reported, within 100 m, a plausible speed from the previous fix, the clock not disputed) or witnessed (another phone’s checked fix vouches for it). A fix’s time is anchored (bound between a public randomness pulse and our receipt), disputed (the phone’s own clock contradicts the pulse) or self. Trips, stops, corridors and ETAs are MODELLED; alerts are evidence, never verdicts. Show the grade beside the number.
Keys, assignments and the pairing code stay on the desk: the API reads, it does not drive.
Verify a truck at the roadside
For mechanics, tyre shops, fuel pumps and breakdown desks. The driver’s Pinger shows six digits that change every thirty seconds. Type the registration and the code intoPOST /v1/nazar/verify with your own key (nazar:verify, every tier):
valid: true, the registration and variant, the fleet’s name, who is driving, the truck’s last position with its age and grade, the owner’s phone where the fleet allows it, and job_id: a job now sits on the truck’s ledger under your key’s name, and the owner sees it. A wrong code, an unknown truck or a truck with no live key answers valid: false and nothing else; the code proves presence, and only the driver can give it. Kinds: breakdown, tyre, fuel, service, other. Owners can switch providers off for their fleet, in which case the code still opens and the job is kept, but the position and phone are withheld.
Webhooks for your fleet
Any key may subscribe an https URL to its own fleet’s events withPOST /v1/webhooks: nazar.alert.opened, nazar.alert.cleared, nazar.mock.reported, nazar.trip.ended, nazar.day.anchored, nazar.job.opened. Deliveries carry X-Truckaurbus-Event and X-Truckaurbus-Signature (HMAC-SHA256 of the body with the secret returned once at creation), and are retried on failure; a URL that fails ten times in a row is switched off. Market events (variant.*, price.changed) remain an enterprise feature.
Verify a day yourself
The daily digest issha256("nazar-day-v1|<fleet>|<day>|" + "key:hash|..." sorted by key) over the last chained hash per key. Save the .ots bytes from the proof endpoint and run ots verify against the digest with any OpenTimestamps client; once the calendars’ attestation reaches a Bitcoin block, the proof needs nothing from us.
