Industry benchmarks · US-centric · LatAm figures may vary
100-person field crew → tens of thousands per year in hours never worked.
Layer 1 — fraud: buddy punching and spoofed GPS at the punch.
Layer 2 — mis-routing: a mobile app forced on a factory floor where phones are banned; web given to field crews that need real GPS.
Each channel emits a slightly different event → phantom overtime, missed shifts, payroll errors.
Context picks the right channel for each worker. Every channel produces the exact same event — so payroll only ever sees one clean format.
Four doors. One router. One clean record.
Tap a context — watch which channel the router picks:
Presente unifies the record. The router unifies the platform.
A Runa account required — lightweight iOS/Android app, field-facing front end of the platform (not a standalone time clock).
↘ Simulated punch — live GPS + camera PoC next
Estimated mix: 72% deploy kiosk/tablet (LatAm enterprise & mid-market). Same event, same core — a different adapter at the door.
Estimated deployment mix · checkin.md §5.1 · not mutually exclusive
↘ Preview — tap Clock in
FraudPolicy runs after the router, before the normalizer — each channel gets rules it can actually enforce.
SDK mock-GPS / VPN / emulator detection + device binding + geofencing that blocks punches outside the fence + live GPS + selfie liveness. Field-grade — the only channel where we truly trust location.
Liveness + fingerprint/face + physical choke point. Location = fixed site ID. Lowest fraud risk in LatAm.
IP allowlist + session binding. Medium trust — the router already limited the audience to desk staff.
OTP + manual photo review. trust_tier: low — secondary channel, not payroll-grade on its own.
Geofencing alone is not enough — a free mock-GPS app places a phone anywhere inside the fence. SDK detection is the real defense.
Required under LFPDPPP (MX) · LGPD (BR) · Ley 25326 (AR) · Ley 1581 (CO).
An onboarding ritual, not a blocking screen on every check-in. Our biggest exposure, turned into proof we know the market.
Normalized event updates with router context (toggle on slide 4):
Live GPS + camera PoC — after team discussion
One channel done beautifully on a decoupled core > six half-built ones.
Stops buddy-punch and time-theft losses (industry estimates 1.5–5% of payroll), survives a LatAm labor inspection, and gives every workforce segment the right check-in — one audit trail regardless of channel.
Q3 ships mobile + the decoupled core. Every future channel — kiosk, web, WhatsApp, ZKTeco — is a sprint, not a rewrite. A platform play, not a single app.
Why "Presente": in LatAm roll call you answer "¡Presente!" — the exact word for being counted. It doubles as the confirmation screen: Presente ✓ 8:03 AM. The router makes sure the right person says it, through the right door.
Tap to expand — same answers we'll give live.
The router sends them to the Kiosk adapter (sprint 2) — Android tablet, fingerprint/face, site ID as location. No personal device required.
72% is estimated deployment mix — many orgs run multiple channels. Mobile is the fastest path to a trustworthy live demo and covers field crews. Construction and manufacturing see the highest buddy-punch rates; field crews face the top GPS-spoofing risk on mobile. Kiosk plugs in next without a rewrite.
Yes — browser location is imprecise, overridable by extensions, and has no mock-GPS detection. That's why web is the weaker door: the router sends desk staff on corporate Wi-Fi to web only. Field crews get mobile — the only channel where we can run SDK anti-fraud, device binding, and live GPS we actually trust.
ZKTeco is one external adapter. Runa owns the core: router, FraudPolicy, LatAm compliance, and payroll export (IMSS, eSocial, AFIP).