About us
We started with the part everyone else designs around.
Most access control is designed as though the gate has a reliable connection. It does not. It sits behind a wall, at the bottom of a driveway, on a line that drops when it rains — and when the system fails, the queue backs up onto a public road at six in the evening.
So we built the offline case first and treated the online case as the easy one. Everything else in the product follows from that decision.
What we believe
Four opinions, held firmly.
An outage must not close the gate
A guard with a stale list still admits, and the entry is flagged for review. Refusing to verify because the server is unreachable turns a connectivity problem into a security incident and a traffic jam. We would rather admit and tell you about it.
Access should expire on its own
Anything that has to be revoked by hand eventually is not. A code that stops working after six hours needs no cleanup, no policy and no reminder — the estate cannot accumulate access it has forgotten about.
Rules belong in the database
Single use, the three-code limit, and who may read what are enforced where the data lives, not in the app. An interface can be bypassed. A constraint cannot, which means the rule holds even for code we have not written yet.
Log the refusals too
Most systems record who came in. The interesting record is who tried and was turned away — a code that had already been used, or one that expired last week. That is the part worth reading on a Monday morning.
The trade-off we made on purpose
Revocation is not instant at an offline gate.
If a resident cancels a code while the guard's phone is offline, that phone will not know until it reconnects. We could have hidden this. Instead we bounded it: the delay can never exceed the code's own six-hour life, and usually it is minutes.
The alternative — refusing to verify anything on a phone that has not synced recently — would mean an estate's gate stops working every time its uplink does. We think a bounded, visible delay is the better failure, and we would rather tell you about it than let you discover it.
Who it is for
Estates that outgrew the register but do not want a turnstile.
Residential estates, security complexes, cluster developments and gated communities — anywhere with a manned boom, a few hundred homes, and a book that nobody reads.
We are deliberately not building number-plate recognition, biometrics or turnstiles. Those are expensive, they fail in ways a guard cannot work around, and they solve a problem most estates do not have. A code you can read down a phone line covers the overwhelming majority of visits.
How we build
Slowly, in the boring places.
Access control is not a product where a clever feature makes up for a subtle mistake. The work that matters is unglamorous: making sure two people generating a code at the same instant cannot both slip past a limit, that a retried sync after a dropped connection does not report a phantom double entry, and that a phone with the wrong date cannot corrupt the order of an audit trail.
Those are the bugs that are invisible in a demo and expensive at three in the morning. We test for them against a real database rather than reading the code and hoping.