Start a CMMS Access Audit in an Afternoon, For Maintenance Managers

An access audit in a CMMS verifies who could act on assets and provides time-stamped evidence that those actions were authorised and traceable. Done well, it produces accountable, least-privilege access backed by logs that stand up to scrutiny from regulators or auditors, whether the framework in question is GDPR or 21 CFR Part 11.


TL;DR:

  • An effective CMMS access audit should pull logs from multiple sources, including authentication, authorization, role changes, and API calls, spanning systems like identity providers and databases.
  • All logs must have synchronized timestamps, be tamper-evident, and logically linked to form a clear narrative for regulators and auditors.
  • Key controls to review include role definitions, privilege creep, emergency accounts, and segregation of duties, with most checks manageable by maintenance managers.
  • Audits should be scoped around specific objectives, systems, and timeframes, and performed through a repeatable process that includes log collection, baseline recreation, anomaly detection, and re-verification.
  • Common risks include orphan accounts, overprivileged users, incomplete logs, and unreviewed emergency access, which can be mitigated through automation and regular review cycles.

Fullyops
fullyops.com
Bring Maintenance Access Into View
Fullyops connects work orders, interventions, hours, reporting, inventory and integrations for a clearer view of maintenance operations.

Request a Demo

Table of Contents

What an access audit records and why audit trails matter

An access audit in a CMMS is only as good as the evidence it collects. Before analysis starts, we need a clear picture of which events matter and where they live. A maintenance platform generates far more access-relevant data than most teams realise: login attempts, permission changes, work order approvals, and every API call that touches asset or inventory records.

The events worth collecting include:

  • Authentication events: successful and failed logins, password resets and multi-factor challenges.
  • Authorisation events: role assignments, permission grants and access revocations.
  • Role and group changes: who added or removed a user from a role, and when.
  • API and integration calls: requests made through service accounts or third-party connectors.

These events rarely sit in one place. The CMMS application itself holds an internal audit trail, but a single sign-on provider or identity management system adds its own authentication logs, the underlying database may log direct queries, and an API gateway records calls that bypass the user interface entirely. Pulling from all four sources, rather than trusting the application log alone, closes gaps that a partial review would miss.

What makes these logs useful as evidence, rather than just noise, comes down to three properties. Timestamps must be accurate and synchronised across systems, so that a sequence of events can be reconstructed without ambiguity. Entries need to be immutable or at least tamper-evident, so nobody can quietly edit a record after the fact. And events should chain together logically: a role change should be traceable to the approval that authorised it, and a work order closure should be traceable to the technician who performed it. Without that chain, an audit trail is a list of facts with no narrative, and narratives are what auditors and investigators actually need.

Core access controls to review: RBAC, least privilege and SoD

Reviewing a CMMS for access risk means checking specific controls, not just skimming a user list. Four areas consistently surface the most meaningful findings, and each deserves its own pass.

  1. Role definitions and task mapping. Pull every role configured in the system and compare it against the tasks that role actually needs to perform. A “technician” role that can approve its own purchase orders has drifted from its intended scope, and that drift is usually invisible until someone checks.

  2. Least privilege verification. Look for accounts holding permissions beyond what their job function requires, a pattern often called privilege creep. It accumulates quietly: a technician promoted to shift lead keeps their old permissions and gains new ones, and nobody ever removes the old set. Our guide to roles and permissions for maintenance teams covers how to structure access so creep is easier to spot early.

  3. Emergency access controls. Break-glass accounts, used to bypass normal approval during an outage or safety event, need a documented trigger, a time limit and a mandatory post-event review. An emergency account with no expiry date is a standing risk disguised as a safety feature.

  4. Segregation of duties (SoD) testing. In maintenance workflows, the classic conflict is one person able to raise, approve and close the same work order. That combination removes the independent check that catches errors or misuse, and it is one of the first things a compliance reviewer will test.

Pro Tip: Run the SoD check before the privilege check: a single conflicted account often explains several smaller findings at once.

Checking these controls does not require a dedicated security team. A maintenance manager with export access to the user list and the role matrix can run the first three checks in an afternoon; the fourth needs a short conversation with whoever owns the approval workflow, since SoD conflicts are often a process design question as much as a technical one.

Preparing and scoping the audit

A rushed audit produces findings nobody acts on. Scoping it properly first, even briefly, is what turns the exercise into something a manager or auditor can actually use.

