FreeMaint
FeaturesPricing
AcademyFree maintenance coursesCommunityShared templates & maintenance Q&ADocsGuides & API referenceBlogPlaybooks & product updatesComparisonFreeMaint vs the alternativesChangelogWhat's new
AffiliatesEarn recurring commissionServicesPartners for setup & training
Contact
ENSign inSign up

Product

FeaturesPricing

Resources

AcademyCommunityDocsBlogComparisonChangelog

Partnership

AffiliatesServices

Account

ContactSign in
FreeMaint

Free your maintenance

Product

FeaturesPricingComparisonChangelogSign up

Resources

BlogDocumentationAcademyCommunityResearchSolutionsIndustriesFree templates

Company

AboutServicesAffiliatesContact

Legal

PrivacyTermsRefund PolicyExport Compliance
FreeMaint © 2026 · All rights reserved.GDPR & LGPD CompliantMobile app
Back to Documentation

FreeMaint CMMS

Settings & Configuration

Settings & Configuration

Configure company settings, modules, and preferences

Company Settings

Organization profile

Define your organization's identity.

Fields

  • Company Name
  • Logo
  • Email, Phone
  • Address
  • Website

Upload your logo — it appears in the header and reports.


Simple mode and Normal mode

Choose how much detail your whole team sees

FreeMaint has two workspace modes. Normal mode shows every field, tab and status. Simple mode keeps the essentials on screen, for teams that do not want the extra detail. It is the same product and the same data: only how much is shown changes, and you can switch back at any time.

New work order
Title, description, photos, asset, location, priority, assignee and due date are shown. Maintenance type, category, team and task list are under "More options".
Completing a work order
Root cause, failure codes, asset status and additional costs are under "More options", unless your company requires them.
Work order page
The Details, Files, Comments and History tabs are always shown. Any other tab appears as soon as it holds something; otherwise it is in the "More" menu at the end of the tabs. Share, team chat and Duplicate are in the "⋯" menu.
Statuses
Five groups instead of eight statuses: Open (open and scheduled), In Progress, On Hold, Completed (completed, validated and closed) and Cancelled. The Kanban board has four columns.
Work order list
Import, Print list, Export and Log past work are in the "⋯" menu next to "New work order".
Requests, assets, preventive plans and parts
Less-used fields are under "More options".
Navigation
Advanced modules (inspections, fleet, energy, projects, purchasing, documents…) are grouped in a "More" section at the bottom of the sidebar, and under More › Other modules in the mobile app. Same pages, same permissions.

What changes in Simple mode

New work order
Title, description, photos, asset, location, priority, assignee and due date are shown. Maintenance type, category, team and task list are under "More options".
Completing a work order
Root cause, failure codes, asset status and additional costs are under "More options", unless your company requires them.
Work order page
The Details, Files, Comments and History tabs are always shown. Any other tab appears as soon as it holds something; otherwise it is in the "More" menu at the end of the tabs. Share, team chat and Duplicate are in the "⋯" menu.
Statuses
Five groups instead of eight statuses: Open (open and scheduled), In Progress, On Hold, Completed (completed, validated and closed) and Cancelled. The Kanban board has four columns.
Work order list
Import, Print list, Export and Log past work are in the "⋯" menu next to "New work order".
Requests, assets, preventive plans and parts
Less-used fields are under "More options".
Navigation
Advanced modules (inspections, fleet, energy, projects, purchasing, documents…) are grouped in a "More" section at the bottom of the sidebar, and under More › Other modules in the mobile app. Same pages, same permissions.

Switching modes

  1. Open Company Settings › Company › General (/company-settings/general). Administrators can change the mode, and so can anyone whose role may configure the CMMS — a service partner you invited, for example. In Simple mode, an administrator can also get there by clicking the "Simple mode" badge at the top of the screen, or "Switch to Normal mode" at the top of Settings (/settings).
  2. In the "Workspace mode" card, choose Normal or Simple.
  3. Confirm. Every user of the company sees the new mode at their next page load (in the mobile app, the next time it opens).

In the mobile app, an administrator can also switch from Settings › Workspace mode.

New companies choose their mode while setting up their workspace. You can change it later at any time.

What does not change

  • No data is hidden for good or deleted: a field that holds a value, or that your company made required, always stays visible.
  • Roles, permissions and plans are the same in both modes. Simple mode is free on every plan.
  • Reports, exports, PDFs, the history and the API keep the exact status (the eight statuses).
  • Validate and Close remain buttons on the work order page.

Warning:

Simple mode does not use custom workflows (approval chains). If one is active, turn it off first in Settings › Workflows: its configuration is kept, and you can turn it back on after returning to Normal mode.


Announce a change to your team

A message in the Announcements bell, or a one-time dialog with screenshots

Team announcements let an administrator reach the people of the company inside FreeMaint: a message in the Announcements bell, a push notification on the mobile app and, for an important change, a dialog that opens once with screenshots and a button that leads to the right screen.

Create an announcement

  1. Open Company Settings → Announcements, then click "New".
  2. Write a title and a short text. You can add a button and the page it opens, for example /work-orders.
  3. Choose who sees it: Everyone, Administrators, Admins + managers, or a custom list of permissions.
  4. Turn on "Published" to send it now, or leave it as a draft.

