Security at SlidesClock

Attendance you can trust, because the phone doesn’t decide.

The server sets the time, the database keeps each company apart, and the original record is never overwritten. Here is exactly how — and where the limits are.

  • Server-generated timestamps
  • Row-Level Security per company
  • No background tracking

English is the authoritative version of this security overview. ឯកសារនេះផ្តល់ជូនជាភាសាអង់គ្លេស ដែលជាភាសាផ្លូវការ។

Defense in depth

Four layers between a thumb
and a stored record.

Each layer assumes the one before it could be wrong. A request has to pass all four to become attendance.

  1. 1

    The employee’s phone

    Sends the request over HTTPS with a signed session token. Location is read once, at the slide.

  2. 2

    check_in_out

    The only way in. Checks geofence distance, the server-observed IP, the registered device and shift rules in one transaction.

  3. 3

    Row-Level Security

    PostgreSQL confirms the user holds an active membership in that organization before anything is read or written.

  4. 4

    The stored record

    Stamped with the server’s clock. The original event is kept; a correction is added beside it, never over it.

Platform controls

Six controls, described
as they actually work.

Server-authoritative timestamps

A phone clock is a setting. Attendance never trusts it.

  • Changing the handset time, time zone or offline cache does not change a recorded clock-in.
  • The timestamp comes from the database server when the backend function runs.
  • It is displayed in the time zone the company set for that workplace.

Multi-tenant Row-Level Security

Isolation is enforced by the database engine, not by app code alone.

  • Every table — attendance, rosters, profiles, payroll — is covered by PostgreSQL RLS policies.
  • Requests carry a Supabase Auth JWT; policies check active organization membership first.
  • Role scopes limit each person to the data their role needs (see below).

Original records, audited corrections

What was captured and what was agreed later are both kept.

  • Raw punch events cannot be overwritten or silently edited by employees or managers.
  • A correction is a separate adjustment record with a mandatory reason from the employee.
  • Approvals and rejections are logged with the reviewer’s user ID and a timestamp.

One restricted write path

Clients cannot insert attendance rows directly.

  • Attendance is written only through the check_in_out database function.
  • Geofence, IP evidence, device and shift rules are validated atomically.
  • Direct write access to attendance tables is revoked from client users.

Point-in-time location, no tracking

GPS is read at the slide, and at no other time.

  • No continuous or background location monitoring.
  • Coordinates are requested at Slide In / Slide Out under a GPS policy, or when a manager sets a geofence.
  • The workplace Wi-Fi password is never collected.

Private storage and housekeeping

Personal files are private; old operational data is pruned.

  • Avatars and payment receipts live in private, authenticated storage buckets.
  • Company logos are public branding files, reachable only by exact URL.
  • Finished push-notification outbox records are deleted after 30 days by a daily job.

Data minimization

What an attendance check sends — and what it never does.

Only what the workplace policy needs, at the moment it needs it. The full list of what is collected and how long it is kept is in the privacy policy.

Request account or data deletion

DataWhenSent
GPS coordinatesOnly at Slide In / Slide Out, when the workplace policy uses GPSSent
Public IP addressObserved by the server on each request, for network checksSent
Device registrationPlatform, model, OS; IDFV on iOS — links an account to its phoneSent
Wi-Fi name (SSID/BSSID)Never on iOS. Android may send it where availableAndroid only
Background locationNever collectedNever
Wi-Fi passwordNever collectedNever

Least privilege

Six roles. Each sees only what it needs.

Roles are enforced by the same database policies as tenant isolation, so a hidden button is never the only thing standing in the way.

  • OwnerThe whole organization and its settings
  • HRPeople, attendance and requests across the organization
  • Branch ManagerTheir branch’s team and attendance
  • SupervisorThe people they supervise
  • Payroll AdminPayroll calculations and payslips
  • EmployeeTheir own shifts, history, requests and payslips

Honest limits

What we don’t claim.

Security pages usually overpromise. Here is where ours stops, so you can plan around it.

Not tamper-proof

Device registration is live, but hardware attestation such as Apple App Attest is not. We do not claim SlidesClock is tamper-proof or spoof-proof.

No SOC 2 or ISO claim

We hold no SOC 2 or ISO certification and do not imply one. The posture rests on hosted infrastructure (Supabase, Vercel) and database-level access control.

Checks, not identity proof

GPS, network and device checks are practical signals a workplace chooses. None of them proves who is holding the phone.

Questions

Security FAQ

No. SlidesClock records the time from the database server when the attendance function runs. Changing the phone’s time, time zone or offline cache does not change the recorded time.

Found a vulnerability, or need answers for a review?

Write to support@slidesclock.com with steps to reproduce. Please don’t access other organizations’ data while testing.

Contact us

Last reviewed

Your team.
A little more in sync.

It all starts with a simple slide.

Get Started
  • A simpler start.
  • A team in sync.