Unmanned Store Face Access

Face unlock for a door nobody staffs.

Unlock the door with a face, reject photos and screen replays, and keep opening when offline. The face library is managed in the cloud, and every unlock is recorded.

Advanced60minVision & Video AI

Access events with the decision reason and the audit chain hash. Synthetic demo data — the people, scores and events are fixtures, not field results

The person library — enrol from 3-8 images, delete with a barrier, roll back only where the barrier allows. Synthetic demo data; no face image was enrolled

Device status and remote unlock, with the receipt that comes back. Synthetic demo data; the offline device is a replayed retained last will

Reusable Site Templates

A door nobody stands behind, a roster that keeps changing, and a record someone may read back.

Unmanned or lightly staffed retail

Unmanned or lightly staffed retail

Convenience-store staff entrances, back stockrooms, night self-service shops. Change the roster in the console and devices fetch it.

Shared offices and campuses

Shared offices and campuses

Co-working floors, incubator entrances. People change weekly and enrolment is self-service.

Equipment rooms and cabinets

Equipment rooms and cabinets

Server-room doors, switchrooms, parcel-locker back doors. The record matters more than throughput.

Not a fit: doors where failing to open is itself an incident, and doors where letting the wrong person in is severe. The lock runs on its own supply, thresholds need calibrating on the installed camera, and the reference face weights are licensed for non-commercial research only.

How it works

At the door a reCamera Pro recognises on its own, or an existing IP camera feeds a reComputer recognition host. Either way a relay drives the door controller you already have.

Unmanned store face access device composition in four layers: a cloud or on-prem host distributes the versioned face library over HTTP and carries MQTT events and commands; the field devices are an all-in-one reCamera or reCamera Pro with on-board compute and an existing IP camera; the IP camera hands RTSP to a reComputer access host in the compute layer while the all-in-one route skips that layer entirely; both reach the door controller input as a dry contact, driven by a GPIO-driven Grove relay or an opto-isolated DO / MQTT relay

At the door sits either an existing IP camera with a reComputer behind it, or an all-in-one reCamera that recognises faces by itself. Both routes end at a dry contact into the existing door controller, and the lock never runs on the compute board's supply. The cloud holds the versioned face library, console and broker beside the unlock path; a device that loses it keeps opening with the last library it loaded.

Cameras

Two ways in, and the wall usually decides which:

  • You already have IP cameras. Point the access host at the RTSP stream; one host can serve several doors.
  • You don't. reCamera Pro and the standard reCamera carry the sensor and the accelerator in one unit. The standard reCamera runs detection, liveness and matching in its own process, so no recognition container is installed.

Framing is a prerequisite. Mount at roughly face height so a face fills a usable part of the frame where people stop. Backlit doorways and glass reflections are the usual failures, so set the threshold from a sweep on the installed camera.

How well it works

What the admin sees and operates in the browser console — access records, the face library and the door itself.

Access events, one row each

  • Each row shows similarity, liveness and the decision
  • Each refusal reason gets its own badge
  • Filter by device, decision or date; open any record's detail

Maintain the roster yourself, live in about 30 s

  • Enroll or delete publishes a new version, live in ~30 s
  • Deletion barrier blocks rollback to versions with them
  • Version table shows parent, head count and who was removed

Remote unlock with a receipt

  • Set pulse width or hold-open time, then unlock/hold/lock
  • Every action logs a receipt with command ID and status
  • Pulse width is capped to 500–5000 ms

Device status on one screen

  • Checks intended vs active version per device
  • Signature checks and clock issues get their own badges
  • Cloud is the only writer; local enrolments never count
Measured results

Measured on reCamera Pro running the access app: a replayed 1280x720 clip at 12.5 fps, liveness on. p50, p95 in brackets.

What the door getsTypicalDevice
Face to unlock signal, 1 000-person library0.66 s (0.68)reCamera Pro
Unregistered person let through0 of 40reCamera Pro
Phone-screen or still-screen replay let through0 of 60reCamera Pro

The unlock signal is the relay trigger pin driven to its active level, 24 of 24 runs, 12 per library size; relay and lock response time is not included. A 10-person library gives 0.62 s.

In the screen rows the library template was built from the attack clip, so the face on the screen is an enrolled person.

Recognition and liveness accuracy depend on the face model and your own enrolment images. The reference face weights are licensed for non-commercial research only; per-run conditions are in the engineering wiki.

What you get out of it

Once deployed, these topics and endpoints are the whole interface.

