Before you start
This system records who worked, where, and for how long. It has two halves. The dashboard is a website used in the office. The app is an Android app used in the field. They talk to the same records.
| Who | What they use | Where |
|---|---|---|
| Administrator, manager | The web dashboard | https://twinfusion.co.ke/attendance/admin/ |
| Supervisor, foreman | The Android app, signed in | On their own phone |
| Worker | The Android app in staff mode | A shared phone at the site |
Everything in this manual is something you can actually press. Where a capability exists in the system but has no screen yet, it is listed under Not on a screen yet rather than described as if you could use it.
All times shown are East Africa Time. Hours are shown as 8h 30m in the dashboard and as decimal hours in the CSV export. The system records time; it does not calculate pay.
Part 1Administrator
The web dashboard, used in the office. This part assumes you have an administrator or manager account.
1.1 Signing in
- Open https://twinfusion.co.ke/attendance/admin/ in a browser.
- In Email or employee ID, type your email address or your employee code.
- Type your Password.
- Press Sign in.
If your sign-in belongs to more than one workspace, the page comes back asking which one to open. Pick it from the Workspace list, type your password again, and press Open workspace. The password is asked for a second time because it is never held between steps.
Administrators, super administrators and managers. Ordinary employees have no dashboard password at all — they use the app. The sign-in page says so: "Manager and administrator sign-in. Field staff use the mobile app."
After eight failed attempts the account is locked for fifteen minutes and you will see Too many failed attempts. Try again in 15 minutes. Wait it out; there is no way to shorten it.
Signing out
Your name sits at the bottom of the dark sidebar on the left. Press the power symbol beside it. Always do this on a shared computer.
1.2 Finding your way around
The sidebar on the left is the whole dashboard. Everybody who can sign in sees:
- Dashboard — today at a glance, and the exceptions that need a decision.
- Live map — everyone currently clocked in, on a map.
- Timesheets — the record of hours worked. Corrections happen here.
- Directory — the people.
- Locations — the sites and their geofences.
Administrators and super administrators also see:
- Devices — the shared handsets that clock people in by face.
- Automations — automatic rules and the organisation's attendance settings.
- Plan & billing — the subscription.
Below the menu, departments are listed as a tree. Clicking a department opens Timesheets already filtered to it. A number beside Timesheets is the count of attendance records waiting for a decision.
The bell at the top right is your inbox. Open it to read alerts; press Mark all read to clear the badge.
A manager can open Dashboard, Live map, Timesheets, Directory and Locations, but cannot add, edit or remove people, and cannot create or change locations. Those buttons are simply not drawn for them.
1.3 The Dashboard
This is the page that opens when you sign in. It answers one question: what needs my attention today?
The date
The date box at the top left changes the whole page. Pick a past date to see that day. Back to today returns you.
The five tiles
- Attendance rate — how many of the headcount checked in.
- Currently clocked in — people on shift right now.
- Late arrivals — people who checked in past their shift's grace period.
- Out of bounds — people who checked in outside a geofence.
- Hours logged — total hours, with overtime underneath.
The three live tiles refresh by themselves every 30 seconds. You can leave the page open on a wall screen.
Exceptions & alerts
The list at the bottom is the working part of this page. Every row is somebody whose day needs a decision — late, outside the fence, a suspicious location reading, or a shift that was never closed. A row marked Awaiting review is waiting on you.
Each row carries the buttons that settle it:
- Approve accepts the record as it stands. It is marked approved with your name against it.
- Reject asks "Why is this being rejected?" You must type a reason — cancelling the box cancels the rejection.
- Add note attaches a comment to the record without deciding it either way.
- Timesheet opens that person's full timesheet.
See all in Timesheets at the top right of the panel opens every flagged record for that day.
Approving or rejecting here decides one attendance record. It does not hire or dismiss anybody, and rejecting a record does not delete it — the hours stay on the timesheet with the rejection recorded against them.
1.4 Live map
Everyone clocked in, listed on the left and pinned on the right. The two are the same list. Both repaint every 20 seconds.
- A pin is purple normally and red when the check-in landed outside its fence.
- A pin fades when the phone has not reported a position for 30 minutes; the roster row shows No ping 30m+.
- Each row shows the check-in time, how long they have been on shift, the site, and the phone's battery level when it was reported.
- Fit all zooms out to show everybody.
- Manage sites jumps to Locations.
Blue outlines on the map are the site geofences. A worker inside one is where they should be.
1.5 The Directory
The people. It has two views and you switch between them at the top left.
Board view
Four columns, one for each stage of joining: New registration, Pending ID verification, Active employee, Offboarded. Each card shows the person's name, employee code, job title, department, their employment type, and an On shift tag if they are clocked in right now.
Drag a card into another column to move that person's stage. The change saves immediately and a message confirms it. Drag it back to undo.
List view
A dense table: employee, employee ID, department, team, manager, employment type, number of sites, stage, account status, and when they were last seen. Two buttons sit at the end of each row — Edit and Timesheet.
Searching
- Type into the box marked Name, employee ID or email.
- Press Search.
- Press Clear to go back to the full list.
Opening somebody's profile
Click anywhere on a card or a row — not on a button — and a panel slides in from the right. It shows:
- Four figures for this month: days worked, hours worked, late days and fence breaches.
- Contact and employment details, including when they last signed in.
- Postings — the sites they are attached to, current and ended, with hours worked at each.
- Recent attendance — their last days, with in, out, hours, status and whether the check-in was inside the fence.
- Devices — the phones that have paired with their account.
The buttons along the bottom of the panel are Delete permanently, Remove, Reset password, Edit and Done. They are covered below.
1.6 Adding an employee
- Open Directory.
- Press Add employee at the top right.
- Type the Full name. This is the only field that must be filled in.
- Leave Employee ID blank and the system allocates the next one (EMP0001, EMP0002 and so on). Type one only if your payroll already uses a particular code.
- Fill in Email and Phone if you have them. Neither is required.
- Set the Job title and the Role — Employee, Manager or Administrator.
- Set Employment type: Office, Field, Hybrid or Casual / daily.
- Choose a Department, a Team and who they Report to, if those apply.
- Choose a Shift. Leave it on — Organisation default — unless this person works different hours; the shift is what decides whether an arrival counts as late.
- Set Joined on and the Onboarding stage.
- Temporary password — leave it blank and one is generated for you.
- Under Attendance policy overrides, switch on anything that should apply to this person only: Require a selfie at check-in, Allow check-in outside a geofence, Track route while on shift. Leave them off to use the organisation's settings.
- Under Assigned locations, tick every site this person works at. The first one you tick becomes their primary site.
- Press Create employee.
Immediately after saving, a box appears with the temporary password. It is shown once and cannot be read back afterwards. Copy it before you close the box. If you lose it, use Reset password on the person's profile to issue a new one.
Somebody with no assigned location has no geofence to check in at. Their profile says so plainly: "Not posted to any site yet — without a posting this person has no geofence to check in at." If they will use a shared site phone, the posting is also what puts them on that phone's list of recognisable faces.
1.7 Editing an employee
- In list view, press Edit on their row. Or open their profile and press Edit at the bottom.
- Change what you need to.
- Press Save changes.
Two fields appear only when editing:
- Engaged until — for casual engagements. Clear it to make the engagement open-ended.
- Account status — Active, Suspended or Archived. Suspending or archiving signs the person out of every device immediately.
Employee ID, Shift and Temporary password disappear when editing — they are set at creation.
Resetting a password
- Open the person's profile.
- Press Reset password and confirm.
- The new password is shown once. Copy it and give it to them.
Every signed-in device for that person is signed out at the same time.
1.8 Postings: adding and ending
A posting attaches somebody to a site. It is what allows them to check in there, and it is the record that explains, months later, why their punches at that site were accepted.
Adding a posting
- Open the person's profile.
- Find the Postings section and press Add posting.
- A numbered list of locations appears. Type the number of the one you want and confirm.
Ending a site posting
Use this when someone finishes at a site but stays employed.
- Open the person's profile.
- In Postings, press End on the row for that site.
- A box asks for the end date and offers today. Accept today to stop check-ins immediately, or type a different date.
- The confirmation names the hours kept, for example: "Posting to Kitengela Yard ends 2026-09-01. 146h 20m of recorded work there is retained."
The posting stays on the list, greyed out and tagged ended. That is deliberate: attendance at a site somebody is no longer posted to would otherwise look unexplained. Press Re-post to put them back.
A posting you end stops the shared site phone recognising that person the same day. This is different from a posting that merely lapsed on its own end date — see 2.3.
Deleting a posting
A small ✕ appears beside a posting only when nobody has worked any hours against it. That is for a posting added by mistake. Once there are hours the button is not offered, and the system refuses: This posting has 12 attendance records against it, so it cannot be deleted. End it instead — that keeps the history and stops future check-ins.
1.9 Removing someone
Remove takes a person out of the directory. It is the correct action for almost everybody who leaves.
- Open the person's profile.
- Press Remove.
- Read the confirmation: "They are signed out everywhere and their postings end. Every hour they worked is kept and stays payable, and you can restore them later."
- Confirm.
What actually happens:
- The account is archived and hidden from the directory.
- Every signed-in device for them is signed out.
- Every posting is ended.
- Every recorded hour is kept. The confirmation message names the total, for example "312h 45m of recorded work is retained and still payable."
- If they were still clocked in when you removed them, the message tells you to close that shift under Timesheets.
Nothing is destroyed by Remove — the record is hidden, not deleted, and the system supports putting the person back. In this release there is no button on the Directory screen to do the restoring; if you remove somebody in error, contact your system administrator rather than re-creating the person, because a second account splits their attendance history in two.
Two removals that are refused
- Your own account: You cannot remove your own account.
- The last active administrator: This is the last active administrator. Promote somebody else first, or nobody will be able to sign in and manage the organisation.
Permanent deletion
Delete permanently is the last button on the profile and the least prominent, because it is nearly always the wrong one.
- Open the profile and press Delete permanently.
- A box asks you to type
DELETEin capitals. Anything else cancels.
If the person has even one attendance record, the deletion is refused outright:
Amina Yusuf has 42 attendance records. Permanently deleting the account would delete those too, so it is not allowed. Remove them from the directory instead — that hides the account and keeps the hours.
Permanent deletion is only for a duplicate or a mistyped entry that never worked a shift. It cannot be undone, and it takes the person's face template and paired devices with it.
1.10 Locations and geofences
A location is a site with a boundary drawn around it. That boundary is the geofence. A check-in inside it is normal; one outside it is flagged, and may be refused.
The page shows your sites down the left and a map on the right. Click a site card to load it into the editor.
Creating a geofenced site
- Open Locations and press Add location.
- Type the Name — what your people call the place, not what the map calls it.
- Fill in the Address if you want it on record. It is free text and is not used to position the fence.
- Find the place. In Find by address or place type at least three characters — a street, an estate, a landmark — and press Search or the Enter key. Pick a result and the pin drops there. See below for the detail.
- Set the Type: Office, Client site, Warehouse or Remote. This is a label only; it does not change how the fence behaves.
- Choose the Fence shape — Circle (pin + radius) or Polygon (drawn ring).
- For a circle: the pin is the centre. Drag the Radius slider, or type an exact figure in the box below it. The slider runs to 2,000 m; typing allows anything from 10 m to 20 km.
- For a polygon: click the map at each corner of the site. You need at least three. Undo point removes the last one; Clear starts the ring again.
- Set Max GPS accuracy (m) — the default is 75. A position reading blurrier than this is rejected rather than trusted.
- Pick a Map colour so this site is easy to pick out.
- Tick any departments and teams that should be posted here. Everyone in them can then check in at this site.
- Press Create location.
Circle or polygon?
| Use a circle when | Use a polygon when |
|---|---|
| The site is roughly round or compact — an office, a shop, a gate, a single yard. It is quicker to set up and easier to widen later: move one slider. | The site is long, L-shaped, or sits beside somewhere you must not include — a road corridor, a fenced plot on a corner, a warehouse that backs onto a neighbour. A circle would have to be so wide it would swallow the street. |
For a circle, distance is measured from the edge of the ring. A worker reading 130 m from the centre of a 120 m fence is 10 m outside — and that is what the breach will say.
Searching for an address
- Type at least three characters into Find by address or place.
- Press Search, or the Enter key. Enter will not save the form — it only runs the search.
- Pick a result from the list. The pin drops there, the latitude and longitude fill in, and the map zooms to it.
- If you left Name or Address blank, they are filled in from the result. Anything you typed yourself is left alone.
- Drag the pin, or click the map, to fine-tune the position.
The search tells you what it found:
- "Type at least three characters of the address to search." — the query is too short.
- "Nothing matched that. Try a nearby landmark or town, or click the map instead."
- "The address lookup service could not be reached. Click the map or type the latitude and longitude instead — the location will save either way."
You can always place a site by clicking the map or typing the coordinates. The address search is a convenience; if it fails, the location still saves.
Editing a location
- Click the site's card in the left-hand list. The editor opens with its fence drawn.
- Wait a moment. Save changes stays greyed out until the current department and team assignments have loaded, and the tick boxes are locked until then.
- Make your changes and press Save changes.
If you tick any department or team when saving, the whole assignment list for that site is replaced by what is ticked. Individual people posted to the site one by one are managed from the Directory and are not touched here.
If you see "Could not load current assignments — editing disabled", close the panel and open it again. Saving in that state would wipe the site's assignments.
Taking a location out of use
- Open the site in the editor.
- Press Deactivate at the bottom left.
- Confirm: "Deactivate this location? History stays intact, but nobody can check in here."
The site stays in the list marked inactive. Nothing is deleted.
1.11 Timesheets
This is where hours are reviewed, corrected and signed off. It is the page that feeds payroll, so every change made here is recorded.
Filtering
The row of controls at the top narrows the table:
- A from and to date.
- All departments — pick one.
- Any status — present, late, half day, absent, on leave, holiday, weekend, missing checkout.
- A search box for a name or employee code.
- Flagged only — records the system has marked for a human to look at.
- Pending only — records waiting for approval.
Press Apply to run the filters, or Reset to clear them.
The totals
The six tiles describe the whole filtered range, not just the rows visible on screen: records, people, hours worked, overtime, late minutes and how many are pending review.
Correcting a punch
Times and the day's status are edited directly in the table.
- Click the Check in or Check out cell you need to correct.
- Type the corrected date and time.
- A box asks "Reason for this adjustment (recorded in the audit trail):" Type why. This is not optional in practice — it is what makes the change defensible months later.
- The Worked and Late columns recalculate themselves from the corrected times.
The Status cell works the same way, from a list, and does not ask for a reason. Notes on a record are added with the Add note button.
The system refuses it: Check-out cannot be before check-in. If both times are wrong, correct the check-in first.
Approving and rejecting
- Find the row. Rows awaiting a decision show pending in the Approval column.
- Press Approve to accept it.
- Press Reject and type why. The reason is required.
Your name appears under the approval status once you have decided.
Flagged records — what the flags mean
A flagged row is shaded and its reason appears when you hover over it. The reasons the system writes are:
| Flag | What happened |
|---|---|
| Outside <site> by <distance> | The punch was taken outside the geofence, and by how far. |
| Mock location reported | The phone was running a fake-GPS app. |
| Weak GPS fix (<n>m) | The position reading was blurrier than the site allows. |
| Synced <n> h after the event | The punch was taken offline and only reached the server much later. |
| Auto-closed: no check-out recorded | The shift was left open past the cut-off and the system closed it at the scheduled end of shift, not at the moment it noticed. |
| Provisional registration awaiting approval | The worker was registered in the field and nobody has ratified the engagement yet. The hours are real. See 1.13. |
A record can carry more than one reason; they are joined with a semicolon.
Seeing what was changed
- Press History on the row. A number beside it is how many edits it has had.
- The panel lists every change: which field, the old value, the new value, the reason given, who made it and when.
- If nothing has been changed it says "No edits recorded — this row is exactly as the app captured it."
Exporting
Export CSV downloads exactly what your filters are showing. The columns are:
Employee code · Name · Department · Date · Check in · Check out · Worked (h) · Late (min) · Overtime (min) · Status · Approval · Check-in fence · Distance (m) · Site · Travelled (m) · Flag reason
Hours in the export are decimal, so 8h 30m appears as 8.5.
1.12 Staff devices
A staff device is a shared Android phone left at a site. Workers clock in on it by face, with nobody signed in. The Devices page is where you provision them from the office. (A supervisor can also set one up from the phone itself — see 2.1.)
Adding a device from the dashboard
- Open Devices and press Add device.
- Give it a Label, for example Gate handset — Kitengela. Write the same name on the back of the phone. It is what names the device on every punch it makes.
- Choose the Site. A device pinned to a site only searches the people posted there, which is both faster and much less likely to mistake one worker for another. Leave it on Any site in this workspace only for a phone that genuinely travels.
- Leave Require a liveness check switched on. It is what stops a printed photograph clocking somebody in. Turn it off only where a person is watching the handset.
- Press Create device.
- A pairing code appears in large type. It is shown once. Press Copy code or write it down.
Pairing the phone
- On the handset, open the app and choose Administrator, then Pair device.
- Type the code. It is not case-sensitive and the dash is optional.
- The phone stores its own credential and goes straight to the face screen.
The code expires after 30 minutes. If it lapses, or if you close the panel before pairing, press New pairing code on the device's card.
Reading a device card
| Tag | Meaning |
|---|---|
| paired | Working. The card shows when it was last seen and from which address. |
| code waiting | A pairing code has been issued and has not expired yet. |
| never paired | The code was never used and has expired. Issue a new one. |
| revoked | Stopped. The reason and the date are shown. |
| liveness on / off | Whether the phone asks people to blink or turn their head. |
| N faces in range | How many enrolled people this device can recognise. |
Re-pairing and revoking
- Re-pair issues a fresh code — for a phone that was wiped or replaced. It does not stop the old phone. The existing credential keeps clocking people in until the new code is redeemed.
- Revoke stops the device immediately and asks for a reason. Use this for a lost or stolen phone. A revoked device cannot be given a new code — create a new device instead.
1.13 Casual and daily labour
The rule this part of the system is built on: "can work" and "has been approved" are two different facts.
A labourer hired at 06:40 has to be clocking in at 06:45. Waiting for an office to open would mean the hours were worked and never recorded — and unrecorded hours are the one failure this product exists to prevent.
So the system does this:
- A supervisor registers the worker at the site phone with a name and phone number. Email is optional. See 2.2.
- The worker is created as an active employee straight away and can start work. They are given an employee code automatically and are recognisable at that phone from that moment.
- Their engagement is marked pending. Every shift they work while pending is recorded normally but is flagged with "Provisional registration awaiting approval" and set to pending approval, so it reaches a reviewer in Timesheets instead of sliding into payroll unexamined.
- An administrator later rules on the engagement itself — whether this person is genuinely on the books.
Whatever is decided about the engagement, the hours already worked stay on the record and stay payable. Rejecting a field registration closes the engagement — the person can no longer clock in from the next scan — and it leaves every attendance record completely untouched. The system records how many shifts and how many minutes are retained at the moment of the decision, so payroll can still settle them.
The same holds for Remove in the Directory and for rejecting an individual timesheet record. A judgement about the future never deletes the past.
The engagement decision does not yet have its own screen in the dashboard. What you can do today, and what most reviews actually need, is in Timesheets: tick Flagged only or Pending only, look for the flag Provisional registration awaiting approval, and approve or reject each shift. If you decide the person should not be on site at all, open them in the Directory and set their Account status to Archived, or use Remove — both keep their hours.
1.14 Other screens
Two more pages exist for administrators. They are named here so the sidebar holds no surprises; they are not covered step by step in this manual.
- Automations — rules of the form if this happens, and these conditions hold, then do that, plus the organisation-wide attendance settings. A set of built-in alerts (geofence breach, late arrival, mock location, missing check-out) fires whether or not you configure anything.
- Plan & billing — the workspace's subscription and its seat allowance. If a plan limit is reached, adding an employee is refused with a message naming the limit.
NewFace check-in (new in this release)
Everything in this section is new or changed in version 1.1.0. If you have used the app before, this is what is different.
What changed
Face recognition now comes first. A worker no longer needs a login page at all. The app opens, asks who is holding the phone, and a worker goes straight to a camera screen. If the system knows their face, the clock starts.
- The app no longer starts at a sign-in screen. It starts at "Who is using this phone?" with two choices: I'm staff and Administrator.
- A supervisor can turn a phone into a staff device on the spot, by signing in on it and pressing Set up this device for staff. No pairing code, no trip to the dashboard.
- An unknown face can register itself, standing at the phone, with a name and a phone number — and start work immediately.
- Locations are searchable by address in the dashboard, so a crew sent somewhere new can be given a fence in a minute.
What the worker sees
The staff screen is a live camera. There is nothing to press to start it.
| State | On screen |
|---|---|
| Waiting | "Look at the camera to clock in", with the site name at the bottom. |
| Checking | An action to perform — blink, turn, nod — then a short wait. |
| Recognised | Their name and Clocked in or Clocked out, with the time and the total worked today. |
| Already on shift | Their name, how long they have been working, and the buttons Clock out and My history. |
| Not recognised | "We don't know this face yet" and a Register me button. |
| No GPS yet | "Waiting for a location fix — nobody can clock in until this device knows where it is." No punch is sent without a position. |
A result stays on screen for about 20 seconds and then the screen returns to waiting, so the next person in the queue never sees the previous person's details.
Face enrolment and consent
Before any face is recorded, the person is shown a notice in full and must agree to it. The notice is not a tick box buried in a form; it is a screen with I agree and Not now, and Not now simply exits.
What is stored
- The phone measures the face and turns it into a list of numbers — a face template.
- Only those numbers are sent to the server.
- No photograph of the face is uploaded, and none is kept on the phone.
- The numbers cannot be turned back into a picture of the person.
- The template is used only to verify attendance. It is never used to identify anybody anywhere else.
Separately from the template, the system records that consent was given: when, on which device, under which version of the notice, and a fingerprint of the exact wording that was shown. The wording itself is not stored twice.
Asking for it to be deleted
A worker can withdraw at any time. On a phone where they are signed in with their own account, that is Face verification → Delete my face data → Delete permanently. The templates are deleted outright — not marked inactive — and the consent is recorded as withdrawn.
A casual worker who has no login of their own cannot reach that screen. They should ask their supervisor, who should pass the request to an administrator.
There is no button in the dashboard for an administrator to view or delete somebody's face data on their behalf. Until there is, a deletion request from a worker without a login has to go to whoever maintains the system. Do not promise a worker a same-day deletion you cannot perform.
Liveness — why people are asked to blink
Before the system will even look at who a face belongs to, it asks for a movement it chose at that moment — a blink, a nod, a turn of the head — and checks that it happened. This is what stops somebody holding up a photograph of a colleague.
It is not perfect and the system does not pretend otherwise: it defeats a held-up photograph, not a purpose-built attack. That is why a shared phone should be somewhere a person can see it.
How sure the system has to be
A face is only accepted when it is both a strong match and clearly better than the next-best person. Two similar faces scoring almost the same is not a match — it is a coin toss, and the cost of losing it is clocking in the wrong person. In that case the system refuses and asks the person to try again.
This is also why a device should be pinned to a site. Searching the eight people who work at a gate is far safer than searching four hundred across the company.
Part 2Supervisor / Foreman
In the field, on a phone. You need a supervisor, manager or administrator account to do any of this.
2.1 Setting up the phone as a staff device
This turns a phone into the site's clocking device. Do it once, on the phone that will stay at the site.
- Open the app. If it asks "Who is using this phone?", choose Administrator.
- Sign in with your employee code and password.
- On the home screen, find the card headed Set up this device for staff and press the button of the same name.
- Choose where the phone lives. Pick the site from the list. Choose Anywhere in the organisation only if the phone genuinely travels between sites.
- Give it a Name for this device — at least two characters. Staff never see it; supervisors do, in the device list.
- Leave Ask staff to blink or turn their head switched on.
- Press Set this device up.
The phone signs you out, opens straight into the face screen, and is now the site's device. It will come back to that screen after a reboot, an update or a crash.
- You need a connection. The credential is issued by the server.
- Getting the phone back out of staff mode needs an administrator's employee code and password. See 2.6.
If you were given a pairing code from the office instead, choose Administrator then Pair device and type the code. Both routes end in the same thing.
2.2 Registering a worker in the field
Use this for a casual or daily hire who is not on the system. It takes under a minute and the worker can start immediately.
- Hand the worker the site phone, or hold it for them. They look at the camera.
- The screen says "We don't know this face yet". Press Register me.
- Enter the Full name — at least two characters, as it should appear on the record.
- Enter the Phone number. This is required. It is how the worker will be reached.
- Email address (optional) — skip it. Most day labourers do not have one, and it is not needed.
- Fill in Job title (optional) if it helps. How are you engaged? is already set to Casual, which is right for a day hire; change it to Field, Office or Hybrid only if it is not.
-
Engaged until (optional) — a date in the form
2026-12-31. Leave it blank if you do not know. Leaving it blank is safer than guessing. - Press Continue.
- The consent notice appears. Let the worker read it, or read it to them. They press I agree — or Not now, which stops the registration and is a legitimate answer.
- The camera opens. The worker follows the prompts — look straight ahead, turn slightly left, turn slightly right — until the angles are captured.
- The screen says "You are registered". Press Start work.
- The phone returns to the face screen. The worker looks at the camera once more and the clock starts.
The worker is created as an active employee with an automatically allocated employee code, posted to this device's site, and marked as awaiting an administrator's ratification. They can work today and they will be recognised tomorrow without registering again. Their shifts are flagged for review until somebody in the office rules on the engagement — and whatever is ruled, the hours they worked are kept.
Things that will stop you
- "Enter a phone number of at least three characters so your supervisor can reach you." — the phone number is not optional.
- "That email address does not look right. Correct it, or clear the field — email is optional." — clearing it is usually the right answer.
- "Write the date as YYYY-MM-DD, for example 2026-12-31, or leave it blank."
- "Registering needs a connection — your face cannot be recorded for later." — you cannot register somebody offline. Move to where there is signal, or send them to work and register them when the connection is back.
2.3 A returning casual worker does not re-register
A worker who was registered last week, last month, or on the last job does not go through registration again. They walk up, look at the camera, and the clock starts.
Registering the same person twice creates two accounts for one human and splits their attendance history in two. It cannot be tidily undone.
The system deliberately protects this. When a posting to a site simply lapses — somebody set an end date, the job ran a week longer — the worker is still recognised for 30 days afterwards and their punch is accepted, with the re-engagement written into the record for an administrator to see. That is because the alternative is worse: the hours get worked anyway and go unrecorded, or somebody registers the same person a second time.
A posting an administrator deliberately ended is different. That takes effect at once, and the worker will not be recognised from that day.
So if a known worker is refused at the camera, the first question is not "register them again". It is: has somebody ended their posting, or has their account been suspended? Ask the office before you create a second record.
2.4 When somebody is refused
Work through this before registering anybody a second time.
| The screen says | Do this |
|---|---|
| We don't know this face yet — for somebody who is registered | Try once more in better light, facing the camera squarely, without a cap pulled low. If it still refuses, ring the office: the person's posting may have been ended or their account suspended. |
| A liveness message — blink, turn, expired | Ask them to hold the phone at eye level and follow the prompt properly. A check that takes too long expires and has to be started again. |
| Waiting for a location fix | Step into the open. The phone will not send a punch without knowing where it is. |
| This device has no connection | Face clocking cannot be saved for later. Note the time on paper and clock them in when the signal returns, then have the office correct the times in Timesheets. |
| A distance message — You are 300 m from … | You are outside the site's fence. Move onto the site. If the crew really is working somewhere new, the office needs to add that location. |
| You are already checked in | They have an open shift. They should clock out first. |
2.5 Watching your team
On your own phone, signed in as a supervisor, the Team tab shows today.
- A summary line: headcount, clocked in, not clocked in, late, out of bounds, and the attendance rate.
- Filters across the top: Everyone, Clocked in, Not clocked in, Late, Out of bounds.
- Each person's row shows their state, how long they have been on shift or how late they were, their site, and a Flagged tag where the record needs review.
- Refresh pulls the latest.
The phone can sound an alert when somebody on your team clocks in. Use Mute check-in alerts to silence it; arrivals still appear on the screen.
2.6 Taking the phone back out of staff mode
- On the face screen, press and hold the site name at the bottom of the screen.
- The unlock box appears.
- Type an administrator's or manager's employee code and password.
- Press Unlock.
The phone stops clocking staff in and returns to the sign-in screen. The password is checked against the server, so this needs a connection.
An ordinary employee's credentials will not do it: "Those credentials are valid, but only an administrator or manager can take this device out of kiosk mode."
Part 3Worker
What you see and what you do. Most workers only need section 3.1.
3.1 The shared site phone
There is no password and nothing to remember. The phone is already on the camera screen when you pick it up.
Clocking in
- Stand in front of the phone. The screen says "Look at the camera to clock in".
- Hold it at eye level and look straight at it.
- If you are asked to blink, nod or turn your head, do it slowly. This is how the phone knows it is looking at a person and not a photograph.
- Your name appears with Clocked in and the time. Your shift has started.
- Hand the phone to the next person. The screen clears itself after about twenty seconds.
Clocking out
- Look at the camera again, exactly as before.
- Your name appears with how long you have been working, and a Clock out button.
- Press Clock out. The screen confirms the time and your total for the day.
The phone works out for itself whether you are arriving or leaving. If you are already on shift, it offers to clock you out. If you are not, it clocks you in.
Seeing your own record
- After the phone recognises you, press My history.
- "Your last few days" lists your recent days — the time in, the time out, and the hours.
- Press Hide my history, or just wait. The screen clears itself.
Only your own days are shown, and only right after the phone has recognised your face. Nobody can look up your record on that phone without you standing there.
If the phone does not know you
- The screen says "We don't know this face yet".
- If you have never registered, press Register me and follow 2.2. Your supervisor should be with you.
- If you have registered before — even months ago, even on a different job — do not register again. Press Try again, and stand in better light. If it still refuses, tell your supervisor. Registering twice splits your record in two and can cost you hours.
3.2 Your own phone
Some staff — usually those with a job title and an email — are given their own login and use the app on their own phone. If you were never given an employee code and a password, this section does not apply to you; use section 3.1.
Signing in
- Open the app and choose Administrator at the first screen if you are asked.
- Type the Employee code your supervisor gave you and your Password.
- Press Sign in.
You need a connection the first time only: "You need a connection to sign in the first time. Once signed in, clocking in works offline."
Clocking in and out
- The Today screen shows where you are, how accurate the GPS reading is, and how far you are from your site.
- Wait for a GPS reading. If it says "Waiting for a GPS reading", step outside and press Refresh.
- Swipe the slider marked Swipe to check in.
- If a selfie is required, the camera opens. Take it.
- If you are outside your site's area, you are asked for a note: "You are outside the designated area. Add a note to proceed." Say why — for example, delivering at the client site.
- The banner confirms: "Checked in. Your shift is running."
- At the end of the day, swipe Swipe to check out.
If you had no signal, the banner says your punch was "Saved on this phone and will sync by itself" with a count of what is waiting. It sends itself when the connection returns. You do not need to do anything.
Your history
The History tab shows 7, 30 or 90 days, with a summary at the top: days worked, total worked, overtime, late days and flagged days. Each day shows the times, whether the check-in was inside the fence, and your selfie if one was taken.
The Alerts tab is your inbox from the office.
3.3 Your face data and your rights
Read this before you agree. It is short and it is the whole story.
- Your employer uses face verification to confirm that it is really you clocking in and out. That is all it is used for.
- Your phone measures your face and turns it into a list of numbers — a face template. Only those numbers are sent.
- No photograph of your face is uploaded, and none is kept on the phone.
- The numbers cannot be turned back into a picture of you.
- You will be asked to blink or turn your head, so the system can tell a live person from a held-up photograph.
- Agreeing is your decision. If you would rather not, choose Not now and speak to your supervisor about recording your attendance another way.
- You can withdraw at any time. Withdrawing permanently deletes your face templates from the server.
Deleting your face data
If you have your own login on your own phone:
- Open Face verification from the home screen.
- Press Delete my face data.
- Read the warning — if your employer requires face verification, you will not be able to clock in until you set it up again.
- Press Delete permanently.
If you use only the shared site phone, you have no settings screen of your own. Ask your supervisor to pass the request to the office. You are entitled to make it, and the request should be honoured.
New · 7 October 2026The projects app: install and notifications
For Fairdeal staff, who check in from the projects app at https://fairdeal.cloud/projects/ rather than the Android app. The projects app can sit on a phone's home screen and open full screen like any other app, and it can send a notification when something is waiting for you — even with the app closed.
Where to find it
In the projects app, open Menu → Install app & notifications. The same screen also opens by itself once, about two seconds after you sign in, when it has something to offer: an install this browser can do, or notifications you have not been asked about yet. Press Not now and it does not open by itself again in that browser; the Menu always has it.
It also shows where the phone stands: whether the app is installed, and whether notifications are on, off or blocked.
Android phones, and Chrome or Edge on a computer
- Open Menu → Install app & notifications.
- Press Install app, then Install when the browser asks. If there is no Install app button, open the browser's menu ⋮ and choose Install app (or Add to Home screen).
- Press Turn on notifications and allow them when the phone asks. A test notification arrives within a few seconds: "Notifications are on — a test is on its way".
iPhone and iPad
Safari has no install button: the app is added from the Share menu. Open the projects app in Safari — a link opened from WhatsApp or email has to be opened in Safari first.
- Tap the Share button, at the bottom of Safari, or beside the address bar. On iOS 26, tap ••• first, then Share.
- Choose Add to Home Screen — scroll down the list if you don't see it.
- Keep Open as Web App on, tap Add, then open Procurement from your Home Screen.
- Sign in there, open Menu → Install app & notifications, press Turn on notifications, and allow them.
An iPhone shows notifications only for an app opened from the Home Screen, and only on iOS 16.4 or newer. In a Safari tab the screen says "Available once the app is on your Home Screen". If Open as Web App was switched off when the app was added, the icon opens in Safari and notifications never appear: remove the icon and add it again with the switch on.
What sends a notification
Only things that are waiting for you — and never something you did yourself. Only people with access to that project are told. Tapping a notification opens the requisition, LPO or delivery it is about.
| When | Who is told |
|---|---|
| A requisition is submitted | Whoever approves requisitions on that project — or, when it is over or off the BOQ, the authorised person who regularises it; and the Directors once it needs their approval. |
| A requisition is approved or rejected | The person who raised it. |
| An approved requisition's quantity is raised over the BOQ | The authorised person who regularises it, then the Directors (see Raising a requisition's quantity after approval). |
| That increase is refused | The person who raised the requisition, with the reason. |
| An LPO is submitted, or an approved LPO is amended | The approvers on that project — or the Directors, when it needs Director approval (an amendment always does). |
| An LPO is approved, rejected or sent to the supplier | The person who created it. |
| Goods are received against an LPO | Whoever creates LPOs or handles invoices on that project. |
Testing, turning off, signing out
- Send a test sends a notification to this phone straight away. Use it whenever you are not sure they are arriving.
- Turn off stops notifications on this phone only. Your other phones and computers keep theirs.
- Signing out stops notifications on that phone. On a shared phone they follow whoever is signed in.
Checking in, and attendance reports
Staff check in and out from Menu → Attendance. Since 7 October 2026 each person can check in only at their own site (taken from their projects in the projects app), and only within that site's check-in area — 100 m at Lantana Sky. The phone's location reading must be accurate to 100 m or better. Away from the site the app says how far away you are, for example “You are 221 m from Riverdrift Residences. Move closer and try again.”; with a weak reading it asks you to step into the open and tap again. A distance of a kilometre or more while you are on site means the site's position is wrong: an administrator can set it (see Setting a project's check-in area). Checking out away from the site is allowed, but the day is flagged for a manager to review.
- Open Menu → Attendance reports (or Reports on the Attendance screen). It shows the project chosen at the top of the app.
- Choose the period: This week, Last week, This month, Last month or Custom (up to 93 days).
- Staff: days present, late and absent, hours, average check-in time and flagged days for each person, then every check-in and check-out. Tap a name for that person's days.
- Site labour: the casual labour roll call, with days present, daily rate and the amount for the period.
- ⬇ Download for Excel, CSV or PDF (phone and ID numbers keep their leading 0 and +254), or Print.
Who can open it: administrators, and people with the right View dashboard (overview & analytics), for the projects they have access to. Since 12 October 2026 that is all the Staff tab needs: no manager account in the attendance system. If the project has no check-in area yet, the Staff tab says "… is not set up as a site in attendance yet.": an administrator sets one (see Setting a project's check-in area). Site labour works either way.
Adding users, roles and attendance accounts
Since 9 October 2026 the projects app has roles. A role is a named set of rights — Director, Project Manager, Quantity Surveyor, Procurement Officer, Site Storekeeper, Authorised Person, Accounts, Administrator — and it also says whether its people use the attendance system. Adding someone in the projects app now creates their attendance account too: nobody has to be added twice.
- Sign in as an administrator and open Menu → Users & rights, then + Add user.
- Type the Full name, a Username (this is also their attendance employee code, in capitals) and a 4–6 digit PIN.
- Choose the Role. The line under it shows what the role can do and what it means for attendance.
- Uses the attendance system? — leave As the role says, or choose Yes — staff (checks in at the sites of their projects), Yes — manager (the option reads “any site + staff attendance”: checks in at any site and sees the On site today list on their Attendance screen; the attendance reports do not need it) or No (no attendance account, e.g. office or accounts staff who never check in).
- Tick their Projects. These are also the sites they can check in at.
- Only if needed, open Extra rights for this person only to add a right their role does not have.
- Press Create user. The message at the bottom confirms the attendance side, for example Saved · Staff · Lantana Sky Appartments. They can sign in to the projects app and check in straight away with the same username and PIN.
Changing someone later works the same way: open them with the pencil, change the role, projects or attendance choice, and Save — their attendance account and check-in sites follow. Switching Active off, or choosing No for attendance, switches their attendance account off and ends their site postings; their past attendance is kept.
Roles are managed under Menu → Roles (or Manage roles on the Users screen): create a role, tick its rights, choose whether its people use attendance, and save. Changing a role updates everyone who holds it. A role still held by someone cannot be deleted, and the Administrator role always has every right. Existing users kept exactly the rights they had; those whose rights did not match a role show as Custom until they are given one.
Sync attendance accounts on the Users screen brings everyone's attendance account in line with their role and projects at once, and lists the result for each person. Because it re-sets everyone's check-in sites from their projects, check each person's projects first.
| Message after saving | What it means |
|---|---|
| Staff · Lantana Sky Appartments | Attendance account ready; they check in at that site. |
| Manager · … | Manager account: they check in at any site. |
| No attendance account | They do not use attendance (or are inactive). |
| … (no attendance site for X) | Project X has no check-in area yet. An administrator sets one (see Setting a project's check-in area); the project's staff are then posted to it within a few minutes. |
| That is an attendance administrator account … | The username belongs to an attendance-dashboard administrator; it is managed there, not from the projects app. |
Setting a project's check-in area
Since 12 October 2026 administrators set each project's check-in area themselves: the circle on the map that its staff must be inside to check in. Open Menu → Projects. Under each project a line shows its check-in area. A green line is fine; an amber line needs your attention.
| The line says | What it means |
|---|---|
| Check-in area: 100 m · Set on site 12/10/2026 by … | Confirmed: an administrator stood on the site and saved it there. Placed on the map … means it was placed on the map instead. |
| Check-in area: 100 m · Set from staff check-ins 09/10/2026 by Twinfusion | Worked out from where staff checked in (with no by … when the system did it by itself). Nothing to do. To confirm it yourself, stand on the site and tap Use my current location, or move the pin, then save. Save site stays grey until the pin is moved or another size is chosen. Changing only the size leaves this line as it is. |
| Check-in area: 1 km · Estimated position — pick the real one / … · Position not confirmed — check it on the map | Not confirmed yet. Put it on the real site. |
| Check-in area: not set yet | The project has no check-in area. Pick one on the map. |
| Check-in area: more than one attendance site has this name | The project's name matches two or more attendance sites, and its staff are posted to the first. There is no map button: ask Twinfusion to link the right one. |
| Check-in area: drawn in the attendance dashboard | The area is a shape drawn in the attendance dashboard. It cannot be changed here: ask Twinfusion. |
- Tap the pencil beside the project. Under Attendance site — where staff check in you see a small map, the site's name, how sure its position is, and, for example, Staff must be within 100 m of the pin · 12 people posted there.
- Tap Change on the map, or Pick on the map when there is no check-in area yet. The map opens full screen. The grey dashed circle is the area now; the gold circle around the pin is the new one.
- Best, on site: stand in the middle of the site and tap Use my current location. Keep the screen open and wait for Accurate to … m. 25 m or better is ideal: "Accurate to 12 m — the pin is where you are standing. Save site when ready." It accepts nothing worse than 50 m.
- From the office instead: in Google Maps, press and hold the middle of the plot and copy the numbers shown. Open Type or paste coordinates, paste them, and tap Put the pin there. Or drag the pin, or tap the map where the site is.
- Under Staff must be within, choose the size: 50, 100, 150, 200 or 300 m. Keep 100 m unless the site is bigger; 300 m is the most, so for a bigger site ask Twinfusion. If it reads Staff must be within (now 120 m: choose a size to save), choose a size before saving.
- Tap Save site. The app asks first, for example "Move the check-in area?", and says what changes from the next check-in. Tap Save site again: "Check-in area saved". If the new spot is more than 5 km from the old one, it asks once more, "Far from the old position": check the pin, then tap Save anyway.
- The new area counts from the next check-in. People already checked in today stay checked in, but their check-out is judged against the new area: outside it, their day is flagged. Once you save it, it stays where you put it: it is never moved automatically again.
- For a project with no check-in area, the question is "Create the check-in area?", then "Check-in area created — staff are being posted to it". The project's staff are posted to it within a few minutes.
- The check-in area saves on its own. The project's Save button is only for its other details.
- A reading worse than 50 m never moves the pin. Until a better one comes, the app says "Your location is only accurate to 80 m. We need 50 m or better: step outside, away from buildings and metal roofs, and wait a minute with this screen open." Between 26 and 50 m the pin moves there and it says "Accurate to 40 m. Wait a little for a better reading, or save now." If it says "Your phone is only giving an approximate location…", waiting will not help: turn on precise location as the message explains. After 2 minutes it stops looking; tap Use my current location again. Or place the pin from the office.
If the project or the map says Also the check-in area of …, other projects' staff check in at the same site. Moving it, or changing its size, changes it for their staff too. If this project needs its own site, do not save: ask Twinfusion.
A new check-in area takes the project's name. If another project's whole name is the start of this one's, or the other way round, and that project has no check-in area of its own yet, the app does not save it, and says for example A new attendance site called "Kitengela Gardens Phase 2" would also become the check-in area of Kitengela Gardens. Rename one of the two projects so that neither name starts with the other, or ask Twinfusion. Rename one of them in Menu → Projects and save again, or ask Twinfusion.
The sites' check-in areas (3 November 2026)
Every site is 100 m across its pin, and the phone's location reading must be accurate to 100 m. A position marked locked was set by hand and is never moved by the automatic re-centring; the others were worked out from staff check-ins on site.
| Site | Check-in area | Where the pin comes from |
|---|---|---|
| Lantana Sky Appartments | 100 m | Staff check-ins on site, 7 October 2026 |
| Riverdrift Residences | 100 m | Staff check-ins on site, 9 October 2026 |
| Fairvalley Heights | 100 m | Staff check-ins on site, 12 October 2026 |
| Sky Terraces | 100 m | Staff check-ins on site, 14 October 2026 |
| Aquavista Residences (Old Nyali, Mombasa) | 100 m | Locked on 3 November 2026 to the site engineer's check-in on site that day at 17:07 (reading accurate to 20 m). Its staff are posted to it, so from now on they check in there only. |
A project with no check-in area lets its staff check in anywhere. For a new site, have someone check in on site first, then lock the area there (stand on site and tap Use my current location, or ask Twinfusion to lock it to that check-in, as was done for Aquavista Residences).
Downloading any list: Excel, CSV or PDF
Every list and report in the projects app has a ⬇ Download button: delivery orders, the dashboard, requisitions, purchase orders, BOQ, invoices, stock, the LPO reconciliation and item-wise reports, the SOP summary, reports, attendance reports, and in Admin the projects, suppliers, users, roles, materials and activity log. Tap it and choose:
- Excel — a spreadsheet with real numbers and dates, ready to total and filter.
- CSV — plain rows for Google Sheets or an accounting import.
- PDF — ready to print or send (up to 5,000 rows; use Excel for more).
The file holds every record under the project and filters you have chosen, not just the ones on screen (up to 20,000 rows). On an iPhone with the app on the home screen the share sheet opens instead — choose Save to Files, WhatsApp or Mail. If it shows a Save or share button, tap it.
Rejecting a requisition, and the Archive
A requisition waiting for approval has Reject next to Approve. Since 9 October 2026 an approved requisition can be rejected too, as long as nothing on it has been ordered: open it and press Reject — changes needed under Create Purchase Order, say what needs to change, and confirm. Admins and anyone with the approve, regularise or Director right can do it.
- The person who raised it is notified with your reason, and can raise a corrected requisition.
- It leaves the working lists and moves to Requisitions → Archive, which keeps every rejected requisition with who rejected it, when and why. Nothing is deleted.
- Its BOQ quantity is freed. A BOQ line a Director raised to approve it goes back down, never below the original BOQ.
- If part of it is already on an LPO, the app says Cancel that LPO first, then reject.
A quantity raised over the BOQ after approval is not rejected this way: it is refused with Refuse the increase, and the requisition stays approved. See Raising a requisition's quantity after approval.
If it does not work
| What you see | What it means and what to do |
|---|---|
| Notifications from this browser are not supported. Use Chrome, Edge, Firefox or Safari. | The phone's browser uses a notification service the app cannot send to. Huawei phones without Google services are the usual case. The app still works on them — without notifications. |
| Notifications Blocked, or Notifications are blocked for this app … | They were refused once. Allow notifications for Procurement in the phone's settings (on a computer, in the browser's settings for this site), then open the screen again. |
| Nothing was sent. Turn notifications off and on again. | Do exactly that: Turn off, then Turn on notifications. |
| This browser cannot show notifications | Use Chrome on Android, or Safari on an iPhone, and install the app from there. |
| No Notifications line on the screen at all | Close the screen and open it again. If the line is still missing, notifications are not switched on for the server yet — nothing to do on the phone. |
| No Install app button | Use the browser's menu ⋮ → Install app. On an iPhone, follow the steps above. Some browsers cannot install apps; the projects app then works as a normal website. |
New · 9 October 2026The projects app: face check and team attendance
Two additions to Attendance in the projects app at https://fairdeal.cloud/projects/: a face check when you check in and out on your own phone, and team attendance, where one phone at the site checks the crew in and out by face. Both stay off until an administrator switches them on.
| Who | What they do | Read |
|---|---|---|
| Everyone who checks in | Sets up their face once. After that, looks at the camera when they check in and out, whenever the face check is on for them. | Setting up, Checking in and out |
| Site storekeeper or supervisor: the operator | Runs team attendance on their phone. Checks the crew in and out by face, and registers new people. | Team attendance for operators |
| Site worker | Looks at the operator's phone for a second or two. A new person also does two movements, which the operator reads out. Nothing to install, nothing to remember. | Your face data |
| Administrator | Gives the right, switches the face check on, resets or deletes a face, reviews the people registered at the gate, and corrects their days on the roll call. | For administrators |
Both have been in the app since 9 October. On 12 October 2026 the face check was switched On for everyone: every check-in and every check-out needs the person's own face. From the evening of 12 October the everyday check is a quick look at the camera: no head movements, and a natural blink is enough. If it still asks you to turn your head, close the app fully, not just the screen, and open it again. Only setting up a face, and registering a new person at the gate, still ask for two movements: for now, turning the head left and right. The Site Storekeeper role, and Bhavin and Ashfan, have the right Take team attendance. Someone whose face is not set up yet sees Set up face check where the Check in button was. Administrators can still set one person to Never on their user, for example when their phone says it cannot run the face check.
No photo is stored. The phone turns a face into a face code, a list of numbers, and only that code is sent. The camera screen says so at the bottom: "The camera picture stays on this phone. Only a face code is sent." More in Your face data.
Setting up your face check
You do this once, on your own phone, signed in as yourself. The Attendance screen asks for it when the face check is on for you: "Face check is on for you. Set it up once. The first time downloads about 11 MB." Operators set it up before their first day of team attendance. Their Team attendance card says "Set up your face check first."
- Open Menu → Attendance.
- Tap Set up face check. It is the big gold button, or the button on the Team attendance card.
- Read Before you set up the face check. It says what is kept and why. Tap I agree. Not now closes it and changes nothing.
- The camera opens. If the phone asks to use the camera, allow it.
- The first time, the phone downloads the face check: "Getting the face check ready…" It is about 11 MB, once per phone. Use Wi-Fi if you can.
- Hold the phone at eye level, face a light, and keep your face inside the circle.
- Do the two movements the screen asks for, slowly. They are explained below. Only setting up asks for them: after that, each check-in is a quick look at the camera.
- Hold still and look straight at the camera while your face is saved: Saving your face… 1 of 3, then 2 of 3.
- "Face check set up." That is all.
What the camera asks you to do
When you set up your face, and when a new person is registered at the gate, the attendance system picks two movements from this list. A photo held up to the camera cannot do them. Do each one slowly, then look straight at the camera again. Everyday check-ins and check-outs need only a natural blink.
| The screen says | Do this |
|---|---|
| Blink slowly | Close your eyes for a moment, then open them. |
| Turn your head to your left | As if looking over your left shoulder, then back. |
| Turn your head to your right | As if looking over your right shoulder, then back. |
| Nod your head | Slowly down and up, as if saying yes. |
| Hold still | Look straight at the camera while the face code is taken. |
While you do it, the screen may also say:
| The screen says | Do this |
|---|---|
| Move the phone closer | Your face should fill most of the circle. |
| Hold the phone a little further away | Your whole face should be inside the circle. |
| Keep your face in the circle | Hold the phone straight in front of you. |
| Only your face, please | Make sure nobody else is in the picture. |
| Keep your eyes open | Look straight at the camera. |
| Keep your head upright | Hold your head straight, not tilted to one side. |
| Move your head a little | Turn it slightly to one side and back. |
Cancel, at the top of the camera screen, stops the check. Nothing is recorded.
A new phone does not need a new set-up: your face code is kept by the attendance system, not on the phone. The new phone only downloads the 11 MB once. To set up your face again, an administrator resets it first. Until then the app says "Your face check is already set up. To set it up again, ask an admin to reset it."
Checking in and out with your face
When the face check is on for you, the line under the button says "Face check is on. You look at the camera when you check in and out." The other rules stay as they are: your own site, inside its check-in area, with a good location reading. The face check comes on top of them.
- Open Menu → Attendance and tap Check in.
- The camera opens, titled Check in. While it starts, the phone checks where you are. If you are away from the site, or the location reading is weak, it stops here and says so.
- Look at the camera for a second or two. A natural blink is enough; there are no head movements. If the screen says Blink slowly, close your eyes for a moment, then open them. If it still asks you to turn your head, close the app fully, not just the screen, and open it again.
- "Checking you in…", then "Checked in · face checked". The card shows, for example, since 07:58 · Lantana Sky Appartments · face checked.
- At the end of the day, tap Check out and do the same: "Checked out · face checked".
If your face is not recognised, nothing is recorded: no check-in, and no flag against you. Try again straight away, facing a light. Each message is explained in If the face check does not work.
If you take team attendance
- Once your face is set up, your check-in uses it, even when the face check is off for everyone else, unless an administrator has set you to Never. A face-checked check-in is what lets you take attendance for others.
- On a day you will not take team attendance, tap the small link Check in without the face check under the button. It asks "Check in without the face check?" and explains "Without it you cannot take team attendance today." Tap Check in.
- Your check-out asks for your face only when the face check is on for you.
- While you are running team attendance on the phone, Check out first lists everyone still checked in at the site, by name (see Finishing). Checking out also stops team attendance on the phone.
Team attendance for operators
One phone at the site, usually the storekeeper's, checks the crew in and out by face. A worker looks at the phone. The app finds them among the people registered at that site, and the operator confirms the name. A new face can be registered on the spot. Every record says who took it, and on which phone.
Before the phone takes anyone's attendance, the operator checks themselves in, today, at this site, with their own face. Until then team attendance stays locked. The attendance system checks this again on every scan, and the phone must be inside the site's check-in area each time.
Before your first day you need:
- the Take team attendance right, from an administrator;
- this site among your Projects, because they are also your check-in sites;
- your own face set up (Setting up your face check).
Starting each morning
- Open Menu → Attendance. On the Team attendance card, "Check your crew in and out by face on this phone.", tap Open team attendance ›.
- Check the project name under Team attendance. If it is not this site, tap Change and choose it.
- The card says "Before taking attendance for others, the person holding this phone checks in with their face." Tap Start (I am your name).
- If you have not checked in today, the camera opens, titled Check in and start. Look at the camera for a second or two: "Peter Otieno checked in · now taking attendance".
- If you already checked in with your face today, at this site, on this phone, it starts at once: "Peter Otieno is now taking attendance". If you checked in on another phone, the camera opens once more, titled Check in and start; after a quick look at the camera it says the same. Now and then the app may ask for your face again even on the same phone. That is normal.
The top of the screen now reads Taking attendance: Peter Otieno and since 07:30 · Lantana Sky Appartments, with the buttons Change operator, Stop and End my shift. Start is the quickest way to begin the day: it checks you in and opens the phone in one go. Closing the app does not stop team attendance; open it again and carry on. If someone else signs in to the app on this phone, team attendance stops, and they start again with their own face.
Handing the phone over
At a shift change, or when the storekeeper is away, another person with the right takes over with their own face. Nobody signs out.
- Tap Change operator. On a locked phone, tap Someone else is taking over.
- Who is taking over? lists the people who may, with "Each person checks in with their own face." Tap the name.
- The camera opens, titled Take over, with "Mary Wanjiku looks at the camera." She looks at it for a second or two.
- If she has not checked in today, this checks her in too. From now on, every check-in and check-out on this phone is recorded as taken by her. The first operator's turn ends.
Checking people in
- Make sure Check in is selected on the switch Check in | Check out.
- Tap Scan face. The camera on the back of the phone opens: "Point the camera at their face." Hold the phone at their eye level, about half a metre to a metre away, so their face fills the circle. The screen reminds you: "Hold the phone about an arm’s length from their face, and read each instruction out to them."
- The worker looks at the camera for a second or two. A natural blink is enough. If the screen says Move the phone closer, step closer until their face fills the circle. If it asks for something, such as Blink slowly, read it out to them.
- Their name appears in large letters, with their worker number. Check that it is them.
- Tap Check in John (their first name): "John Kamau checked in".
- Wrong name? Tap Not this person. Nothing is recorded: "Not checked in. Scan again facing a light. If the wrong name comes up again, add them with + Hire on the Site labour screen and ask an admin."
- Already in? "John Kamau is already checked in, since 07:42." Tap OK. If they checked in at another site, or on another day, the message says where or when.
- A casual worker is also put on the project's Site labour list, if not there already, and marked present on the roll call: "John Kamau checked in · roll call marked". Their roll call is marked this way only: the storekeeper cannot mark them In or Out by hand.
- Today on this phone lists what this phone has recorded, for example 07:42 John Kamau: checked in.
- Front camera instead? Tap Switch camera on the camera screen, and turn the phone so the worker can see the screen. The phone then opens that camera for every later scan, morning and evening, until you tap Switch camera again. Switching starts the check again. The button shows only on phones with more than one camera.
The phone searches only the people posted to this site who have a face on record. Staff from another site are not found here: an administrator adds this project to them.
A new person
When a face is not known, the phone asks Not recognised. New person? A face can only be registered from a scan with movements, so it says "If this is a new person, scan again: this time the screen asks them for two movements, and then they can be registered." Tap Scan again with movements. Read each movement out to them (they are explained under Setting up your face check); then they hold still while three pictures are taken (Hold still… 1 of 3).
If the phone still does not know them, it asks Not recognised. New person? again, and offers Register new person, Scan again and Cancel. Cancel at the first question says "Not registered. The next scan will ask for two movements."
Someone registered last week is not new. If the light was poor or they looked away, tap Scan again. Register only a person who has never been registered. The phone also checks for you, below.
If the three pictures did not all show the same face, the phone does not offer to register them. It says "Not recognised, and the pictures did not all show the same face, so they cannot be registered from this scan. Scan again facing a light." Scan them again, one person in front of the camera.
- Tap Register new person.
- On New person, type their Full name and their Phone number, a Kenyan number like 0712 345 678. Add their ID number (optional) if they have it with them. Tap Next.
- Read this to them shows the notice below. Read it to them aloud, in full, and make sure they understand it; explain it in Kiswahili if that helps. Then ask them: "Do they agree?"
- If they agree, tap They agree. The face from the same scan is used, so they do not look at the camera again: "John Kamau registered and checked in · roll call marked".
- If they do not agree, tap They do not agree. Nothing is kept: "Not registered. Their face scan was deleted." Record their day another way, for example with + Hire and the roll call on the Site labour screen.
Fairdeal records attendance on this site with a face check.
Your face is turned into a face code, which is a list of numbers. No photo of you is kept.
It is used only to record when you start and finish work here, and to make sure nobody else is checked in under your name.
It is kept while you work for Fairdeal, and deleted when you ask. After you stop working here, it is kept until an admin deletes it, so that you are not registered twice. Ask the site office or an admin to delete it.
Face data is sensitive personal data under Kenya's Data Protection Act, 2019.
Do you agree to your face being used for attendance?
The phone will not make a second record for someone it already knows:
| The phone shows | What it means | What to tap |
|---|---|---|
| Already registered This face is already registered as John Kamau (registered 03/10/2026). |
They are registered already, perhaps at another site, or they were taken off this site's Site labour list. | Check in John Kamau checks them in here and puts them back on this site's list. Or Cancel. |
| Is this John Kamau? This number belongs to John Kamau, registered 03/10/2026. |
The phone number belongs to a casual worker registered already. | Yes, it is adds this face to them, if it looks like the same person, and checks them in. No, fix the number goes back to the form. |
| Back on New person, under the phone number: This number is already used by someone in this workspace. Use another number or ask an admin. |
The number belongs to someone who is not a casual worker, for example a member of staff. The phone does not say who. | Check the number with them and correct it, or ask an administrator. |
| Is this John Kamau? This number belongs to John Kamau on the labour register (hired 01/10/2026). |
They are on this project's Site labour list already, hired with + Hire. | Yes, it is registers them under that entry. No, fix the number goes back to the form. |
One scan allows three tries with a number that is already registered. After that the scan is used up: "That scan has expired. Scan their face again."
A person registered here becomes a casual worker at this site, with their own worker number. They are added to the project's Site labour list without a daily rate; an administrator adds it. From tomorrow they are simply scanned.
Checking people out in the evening
- Tap Check out on the switch.
- Tap Scan face and point the camera at the worker's face. They look at the camera for a second or two.
- The phone searches only the people checked in at this site today. Their name appears with, for example, In since 07:42 · 9h 12m so far.
- Tap Check out John: "John Kamau checked out · 9h 12m".
Anyone checked in here today can be checked out this way, including people who checked in on their own phone. Nobody can be checked out without a check-in. If the wrong name comes up, tap Not this person: "Not checked out. Scan again facing a light." Your own day ends with End my shift, not with a scan.
Who is still checked in
Under the scan button, Still checked in here: 3 counts the people checked in at the gate today who have not been checked out yet. (and 2 who checked in themselves) counts the others. Tap the line for the names, each with the time and who checked them in, for example since 07:42 · by Peter Otieno or checked in themselves.
Bring the count to 0 before you leave. End my shift lists everyone still in, including people who checked in themselves. Anyone left checked in is closed automatically at the end of their shift.
Finishing: End my shift, or Stop
- Tap End my shift.
- If anyone is still checked in at the site, Still checked in: 5 lists everyone by name, with the time they checked in. People checked in at the gate come first; people who checked in themselves are listed under Checked in on their own phone. This phone can check out both. "If you stop now, they cannot be checked out on this phone. Anyone not checked out is closed automatically at the end of their shift." Tap Check them out first to go back to the switch, set to Check out, and scan them; or End my shift to carry on.
- The camera opens, titled End my shift. Look at the camera for a second or two.
- "Checked out · 9h 05m. Team attendance has stopped on this phone."
- Stop stops team attendance on the phone without checking you out: "Team attendance stopped on this phone." Tap Start to carry on later the same day. It does not ask for your face again.
- Checking out on the Attendance screen also stops team attendance. If anyone is still checked in at the site, it shows the same Still checked in list first. There, Check them out first opens team attendance for the site this phone is working at, set to Check out.
- Each morning the phone starts locked again. Tap Start.
For administrators
Giving the right to take team attendance
- Open Menu → Roles.
- Tap the pencil beside Site Storekeeper, and beside any other role whose people should run the phone.
- Under Rights, tick Take team attendance.
- Tap Save. Everyone who holds the role gets the right.
For one person only, open Menu → Users & rights, tap the pencil on their name, open Extra rights for this person only, tick Take team attendance and tap Save. Check that each operator's Projects include their site. Then each operator sets up their own face, on their own phone, signed in as themselves.
Switching the face check on
For everyone:
- Open Menu → Settings.
- In the Attendance card, set Face check at check-in and check-out to On for everyone.
- The app asks "Switch the face check on?": "Everyone who uses attendance will look at the camera when they check in and out, and set up their face the first time. People set to Never are left out." Tap Switch on. If you close the question any other way, the setting stays Off.
- Tap Save settings. "Settings saved".
For one person:
- Open Menu → Users & rights and tap the pencil on their name.
- Under Uses the attendance system?, set Face check at check-in and check-out to Always or Never. As the workspace setting (now On) follows the switch in Settings.
- Tap Save.
The face check is already switched on for everyone. The steps above are for switching it off again, or back on, should that ever be needed. Use Never for anyone whose phone cannot run the face check.
Since 20 October 2026 the Android app's face check is the fast check, with no blink. To ask one person, or everyone at one site, to blink again, see The blink check for one person or one site.
Seeing who has set up their face
In Users & rights, each person's row has a line about the face check:
| The line says | What it means |
|---|---|
| Face set up 09/10/2026 | They set it up on that date. … by an operator means an operator set it up at the gate. |
| Face not set up | No face code on record. |
| Face check withdrawn 09/10/2026 | Their face code was deleted on that date. |
| … · face check on | The face check applies to them now. |
| Face set up 09/10/2026 · account off | Their attendance account is off, but their face code is still on record. Reset it if they have left. |
Resetting someone's face check
Use this when someone's face is no longer recognised, when they need to set it up again, or when they ask for their face data to be deleted.
- Open Menu → Users & rights and tap the pencil on their name.
- Under the face check line, tap Reset face check.
- Confirm: "Reset Peter Otieno's face check?" "Their face code is deleted. They set it up again the next time they check in." Tap Reset.
- "Face check reset". Their attendance records are kept.
If they asked for deletion and do not want the face check at all, also set them to Never and tap Save. Otherwise, while the face check is on for them, they are asked to set it up again at their next check-in. An operator cannot take team attendance again until they have set it up again.
Switching Active off does not delete their face code. Reset their face check as well. You can do it before or after: while a face is on record, an account that is off still shows Face set up … · account off and the Reset face check button. For someone registered at the gate, use Delete face under Casual workers (below).
People registered at the gate
- Open Menu → Users & rights, then the Casual workers tab at the top.
- Each row shows the name, phone number, the site, whether they are on or off, the daily rate or no rate, and who registered them, for example Registered by Peter Otieno on 09/10/2026. Someone who was on the Site labour list before their face was registered shows Registered earlier · added here by Peter Otieno on 09/10/2026.
- Switch off asks "Switch off John Kamau?" "They can no longer be checked in by face at any site. Their days worked are kept." Tap Switch off: "John Kamau switched off". Switch on brings them back. Switching off keeps their face code on purpose, so they cannot be registered again at a gate as somebody new.
- Delete face is for a worker who asks for their face data to be deleted. It asks "Delete John Kamau's face?" "Their face code is deleted and they can no longer be checked in by face. Their days worked are kept." Tap Delete: "John Kamau's face deleted", or "No face was on file for John Kamau" if there was none. They stay on Site labour with the face badge, so from then on only an administrator can mark their days.
⬇ Download gives the list as Excel, CSV or PDF. Before anyone has been registered, the tab says "Nobody has been registered at the gate yet."
Daily rates in Site labour
Everyone registered at the gate is on the project's Site labour list, with a face badge after their name. Each face check-in marks that day present on the roll call, shown as · in by face. So pay works as it does for anyone hired with + Hire: days present × daily rate.
Their days come from the face check only. For a storekeeper, their row shows a badge (in, absent or —) instead of the In and Out buttons, All present leaves them out, and the screen says "Workers marked face are in only when checked in by face at the gate; an admin corrects their days." If a storekeeper tries anyway, the app says "John Kamau is checked in by face at the gate. Ask an admin to correct a day." An administrator still sees the buttons and corrects a day on the roll call as usual. A corrected day no longer shows · in by face.
- Choose the project at the top of the app, then open Procure → Site labour.
- Tap the person's name. The sheet says, for example, Registered at the gate by Peter Otieno on 09/10/2026, or Checked in by face at the gate for someone who was registered earlier.
- Fill in Daily rate, and Trade or ID number if needed.
- Tap Save. "Saved".
Until a rate is filled in, the Site labour report counts their days but not their pay, for example "2 without a daily rate — not counted in the amount." The rate applies to every day already marked. Remove from the register also stops them being found by face at that site; their days worked are kept. If they come back, the phone shows Not recognised. New person?: tap Scan again with movements, then Register new person, and go through the form and the notice as usual. The phone then shows Already registered, and Check in John Kamau puts them back on the list.
In the attendance reports
- Menu → Attendance reports → Staff: a face badge on each check-in and check-out made with a face check, and In by Peter Otieno or Out by Peter Otieno when someone else recorded it.
- In the ⬇ Download, the Day by day sheet has four more columns: Face at check-in, Face at check-out, Checked in by and Checked out by. Themselves means the person did it on their own phone.
- In the Site labour report, a ✓ from a face check-in reads Checked in by face when you point at it.
If the face check does not work
Every message, grouped by where you meet it. A refused face check records nothing, so it is always safe to try again.
The camera
| What you see | What it means and what to do |
|---|---|
| The camera is blocked. On iPhone, open Settings, then Safari (under Apps on newer iPhones), then Camera, and choose Ask or Allow. Then open this app again and try again. | The camera was refused once on this iPhone. Follow the steps exactly, then open the app again. |
| The camera is blocked for this app. Press and hold the Procurement icon, tap App info, then Permissions, then Camera, and choose Allow. Then try again. | An Android phone with the app on its home screen. The camera was refused once. Follow the steps. |
| The camera is blocked. Tap the icon left of the web address, open Permissions and allow the camera. Then try again. | An Android phone using the app in Chrome. Follow the steps. |
| The camera is blocked. Allow the camera for this site in your browser settings, then try again. | Another phone or a computer. Allow the camera for fairdeal.cloud in the browser's settings. |
| Tap to start the camera. | Some phones need one more tap. Tap Start camera. |
| No camera was found on this phone. | The phone's camera cannot be used. Use another phone. |
| The camera is being used by another app. Close it and try again. | Close the other app, for example a video call or the camera, then try again. |
| This phone cannot run the face check. Ask an admin to switch it off for you, or use another phone. | The phone or its browser is too old. Update Chrome or Safari, use another phone, or ask an administrator to set you to Never. |
| This phone cannot run the face check, so you cannot take team attendance today. | You were checked in without the face check. Team attendance needs a phone that can run it. |
| This phone cannot run the face check, so it cannot take team attendance here. Use another phone. | The same, on the Team attendance screen. Use another phone for the gate. |
| The face check could not be downloaded. Check your internet connection and try again. | The first-time download (about 11 MB) did not finish. Find signal or Wi-Fi and try again. |
| The face check stopped because the app went to the background. Try again. | A call came in, or another app was opened. Try again. |
| The face check needs the app to restart. Close the app, open it again and try again. | The phone took back the memory the face check uses. Close the app fully, not just the screen, and open it again. |
| The face check stopped unexpectedly. Reload the app and try again. | Close the app and open it again. If it keeps happening on this phone, tell Twinfusion. |
| The face check could not start. Check your connection and try again. | The phone could not reach the attendance system to begin. Find signal and try again. |
Looking at the camera, and the movements
| What you see | What it means and what to do |
|---|---|
| Time ran out. We did not see a blink. Next time close your eyes fully for a moment, then open them. | The camera did not see a blink in time. Try again facing a light, and blink once, fully: close your eyes for a moment, then open them. |
| The camera asks you to turn your head at an everyday check-in or check-out | Normal for the person taking team attendance after a check-in scan that recognised nobody: every face check they make asks for two movements until a check-in scan with movements is made, or for ten minutes. Otherwise this phone is still running the older app: close the app fully, not just the screen, and open it again. |
| Time ran out. followed by the movement that was missing, for example We did not see your head turn to your left. Next time turn it further, as if looking over your shoulder. | When setting up, or registering a new person: the camera did not see the movement in time. Do it again, slower and a little bigger. |
| Time ran out. We could not see your face clearly. Hold the phone at eye level, face a light and keep your face inside the circle. / Time ran out. We could not see their face clearly. Hold the phone at their eye level, about an arm’s length away, in good light, with their face inside the circle. | Too dark, or the face was outside the circle. Move to the light, without a cap pulled low. When a worker is scanned with the camera on the back of the phone, the message speaks about their face. |
| Time ran out. We could not get a clear view of your face. Face a light, hold still and look straight at the camera. / Time ran out. We could not get a clear view of their face. Face them towards a light, hold the phone still and ask them to look straight at the camera. | The last picture was not clear. Hold still and look straight at the camera. |
| We did not see a blink. Close your eyes fully for a moment, then open them. | Close both eyes fully, not halfway, then open them. |
| We did not see the head turn to the left. Turn further, as if looking over the left shoulder. | Turn further, then come back to the middle. |
| We did not see the head turn to the right. Turn further, as if looking over the right shoulder. | Turn further, then come back to the middle. |
| We did not see a nod. Nod slowly down and up. | Nod slowly, once, down and up. |
| We did not see any movement. Follow the instructions on the screen. | Do the movement the screen shows, not just look at the camera. |
| The camera did not get enough pictures. Try again in better light. | Move to better light and try again. |
| The face in view changed during the check. Try again with only your face in the picture. | Someone else came into the picture. One face at a time. |
| The face check took too long. Try again. | Each check lasts about two minutes. Start again. |
| That face check was already used. Try again. | The same check was sent twice. Tap again for a new one. |
| The face check did not pass. Try again. | Try again in good light, following the instructions. |
| The face check did not finish. Try again. | It was interrupted before the end. Try again. |
Location
| What you see | What it means and what to do |
|---|---|
| Your location is not accurate enough yet. Step into the open and try again. | Weak GPS. The reading must be accurate to 100 m. Step out from under a roof, away from walls, wait a few seconds, and tap again. |
| You are 221 m from Lantana Sky Appartments. Move closer and try again. | The phone is outside the site's check-in area (100 m at Lantana Sky). For team attendance it is the operator's phone that must be inside it. |
| You appear to be away from the site. Move closer and try again. | The same, when the distance is not known. Move onto the site. |
| Your phone's location is not updating: it gave exactly the same spot as before. Step outside, check Location is on with precise location, open Google Maps for a few seconds, then try again. | Indoors a phone sometimes keeps giving the same spot, which can be far from where you are, so the distance cannot be trusted. Follow the steps, then tap again. |
| Location is switched off for this site. Allow it in your browser settings and try again. | Location was refused for the app. Allow it for fairdeal.cloud in the phone's settings. |
| Could not get a location fix. Step into the open and try again. | No GPS reading came. Step outside and try again. |
| This phone cannot provide a location. | The phone has no location service the app can use. Use another phone. |
| Your location is needed. Allow location access and try again. | Allow location for the app, then try again. |
| That location looks simulated, so it was not recorded. | A fake-GPS app is switched on. Switch it off and try again. |
Setting up, and your own check-in
| What you see | What it means and what to do |
|---|---|
| The face check is on for you. Look at the camera to check in. / The face check is now on for you. Tap again. | It was switched on for you while the screen was open. Tap again and look at the camera. |
| Set up your face check first. | Tap Set up face check and follow Setting up. |
| Agree to the face check notice first. / The notice has changed. Read it again. | The notice opens again. Read it and tap I agree. |
| Your face check is already set up. To set it up again, ask an admin to reset it. | Nothing to do unless your face is no longer recognised. Then ask an administrator to reset it. |
| This face is already set up for another person. Ask an admin. | The face matches someone else's set-up, so it was not saved. Check that you are signed in as yourself, then ask an administrator. |
| Face not recognised. Try again facing a light. If it keeps happening, ask an admin to reset your face check. | Nothing was recorded. Face a light, take off a cap or sunglasses, try again. If it keeps happening, an administrator resets it and you set it up again. |
| The face check could not be read. If it keeps happening, ask an admin to reset your face check. | Try again. If it keeps happening, ask an administrator to reset it. |
| The camera did not get a clear enough picture. Try again facing a light. | Face a light and hold still. This can also appear when registering a new person: scan them again. |
| This workspace asks for a selfie, which this app cannot send. Ask an admin to switch off selfies for attendance. | A setting in the attendance system asks for a photo. Tell Twinfusion. |
| The face check here is for employee and manager accounts only. | The account is an attendance-dashboard administrator account. Those are managed in the dashboard, not here. |
| Attendance is not available right now. | The attendance system did not answer. Try again in a minute. If it lasts, tell Twinfusion. |
| Attendance is not configured on this server. | Tell Twinfusion. |
Starting team attendance
| What you see | What it means and what to do |
|---|---|
| Ask an admin for the Take team attendance right. | You do not hold the right yet. An administrator gives it under Menu → Roles. |
| Peter Otieno cannot take team attendance at Lantana Sky Appartments. | The person lacks the right, this project, or an attendance account. An administrator checks their user. |
| Peter Otieno has no attendance account. Ask an admin. | An administrator sets Uses the attendance system? on their user and saves. |
| Lantana Sky Appartments is not set up as an attendance site for Peter Otieno. | This project is not one of their check-in sites. An administrator ticks it under their Projects and saves; the phone can take up to five minutes to see it. If it still says this after that, the project has no check-in area yet: an administrator sets one (see Setting a project's check-in area). |
| Peter Otieno is not posted to Lantana Sky Appartments in attendance. Ask an admin to add this project to them. | The same: an administrator adds the project to them and saves. |
| Set up your face check first, on the Attendance screen. | Tap Set up face check first. |
| Mary Wanjiku has not set up their face check yet. They set it up on the Attendance screen, signed in as themselves. | The person taking over sets up their face on their own phone first. |
| Peter Otieno's shift from 08/10/2026 is still open. Check out first, then start again. | An earlier day was never closed. Check out on the Attendance screen, then tap Start. |
| Peter Otieno is checked in at Riverdrift Residences today. Check out there first. | You are checked in at another site. Check out, then start here. |
| Peter Otieno checked in today without a face check, so cannot take attendance for others. Check out, then start again here. | Check out on the Attendance screen, then tap Start; it checks you in with your face. |
| Look at the camera to check in and start. | The camera normally opens by itself. If you see this, tap Start again. |
| Nobody else can take team attendance here. | Nobody else on this project holds the right. An administrator gives it. |
| Team attendance is for employee and manager accounts only. | The account is an attendance-dashboard administrator account. Use a staff or manager account. |
| This phone could not be identified. Reload the app and try again. | Close the app and open it again. |
| That location does not exist in this workspace. | The site was switched off in attendance. Tell an administrator. |
| No access | You cannot open this project. Choose your own project at the top. |
Team attendance stopped
| What you see | What it means and what to do |
|---|---|
| Team attendance has stopped on this phone. Start again with a face check. | Another phone took over, or it was stopped. Tap Start. |
| This phone is taking attendance for another site. Start again for this site. | Choose this site's project, then tap Start. |
| A new day has started. Start team attendance again with a face check. | Normal every morning. Tap Start. |
| Peter Otieno has checked out, so team attendance has stopped. Start again with a face check. | The operator checked out. The next operator taps Start or Someone else is taking over. |
Scanning
| What you see | What it means and what to do |
|---|---|
| Not recognised. New person? | Nobody posted to this site matches. A new person is registered only from a scan with movements: tap Scan again with movements. When it then offers Register new person and they may be registered already, tap Scan again first. Register only someone new. |
| Nobody with a face check is posted to this site yet. If this is a new person, scan again: this time the screen asks them for two movements, and then they can be registered. / Nobody with a face check is posted to this site yet. If this is a new person, register them now. | Normal on the first day at a site. For someone new: Scan again with movements, then Register new person. Staff from other sites need this project added by an administrator. |
| Not registered. The next scan will ask for two movements. | You tapped Cancel after a scan that recognised nobody. For up to ten minutes, until a check-in scan with movements is made, every face check by this operator asks for two movements, whoever is in front of the camera: check-out scans and End my shift too. |
| Not recognised, and the pictures did not all show the same face, so they cannot be registered from this scan. Scan again facing a light. | Someone else came into the picture, or the face moved out of it. Scan again with one person in front of the camera. |
| Two registered people look alike in this scan. Scan again facing a light. | Scan again in good light, facing the camera squarely. |
| John Kamau is already checked in, since 07:42. | Nothing to do. If it says another site or day, that check-in is still open; they check out there, or an administrator corrects it. |
| John Kamau is not checked in any more. | They were checked out in the meantime. Nothing to do. |
| That scan has expired. Scan their face again. | A scan is kept for ten minutes. Scan them again. |
| Something changed while this was being done. Scan their face again. | Their record changed at that moment. Scan them again; if it repeats, tell an administrator. |
| Not checked in. Scan again facing a light. If the wrong name comes up again, add them with + Hire on the Site labour screen and ask an admin. | You tapped Not this person. Nothing was recorded. |
| Not checked out. Scan again facing a light. | The same, in the evening. |
| That is you. To end your own shift, use End my shift. | The operator's own face was scanned. Use End my shift. |
| Nobody is checked in here today. | There is nobody to check out at this site today. |
| Not recognised among the people checked in here today. Nobody was checked out. | They were not checked in here today, or the scan was unclear. Scan again in good light. |
| The labour register was not updated. | The check-in stands, but the Site labour roll call was not marked. Tell an administrator, who corrects the day on the roll call. |
| John Kamau is off the labour register here, so the roll call was not marked. Ask an admin. | The check-in stands, but they were taken off this site's Site labour list, so the day is not added for pay. An administrator decides whether to put them back and correct the day. |
| John Kamau is checked in by face at the gate. Ask an admin to correct a day. | Seen on the Site labour roll call. A worker registered at the gate is marked present only by their face check-in. Only an administrator corrects their days. |
Registering a new person
| What you see | What it means and what to do |
|---|---|
| Enter their full name. | Type the full name, at least two letters. |
| Enter a Kenyan phone number, like 0712 345 678. | A number starting 07 or 01, or +254. The phone number is required. |
| That ID number is too long. Check it and try again. | Check the ID number, or leave it blank. It is optional. |
| They must agree before their face is registered. | Read the notice and tap They agree only if they agree. |
| This face is already registered as John Kamau (registered 03/10/2026). | They are registered already. Tap Check in John Kamau. |
| This number belongs to John Kamau, registered 03/10/2026. | If it is them, tap Yes, it is. If not, No, fix the number. |
| This number belongs to John Kamau on the labour register (hired 01/10/2026). | They are on Site labour already. If it is them, tap Yes, it is. |
| This number is already used by someone in this workspace. Use another number or ask an admin. | The number belongs to someone who is not a casual worker. Check the number with them and correct it, or ask an administrator. |
| That scan has expired. Scan their face again. | A scan lasts ten minutes, and allows three tries with a number that is already registered. Scan them again. |
| John Kamau was switched off by an admin. Ask an admin to switch them back on. | An administrator switched them off under Casual workers. Only an administrator can switch them back on. |
| This face is very close to someone already registered, so it cannot be registered safely. Ask an admin. | To avoid a mix-up, nothing was registered. Record their day with + Hire on Site labour and tell an administrator. |
| John Kamau is staff, not a casual worker. They check in on their own phone, or an admin adds this project to them. | Staff check in on their own phone. Or an administrator adds this project to them. |
| This face does not match John Kamau closely enough. Ask an admin to check. | Not checked in. Scan again in good light; if it repeats, tell an administrator. |
| There is no face on record for John Kamau, so this cannot be confirmed. Ask an admin. | The number belongs to someone with no face code. Tell an administrator. |
| That number does not belong to John Kamau. | Check the number with them and correct it. |
| John Kamau has withdrawn consent for face checks. Ask an admin. | Their face data was deleted at their request. Do not register them again. Tell an administrator, who marks their days on the Site labour roll call. |
| Could not create a worker number. Try again. | Tap They agree again. |
| Your … plan allows 50 employees and you are using 50. Upgrade to add more. | The attendance plan has no room for another person. Tell Twinfusion. |
| Something was missing. Reload the app and try again. | Close the app, open it again, and scan them again. |
For administrators
| What you see | What it means and what to do |
|---|---|
| Other settings were saved. The face check was not changed: … | The attendance system did not take the change, so the switch went back. Try again later; if it lasts, tell Twinfusion. |
| Choose how the face check applies | Pick As the workspace setting, Always or Never, then save. |
| Only casual workers can be changed from the projects app. | Staff are switched off in Users & rights (the Active switch), not here. |
| No such person. | The person is no longer in attendance. Tell Twinfusion. |
| Enter a daily rate of 0 or more | Type the rate as a number, or leave it empty. |
Your face data
Read this before you agree. It is short, and it is the whole story.
- No photo is kept. The phone works out a face code, a list of numbers, from your face. Only that code is sent. The face check keeps no photo of you, on the phone or anywhere else.
- What it is for: attendance only. It confirms it is really you when you check in and out, so nobody else can check in under your name. It is not shared with anyone else.
- The blink and the movements show the camera a live person and not a photo: a natural blink at an everyday check, and instead two movements, such as a turn of the head, when a face is first set up or registered.
- Agreeing is your choice. On your own phone you read the notice and tap I agree; Not now stops and nothing is taken. At the gate, the operator reads the notice to you and taps They agree only if you say yes. If you say no, your scan is deleted at once.
- What is kept about your agreement: that you agreed, when, on which phone and to which version of the notice. At the gate, also which operator read it to you.
- Kept for a short time only: a scan at the gate is wiped once it is used, or at once if the person does not agree. An unused scan expires after ten minutes and is wiped. The face taken when a worker is checked in at the gate is used only to find them at check-out, and is deleted then, or after two days at most.
- How long your face code is kept: until you ask for it to be removed, or an administrator resets or deletes it. When you leave Fairdeal it is not deleted on its own: it is kept until an administrator deletes it. For someone registered at the gate, that stops the same person being registered twice.
- Face data is sensitive personal data under Kenya's Data Protection Act, 2019.
Asking for your face data to be deleted
- If you sign in to the projects app: ask an administrator to reset your face check (For administrators). Your face code is deleted at once. Your attendance records stay. If you do not want the face check any more, ask for Never as well.
- If you were registered at the gate: tell the storekeeper, the site office or an administrator. The administrator taps Delete face beside your name under Casual workers. Your face code is deleted at once, and nobody can check you in by face any more. Your days worked and your pay are kept.
Switch off stops a worker being checked in by face, but keeps their face code, so they cannot be registered again as somebody new. When a worker asks for their face data to be deleted, use Delete face.
New · 19–20 October 2026The projects website: purchase orders, raised quantities, the blink check and the Android app
What changed in the projects website at https://fairdeal.cloud/projects/ on 19 and 20 October 2026: changing an LPO's supplier and every other field, moving the balance to another supplier, correcting a supplier's details, raising a requisition's quantity over the BOQ after approval, the Use the blink check switch, and the Fairdeal Android app.
The Fairdeal Android app
Fairdeal now has its own Android app. It does the same work as the projects website, with the same username and PIN, the same projects and the same records: requisitions, purchase orders, receiving goods, stock, invoices, reports, attendance, team attendance and the attendance manager pages. Anything done in the app shows on the website, and the other way round.
- On the Android phone, open https://fairdeal.cloud/get-app/.
- Tap Download the app and follow the phone's steps on that page.
- Open the app and sign in with your usual username and PIN.
- The current version is 1.2.3. It installs over the older app, so nothing has to be removed first. After that the app tells you itself when a new version is ready: tap Update.
- It works without signal for checking in and out, team attendance, registering a new worker and receiving goods. Each of these is kept on the phone and sent by itself once there is signal, with the time it was done. A few things still need signal, such as setting up your face, starting team attendance, and creating, sending or amending an LPO. The app says so when it does.
- Notifications appear in the app's bell, and on the phone about every 15 minutes, even with the app closed.
- A link to fairdeal.cloud/projects/… from WhatsApp or e-mail opens in the app when it is installed.
- The step-by-step guide for the app, with pictures, is at https://fairdeal.cloud/get-app/manual/.
There is no iPhone app. On an iPhone, keep using the projects website, added to the Home Screen as in iPhone and iPad.
Changing an LPO: Edit and Amend
Since 19 October 2026 every field of an LPO can be changed, the supplier included: the supplier, each item's name, unit, quantity, rate, VAT % and remarks, Deliver to, Payment terms (printed on the PO) and Notes. Open the LPO from Purchase Orders. Which button you use depends on where it is.
| The LPO is | Button | What happens |
|---|---|---|
| A draft, not yet submitted | Edit | Change anything and tap Save. Nothing goes for approval until you tap Submit for approval. A new supplier shows Saved — supplier changed. |
| Waiting for approval, approved, sent, or partly received | ✎ Amend PO | Change anything, give a reason, and tap Save & send for Director approval. The LPO goes back for Director approval. |
| Approved, sent or partly received, with something still to deliver | ⇄ Change supplier | Nothing received yet: opens Amend, to pick the new supplier. Goods already received: opens Move the balance to another supplier. |
Amending an approved or sent LPO:
- Open the LPO and tap ✎ Amend PO (or ⇄ Change supplier).
- To change the supplier, type in Supplier and pick one from the list. For a supplier not on the list yet, tap + Add new supplier “…”.
- Change the items, quantities, rates, VAT, delivery or payment terms as needed.
- Under Reason for the amendment, say why, for example better price from another supplier. A reason is required.
- Tap Save & send for Director approval: Amendment #1 saved — sent for Director approval. The Directors are notified.
- Once a Director approves it, an LPO that had been sent and has had no goods received yet must be sent again: tap Send to supplier, so the supplier gets the new version. If some goods had already been received, there is no Send to supplier button: tell the supplier about the change directly.
- Until it is decided, the LPO shows Amendment #1 — reason · awaiting Director approval. Every change and its reason are kept for audit.
- A quantity cannot go below what has already been received on that line.
- If goods have already arrived, the supplier box is locked and the screen says Goods were already received on this PO, so its supplier can't change here. Use the link under it, Move the balance to another supplier ›.
- Who can: Edit needs the right Create & send LPOs. ✎ Amend PO, ⇄ Change supplier and moving the balance need Amend an approved PO (goes back for Director approval). Administrators have both.
Move the balance to another supplier
Use this when some goods have already arrived from one supplier and the rest should come from another. The goods received stay on the old LPO, which is closed. The balance, whatever is still to be delivered, goes to a new draft LPO for the new supplier, at the same rates.
- Open the LPO and tap ⇄ Change supplier.
- Check the list under Balance being moved.
- Pick the new supplier under Supplier. It must be a different supplier.
- Give a Reason, for example delivery delayed.
- Tap Move the balance: Balance moved to LPO-… — check its rates, then submit it. The new draft LPO opens.
- Correct the rates on the new LPO with Edit, then tap Submit for approval. It goes through approval like any new LPO.
Correcting a supplier's details
The supplier box in Edit, ✎ Amend PO and Move the balance to another supplier has a button ✎ Edit supplier details. Pick the supplier, tap the button, and correct the Name, Phone (WhatsApp), Contact person, E-mail or KRA PIN. Tap Save supplier.
- These details print on the LPO and are used to send it by WhatsApp and e-mail. A change applies to every LPO for that supplier.
- Who can: anyone with the right Create & send LPOs, and administrators. Only an administrator can mark a supplier active or inactive.
- A supplier added from the list has only a name. The app reminds you: Supplier added — add their phone and e-mail with “Edit supplier details”.
Raising a requisition's quantity after approval
A quantity on a requisition can still be changed after it is approved, until everything on it is ordered: open the requisition, tap the pencil beside the item, change the number and tap Save quantity. Since 19 October 2026, if the new quantity goes over the BOQ, or the line is not in the BOQ at all, the increase goes back for authorisation, the same way as a new over-BOQ requisition.
- Before you save, the screen shows what the BOQ still allows, for example The BOQ allows up to 40 on this line — going over sends this back for authorisation before it can be ordered.
- After saving, the app says ⚠ Over the BOQ — the increase was sent for authorisation; no new LPO can be raised on this requisition until it is decided. LPOs already raised on it are not affected.
- An increase that stays within the BOQ is saved as before, with no new approval.
What the approvers see. The requisition appears under Requisitions → To regularise, and the authorised person is notified. On the requisition, a card Quantity raised after approval shows each item with the old and new quantity, for example 20 → 30 bags · by …, and says: This requisition was already approved. The increase below goes over the BOQ, so it needs authorisation before it can be ordered. If it is refused, the quantity goes back to what was approved and the requisition stays approved.
- The authorised person writes a reason and taps Regularise → send to Directors. It moves to Requisitions → For Directors.
- A Director taps Approve (Director). The new quantity stands, the BOQ line is raised to match, and LPOs can be raised for it again.
Refuse the increase. Instead of approving, the authorised person, a Director or an approver can tap Refuse the increase, give a reason, and tap Refuse the increase again: Increase refused — back to the approved quantity. The quantity goes back to what was approved (never below what is already on an LPO), and the requisition stays approved: it is not rejected or archived. The person who raised it is notified with the reason.
The blink check for one person or one site
In the Fairdeal Android app the face check is the fast check: a few seconds, with no blink or head turns. Fairdeal decided on 19 October 2026 to have it on for everyone. An administrator can set one person or one site back to the blink check, where the person must blink at the camera, for example when someone's check-ins need a closer look.
For one person:
- Open Menu → Users & rights and tap the pencil on their name.
- Under their face check line, a line says how they check in now, for example They use the fast face check, like phone face unlock. It shows only once their face is set up.
- Tap Use the blink check. The app confirms, for example … now uses the blink check., and the line then reads They use the blink check (set by a manager).
For a site:
- Open Menu → Projects and tap the pencil beside the project.
- Under Attendance site — where staff check in, below the map, the line says Staff here use the fast face check, like phone face unlock.
- Tap Use the blink check. Everyone who checks in at that site, and every worker scanned there in team attendance, is asked to blink.
- To undo either one, tap Use the fast check in the same place.
- A person set to the blink check blinks wherever they check in. The setting counts from the next check-in. A phone that has not heard of the change yet is told to blink.
- The person sees Your manager has set your face check to the blink check. Look at the camera and blink. At a site it says This site uses the blink check. Look at the camera and blink. In team attendance it says This person uses the blink check. Scan again and ask them to blink.
- The same switch is in the Android app's attendance manager pages (Postings for a person, Locations for a site) and in the attendance dashboard (the face recognition and Locations pages).
- Who can: administrators. Each change is written to the activity log.
- This does not switch the face check on or off. That is still the setting described in For administrators.
ReferenceTroubleshooting
The messages people actually hit, and what to do about each.
At the camera
| Message | What it means and what to do |
|---|---|
| No face was found in that photo. Point the camera at your face and take it again. | The selfie attached to the punch had no face in it — a wall, a ceiling, a pocket. The punch is not accepted until a real face is captured. Hold the phone at eye level, in light, and take it again. |
| Face not recognised. / We don't know this face yet | Either this person has never enrolled, or the match was not confident enough. Try again in better light, facing the camera squarely, cap and sunglasses off. If they have registered before, do not register them again — see 2.3. |
| Move your face into the circle. | The camera cannot see a face at all. Step closer and centre yourself. |
| More than one face in view. Make sure only you are in the frame. | Ask the person behind you to step aside. |
| That took too long and the check expired. Start again. | The liveness check has a short life. Start over and follow the prompt promptly. |
| We could not see the movements we asked for. Try again somewhere brighter, holding the phone steady at eye level. | The blink or head turn was not clear enough. Slow down and exaggerate it slightly. |
| We could not get a clear enough view of your face. Try again in better light. | The captures were not good enough to store. Move away from direct backlight. |
| Face verification needs a connection — the check is issued by the server and cannot be done offline. | Face clocking will not work offline at all. Ordinary clocking in on a personal phone does. |
Location and geofence
| Message | What it means and what to do |
|---|---|
| You are 300 m from Kitengela Yard. Check-in outside the assigned area is not permitted. | You are outside the site's geofence and this workspace does not allow out-of-bounds check-ins. Walk onto the site. If the crew genuinely is working somewhere else, the office must add that location. |
| You are outside the designated area. Add a note to proceed. | Out-of-bounds check-ins are allowed here, but never unexplained. Type why and continue. The record is flagged for review with your note attached. |
| GPS accuracy is 120m, which is weaker than the 75m required. Move to open sky and retry. | The position reading is too vague to trust. Step out from under a roof, away from a wall, and wait a few seconds. |
| A mock location provider was detected. Disable it and try again. | The phone is running a fake-GPS app. Turn it off in Android's developer settings. Punches taken this way are flagged even where they are allowed. |
| This device does not know where it is yet. Tell your supervisor. | The site phone has no GPS fix. Move it near a window or outside. |
| Location permission is needed before you can clock in. | Android has not been given permission. Press Fix permissions and allow location for the app. |
An out-of-bounds check-in from a shared phone
A shared site phone has nobody to type a note — the worker is standing at a screen with no keyboard. So when an out-of-bounds punch is permitted, the device writes the explanation itself, naming the device and the distance, for example:
Recorded away from the site by the "Gate handset — Kitengela" staff device, 310 m from Kitengela Yard. The worker was identified by face; no note could be typed on a shared device.
The record still appears in the review queue. It is not an exemption — it is an explanation.
Signing in and connection
| Message | What it means and what to do |
|---|---|
| You need a connection to sign in the first time. Once signed in, clocking in works offline. | A brand-new phone, or one that has been signed out, must reach the server once. Find signal or Wi-Fi. After that, ordinary clocking in works without a connection and syncs later. |
| This device has no connection. Face clocking cannot be saved for later — tell your supervisor and try again once it is back. | Face recognition happens on the server and cannot be queued. Write the times down on paper and have the office correct them in Timesheets. |
| This kiosk is not paired, or its access has been revoked. | The site phone has lost its credential — or somebody revoked it in the dashboard. An administrator must set the device up again. |
| Too many failed attempts. Try again in 15 minutes. | Eight wrong passwords on the dashboard. Wait; there is no shortcut. |
| Invalid or expired CSRF token. Reload the page. | The dashboard page has been open too long. Reload it and try the action again. |
| This workspace is not currently active. Please contact your administrator. | The subscription has been suspended or cancelled. Nobody can clock in until it is restored. |
Installing and updating the app
These phones do not get the app from the Play Store — it is installed directly, and the app updates itself. When a new version is ready you will see "Version 1.1.0 is available" with a Download update button showing the size, because the download may spend the phone's own data.
- "Android needs your permission to install apps from Attendance." — press Allow installs, switch the permission on, and come back.
- "The downloaded file did not arrive intact and was discarded. Try again, ideally on Wi-Fi."
- "There is not enough free space on this phone for the update." — clear some space and retry.
- "This phone is running a version the server no longer accepts." — the update is compulsory. Nothing already recorded is lost.
Android may refuse with App not installed or a message about the signature not matching. That happens once, when the key the app is signed with changes — for example when a build moves from a test key to the real one. Android will not upgrade one over the other.
The fix, once:
- Make sure nothing is waiting to send. On a personal phone the Today screen shows the sync state — wait for All synced before going further.
- Uninstall the Attendance app from Android's app settings.
- Install the new version.
- Sign in again. On a site phone, uninstalling clears its staff credential — an administrator must set the device up again (2.1) or issue a new pairing code (1.12).
In the dashboard
| Message | What it means and what to do |
|---|---|
| This posting has 12 attendance records against it, so it cannot be deleted. End it instead … | Correct behaviour. Use End; it keeps the history and stops future check-ins. |
| … has 42 attendance records. Permanently deleting the account would delete those too, so it is not allowed. | Use Remove instead. It hides the account and keeps every hour. |
| This is the last active administrator … | Promote somebody else to administrator first, then try again. |
| Check-out cannot be before check-in. | Correct the check-in time first, then the check-out. |
| Could not load current assignments — editing disabled | Close the location panel and reopen it. Do not save while it says this. |
| The address lookup service could not be reached … | Place the pin by clicking the map, or type the coordinates. The location saves either way. |
| A polygon fence needs at least three points. | Click at least three corners on the map before saving. |
| No locations yet — add one under Locations first. | You are trying to post somebody to a site before any site exists. |
ReferenceNot on a screen yet
Honest limits of version 1.1.0. These things the system can do, but there is no button for them in the dashboard. They are listed so nobody hunts for a control that is not there.
- Restoring a removed employee. Remove is reversible by design and destroys nothing, but the Directory has no list of removed people and no restore button. If somebody is removed in error, ask whoever maintains the system — do not create a second account.
- Approving or rejecting a field registration as a whole. There is no review queue screen for engagements. Review the individual shifts in Timesheets (Flagged only or Pending only) and, if the person should not be on site, archive or remove them in the Directory.
- Viewing or deleting somebody's face data from the dashboard. A worker with their own login can delete their own; there is no administrator-side control for one who cannot.
- Approving a location a worker declared from the field. The app lets a worker declare a site they have been sent to; the dashboard has no queue for ratifying those. Create the site properly under Locations.
- Adding a worker from the supervisor's own phone. Field registration happens at the shared staff device, via Register me. There is no Add worker button on the Team screen.
ReferenceGlossary
- Geofence
- The boundary drawn around a site. A check-in inside it counts as being at work. One outside it is measured, recorded and flagged — and may be refused. A fence is either a circle (a pin and a radius) or a polygon (a ring of corners clicked on the map).
- Posting
- The link between a person and a site. It is what lets them check in there, and it is what puts them on that site phone's list of recognisable faces. Ending a posting keeps the history; deleting one is only for a posting added by mistake.
- Casual worker
- Daily or short-term labour, hired on site rather than through the office. Usually registered at the site phone with a name and a phone number, with no email and no password. They have an employee code like anybody else and their hours are recorded the same way.
- Provisional registration
- A worker who was registered in the field and can work immediately, but whose engagement no administrator has ratified yet. They are fully active and fully recognisable; their shifts are flagged "Provisional registration awaiting approval" so a reviewer sees them. The approval decides whether the engagement stands, never whether the hours happened.
- Liveness
- The check that asks a person to blink, nod or turn their head, so the camera can tell a live person from a held-up photograph. The movement is chosen by the server at that moment and can only be used once, so a recording cannot be replayed. It defeats a printed photo; it is not proof against a determined, purpose-built attack.
- Template (face template)
- The list of numbers a phone produces when it measures a face. It is what the system stores and compares. It is not a photograph, no photograph is uploaded or kept, and the numbers cannot be turned back into a picture of the person.
- Kiosk / staff device
- The same thing under two names. A shared Android phone that belongs to a site rather than to a person: nobody signs in on it, it opens straight to the camera, and it clocks workers in and out by face. It is set up either from the phone (Set up this device for staff) or with a pairing code from the dashboard, and taking it back out needs an administrator's password.
- Flagged record
- An attendance record the system has marked for a human to look at — out of bounds, a weak or faked GPS reading, a very late sync, a shift closed automatically, or a provisional worker's shift. Flagging never blocks the hours; it routes them to a reviewer.
- Out of bounds
- A punch taken outside the geofence. The record says which fence was missed and by how far — measured from the edge of the fence, not from its centre.
- Employee code
-
The short identifier on every person, such as
EMP0142. It is allocated automatically when somebody is registered in the field, and it is what an administrator or manager types to sign in on a phone.