Show it as a dialog with screenshots

Set "Display" to "Dialog at next visit + bell", then add up to 5 slides: one image each (PNG, JPEG or WebP, 5 MB maximum) and a short caption. "Preview" shows exactly what your team will see.

  • The dialog opens once per person, a few seconds after their next visit.
  • Never more than one dialog per session, and never on top of another message.
  • "Later" shows it again 3 days later; "Got it" closes it for good.
  • It stays readable afterwards in the Announcements bell on the web. The dialog also opens on the mobile app.

Important:

Keep the dialog for important changes. A team that receives one every week stops reading them.

Who can use it

  • The Business plan or higher
  • The permission "Manage Announcements" (given to the administrator role by default)

See who saw it

The announcement list shows, for each dialog, how many people saw it, clicked its button or postponed it.

A screenshot should show the screen, not your data: avoid names, phone numbers and customer information.


Customize the Work Order form

Hide optional fields

Hide optional Work Order fields your team doesn't use to keep the create and edit form clean. This is a Business plan feature.

Completion dialog

The same page controls what technicians see — and must fill in — when they press Mark Complete. Each section has a Hide checkbox and, where it makes sense, a Mandatory one. Anything you mark Mandatory is enforced in the mobile app and the API too, not just in the dialog. From the Kanban board or the list's quick Complete, the work order opens on this dialog whenever something is mandatory, and a bulk status change leaves those work orders as they are and tells you why.

  • Completion notes
  • Root cause
  • Failure codes
  • Additional costs
  • Asset status
  • Dictate completion (voice)
  • Category
  • Failure categories (corrective and emergency work orders only)

Fields you can hide

  • Task template
  • Category
  • Failure category
  • Maintenance type
  • Scheduling
  • Scheduling details (start date, duration) — the due date stays
  • External links
  • Vendor
  • Customer
  • Cost analytics

How to hide fields

  1. Open Settings → Work Order Form.
  2. Check the optional fields you want to hide.
  3. Click Save — the form updates for everyone in your company.

Reorder detail-page tabs

On the same Settings → Work Order Form page you can set the order the detail tabs appear in. Use the up and down arrows, then Save. A common use: move Custom above Signatures so your closure fields are filled in before the work order is signed. The Details tab always stays first, and the same order is used for the sections of the exported PDF.

Hide detail-page tabs

On the same Settings → Work Order Form page you can also hide tabs you don't use from the work order detail page. The change applies to everyone in your company.

  • Procedure & Tasks
  • LOTO / Lockout
  • Work Permits
  • Relations
  • Parts
  • Files
  • Time Tracking
  • Machine downtime
  • Additional Costs
  • Comments
  • Signatures
  • Custom
  • History

Additional costs, Asset status and Dictate completion can be hidden but never made mandatory: "no extra cost" and "no change" are valid answers, and dictation is an assistant rather than a field. A section your own workflow requires stays visible even if you hide it here — configuration can declutter the dialog, it can never trap someone in a work order they cannot close.

Core fields (title, description, priority, status, location, asset, assignment) stay visible and can't be hidden. Hidden fields keep their existing data — values are preserved, just not shown on the form.

The Details tab always stays visible and can't be hidden. Hidden tabs keep their existing data — it is only removed from view.


Customize the Asset form and asset page

Hide fields and tabs you do not use

The asset form carries every field a maintenance team could need, which is more than most teams use. Hide the optional ones to keep the create and edit form short. This is a Business plan feature.

Hiding a field never deletes anything. Values already recorded are kept, and un-hiding the field brings them straight back. If you later move to a smaller plan, your hidden fields stay hidden.

Name, Status, Location and Category are what makes an asset findable and classifiable, so they cannot be hidden.

Fields that stay visible

Fields you can hide

  • Description
  • Manufacturer
  • Model
  • Serial number
  • Barcode
  • Power
  • Area / Zone
  • Criticality
  • Asset type
  • Acquisition cost
  • Purchase date
  • Warranty expiration
  • Assigned users
  • Primary team
  • Parent asset
  • Customer
  • Operating schedule
  • External links

How to hide fields

  1. Open Settings → Asset Form.
  2. Check the optional fields you want to hide.
  3. Click Save — the form updates for everyone in your company.

Hiding tabs on the asset page

The same page has a second card, "Asset page tabs". Tick a tab to remove it from every asset page — Meters, Calibration, Bill of Materials and eleven others. Overview always stays. Note that this applies to the whole company, administrators included: there is no per-role tab visibility.


Customize the request form

Hide fields, rename labels, require a photo

Tailor the intervention request form — hide fields your requesters don't need, rename labels to match your wording, and require a photo. Hiding fields and renaming labels is a Business plan feature; requiring a photo is available on every plan.

Fields you can hide

  • Observation option ("Report an observation")
  • Priority
  • Description
  • Type / Category
  • Due date
  • Requester name
  • Requester email
  • Requester phone
  • Requester company

How to customize

  1. Open Settings → Intervention Request form.
  2. Under Hidden fields, check the fields to hide. Under Custom field labels, type your own wording.
  3. Click Save — the form updates everywhere, including the public QR-scan form.

Rename field labels

Give native fields your own wording — for example rename "Title" to "Request summary". Leave a label blank to keep the default. Labels show exactly as typed and are not translated.

