Who uses this: whoever sets up attendance hardware — a shared kiosk by the door, an employee's own PC, or the machine next to a biometric scanner. One small app (macOS and Windows) covers all three.
How trust works (the short version)
The app never holds a password or API key. You enroll each machine once with a one-time code from Settings → Devices (minted under a 2FA step-up, valid 15 minutes, works once). The app then creates its own signing key, keeps it in the machine's secure keystore, and signs every message it sends. Lost or stolen machine? Revoke it in Settings → Devices — it's cut off from the very next message, with nothing on the device worth stealing.
Setting up
- Install BareLedger Time on the machine.
- In BareLedger, go to Settings → Devices → Enroll device: name it, pick its mode, optionally pin it to office IP addresses, and enter your authenticator code. Copy the one-time code.
- In the app, enter your API address and the code. Done — the app switches into its mode:
Kiosk (shared machine at the entrance)
A full-screen clock. The employee finds their name (or types their number), enters their PIN, and taps Clock in / Clock out. PINs are set by HR on each employee's record and checked only on the server; five wrong tries lock that person on that kiosk for 15 minutes.
Personal (one employee's own computer)
The device is bound to one employee at enrollment. The app is just two buttons — Clock in / Clock out — and always punches as that person, whatever the machine sends.
Biometric bridge (next to a fingerprint/face device)
Point the app at the folder where your biometric device drops its export files. Every new CSV is read, its punches uploaded, and the file moved into processed/. Rows it has seen before are skipped, so overlapping exports are harmless.
Offline behavior
Punches are saved on the machine first and synced when the network allows — a dropped connection never loses a clock-in. The app shows how many punches are waiting; they flush automatically every half minute.
Common mix-ups
- "The code says it's not valid." Codes die after 15 minutes or one use — mint a fresh one.
- "I reinstalled the app and it won't talk to the server." Reinstalling (or un-enrolling) discards the machine's key. Revoke the old device entry and enroll again with a new code.
- "Punches show a flagged badge." They synced long after they happened (see the attendance policy's stale-sync window). The hours still count; the badge just invites a look.