Service assurance for cleaning and field service teams

Know what was cleaned. Prove it was done.

MarkDuty helps cleaning companies, keyholders and other on-site service teams manage sites, complete area-specific checklists, capture service evidence, and give clients a clear record of completed work.

Start with one secure company workspace

Hosted in Norway

Today’s assigned cleaning visits in the MarkDuty mobile app
A live visit in the MarkDuty mobile app with its area checklist, including a critical requirement

One operational record

Clients, sites, areas and checklists in one operational record.

Bring the instructions, progress and evidence for each service visit together — without adding another messy admin process.

Structure every site

Organise buildings into the real floors, rooms and shared spaces your team services.

Make requirements clear

Give each area a focused checklist so your team knows exactly what completion means.

Keep proof in context

Connect evidence and exceptions to the exact area, visit or reported problem they document.

How it works

How it works, from setup to signed-off visit.

MarkDuty follows the way on-site service is actually delivered, keeping every step connected and understandable.

Set up your workspace
  1. 01

    Map the service

    Add client sites, define serviceable areas and assign the right requirements.

  2. 02

    Guide the visit

    Your team works through a clear, area-by-area record on any screen size.

  3. 03

    Review the result

    See completed requirements, evidence and exceptions in one service history.

The MarkDuty operations overview with today’s scheduled visits, overdue work, areas needing review, open issues, and the workspace checklist

For service companies

A live overview: today’s visits, overdue work and failed critical checks.

Move from scattered messages and end-of-shift guesswork to a shared operational view. Managers can focus attention on work that is late, incomplete or needs review.

  • Clear status across scheduled visits
  • Requirements tied to each service area
  • Exceptions surfaced without hiding failures

Client transparency

Every visit ends in a report you can send to the client.

A client-safe service report shows what was completed, area by area, with the evidence that supports it — including photos of anything found broken, reported the same visit. Share it as a link that needs no login.

Shareable proofLinks expire, can be revoked at any time, and every open is recorded in the audit log.
Client-safe by constructionInternal notes, staffing details and other clients never appear.
Plain-language statusCompletion and exceptions stay easy to read.
A shared MarkDuty service report opened without signing in, showing a completed visit with every area marked completed

Presence and evidence

Presence signals: QR check-in, optional location, linked photo evidence.

Presence checks and service evidence support confidence. MarkDuty keeps their context clear without claiming they prove more than they do.

QR context

Connect an authenticated team member’s scan with the permitted site, visit and time.

QR supports presence — it does not authenticate a person by itself.

Optional location signal

Request a location only at explicit verification points when a company enables it.

No continuous employee location tracking.

Linked evidence

Keep photos with the exact area they support — or the reported problem they document, like a broken fixture found mid-visit.

Client visibility remains controlled.

Security and privacy

How it is built: isolation enforced in the database.

Every tenant’s rows are separated with PostgreSQL row-level security, so isolation is enforced by the database itself, not only by application code. Changes are written to an append-only audit log, evidence photos are stripped of location metadata and stored privately behind short-lived links, and sign-in supports authenticator-app two-factor codes.

Protected accessEmail, password and optional authenticator app.
Tenant isolationData boundaries are enforced in application and database layers.
Role-aware visibilityPeople see only the work their role permits.
Hosted in NorwayThe application and its database run on servers in Norway.

Languages

Seven languages, chosen per person.

Cleaning and on-site service teams are rarely monolingual. Everyone picks their own language instead of the company picking for them — and it covers the whole product: the dashboard, the field app, the client portal and every account email.

  • English
  • Español
  • Українська
  • Русский
  • Norsk bokmål
  • Polski
  • Latviešu

Pricing

Priced per site. Never per cleaner.

Your team and your clients’ portal access are always free. Start with one client at no cost, and upgrade when you win the next one.

Free

€0

Your first client, fully managed.

  • 1 client
  • 3 sites
  • 5 areas per site
  • Unlimited cleaners
  • Client portal included
  • Evidence kept 30 days
Start free

Growth

€69/month

or $69 · NOK 800 per month

€55/month billed yearly.

  • 14-day free trial
  • 30 sites
  • Everything in Starter
Start with Growth

Scale

€149/month

or $149 · NOK 1,700 per month

€119/month billed yearly.

  • 14-day free trial
  • 75 sites
  • Everything in Growth
Start with Scale

Every paid plan starts with a free trial of 14 days. Pay in EUR, USD or NOK. Yearly billing saves 20%. No setup fee, no contract, cancel any time. Prices exclude VAT. Need more than 75 sites? Talk to us about enterprise.

Get started

Create your workspace and add your first site today.