Topic / endpointPayloadRetained
access/v1/events (MQTT 8883, QoS 1)One JSON per decision, allowed and denied alike: person or anonymous id, score, threshold, liveness, decision and reason, door action, face library version, model hashNo
access/v1/status/{device_id} (MQTT 8883)30-second heartbeat: actuator health, library version, liveness loaded; offline via last willYes (last will)
access/v1/commands/{door_id} (MQTT 8883)unlock, hold_open, lock, each with a unique id, issue time and TTL; never retained, so a reconnect cannot open the door by itselfNever
access/v1/receipts/{command_id} (MQTT 8883)Final state of one command; a replayed command gets this receipt instead of a second unlockNo
access/v1/relay/{relay_id}/set and /state (MQTT 8883)MQTT-relay routes only; state reports the contact, not whether the door is openset no, state yes
GET /v1/facedb/current, /v1/facedb/{version} (HTTP 8080)Face library distribution — two endpoints, no push, resumable downloads
/api/events, /api/devices, /api/persons, /api/audit/verify (HTTP 8088)Console API with three roles: viewer reads, operator unlocks, admin enrols
Dry contact on the relayThe physical output every route ends at; the door controller wires its input to itn/a

Before the first successful sync the device has no library and denies with its own reason, not as a non-match. A new library takes effect within the poll period, 30 s by default. Put the console behind TLS; the service refuses to start with no access token configured.

Porting It to Your Own System

The reusable unit is the chain a versioned, signed dataset from the cloud → pulled and checked on the device → switched in one step → a decision written to a tamper-evident log → a physical contact. Only two links are bound to face access: what the dataset contains, and what the policy checks before closing the contact.

LayerWhat porting costs you
Versioned distribution — polling, resumable download, per-file checks, signature, one-step switch, deletion barrierreuse as-is
Actuator settings — active level, pulse width, contact type, fail modereuse as-is
Command checks — exact fields, unique id, expiry, replay protection, receiptsreuse as-is
Tamper-evident audit log and the console's three rolesreuse as-is
Clock correction from the server, for devices without a real-time clockreuse as-is
What the dataset contains and how it is matchedreplace for the new application
The policy evaluated before the contact closesrewrite for the new application

Same-shape uses: licence-plate barriers, badge-plus-face turnstiles, tool cribs and equipment cabinets, vending and locker doors.

Where this shape does not fit

  • Doors where a failure to open is itself a safety event. Fire egress and anything a code officer signs off; the design has no certification.
  • High-throughput turnstiles. The 30-second poll and single-shot pulse are built for a door someone walks up to, not a stream of people.
  • Treating "the door did not open" as "the person was not authorised". A closed door can also mean a framing, network or relay fault, so the log is the record.

How to deploy

Tell us about your site — we work out the hardware, then you connect the data and follow the steps.

Existing Camera

Is there a camera at this door already?

Or compare them yourself: preset specificationsDeployment Guide · 60min
SetupRoleDeviceQty
A. reCamera Pro at the DoorCloud HostCloud / On-Prem Host1
Door CamerareCamera Pro1
RelayGrove Relay1
B. reCamera PoECloud HostCloud / On-Prem Host1
Door CamerareCamera 20021
RelayGrove Relay1
C. Standard reCamera (2002 / 2002w)Cloud HostCloud / On-Prem Host1
Door CamerareCamera 20021
RelayGrove Relay1
Relay NodeXIAO ESP32-S3 / reComputer R1000 Series(either one)1
D. AI Host with Your Existing CamerasCloud HostCloud / On-Prem Host1
Access HostreComputer J20 Series (Jetson Xavier NX) / reComputer J40 Series (Jetson Orin NX) / reComputer J30 Series (Jetson Orin Nano) / reComputer R1000 Series(either one)1
CameraRTSP / IP Camera1
RelayGrove Relay1
MQTT Relay Node (only when the host is not at the door)reComputer R1000 Series / XIAO ESP32-S3(either one)1
PresetCameraRecognition hostUnlock pathLiveness
A. reCamera Pro at the doorThe device's own sensorSame deviceLocal GPIO → relayEnforced (Silent-Face)
B. Standard reCameraThe device's own sensorSame device, native processNo usable header pin, so MQTT → relay at the gatewayOn-camera texture liveness with blink fusion, thresholds uncalibrated
C. AI host with your existing camerasExisting RTSP camerareComputer J20 / J30 / J40 / R1000Host's opto-isolated DO or a Grove Relay; an MQTT relay node when the host is not at the doorEnforced (Silent-Face)

All three presets also need a relay rated for the lock with a separate 12/24 V lock supply, and a cloud or on-prem Docker host for the face library, console and broker (amd64 or arm64 Linux, no GPU).

Difficulty is rated advanced, with about 60 minutes budgeted per door; the reCamera Pro steps are manual.

FAQ

On reCamera Pro, yes — recognition, liveness and the decision happen at the door, using the last face library loaded. The network carries library updates, events and remote commands, not the unlock. The standard reCamera is the exception: its relay sits at the gateway, so the unlock needs the broker.

Didn't find your answer?
Contact Us
We Are Glad to Be Your Hardware Partner !
Next