Renaming priority & request-type options

On the Business plan you can rename the options shown in the Priority and Request type dropdowns — for example display 'Critical' as 'Emergency' or 'Low' as 'Routine'. Only the label your team sees changes; the underlying value stays the same, so SLA timers, escalation rules and reports keep working. These labels show as typed for everyone and are not translated.

Require a photo

Make at least one photo mandatory: open Settings → Intervention Request form, and under Required native fields check Photos. This works on every plan and applies to both the in-app and public QR forms.

Title is always visible and can't be hidden. Hiding the observation option turns every submission into a problem report. Customizations apply to new submissions; existing requests keep their data.


Work Schedule

Working days, shifts and holidays

The Work Schedule defines when your site operates. It drives a key behaviour: Preventive Maintenance and Procedure due dates automatically roll forward off your non-working days and holidays, so work never lands on a day nobody is there. Available on Business plans.

Assign a shift to a user

  1. Open the user from People → Users.
  2. In the Work shift card, pick a shift (or Non-Shift).
  3. Save.

Holidays

Add the dates your site does not operate. Mark a holiday as recurring to have it apply every year, or leave it as a one-off for a specific year.

Important:

Meter-based Preventive Maintenance is never affected: it is driven by readings, not calendar dates.

Shifts

Define your operational shifts with a label and start/end time. Overnight shifts (ending the next day) are supported. Assign each person to a shift from their user profile.

Holidays and days off show in red on the calendar — web and mobile — and in every date picker, with the holiday's name.

Due dates only move when a day is non-working — a date that already falls on a working day is never changed. If you have no Work Schedule configured, nothing changes.

Not the same as the Operating Schedule

The Work Schedule is about your people and site: working days, shifts and holidays, used to roll due dates and to drive the work order planner. The Operating Schedule (Company Settings → Operations, and on each asset form) is about your machines: how many hours per day and days per week equipment runs. It only feeds reliability analytics (MTBF and Availability) and never moves any dates.

Working days

Toggle the days of the week your site operates. Days you turn off are skipped when scheduling due dates.


Configurable Workflow Engine

Configure workflows for work orders, requests, and purchase orders

FreeMaint includes a powerful, configurable workflow engine that lets you define how work orders, intervention requests, and purchase orders move through your organization. Create custom approval processes, require specific fields before transitions, and automate notifications — all without coding.

Accessing Workflows

Navigate to Company Settings > Workflows. Select the entity type (Work Orders, Requests, Purchase Orders, Purchase Requisitions, Work Permits) to configure its workflow.

Configuring a Workflow

  1. Select trigger status (e.g., when WO moves to COMPLETED)
  2. Set required fields (work summary, photos, parts used, meter reading, etc.). A required meter reading only applies to assets that have a meter.
  3. Choose approver type: ROLE (e.g., Manager), USER, or CREATOR
  4. Configure notifications (email alerts on approval/rejection)
  5. Set next status on approval (e.g., move to VALIDATED)
  6. Your own custom fields can be required too — they appear in the same list, and the transition is blocked until they are filled
  7. Part pricing can be required too: block the transition while a part has no sale price or sells below cost (Business)
  8. Scope a step to where the work came from (Business): set "Applies to" to "Work orders raised from a request" or "Internal work orders". Steps sharing a status are ALL required, so this is how you give each origin its own approver — a requester-validates step for request-raised work, a supervisor-validates step for internal work. If your technicians report their findings as requests, add their teams to "Requests from these teams count as internal work" (sub-teams included): those requests then count as internal work.
  9. If you pick approver type ROLE or USER, you must name the role or the person. A step naming no role is not a restriction: everyone who can already approve passes it
  10. A step can require fields without naming an approver: choose "Anyone allowed to make this change". For example, a step on the On Hold status that requires "Hold Reason" makes everyone say why a work order is put on hold.
  11. Add a second (or third) approver by putting each one on a DIFFERENT status — for example a quality release on Completed, then a manager on Validated — and turn on "Require validation before closing a work order" in Company Settings › System so nobody skips the Validated step. Two steps on the SAME status must both be satisfied by the same person. Work orders generated by preventive maintenance follow this same workflow
  12. Limit a step to some assets (Business): in "Only for assets in these categories", pick one or more asset categories. The step then applies only to work orders whose asset is in those categories; other assets, and work orders without an asset, keep the standard flow
  13. Require a precise answer (Business): when a step requires a list or checkbox custom field, tick the values it must hold under “Required values” — for example Test result = Pass before validation. Any other answer blocks the step, and the work order says which values are accepted. To turn a result down, move the work order back to In progress instead
  14. The approvers of the next step are notified when a work order reaches the status they approve from (for example, a Validated-step approver when the work order is Completed), through the channels ticked on the step: in-app, e-mail and/or push

Simple vs. Visual Mode

Use Simple Mode for straightforward workflows with basic triggers and approvers. Switch to Visual Builder for complex multi-step processes with branching conditions using drag-and-drop flow diagrams.

Photo evidence at completion

When a step on Completed, Validated or Closed requires Photo Evidence, only a photo of the finished work counts: an “After” photo, or any photo added after the work order was started. The photos copied from the request are “Before” photos and do not count: the button stays available to whoever may complete or validate the work order, and its window asks for the missing “After” photo, which you can take right there. On the other statuses, any file still counts.