Start with the objective. Are we confirming compliance ahead of an external review, investigating a specific incident, or running a routine annual check? Each answer changes how deep the review needs to go and how the results get reported.

A short scoping note should cover:

  • Objective and success criteria: what the audit needs to prove, and what “pass” looks like.
  • Systems in scope: the CMMS core, any ERP integration, the identity provider, and API connections that touch asset or permission data.
  • Timeframe and sampling: a retrospective window (commonly 90 or 180 days) plus a plan for ongoing monitoring afterwards.
  • Stakeholders and ownership: who pulls the logs, who reviews findings, who signs off on remediation, and who holds the evidence afterwards.

Systems in scope deserve particular attention, because a CMMS audit that ignores its integrations is incomplete by definition. If the platform links to an ERP for purchasing, or to an identity provider for single sign-on, those systems hold access events that the CMMS itself never sees. Our maintenance compliance checklist is a useful starting point for building this scope document before the technical work begins.

Stakeholders matter as much as systems. A typical audit needs someone from maintenance operations who understands which roles should exist, someone from IT or security who can pull logs and interpret authentication data, and a named owner who takes responsibility for remediation once findings are confirmed. Without that last role, audits tend to produce a report that sits unread.

Audit stakeholders connected to remediation actions

Step-by-step audit procedure: collect, analyse, verify, report

Once the scope is set, the audit itself follows a repeatable sequence. The order matters: skipping the baseline step before analysis is the most common reason audits produce confused or contested findings.

  1. Export and normalise logs from every system in scope: the CMMS audit trail, identity provider logs, database logs if accessible, and API gateway records. Convert timestamps to a single timezone and format before anything else.
  2. Recreate the baseline: build a current list of expected roles, who should hold them, and which accounts are meant to be active. This baseline is the reference point every anomaly gets measured against.
  3. Detect anomalies: compare actual access against the baseline, flagging orphan accounts (active but tied to nobody current), role mismatches, and permissions that exceed the role definition.
  4. Test SoD scenarios: pick a sample of completed work orders and confirm that raise, approve and close actions were performed by different people, or that any exception was documented and authorised.
  5. Build evidence bundles: package the relevant logs, screenshots and approval records for each finding, with hashes or checksums where tamper evidence is required, and assign each bundle a remediation owner and deadline.
  6. Re-test and document closure: once remediation is complete, re-check the specific control that failed and record the outcome, closing the loop with a dated entry rather than a verbal confirmation.

This sequence produces something a reviewer can actually assess. Practical audits rarely rely on technical logs alone; pairing them with governance artefacts such as deprovisioning tickets, HR exit records and approval emails creates a chain of evidence that holds up even when a single log source has gaps.

Stage Primary output Typical owner
Collect Normalised log export from all systems in scope IT or compliance officer
Analyse Baseline comparison and anomaly list Maintenance manager with IT support
Verify SoD test results and confirmed findings Compliance officer
Report Evidence bundles with assigned remediation tasks Audit owner

Our guide to reviewing permissions and access logs walks through this kind of process in more operational detail, including how to structure the review around existing field service workflows rather than treating it as a separate project.

Common findings, risk impact and remediation priorities

Most CMMS access audits surface a similar shortlist of issues, and triaging them correctly is what separates a useful audit from a pile of unactioned tickets.

  • Orphan accounts: credentials still active for people who left the company or changed roles months ago. These carry high risk because nobody is monitoring their use, and remediation (disabling the account) is usually immediate and low effort.
  • Overprivileged accounts: users holding permissions beyond their current job, often from accumulated role changes. Risk depends on what the excess permission allows; approval rights on financial or safety-critical work orders rank highest.
  • Missing or incomplete logs: gaps in the audit trail for a system or time period, which undermine the evidence base for every other finding in that window.
  • Unreviewed emergency access: break-glass accounts used without a documented post-event review, leaving no record of why the bypass was necessary.

A simple way to prioritise is impact multiplied by likelihood: an orphan account with no activity in six months is lower urgency than one that logged in last week. Set remediation service levels accordingly, for example 48 hours for active orphan accounts, two weeks for role clean-up, and immediate action for any unreviewed emergency access. Automating role templates and periodic access reviews, rather than relying on annual manual checks, is the most effective way to stop these findings recurring.

Regulatory and data-protection considerations

