Product

Resources

Case Studies

Careers

Log In

Book a demo
Book a demo

Log In

Log in

Book a demo

How to automate access requests with a full audit trail

To automate access requests with a full audit trail, the workflow must tie provisioning decisions to your identity provider as the source of truth, hard-code approval logic at build time, and log every step of the access lifecycle in a structured, exportable format. Most articles about access automation describe the happy path. The audit trail question is what happens in the parts those articles skip.


Access request automation reduces ticket volume and approval delays. But for IT teams managing SOC 2, ISO 27001, or GDPR requirements, the measure of a successful implementation is not how much faster requests get approved. It is whether the system produces an audit trail that a compliance reviewer can actually use: who requested what, which policy governed the decision, who approved it, when access was provisioned, and when it was revoked, all in a structured, exportable format.

What an auditable access request workflow actually needs


Auditability is not a feature you bolt onto access automation. It is a property of the architecture. Three things determine whether the audit trail is real or nominal.


The identity provider must be the source of truth, not the AI. Access requests should be evaluated against live data from your IdP, who the person is, what group they belong to, what policies apply to their role, not against what the AI infers from the conversation. When the AI interprets who should get access to what based on the content of a message, the decision is probabilistic. When the system evaluates the request against explicit access policies tied to IdP attributes, the decision is traceable: here is the policy, here is the requester's attribute, here is the outcome.


Approval logic must be encoded in the workflow, not interpreted at request time. The difference matters for audits. If a workflow has a hard-coded approval gate, requiring manager approval for production access, requiring security team sign-off for admin roles, the audit trail shows exactly which approval was required, who provided it, and when. If the AI decided at runtime that this particular request needed approval, the audit trail shows a decision, but not a policy it was derived from.


Provisioning and deprovisioning must both be logged. An access log that captures grants but not revocations is incomplete for SOC 2. Temporary access that expires without automatic deprovisioning is access that may still be active when your auditor asks. Automatic revocation, tied to the original access duration and logged with the same structure as the grant, closes the lifecycle.

How Serval structures access request automation


Employees submit access requests through Serval's Help Desk Agent in Slack or Microsoft Teams, or by browsing the access catalog at app.serval.com. Serval manages the complete access request lifecycle from that point: request, eligibility check, approval, provisioning, active access, automatic revocation, and log, all within one system.


Access policies define the rules for each role. When you configure an application in Serval, you define access policies that specify which roles can be requested, what approval is required, what duration limits apply, and whether a business justification is required. These policies are configured at setup time, not interpreted at runtime. When a request arrives, the workflow evaluates it against the policy, not against what the AI thinks should happen.


Approval procedures are hard-coded into the workflow. Serval supports individual approvers, group approvals, manager approvals, multi-step sequential chains, and automated approval logic based on business rules. These are configured at build time. At runtime, the workflow enforces them the same way for every request. The audit trail shows: which approval procedure applied, who was asked to approve, what they decided, and when.


Provisioning happens via your existing IdP infrastructure. Serval integrates with your identity provider and applications. When access is approved, Serval provisions through the method you configured: adding the user to an IdP group, calling the application API directly, running a custom workflow, or assigning a manual task. The provisioning method is recorded in the audit log.


Automatic deprovisioning closes the access lifecycle. Every JIT access grant in Serval includes a configured duration. When that duration expires, Serval removes access using the same provisioning method that granted it, without a human needing to remember. The revocation is logged with a timestamp and reason.

What the audit trail contains


Serval's access logs capture the complete lifecycle at the role level and the organization level.


Role-level logs show: every user who received access to a specific role, including current and historical access; when access was granted and revoked; who approved each request; access start and end dates; and access status (active, expired, or revoked).


The detailed export for compliance adds: approval chain details (who approved and when); policy name and access duration as configured; justification provided by the requester; and revocation reason (expired, manually revoked, or offboarded).


Organization-wide exports pull all access and ticket data for the full period, exportable as CSV for analysis or direct submission as audit evidence.


For SOC 2, the relevant demonstration is that access was reviewed regularly, access was granted based on policies, temporary access was automatically revoked, and a historical record of every access grant and revocation exists. Serval's log structure maps directly to these requirements.

What happens when access automation ignores the IdP


The gap in access automation that does not treat the IdP as source of truth is consistency. When the policy lives in the AI's interpretation rather than in a configured access profile, two identical requests can produce different outcomes depending on how the AI reasons about them on a given day. That inconsistency is visible in audits.


The same inconsistency applies to approval logic. If the system decides at runtime which approval is required for a given request, the audit trail contains the outcome (approved or denied) but not the rule that governed the decision. Auditors want to see the rule, not just the outcome. The rule is what they are verifying you have consistently applied.


Access policies in Serval are explicit configuration, not AI inference. The policy specifies: this role requires manager approval, maximum duration of 24 hours, justification required. That configuration is fixed. The audit trail references it by name for every request it governs.

Best practices for auditable access automation


Map your roles before automating. Serval integrates with your IdP to import existing roles, groups, and policies. Before building access workflows, understand which roles carry elevated risk, admin roles, production access, financial systems, and configure those with more restrictive policies and tighter approval chains.


Use time-bound access for sensitive roles. JIT access with automatic revocation is the right model for production and admin roles. Serval's access policies support configurable duration limits. Set them conservatively for elevated roles and rely on the extension workflow for cases where access genuinely needs more time.


Build automated review workflows for recurring compliance evidence. Serval's Automation Agent supports scheduled workflows. A weekly automated export of admin access, sent to the security team, requires no manual action and ensures you are never scrambling for compliance evidence at audit time.


Review the access log monthly, not just at audit time. Trends in access, roles requested frequently, access extended repeatedly, access granted to users who already have similar permissions, reveal opportunities to tighten policies before they become findings.

Frequently asked questions

What should an access request audit trail contain for SOC 2?


A SOC 2-ready access request audit trail should include: who requested access and when; which role or application was requested; what policy governed the request; who approved the request and when; how access was provisioned; when access was revoked and why (expired, manually revoked, or offboarded); and the justification the requester provided. Serval's access log exports include all of these fields at the role level, plus organization-wide exports for broader audits.

Which platforms automatically revoke access and log the revocation?


Serval manages automatic deprovisioning as part of the JIT access lifecycle. Every access grant includes a configured duration. When that duration expires, Serval removes access and logs the revocation with a timestamp and reason. The revocation record is structured the same as the grant record and appears in the same audit log, giving compliance teams a complete view of the full access lifecycle.

How do you enforce least-privilege access through automation?


Enforcing least privilege through automation requires access policies that specify exactly which roles can be requested by which users, under which conditions, for how long, and with what approval. Serval's access profiles control eligibility, who can request access to a given application or role, and access policies define the rules for each role. Together, they ensure that requests outside the defined scope are not processed, and that approved access is time-bounded rather than permanent.

What is just-in-time access and how does it support compliance?


Just-in-time access means access is granted for a specific duration tied to a specific need and automatically revoked when that duration expires. It supports compliance by minimizing standing access, the condition where users retain permissions they no longer need for their current role. JIT access with automatic deprovisioning demonstrates to auditors that access is actively managed and not accumulated over time. Together AI uses Serval to automate 95% of just-in-time access requests, with full audit trails for each grant and revocation.

View More

What will you build?

Book a demo

What will you build?

Book a demo

What will you build?

Book a demo