Without a configured workflow, the system behaves normally — all existing transitions continue to work unchanged.


Module Management

Enable/disable features

Control which modules are available.

Optional Modules

  • Preventive Maintenance
  • Purchase Orders
  • Calendar
  • Analytics
  • HSE
  • Customers
  • Task Templates
  • Purchase Requisitions
  • Continuous Improvement

Hiding the Level 1 Maintenance menu entry

"Level 1 Maintenance" shows operator checks under a shop-floor name; they are the same executions as Inspections. If your teams use Inspections directly, an administrator can turn the Level 1 Maintenance module off in Company Settings → Modules to hide the duplicate entry, on the web and in the mobile app. It is on by default and turning it off deletes nothing.

Managing

  1. Settings > Company Settings
  2. Find Modules section
  3. Toggle on/off
  4. Save — sidebar updates immediately

Start with core modules, enable others as needed.


Category Management

Customize classifications

Customize categories for work orders, assets, parts, and costs.

From the form you are filling in
Open the "Category" dropdown on any work order, asset, part, tool or PM form and click "+ Create new category" at the bottom. The category is created and selected immediately, without leaving the form.
From Company Settings
Go to Company Settings > Categories. Each entity type has its own tab, with "Add Category" plus edit and delete. This is also where you set a colour, an icon and a description.

Creating a Category

Categories are defined by your company, not by FreeMaint — the list is not fixed, and you never need to ask us to add one. Creating a category requires the "categories:create" permission, which the Administrator and Manager roles have by default; a role with read-only access sees the categories but no create option.

From the form you are filling in
Open the "Category" dropdown on any work order, asset, part, tool or PM form and click "+ Create new category" at the bottom. The category is created and selected immediately, without leaving the form.
From Company Settings
Go to Company Settings > Categories. Each entity type has its own tab, with "Add Category" plus edit and delete. This is also where you set a colour, an icon and a description.

Ordering categories

In Company Settings > Categories, the "Order" column has two arrows on each row. Use them to put the categories of a tab in the order you want: that order is used in the dropdowns and for the folders of the preventive maintenance list — for example "12 Months", "6 Months", "Monthly", "Weekly", longest interval first. Categories you never move are listed after the ordered ones, alphabetically. Reordering requires the "categories:update" permission. A preventive-maintenance folder can also be renamed straight from the Preventive maintenance list: the pencil next to the folder name opens the same window as here.

Routing requests by category

On a work order category, “Default responsible section for requests” sends every new request filed with this category, when the requester did not choose a section, to the team you pick. Leave it empty for no automatic routing.

Define categories matching your reporting needs.

Work Order
Preventive, Corrective, Emergency, Inspection
Asset
Production, HVAC, Electrical, etc.
Part
Mechanical, Electrical, Consumables
Cost
Contractor, Rental, Service, Transport

Category Types

Work Order
Preventive, Corrective, Emergency, Inspection
Asset
Production, HVAC, Electrical, etc.
Part
Mechanical, Electrical, Consumables
Cost
Contractor, Rental, Service, Transport

Language & Localization

Regional settings

Multi-language and regional configuration.

English (US) or English (UK)

English comes in two spellings: English (US) and English (UK) — « labour », « centre », « customise », dates written day/month. Each user picks one in Settings › Appearance › Language; printed documents follow it. It is not a company language: e-mails stay in US English.

18 Languages

  • English, French, Spanish, German
  • Portuguese, Italian, Turkish
  • Arabic, Polish

Number format

Numbers and amounts follow each user's language and the country your company has declared. In Spanish, a company in Panama reads 2,345.45 and a company in Spain reads 2.345,45. When a language has no convention of its own for that country, its usual format is kept.

Settings

  • Default language
  • Timezone
  • Currency
  • Date/time format

Each user can choose their own language: avatar menu › Settings › Appearance › Language (mobile app: Me › Settings › Preferences › Language). A new workspace starts in the language its creator signed up in.


Notification Settings

Company-wide rules: which events fire, on which channels, to which roles, and how to keep noise down

Notification Settings is the company-level control panel for which events emit notifications, on which channels, and to which audiences. It complements each user's personal notification preferences: company settings decide what is technically possible; each user can then narrow down further from their profile.

Where to find this page

Settings → Notifications. Only roles holding the notifications:settings permission can edit this page — typically ADMIN by default. Other roles see a read-only view that helps them understand what their company is sending.

  1. {"title":"Open the side menu","description":"Click Settings in the top navigation"}
  2. {"title":"Pick Notifications","description":"Side menu inside Settings"}
  3. {"title":"Browse by event","description":"Each row is one event — toggles per channel, audience selector"}
Start narrow
Subscribe only assignees + creators by default. Expand to roles only once teams ask for it.
One channel per event
Sending the same event on three channels at once feels noisy. Pick the most appropriate (push for urgency, email for digests, in-app for everything else).
Audit quarterly
Review which events fire most often and ask whether they still need to. Mute or downgrade frequent low-value events.
Prefer roles over named users
Subscribing by role survives staff turnover; subscribing by name breaks when someone leaves.

Best practices