Access logs are personal data in most cases, since they tie actions to identifiable individuals, which means data protection law applies to how we collect and store them, not just to the audit itself.

Regulatory and data-protection considerations — overview diagram

Under GDPR, processing access logs requires a lawful basis, and the principle of data minimisation means retaining only what the stated purpose justifies. The regulation does not set a fixed retention period for audit logs; that figure needs to come from an internal retention policy backed by a documented lawful basis, not from habit or an industry rumour.

For regulated manufacturers, 21 CFR Part 11 guidance adds a further layer: audit trails covering electronic records must be secure, computer-generated and time-stamped, since the integrity of those records underpins trust in the data itself.

Audit trails must be secure, computer-generated, time-stamped and able to support the accuracy and reliability of the electronic record.

The practical note here is simple: these frameworks describe principles, not a ready-made retention schedule for every CMMS deployment. Confirm the specifics with legal or compliance counsel before setting policy, and keep primary sources, the regulation text and any applicable guidance, on file alongside the retention policy itself.

How Fullyops supports access audits and ongoing control

Running an audit by hand is possible, but a platform built with access control in mind removes most of the manual export and reconciliation work. We believe that role structure and audit evidence should come from the same system that runs daily maintenance work, not a bolted-on add-on.

  • Role templates that map directly to maintenance job functions, making the baseline comparison step faster to run.
  • Audit export tools that pull login events, role changes and work order actions into a single, time-stamped record.
  • API and identity provider integrations that bring authentication data into the same evidence set as application activity.

For teams migrating from spreadsheets or an older system, a pilot can import existing data and role structures, enabling production of the first evidence bundle early in the process rather than after months of manual clean-up. Our field service management guide covers how these processes connect to day-to-day technician workflows.

Balancing security and operational agility

The teams that handle access control best are the ones where maintenance and IT stop treating each other as obstacles. Security policy written without input from the people raising work orders every day tends to get worked around, quietly and persistently.

My own rule for this work is short: audit, fix, automate. Find the problem with evidence, fix the specific account or role, then automate the check so it does not need discovering again next year. Start with a small pilot on one site or one system rather than a company-wide rollout, and treat remediation as iterative rather than a single finished project.

— Pedro

Run your next access audit with Fullyops

Auditing access across a CMMS, an identity provider and a handful of integrations by hand takes time most maintenance teams do not have spare. We built Fullyops so that role management, audit export and work order history live in one place, which cuts the manual reconciliation that normally eats the first week of an audit.

  • Role-based permissions structured around maintenance job functions rather than generic admin tiers.
  • Exportable audit trails covering logins, role changes and work order actions in one time-stamped record.
  • Integrations with identity providers and ERP systems help consolidate authentication data with application activity.
  • Plans across Basic, Professional and Advanced tiers, scaled to team size and feature needs.

If an audit is on the calendar, or overdue, see the Fullyops platform and get in touch to arrange a demo or a pilot import of your existing data.

FAQ

What does a CMMS access audit actually check?

A CMMS access audit checks who can log in, what each role is permitted to do, and whether past actions on work orders and assets were authorised and traceable. It typically reviews authentication logs, role assignments and segregation of duties across raise, approve and close actions on work orders.

How often should we audit CMMS access?

There is no single fixed interval that fits every organisation, but a common pattern is a full retrospective review every 6 months, supported by continuous monitoring for high-risk events like role changes or emergency access use in between. Regulated manufacturers subject to 21 CFR Part 11 often review more frequently given the audit-trail expectations the guidance describes.

How long should we keep CMMS access logs?

GDPR does not set one retention period for every case; the correct duration depends on the lawful basis and purpose documented in an internal retention policy. A defensible approach keeps enough history to cover at least one full audit cycle while applying data minimisation to anything beyond that need.

What is segregation of duties in a maintenance context?

Segregation of duties means no single person can raise, approve and close the same work order without an independent check. It is one of the first controls reviewers test because a conflict here can hide errors or misuse that would otherwise go unnoticed.

Can Fullyops help automate access audits?

Fullyops provides role templates mapped to maintenance job functions along with exportable audit trails covering logins, role changes and work order activity, which reduces the manual work of building an audit baseline. Teams can start with a 30 to 60 day pilot that imports existing data to produce an initial evidence bundle.

Sources

Enhance Your Operations and Maximize Efficiency with FullyOps