Start narrow
Subscribe only assignees + creators by default. Expand to roles only once teams ask for it.
One channel per event
Sending the same event on three channels at once feels noisy. Pick the most appropriate (push for urgency, email for digests, in-app for everything else).
Audit quarterly
Review which events fire most often and ask whether they still need to. Mute or downgrade frequent low-value events.
Prefer roles over named users
Subscribing by role survives staff turnover; subscribing by name breaks when someone leaves.
In-app
Always reliable; appears in the bell. Use as your default.
Email
Routed through Postal (primary) with Brevo fallback; respects user language
Push
Mobile only; requires the user logged in on at least one device

Channels per event

Every event has three independent toggles — in-app, email, push. You can mix and match: for example, fire in-app + push for workOrder.assigned (the assignee needs to know immediately) but email-only for inventory.lowStock (the warehouse manager will see it in the morning batch).

In-app
Always reliable; appears in the bell. Use as your default.
Email
Routed through Postal (primary) with Brevo fallback; respects user language
Push
Mobile only; requires the user logged in on at least one device

Digest events

Some events have a companion daily digest row. Each digest is sent once a day — the overdue work orders digest at 7:00 AM in your company's time zone — and gathers everything that needs attention into a single message. Common digests: overdue work orders, low-stock summary, expired/expiring documents (Fleet). Turn off the per-event row and turn on the digest row to dramatically reduce inbox volume. Each recipient only finds the items their role's data visibility shows.

Email delivery setup

Outbound emails are sent from noreply@freemaint.com by default. Enterprise tenants can configure a custom from-address tied to their domain — the setup requires adding SPF, DKIM, and a return-path DNS record. Contact support for the DNS template specific to your domain.

Roles
Pick any role from the company's current role list, including custom roles. Renaming a role keeps your notification settings in sync automatically.
Assignee
Whoever the entity is assigned to (work order, request)
Creator
The user who created the entity
Section members
On “Request Created” only: the leader and every member of the request's responsible section who can open the request. Left unticked, only the section leader is notified.
Team leader
On inspection events (completed, verified, defect found, defect closed): the leaders of the inspected asset’s teams and of the inspection’s responsible team. Ticked by default on “Defect Found”. A team with no leader of its own is covered by the nearest leader above it on the org chart: one person, never the whole chain.
Only what they can open
A role recipient is told about an item only if their role can read it and their data visibility shows it — a technician limited to their own work is not told about another team's request. Someone who has not used FreeMaint for 7 days still finds role notifications in the bell, without push or e-mail.

Per-role audience selection

Each row carries an audience matrix split into two groups: people related to the item (Creator, Assignee) and your company's roles. The role pills show the actual roles defined in your company — including custom roles — so the list always matches Settings → Roles. The matrix is additive — selecting both MANAGER and Assignee means the assignee gets a copy even if they aren't a manager.

Roles
Pick any role from the company's current role list, including custom roles. Renaming a role keeps your notification settings in sync automatically.
Assignee
Whoever the entity is assigned to (work order, request)
Creator
The user who created the entity
Section members
On “Request Created” only: the leader and every member of the request's responsible section who can open the request. Left unticked, only the section leader is notified.
Team leader
On inspection events (completed, verified, defect found, defect closed): the leaders of the inspected asset’s teams and of the inspection’s responsible team. Ticked by default on “Defect Found”. A team with no leader of its own is covered by the nearest leader above it on the org chart: one person, never the whole chain.
Only what they can open
A role recipient is told about an item only if their role can read it and their data visibility shows it — a technician limited to their own work is not told about another team's request. Someone who has not used FreeMaint for 7 days still finds role notifications in the bell, without push or e-mail.

Quiet hours and digests

FreeMaint does not currently support a global quiet-hours window per tenant. Push notifications respect each user's device-level Do Not Disturb. For schedule-sensitive teams, pair the per-event row with the digest variant (e.g. workOrder.overdue → workOrder.overdue.summary) so the firehose becomes a single morning brief.

Only some statuses for work order status changes

In the Work Orders group, the “Status Changed” row has an extra line: “Only for these statuses”. Leave it empty and every status change notifies, as before. Select one or more statuses — for example Completed and Closed — and only a work order moving INTO one of them notifies anyone; the other changes stay quiet. Useful when each work order would otherwise send a notification for In Progress, Completed and Closed. The rule applies to the whole event, including the people set to be told on completion.

When you create a new tenant, FreeMaint seeds sensible defaults — most events on in-app + push, daily digests for overdue work orders. Tune from there rather than starting from a blank slate.


Security

Access control settings

Enterprise-grade security features.

Requiring it across the workspace

An administrator can recommend or require the app lock for everyone, under Company settings, Security. A phone with no screen lock at all is asked to set one and let through, never locked out — and the requirement is applied by the app, not verified by the server, so treat it as a policy you publish rather than a control you can prove.

Locking the mobile app

On the phone, FreeMaint can ask for your face, your fingerprint or your device passcode before it reopens. This protects a phone handed to a colleague or left on a bench — the session is already on the device either way. It is not a second sign-in: it never reaches our servers, and it never replaces the password you type to approve or sign something.

  1. In the mobile app, open Settings and turn on Unlock with Face ID or fingerprint.
  2. Choose how long an absence is tolerated before it asks again — immediately, 30 seconds or 5 minutes.
  3. Optionally turn on Sealed protection, which encrypts the stored session with your biometrics.

Features

  • JWT authentication with configurable expiration
  • Two-factor authentication (TOTP) — optional, or required company-wide
  • 140+ granular permissions
  • Multi-tenancy data isolation
  • OAuth (Google, Microsoft, Apple)
  • Sensitive data protection
  • Session management

Signing out after inactivity

An administrator can also close web sessions left idle in a browser tab, after a number of minutes you choose. Off by default. It runs in the browser, so it is a convenience for shared workstations — what actually limits a stolen session is the sign-in token's own expiry.

Require it across your organization

FreeMaint refuses to enable the policy until you have set up two-factor authentication on your own account, so you cannot lock yourself out first. Companies signing in through SSO are exempt: their identity provider supplies the second factor.

  1. Go to Company Settings, then Security.
  2. Choose who must use it: Optional, Administrators, or Everyone.
  3. Set how many days people have to set it up. During that window they keep signing in normally and see a reminder.
  4. Read the list of people affected shown on the page, then save.

Turn it on for your own account

  1. Open your profile and find the Two-factor authentication card.
  2. Click Enable, then scan the QR code with your authenticator app — or enter the key by hand if you cannot scan.
  3. Type the 6-digit code the app shows, and confirm.
  4. Save the 10 recovery codes before closing the screen.

Two-factor authentication (2FA)

FreeMaint supports app-based two-factor authentication (TOTP) with Google Authenticator, Microsoft Authenticator, Authy, 1Password or FreeOTP. It is included on every plan, including the free one — account security is never a paid feature.

Passkeys

A passkey lets you finish a sign-in with your face, your fingerprint or a security key instead of typing a 6-digit code. Your password is still asked first — a passkey replaces the second step, not the first. It is phishing-resistant: unlike a code, it cannot be read out over the phone to somebody pretending to be support.

  1. Open your profile and find the Passkeys card.
  2. Click Add a passkey, give it a name you will recognise, and follow your device's prompt.
  3. If this is your first second factor, save the recovery codes that appear — they are shown once.
  4. Next time you sign in, choose Use a passkey instead of typing a code.

Signing out of other devices

Changing your password signs you out everywhere else at once: every other phone, tablet and browser must sign in again with the new password, while the device you changed it on stays signed in. When an administrator resets someone's password or their two-factor authentication, that person is signed out of every device as well.

  1. Open your profile (in the mobile app: Settings).
  2. In the Session section (in the mobile app: Account), choose Sign out of all devices.
  3. Confirm. Every session ends immediately, this one included — sign in again with your password.

If someone loses both their phone and their recovery codes, an administrator opens them in People, Users and clicks Reset 2FA. Confirm who you are talking to first — it removes a second factor.

Review access quarterly. Deactivate departed members.

Lost a phone, or see activity you do not recognise? Change your password: every other device is signed out at once and stops receiving notifications. Sign out of all devices does the same without changing the password, and includes the device you are on.

Warning:

With Sealed protection on, adding or changing a face or fingerprint in your phone's own settings signs you out of FreeMaint once. That is deliberate: it is what stops a new fingerprint enrolled on your phone from opening your session.

Warning:

Each recovery code works once, and the set is displayed a single time. Without them, only FreeMaint support can restore access if you lose your phone. You can generate a fresh set at any time from the same card — the previous ones stop working immediately.

Warning:

Passkeys work on freemaint.com. If your workspace is served from your own domain, manage and use them on freemaint.com — a passkey is tied to the domain it was created on, and that is a rule of the standard, not a FreeMaint limitation.


Data Retention & GDPR

Privacy compliance

Manage data responsibly with retention policies and GDPR features.

Inactive workspaces

A workspace that nobody uses for six months — no sign-in, no use of an open session, no activity — and that has never been covered by a paid subscription is closed, then deleted. We always email its administrators first, and a single sign-in cancels everything.

  • After six months without use, the workspace administrators receive email notices 30, 14 and 7 days before closure.
  • Closure deletes nothing: the workspace is kept for 90 days, and signing in restores it exactly as it was.
  • A final notice is emailed to the administrators 7 days before permanent deletion.
  • Deletion permanently removes the workspace, its data and its uploaded files.
  • Workspaces with a paid subscription, now or in the past, are never closed for inactivity.
  • Deleted data, files included, also disappears from our backups within 90 days.

GDPR Features

  • Consent tracking
  • Data export for users
  • Right to deletion
  • Consent versioning
  • Audit trail

Ensure proper consent collection if operating in the EU.


Recycle Bin

Recover records deleted by mistake

Deleted work orders, requests, assets, parts, locations, vendors and preventive maintenance schedules are moved to the Recycle Bin instead of disappearing. You can put them back, with their linked records, for 30 days.

If you created a new record with the same name in the meantime, the restore is refused and explains why. Rename the newer record, then restore again.

If the name is already taken

Delete forever destroys the recovery copy immediately. This cannot be undone, so it is limited to administrators by default.

Delete forever

Restoring brings back the record and its direct links. It does not replay workflows, reverse stock movements or undo meter readings. One known gap: deleting a vehicle from Fleet with the cascade option removes its meters before the snapshot reaches them, so restoring that vehicle brings back the asset without its meter readings. Think of it as an undo button for the last 30 days, not as a backup.

What it does not do

In the mobile app, the screen of an asset, a location or a part has a "…" menu with "Delete", for people allowed to delete it. It needs a connection, and the record lands here, restorable for 30 days, exactly as when it is deleted on the website.

Deleting from the mobile app

Not every record type is in the bin. Contracts, purchase orders, customers, tools, meters, projects, teams, categories, procedures and calibration records are still deleted permanently and cannot be recovered here. Deleting one of those is final, so check before you confirm. We are extending the bin to more record types.

What is not covered yet

The Recycle Bin is available on every plan and is restricted to administrators by default. An administrator can grant access to any other role from Roles, under Recycle Bin.

Who can use it

Click Restore. The record comes back with its original reference number and its links: a restored asset gets its work orders and requests back, a restored vendor is re-attached to its purchase orders, a restored part recovers its stock history and its purchase order lines.

Restoring a record

Open Trash from the sidebar, under the analytics section. Each type of record has its own tab.

Where to find it

Records stay restorable for 30 days after deletion. The Restorable until column shows the exact date. After that the snapshot expires and the record can no longer be recovered.

How long you have


Wallboards (TV/screen display)

Show live work in the maintenance area

Generate a revocable read-only link that displays your active work orders and incoming requests on any TV or computer screen in the maintenance area. No account, no login — just open the URL in the browser. Available on the Business tier.

Choosing what the board shows

Under Settings → Wallboards → Columns, pick which columns appear and in which order. Each column is an independent filter, so the same work order can appear in several of them — a critical job that is also late shows under both Urgent and Overdue. You can give any column your own heading.

  • Incoming requests — requests waiting to be reviewed.
  • Active work orders — every open, scheduled, in-progress or paused job.
  • Urgent / Critical — critical work orders and emergency requests together, so nothing urgent falls off the board even if you hide the requests column.
  • Overdue — work orders past their due date. A job due today is not yet overdue.
  • Upcoming preventive maintenance — preventive plans falling due inside a window you choose (7 days by default, up to 90). Paused plans are left out.

When a column holds more cards than fit on the screen, its footer reads "+N more". On a phone, tablet or computer, click it to open the whole column as a scrolling list (up to 200 cards). On a TV nothing changes.

Security & privacy

  • The wallboard is strictly read-only — no actions can be triggered from the public URL.
  • By default, no personal data reaches the public page. An administrator can opt in to showing the requester and the assigned technician (Settings → Wallboards → Names on the cards); email addresses, phone numbers, costs and internal notes are never shown either way.
  • Revoke a link anytime from Settings → Wallboards. The public URL stops working immediately.
  • Each company is limited to 5 active wallboards; revoke an old one to create a new one.
  • FreeMaint stores only a fingerprint of the link, never the link itself: copy it when it is shown. If it is lost, revoke it and generate a new one.
  • Screen time is measured per link: Settings → Wallboards shows the hours on screen over the last 7 days and when a screen last opened it. No IP address, device or person is recorded.
  • A wallboard shows the whole company, so only someone who sees all company data can create a link. If its creator later loses that access or a read right, or leaves, the matching columns go empty.

Setting up a wallboard

  1. Open Company Settings → Wallboards
  2. Click "Generate link", enter a name (e.g. "Production floor TV")
  3. Copy the URL or scan the QR code shown — this is your only chance
  4. Paste the URL in the TV browser and pin/bookmark the tab
  5. The view auto-refreshes every 30 seconds

The board shows work orders that are open, scheduled, in progress or on hold — paused ones carry an "On Hold" label. Completed, closed, cancelled and deleted work orders drop off the board automatically.

Tip: if you don't have a smart TV, any laptop or mini-PC plugged into a screen works. Set the browser to kiosk mode for full-screen display.


Single sign-on (SSO)

Let users sign in with your company identity provider

Connect your SAML 2.0 or OpenID Connect identity provider (Okta, Microsoft Entra ID, Google Workspace, OneLogin, Ping…) so your team signs in with their corporate credentials. Available on the Enterprise plan. User accounts can be created automatically on first login (just-in-time provisioning).

Why domain verification?

A domain is only routed to your identity provider after you prove you own it via a DNS TXT record. This prevents anyone else from claiming your domain and is required before SSO discovery will work for your users.

How users sign in

On the sign-in page users enter their work email and click "Sign in with SSO". They are redirected to your identity provider and back into FreeMaint once authenticated — no FreeMaint password needed.

Login policy options

Just-in-time provisioning auto-creates a user (with the default role you choose) on their first successful SSO login. "Require SSO" blocks password login for users on a verified SSO domain — recommended once SSO is working, so corporate identity is the single source of truth (NIST 800-63).

FreeMaint never stores your IdP secrets: they are held by the dedicated, self-hosted identity broker. All SAML assertion validation and signature-wrapping defense are handled there.

Setting up SSO

  1. Open Company Settings → Single sign-on
  2. Choose your protocol (SAML 2.0 or OpenID Connect)
  3. Give your identity provider the values shown under "Values for your identity provider": for SAML the Entity ID and the ACS URL (or simply the metadata URL), for OIDC the redirect URI
  4. For SAML: paste your IdP metadata URL (or the metadata XML). For OIDC: enter the discovery URL, client ID and client secret
  5. In the Email domains section, add each domain your users sign in with (e.g. acme-corp.com)
  6. Publish the shown DNS TXT record for that domain, then click "Verify"
  7. Toggle "Enable SSO login" and click "Save configuration"

Slack, Teams & Zoho Cliq

Send FreeMaint events to a Slack, Teams or Zoho Cliq channel

Push work-order, request and low-stock notifications straight into a Slack, Microsoft Teams or Zoho Cliq channel. Available on the Enterprise plan. No code — paste an incoming webhook URL and pick the events.

Photos in the messages

Turn on Include photos on a channel to show up to 4 photos (newest first) in work order and request messages. Each photo is a link that works for 7 days for anyone who has it, so turn it on only for a private channel. It is off by default. Only JPG, PNG, GIF and WebP images are sent; documents and confidential HSE files never are. New work order and new request messages are sent 90 seconds after creation, so that the photos added right after are included.

Setting it up

  1. Slack: in Slack, create an Incoming Webhook for the target channel and copy its https://hooks.slack.com/… URL.
  2. Teams: in the channel, use Workflows → “Post to a channel when a webhook request is received” and copy the generated URL (the legacy Office 365 connector is retired by Microsoft).
  3. Zoho Cliq: in the channel, open Integrations → Incoming Webhooks, create one and copy its https://cliq.zoho.com/api/v2/channelsbyname/…/message?zapikey=… URL.
  4. Open Company Settings → Integrations, choose Slack, Teams or Zoho Cliq, paste the URL, name it and select the events.
  5. Click Send test to confirm the channel receives the message.

Custom branding & white-label

Apply your logo, brand color and name across your workspace

Make FreeMaint look like your own product. Upload your logo, set a primary brand color and a brand name shown across the app and your public QR pages. Available on the Enterprise plan.

Your own web address

Enterprise plans can serve FreeMaint from your own hostname, for example cmms.yourcompany.com. You set it up on this same page, at the bottom: enter the hostname, add the CNAME record we show you, then click "Verify DNS". Full guide: Settings & Configuration > Custom domain.

A branded sign-in link, without buying a domain

You do not need a domain to give your team a branded sign-in page. Set a login slug on this page and share https://freemaint.com/auth/signin?org=<your-slug> — it shows your logo, colours and welcome message before anyone signs in.

Setting up your branding

  1. Open Company Settings → Branding
  2. Upload your company logo (PNG, JPG, SVG or WebP, up to 2 MB)
  3. Pick a primary color with the color picker, or paste a CSS HSL value like "224 76% 53%"
  4. Optionally set a brand name to replace your legal company name in the app
  5. Click "Save branding" — the workspace re-themes instantly

Availability

Custom branding and white-label are part of the Enterprise plan. The company logo upload is available on every plan; brand color, brand name and hiding the attribution require Enterprise.

Hiding the FreeMaint attribution

Enable "Hide Powered by FreeMaint" to remove the FreeMaint attribution from the app and your public QR landing pages — useful for resellers and fully white-labelled deployments.


Custom domain

Serve FreeMaint from your own address, for example cmms.yourcompany.com

On the Enterprise plan your team can sign in at your own web address instead of freemaint.com. You set this up yourself in three steps, and you can check the DNS without waiting for us.

The DNS record

The record points your subdomain at FreeMaint. It always looks the same: your hostname, type CNAME, value www.freemaint.com. Use a TTL of 3600 (one hour). If your provider cannot create a CNAME at that name, an A record to our address works too — ask us for it. This is a new subdomain: it does not affect your main website.

Sign in with Google

"Continue with Google" works on your domain. Google shows FreeMaint on its own screen, then brings people back to your address. Only people who already belong to your company can sign in this way: signing up with Google is not offered on your domain, so new colleagues join through an invitation.

What still points to freemaint.com

  • Links inside automated emails — invitations, password resets, email verification
  • QR codes printed for assets and locations
  • Passkey and biometric sign-in are not offered on a custom domain; email and password sign-in works normally

Setting up your domain

  1. Open Company Settings > Branding and scroll to "Custom domain"
  2. Enter the hostname you want, for example cmms.yourcompany.com, and click "Save branding"
  3. Copy the CNAME record the page now shows and add it at your DNS provider
  4. Come back and click "Verify DNS" — we check the record and issue the SSL certificate

You do not need to buy a domain to get a branded sign-in page. Company Settings > Branding also gives you a login link like freemaint.com/auth/signin?org=<your-slug> that already shows your logo and colours.

Verifying and going live

DNS changes can take up to an hour to spread. "Verify DNS" is safe to click as often as you like: it either confirms the record or tells you exactly what is still missing. Until a domain is verified it is never served, so a hostname you typed by mistake cannot expose anything. Once verified, the certificate is issued automatically and renews on its own.

Warning:

If your DNS is behind Cloudflare, the record must be set to "DNS only" (grey cloud, not orange). A proxied record points at Cloudflare rather than at us, so verification fails and the SSL certificate can never be issued. This is by far the most common reason a custom domain does not come up.


FreeMaint CMMS

© 2026 FreeMaint. All rights reserved.