<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Securends Team, Author at SecurEnds</title>
	<atom:link href="https://www.securends.com/blog/author/teamseo/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.securends.com/blog/author/teamseo/</link>
	<description>SecurEnds - User Access / Entitlement Reviews, Identity Access Management, Cloud Access Management, Identity Governance, IGA, IAM</description>
	<lastBuildDate>Thu, 17 Sep 2026 11:36:38 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.securends.com/wp-content/uploads/2022/02/cropped-se-favicon-new-32x32.png</url>
	<title>Securends Team, Author at SecurEnds</title>
	<link>https://www.securends.com/blog/author/teamseo/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>HRIS-Driven Access Automation: Turning Workforce Events Into Access Changes</title>
		<link>https://www.securends.com/blog/hr-driven-provisioning/</link>
					<comments>https://www.securends.com/blog/hr-driven-provisioning/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 17 Sep 2026 11:10:52 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27112</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/hr-driven-provisioning/">HRIS-Driven Access Automation: Turning Workforce Events Into Access Changes</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2c69c54d" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c69d33e" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2c69d61c" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c69d7f6" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2c69d9fe" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c69dbca" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2c69ee46" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2c69f2b7" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c69f705" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2c6a1cbf" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2c6a20a3">
			<div class="image"><img fetchpriority="high" decoding="async"  class="ll-image unload" alt="Why Non-Human Identities Need Identity Governance" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789644990422 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">HR driven provisioning uses authoritative workforce events to trigger identity and access changes.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A new hire can trigger account creation and baseline access. A transfer should trigger both new access and removal of obsolete permissions.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Termination workflows should remove access promptly across systems in scope.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Do not automate directly from unreliable HR attributes. Define which fields can safely drive access first.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Fulfillment and reconciliation matter. A completed workflow should prove that the target application&#8217;s access state changed.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">SecurEnds supports identity lifecycle workflows, attribute-based identity profiles, provisioning/deprovisioning, and SCIM/REST-based fulfillment for supported applications.</span></li>
</ul>
<h2><b>HR Updated the Employee&#8217;s Department on Monday. Their Access Still Reflects Friday.</b></h2>
<p><span style="font-weight: 400;">An employee moves from Accounts Payable to Procurement.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">HR updates the department, manager, and job title immediately.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The employee receives new procurement permissions by Tuesday.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Their old finance permissions remain active.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Nobody made an obviously incorrect decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The problem is that the workforce event and the access process were disconnected.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">HR knew the employee changed roles. IAM did not automatically turn that change into a complete access decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is the problem </span><b>HR driven provisioning</b><span style="font-weight: 400;"> is designed to address.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Instead of waiting for managers, service-desk tickets, spreadsheets, or administrators to translate workforce changes into account changes, the HR system can act as an authoritative trigger.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">But automation should do more than add access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A mature workflow should determine what the employee should gain, what they should lose, how the changes will be fulfilled, and whether the target systems actually reflect the new state.</span></p>
<h2><b>What Is HR Driven Provisioning?</b></h2>
<p><span style="font-weight: 400;">HR driven provisioning is the use of workforce data and lifecycle events from an HR system to create, update, or disable digital identities and access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The HRIS becomes an authoritative source for information such as:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">employment status</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">department</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">job title</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manager</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">location</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">worker type</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">hire date</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">transfer date</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">termination date</span></li>
</ul>
<p><span style="font-weight: 400;">Microsoft describes HR-driven provisioning similarly: the HR system acts as the source of authority for employee identities, with workforce changes triggering downstream identity lifecycle processes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A useful enterprise model is:</span><span style="font-weight: 400;"><br />
</span><b>HR event → identity update → access policy → approval if needed → fulfillment → reconciliation → evidence</b><b><br />
</b><span style="font-weight: 400;">The important point is that HR does not decide every entitlement.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">HR provides trusted workforce context.</span><span style="font-weight: 400;"><br />
</span><a href="https://www.securends.com/blog/identity-governance-and-administration-iga/"><span style="font-weight: 400;">Identity governance</span></a><span style="font-weight: 400;"> determines what that context should mean for access.</span></p>
<h1><b>Which HR Events Should Trigger Access Changes?</b></h1>
<h2><b>1. New Hire: Create the Identity and Baseline Access</b></h2>
<p><span style="font-weight: 400;">A new employee should not require a long chain of tickets before they can work.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">When HR creates the employee record, the lifecycle process can use approved attributes to determine:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">identity creation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">directory account</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">standard applications</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">department access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">role-specific permissions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">location-specific resources</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manager relationship</span></li>
</ul>
<p><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Department:</b><span style="font-weight: 400;"> Finance</span><span style="font-weight: 400;"><br />
</span><b>Role:</b><span style="font-weight: 400;"> Financial Analyst</span><span style="font-weight: 400;"><br />
</span><b>Location:</b><span style="font-weight: 400;"> Atlanta</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Those attributes could map the employee to an approved baseline access profile.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Microsoft&#8217;s HR provisioning guidance identifies new-hire automation as a core use case, including automatically creating user identities after the employee enters the HR system.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217;</span><a href="https://www.securends.com/identity-lifecycle-management/"> <span style="font-weight: 400;">Identity Lifecycle Management</span></a><span style="font-weight: 400;"> offering supports attribute-based identity profiles using characteristics such as title, location, and department, followed by role-based provisioning.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The objective is not to grant everything automatically.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is to automate predictable, approved access while routing unusual access through governance.</span></p>
<h1><b>2. Mover: Recalculate Access Instead of Only Adding More</b></h1>
<p><span style="font-weight: 400;">Transfers are where many lifecycle programs become weak.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An employee moves from Sales Operations to Finance.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The new role requires five finance entitlements.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A simple workflow grants all five.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">But what happens to the old CRM administration, sales reporting, and export permissions?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If nothing removes them, access accumulates.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is</span><a href="https://www.securends.com/blog/privilege-creep-prevention/"> <span style="font-weight: 400;">privilege creep</span></a><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A mover workflow should evaluate:</span><span style="font-weight: 400;"><br />
</span><b>What access should be added?</b><b><br />
</b><span style="font-weight: 400;">and</span><span style="font-weight: 400;"><br />
</span><b>What access no longer belongs?</b><b><br />
</b><span style="font-weight: 400;">Microsoft&#8217;s lifecycle automation guidance identifies changes to attributes such as department or job title as events that can drive automated identity tasks and changes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds also describes lifecycle automation for transfers as part of its Identity Lifecycle Management offering.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For buyers, this is one of the most important workflows to test.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not ask a vendor only to demonstrate onboarding.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Change a real user&#8217;s department during the POC and see what happens to </span><b>existing access</b><span style="font-weight: 400;">.</span></p>
<h1><b>3. Leaver: Make Termination an Access Event</b></h1>
<p><span style="font-weight: 400;">Employee termination should not depend on somebody remembering every application the person used.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A termination event may need to trigger:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">directory disablement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application deactivation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement revocation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">group removal</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged-access removal</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">outstanding request cancellation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">ownership reassignment where relevant</span></li>
</ul>
<p><span style="font-weight: 400;">Microsoft describes employee termination as a core HR-driven provisioning scenario, including automatic disabling of user accounts in supported identity systems when employment ends.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; ILM product similarly includes automated offboarding and</span><a href="https://www.securends.com/blog/automated-user-deprovisioning/"> <span style="font-weight: 400;">deprovisioning</span></a><span style="font-weight: 400;"> within lifecycle management.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For security teams, the important metric is not:</span><span style="font-weight: 400;"><br />
</span><b>Termination workflow triggered</b><b><br />
</b><span style="font-weight: 400;">It is:</span><span style="font-weight: 400;"><br />
</span><b>Required access removed and verified</b></p>
<h1><b>Build an HR-to-Access Event Matrix Before Automating</b></h1>
<p><span style="font-weight: 400;">Do not connect your HRIS and immediately let every field drive access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">First define what each workforce event means.</span></p>
<table>
<tbody>
<tr>
<td><b>HR Event</b></td>
<td><b>Identity Action</b></td>
<td><b>Access Action</b></td>
<td><b>Governance Question</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">New hire</span></td>
<td><span style="font-weight: 400;">Create identity</span></td>
<td><span style="font-weight: 400;">Assign baseline access</span></td>
<td><span style="font-weight: 400;">Which access is birthright?</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Department change</span></td>
<td><span style="font-weight: 400;">Update identity</span></td>
<td><span style="font-weight: 400;">Add/remove access</span></td>
<td><span style="font-weight: 400;">Which old access must disappear?</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Promotion</span></td>
<td><span style="font-weight: 400;">Update role/profile</span></td>
<td><span style="font-weight: 400;">Recalculate entitlements</span></td>
<td><span style="font-weight: 400;">Does elevated access need approval?</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Manager change</span></td>
<td><span style="font-weight: 400;">Update ownership</span></td>
<td><span style="font-weight: 400;">Update review/request routing</span></td>
<td><span style="font-weight: 400;">Does access itself need to change?</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Location change</span></td>
<td><span style="font-weight: 400;">Update attributes</span></td>
<td><span style="font-weight: 400;">Adjust location-specific access</span></td>
<td><span style="font-weight: 400;">Are regional systems affected?</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Contractor end date</span></td>
<td><span style="font-weight: 400;">Update lifecycle status</span></td>
<td><span style="font-weight: 400;">Revoke scoped access</span></td>
<td><span style="font-weight: 400;">Is extension approved?</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Termination</span></td>
<td><span style="font-weight: 400;">Disable identity</span></td>
<td><span style="font-weight: 400;">Deprovision access</span></td>
<td><span style="font-weight: 400;">Has every target completed removal?</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Rehire</span></td>
<td><span style="font-weight: 400;">Reactivate/recreate</span></td>
<td><span style="font-weight: 400;">Recalculate baseline</span></td>
<td><span style="font-weight: 400;">Should old access return automatically?</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">This matrix becomes the policy bridge between HR and IGA.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It also prevents accidental automation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A manager change, for example, may change approval routing without changing the employee&#8217;s permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Not every HR attribute should trigger provisioning.</span></p>
<h1><b>Which HR Attributes Are Safe Enough to Drive Access?</b></h1>
<p><span style="font-weight: 400;">This is an implementation question, not merely a connector question.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Review the quality of fields such as:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">department</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">job code</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">job title</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">employment type</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">location</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">cost center</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manager</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">legal entity</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">status</span></li>
</ul>
<p><span style="font-weight: 400;">Ask:</span><span style="font-weight: 400;"><br />
</span><b>Is this field consistently populated?</b><b><br />
</b><b>Does the business use standardized values?</b><b><br />
</b><b>Who owns corrections?</b><b><br />
</b><b>How quickly are changes entered?</b><b><br />
</b><b>Can the field be trusted to remove access?</b><b><br />
</b><span style="font-weight: 400;">Avoid using free-text job titles as the only driver for sensitive permissions if naming is inconsistent.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A workflow is only as reliable as the authoritative data behind it.</span></p>
<h2><b>Use Access Templates for Predictable Baseline Access</b></h2>
<p><span style="font-weight: 400;">HR attributes become more useful when mapped to approved access packages rather than individual permissions scattered across applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span></p>
<h3><b>Financial Analyst Template</b></h3>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">finance application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reporting access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">invoice read access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">standard collaboration resources</span></li>
</ul>
<h3><b>Store Manager Template</b></h3>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">retail management platform</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">regional reporting</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">scheduling application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approved store-level permissions</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds currently describes</span><a href="https://www.securends.com/application-access-request/"> <span style="font-weight: 400;">Access Request Templates</span></a><span style="font-weight: 400;"> as standardized role-based access bundles intended to reduce ad hoc permission assignment.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The governance team should validate these templates before using them for HR-triggered provisioning.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not assume that the access most employees currently hold is automatically the correct baseline.</span></p>
<h1><b>What About Access That Should Not Be Automatically Granted?</b></h1>
<p><span style="font-weight: 400;">Not everything belongs in a birthright profile.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Examples may include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged administration</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">payment approval</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">production access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">sensitive data exports</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">temporary elevated access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unusual entitlements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">conflicting permissions</span></li>
</ul>
<p><span style="font-weight: 400;">The HR event can initiate the workflow without automatically granting the access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A stronger model is:</span><span style="font-weight: 400;"><br />
</span><b>HR event → expected access identified → higher-risk access routed for approval → fulfillment after approval</b><b><br />
</b><span style="font-weight: 400;">This keeps automation from bypassing governance.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; current IGA positioning combines lifecycle provisioning with approval workflows, Access Templates,</span><a href="https://www.securends.com/access-request/"> <span style="font-weight: 400;">access requests</span></a><span style="font-weight: 400;">, and policy controls.</span></p>
<h1><b>Fulfillment Should Support More Than Modern SaaS</b></h1>
<p><span style="font-weight: 400;">The workforce may use hundreds of target systems.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Not all of them support the same integration method.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A provisioning architecture may include:</span></p>
<h3><b>SCIM or API-based fulfillment</b></h3>
<p><span style="font-weight: 400;">Suitable for supported modern applications and directories.</span></p>
<h3><b>Connector-based provisioning</b></h3>
<p><span style="font-weight: 400;">Useful where the governance platform has an established target integration.</span></p>
<h3><b>ITSM fulfillment</b></h3>
<p><span style="font-weight: 400;">Appropriate when an application team needs to complete a controlled task.</span></p>
<h3><b>Manual fulfillment</b></h3>
<p><span style="font-weight: 400;">Sometimes necessary for legacy applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217;</span><a href="https://www.securends.com/t-hub-scim-access-provisioning-and-deprovisioning/"> <span style="font-weight: 400;">T-Hub</span></a><span style="font-weight: 400;"> supports SCIM and REST-based provisioning, updating, and revocation across supported target systems and custom applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The goal should not be to pretend every application is equally automatable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The goal is to keep every access action controlled and traceable.</span></p>
<h1><b>Do Not Stop at Provisioning—Reconcile the Result</b></h1>
<p><span style="font-weight: 400;">Suppose HR changes an employee to a new department.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The IGA workflow calculates that three entitlements should be removed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It sends the changes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Two succeed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">One fails.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If the workflow closes immediately, the employee still retains inappropriate access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Reconciliation provides another question:</span><span style="font-weight: 400;"><br />
</span><b>Does the actual target-system state now match the expected state?</b><b><br />
</b><span style="font-weight: 400;">For high-value lifecycle workflows, use:</span><span style="font-weight: 400;"><br />
</span><b>Trigger → Decide → Fulfill → Refresh target data → Compare → Resolve exceptions → Close</b><b><br />
</b><span style="font-weight: 400;">This is especially important for offboarding.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A deprovisioning command is evidence of an attempt.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A reconciled source state is stronger evidence that access disappeared.</span></p>
<h1><b>Manual Lifecycle Management vs HR-Driven Automation</b></h1>
<table>
<tbody>
<tr>
<td><b>Manual Process</b></td>
<td><b>HR-Driven Provisioning</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">HR notifies IT manually</span></td>
<td><span style="font-weight: 400;">Workforce event triggers lifecycle workflow</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Administrator interprets role</span></td>
<td><span style="font-weight: 400;">Approved attributes drive access policy</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">New access added through tickets</span></td>
<td><span style="font-weight: 400;">Baseline access can be provisioned consistently</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Old permissions checked manually</span></td>
<td><span style="font-weight: 400;">Mover workflow can recalculate access</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Termination list sent to IT</span></td>
<td><span style="font-weight: 400;">Leaver event initiates deprovisioning</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Failures discovered later</span></td>
<td><span style="font-weight: 400;">Exceptions can remain visible</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Evidence assembled from tickets</span></td>
<td><span style="font-weight: 400;">Lifecycle actions can retain audit history</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Automation should remove repeatable administrative work while preserving human approval where judgment is required.</span></p>
<h1><b>What Should Buyers Test in an HR Driven Provisioning Solution?</b></h1>
<p><span style="font-weight: 400;">Use three identities during evaluation:</span><span style="font-weight: 400;"><br />
</span><b>One new hire. One mover. One leaver.</b><b><br />
</b><span style="font-weight: 400;">Then ask:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Which HR systems can act as authoritative sources?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Which attributes can trigger policies?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How are access templates defined?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What happens when HR data is incomplete?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can movers lose obsolete access automatically?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can sensitive access require approval?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Which targets support direct provisioning?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How are legacy applications handled?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What happens when fulfillment fails?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can access changes be reconciled?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can auditors see the HR event, decision, action, and result?</span></li>
</ol>
<p><span style="font-weight: 400;">This provides a much stronger test than watching a vendor create one Active Directory account.</span></p>
<h1><b>How SecurEnds Supports HR-Driven Identity Lifecycle Automation</b></h1>
<p><span style="font-weight: 400;">SecurEnds&#8217; production Identity Lifecycle Management offering supports attribute-based identity profiles and lifecycle automation for onboarding, transfers, and offboarding.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds also has production integration pages describing HR-system-driven lifecycle use cases. Its</span><a href="https://www.securends.com/workday-integration-for-automated-provisioning-and-de-provisioning/"> <span style="font-weight: 400;">Workday integration</span></a><span style="font-weight: 400;"> page states that SecurEnds can manage join, move, and leave events across downstream enterprise, database, cloud, and non-standard applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For downstream fulfillment, T-Hub provides SCIM and REST-based provisioning and deprovisioning for supported identity systems and custom targets.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A useful SecurEnds evaluation therefore follows one workforce change end to end:</span><span style="font-weight: 400;"><br />
</span><b>HR event → identity update → access decision → approval if required → provisioning/deprovisioning → target verification → audit evidence</b><b><br />
</b><span style="font-weight: 400;">That tests the business outcome rather than simply confirming an HR connector exists.</span></p>
<h1><b>Best Practices for HR Driven Provisioning</b></h1>
<p><b>Make HR authoritative for workforce facts.</b><span style="font-weight: 400;"> Do not let multiple systems independently decide employment status.</span><span style="font-weight: 400;"><br />
</span><b>Clean the attributes before automating.</b><span style="font-weight: 400;"> Poor HR data becomes poor access automation.</span><span style="font-weight: 400;"><br />
</span><b>Separate baseline access from sensitive access.</b><span style="font-weight: 400;"> Not everything should be granted automatically.</span><span style="font-weight: 400;"><br />
</span><b>Test movers aggressively.</b><span style="font-weight: 400;"> Ensure obsolete privileges are removed, not merely supplemented.</span><span style="font-weight: 400;"><br />
</span><b>Define the effective date.</b><span style="font-weight: 400;"> Hire and termination timing should behave according to approved policy.</span><span style="font-weight: 400;"><br />
</span><b>Plan for difficult applications.</b><span style="font-weight: 400;"> Use controlled fulfillment when direct provisioning is unavailable.</span><span style="font-weight: 400;"><br />
</span><b>Reconcile critical changes.</b><span style="font-weight: 400;"> Verify that the expected target state actually occurred.</span><span style="font-weight: 400;"><br />
</span><b>Document everything.</b><span style="font-weight: 400;"> Preserve the HR event, identity change, policy decision, approval, fulfillment, exception, and final outcome.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is HR driven provisioning?</b></h3>
<p><span style="font-weight: 400;">HR driven provisioning uses an HR system as the authoritative source for workforce identity events. Hiring, transfers, promotions, terminations, and relevant attribute changes can trigger identity creation, updates, access assignment, or deprovisioning through an IAM or IGA workflow.</span></p>
<h3><b>What is the role of HRIS in identity lifecycle management?</b></h3>
<p><span style="font-weight: 400;">The HRIS provides trusted workforce context such as employment status, department, job title, manager, location, and lifecycle dates.</span><a href="https://www.securends.com/identity-governance-administration-solutions/"> <span style="font-weight: 400;">Identity governance</span></a><span style="font-weight: 400;"> can use those attributes to determine which policies, access templates, approvals, provisioning actions, or deprovisioning actions should occur.</span></p>
<h3><b>How does HR driven provisioning handle employee transfers?</b></h3>
<p><span style="font-weight: 400;">A mature mover workflow should recalculate expected access after the employee&#8217;s attributes change. It can add permissions required by the new role while identifying and removing access tied only to the previous responsibility. This helps reduce privilege accumulation.</span></p>
<h3><b>Does every HR change need to trigger an access change?</b></h3>
<p><span style="font-weight: 400;">No. Organizations should explicitly map which HR attributes influence identity or access. For example, a department change may affect permissions, while an address correction may have no access impact. Governance rules should determine how trusted workforce attributes translate into access decisions.</span></p>
<h3><b>Can HR driven provisioning work with legacy applications?</b></h3>
<p><span style="font-weight: 400;">Yes, although fulfillment may differ. Modern applications may support direct provisioning through connectors or APIs. Legacy systems may require ticket-based or controlled manual changes. The important requirement is retaining ownership, status, verification, and evidence throughout the workflow.</span></p>
<h3><b>How do you verify HR-driven deprovisioning?</b></h3>
<p><span style="font-weight: 400;">After the termination workflow runs, retrieve or synchronize updated access information from important target applications and compare it with the expected state. This can identify failed removals or residual entitlements that remain after the original deprovisioning action.</span></p>
<h1><b>Make Workforce Changes Change Access</b></h1>
<p><span style="font-weight: 400;">Your HR system already knows when the workforce changes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The identity governance program should not need to rediscover that information through tickets and spreadsheets.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Use trusted HR events as triggers.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Translate those events through approved access policies.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Automate predictable baseline changes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Route higher-risk decisions for approval.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Remove obsolete access when employees move or leave.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">And verify that the downstream systems reflect the intended outcome.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That is what turns HR integration into </span><b>HR driven provisioning</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your organization is still translating hires, transfers, and terminations into access changes manually, explore</span><a href="https://www.securends.com/identity-lifecycle-management/"> <b>SecurEnds Identity Lifecycle Management</b></a><span style="font-weight: 400;"> and evaluate the process using one real joiner, mover, and leaver from your environment.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2c772c0c" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2c773dd8" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c774007" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/hr-driven-provisioning/">HRIS-Driven Access Automation: Turning Workforce Events Into Access Changes</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/hr-driven-provisioning/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Access Fulfillment and Reconciliation: Proving Approved Changes Actually Happened</title>
		<link>https://www.securends.com/blog/access-fulfillment-automation/</link>
					<comments>https://www.securends.com/blog/access-fulfillment-automation/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 17 Sep 2026 10:57:51 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27107</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/access-fulfillment-automation/">Access Fulfillment and Reconciliation: Proving Approved Changes Actually Happened</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2c776274" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c776467" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2c7766bb" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c77687c" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2c776a98" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c776c44" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2c776e75" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2c777217" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c777596" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2c777c52" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2c777fa1">
			<div class="image"><img decoding="async"  class="ll-image unload" alt="Why Non-Human Identities Need Identity Governance" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789642945175 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Approval does not prove access was successfully granted, changed, or removed.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Access fulfillment automation should convert an approved governance decision into a controlled target-system action.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Different applications may use direct provisioning, APIs, SCIM, ITSM workflows, or administrator-led fulfillment.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Reconciliation compares the expected access state with the actual state reported by the target application.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Failed, partial, and delayed changes need visible ownership rather than disappearing inside provisioning logs.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Audit evidence should connect the original request or decision with fulfillment status and final verified access state.</span></li>
</ul>
<h2><b>The Access Request Says &#8220;Completed.&#8221; The Employee Still Cannot Log In.</b></h2>
<p><span style="font-weight: 400;">A new finance analyst requests access to an accounting application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The manager approves it at 10:04 a.m.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The application owner approves it at 10:17.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">By 10:18, the access request portal says:</span><span style="font-weight: 400;"><br />
</span><b>Completed.</b><b><br />
</b><span style="font-weight: 400;">At 2:00 p.m., the analyst still cannot access the application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">IT investigates.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The account exists, but the required finance entitlement was never assigned. An integration returned a partial error that nobody noticed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Now reverse the scenario.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A terminated contractor&#8217;s removal request also says &#8220;completed,&#8221; but one privileged entitlement remains active.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Both workflows looked successful from the governance platform.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Neither produced the expected access state.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is why </span><b>access fulfillment automation</b><span style="font-weight: 400;"> should not stop at sending a provisioning command or closing a ticket.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Organizations also need reconciliation: proof that the application actually reflects the approved decision.</span></p>
<h1><b>What Is Access Fulfillment Automation?</b></h1>
<p><span style="font-weight: 400;">Access fulfillment automation is the process of converting an approved identity governance decision into an access change in the target environment.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That change might:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">create an account</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">enable an account</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">add an entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">assign a role</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">remove an entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">disable an account</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">update existing access</span></li>
</ul>
<p><span style="font-weight: 400;">A practical workflow is:</span><span style="font-weight: 400;"><br />
</span><b>Request or trigger → Decision → Approval → Fulfillment → Reconciliation → Verified state → Evidence</b><b><br />
</b><span style="font-weight: 400;">SecurEnds&#8217; current</span><a href="https://www.securends.com/application-access-request/"> <span style="font-weight: 400;">Application Access Request</span></a><span style="font-weight: 400;"> capabilities connect access requests and approvals with provisioning workflows, while its broader IGA content describes provisioning and deprovisioning as part of the governed identity lifecycle.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The distinction between approval and fulfillment is important.</span><span style="font-weight: 400;"><br />
</span><b>Approval says the change is authorized.</b><b><br />
</b><b>Fulfillment attempts to make the change.</b><b><br />
</b><b>Reconciliation establishes whether the expected change actually happened.</b></p>
<h1><b>Why Is Approval Status Not Enough?</b></h1>
<p><span style="font-weight: 400;">An access governance platform may correctly approve a request while fulfillment still fails.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Common reasons include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">connector failure</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">API timeout</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">incorrect target identifier</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">missing account</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unsupported entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application outage</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">administrator error</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">ticket left unresolved</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">target-side policy conflict</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">partial provisioning</span></li>
</ul>
<p><span style="font-weight: 400;">Consider a request containing three permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Two succeed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">One fails.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If the request is marked simply &#8220;completed,&#8221; the requester and governance team may believe the intended access exists.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The same issue is more serious with revocation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If a removal action fails but appears complete, unwanted access remains active.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That creates a control gap between the </span><b>governance decision</b><span style="font-weight: 400;"> and the </span><b>application state</b><span style="font-weight: 400;">.</span></p>
<h1><b>What Should a Closed-Loop Fulfillment Workflow Look Like?</b></h1>
<h2><b>1. Start With a Clear Expected Access State</b></h2>
<p><span style="font-weight: 400;">Before fulfillment begins, define exactly what should change.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>User:</b><span style="font-weight: 400;"> Priya Shah</span><span style="font-weight: 400;"><br />
</span><b>Application:</b><span style="font-weight: 400;"> Finance ERP</span><span style="font-weight: 400;"><br />
</span><b>Expected change:</b><span style="font-weight: 400;"> Add </span><span style="font-weight: 400;">Invoice_View</span><span style="font-weight: 400;"> and </span><span style="font-weight: 400;">AP_Analyst</span><span style="font-weight: 400;"><br />
</span><b>Approval:</b><span style="font-weight: 400;"> Completed</span><span style="font-weight: 400;"><br />
</span><b>Duration:</b><span style="font-weight: 400;"> Permanent until lifecycle or review change</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This gives the fulfillment process something measurable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A vague instruction such as:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Give Priya finance access&#8221;</b><b><br />
</b><span style="font-weight: 400;">is difficult to reconcile later.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The same rule applies to revocation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Define the exact account, role, group, or entitlement that should disappear.</span></p>
<h2><b>2. Choose the Right Fulfillment Path</b></h2>
<p><span style="font-weight: 400;">Not every application needs the same execution model.</span></p>
<h3><b>Direct automated provisioning</b></h3>
<p><span style="font-weight: 400;">For supported systems, the governance platform can send the approved access change directly to the target.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Common mechanisms may include standardized APIs such as SCIM or other supported application interfaces.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217;</span><a href="https://www.securends.com/t-hub-scim-access-provisioning-and-deprovisioning/"> <span style="font-weight: 400;">T-Hub capability</span></a><span style="font-weight: 400;"> currently documents provisioning, updates, and access revocation through SCIM and REST-based integration patterns, including use with directories, identity providers, and custom applications.</span></p>
<h3><b>ITSM-driven fulfillment</b></h3>
<p><span style="font-weight: 400;">Some applications are still administered through internal IT teams.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The governance decision may create controlled work in an ITSM platform for the appropriate administrator.</span></p>
<h3><b>Manual fulfillment</b></h3>
<p><span style="font-weight: 400;">Legacy or highly specialized applications may require an application administrator to make the change manually.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Manual does not need to mean uncontrolled.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The important requirement is keeping:</span><span style="font-weight: 400;"><br />
</span><b>decision → owner → action → status → verification</b><b><br />
</b><span style="font-weight: 400;">connected.</span></p>
<h1><b>Fulfillment Status Should Be More Specific Than &#8220;Done&#8221;</b></h1>
<p><span style="font-weight: 400;">Use statuses that reflect what actually happened.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span></p>
<table>
<tbody>
<tr>
<td><b>Status</b></td>
<td><b>Meaning</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Approved</span></td>
<td><span style="font-weight: 400;">Governance decision is complete</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Pending fulfillment</span></td>
<td><span style="font-weight: 400;">Change has not yet been executed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">In progress</span></td>
<td><span style="font-weight: 400;">Execution has started</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Partially fulfilled</span></td>
<td><span style="font-weight: 400;">Only some requested changes succeeded</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Failed</span></td>
<td><span style="font-weight: 400;">Target change did not complete</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Fulfilled</span></td>
<td><span style="font-weight: 400;">Execution reports completion</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Reconciliation pending</span></td>
<td><span style="font-weight: 400;">Target state has not yet been checked</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Verified</span></td>
<td><span style="font-weight: 400;">Target state matches expected access</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">The terminology can differ.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The critical point is that </span><b>fulfilled</b><span style="font-weight: 400;"> and </span><b>verified</b><span style="font-weight: 400;"> are not necessarily the same state.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That distinction helps prevent false closure.</span></p>
<h1><b>What Is Access Reconciliation?</b></h1>
<p><span style="font-weight: 400;">Access reconciliation compares the access the governance system expects with the access the target application actually reports.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Suppose an approved request should add these two entitlements:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"></li>
</ul>
<p><span style="font-weight: 400;">CRM_User</span></p>
<h2></h2>
<ol>
<li style="font-weight: 400;" aria-level="1"></li>
</ol>
<p><span style="font-weight: 400;">Sales_Reporting</span></p>
<h2></h2>
<p><span style="font-weight: 400;">After fulfillment, the governance platform retrieves fresh information from the target.</span></p>
<h3><b>Expected state</b></h3>
<p><span style="font-weight: 400;">Both entitlements present.</span></p>
<h3><b>Actual state</b></h3>
<p><span style="font-weight: 400;">CRM_User</span><span style="font-weight: 400;"> present.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Sales_Reporting</span><span style="font-weight: 400;"> missing.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The correct outcome is not &#8220;complete.&#8221;</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is a reconciliation exception requiring investigation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The same process applies to removal.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If an entitlement should have disappeared but still appears in refreshed source data, the revocation has not reached verified closure.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; existing IGA content describes</span><a href="https://www.securends.com/blog/iga-workflows-access-reviews-lifecycle-compliance/"> <span style="font-weight: 400;">closed-loop provisioning</span></a><span style="font-weight: 400;"> in which governance decisions can result in deprovisioning against connected identity platforms rather than stopping at the review decision itself.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Its Epic identity-governance offering also explicitly describes fulfillment followed by reconciliation and preservation of implementation confirmation, illustrating the same closed-loop operating principle.</span></p>
<h1><b>Why Should You Reconcile Automated Changes?</b></h1>
<p><span style="font-weight: 400;">Automation reduces manual effort.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It does not eliminate failure.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A provisioning connector can fail.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An API can accept a transaction but not apply every requested change.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A downstream process can overwrite the result.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An account can exist under a different identifier.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A later application update can restore access unexpectedly.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Reconciliation gives the governance platform a way to ask:</span><span style="font-weight: 400;"><br />
</span><b>Does today&#8217;s actual access match the access we intended to create?</b><b><br />
</b><span style="font-weight: 400;">That question is essential for both provisioning and deprovisioning.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Without reconciliation, you know what the platform attempted.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You may not know what the target ultimately contains.</span></p>
<h1><b>What Should Happen When Reconciliation Fails?</b></h1>
<p><span style="font-weight: 400;">A mismatch should create an actionable exception.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not leave it buried in a technical integration log.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A useful exception should identify:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">identity</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">target application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">expected access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">actual access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">failed or missing entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">original request or governance event</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">fulfillment method</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">failure timestamp</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">accountable owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">retry or remediation status</span></li>
</ul>
<p><span style="font-weight: 400;">Then determine the next action.</span></p>
<h3><b>Retry</b></h3>
<p><span style="font-weight: 400;">Appropriate when the problem was transient.</span></p>
<h3><b>Route to administrator</b></h3>
<p><span style="font-weight: 400;">Useful when automation cannot complete the change.</span></p>
<h3><b>Correct identity or entitlement data</b></h3>
<p><span style="font-weight: 400;">Required when matching or target metadata caused the failure.</span></p>
<h3><b>Escalate</b></h3>
<p><span style="font-weight: 400;">Appropriate when a high-risk removal remains unresolved.</span></p>
<h3><b>Record an exception</b></h3>
<p><span style="font-weight: 400;">Use only when the organization intentionally accepts the resulting state under an approved process.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not automatically convert a technical failure into business approval.</span></p>
<h1><b>Provisioning and Deprovisioning Need the Same Verification Standard</b></h1>
<p><span style="font-weight: 400;">Organizations often focus heavily on successful onboarding.</span><span style="font-weight: 400;"><br />
</span><a href="https://www.securends.com/blog/automated-user-deprovisioning/"><span style="font-weight: 400;">Deprovisioning</span></a><span style="font-weight: 400;"> deserves at least the same control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A failed provisioning action usually creates a productivity issue.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A failed deprovisioning action can leave inappropriate access active.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Termination event received</b><b><br />
</b><span style="font-weight: 400;">Expected:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">directory account disabled</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">CRM access removed</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">finance account disabled</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">administrator entitlement removed</span></li>
</ul>
<p><span style="font-weight: 400;">Actual:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">directory account disabled</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">CRM access removed</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">finance account still active</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">administrator entitlement still active</span></li>
</ul>
<p><span style="font-weight: 400;">If the process records only that the termination workflow ran, security teams can miss the remaining exposure.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; current provisioning content emphasizes provisioning, deprovisioning, and role changes as connected</span><a href="https://www.securends.com/blog/identity-lifecycle-management/"> <span style="font-weight: 400;">lifecycle processes</span></a><span style="font-weight: 400;"> rather than isolated transactions.</span></p>
<h1><b>How Does Fulfillment Work for Legacy Applications?</b></h1>
<p><span style="font-weight: 400;">Not every target application supports direct write-back.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A legacy workflow may look like:</span><span style="font-weight: 400;"><br />
</span><b>Approved request → application-owner task → manual access change → updated application extract → reconciliation</b><b><br />
</b><span style="font-weight: 400;">This can still be governed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The difference is execution method.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Access request is approved.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A task goes to the application administrator.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Administrator grants the entitlement.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Application data is exported again.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">New data enters the governance platform.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Expected and actual access are compared.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Request moves to verified closure.</span></li>
</ol>
<p><span style="font-weight: 400;">This is stronger than assuming a completed service ticket proves the target changed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The same model can support difficult homegrown, database, or file-fed applications.</span></p>
<h1><b>Which Metrics Should You Track?</b></h1>
<p><span style="font-weight: 400;">Fulfillment automation should produce operational metrics.</span></p>
<h3><b>Fulfillment success rate</b></h3>
<p><b>Successful fulfillment actions ÷ Total fulfillment actions</b></p>
<h3><b>Reconciliation success rate</b></h3>
<p><span style="font-weight: 400;">How many completed actions match the expected target state?</span></p>
<h3><b>Partial fulfillment rate</b></h3>
<p><span style="font-weight: 400;">How frequently does only part of a requested access package succeed?</span></p>
<h3><b>Average fulfillment time</b></h3>
<p><span style="font-weight: 400;">How long does it take to move from approval to target-system execution?</span></p>
<h3><b>Average verification time</b></h3>
<p><span style="font-weight: 400;">How long from approval until the target state is confirmed?</span></p>
<h3><b>Failed revocation count</b></h3>
<p><span style="font-weight: 400;">How many removal actions remain unresolved?</span></p>
<h3><b>Manual fulfillment percentage</b></h3>
<p><span style="font-weight: 400;">How much of your access estate still requires administrator intervention?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">These metrics show where your governance program remains dependent on manual work or unreliable integration.</span></p>
<h1><b>What Should Buyers Look for in Access Fulfillment Automation?</b></h1>
<p><span style="font-weight: 400;">During software evaluation, ask the vendor to demonstrate:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">direct provisioning methods</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement-level provisioning</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">deprovisioning</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">ITSM-based fulfillment</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manual fulfillment tracking</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">status visibility</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">partial failure handling</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">retry behavior</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reconciliation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">expected-versus-actual access comparison</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">exception ownership</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">audit history</span></li>
</ul>
<p><span style="font-weight: 400;">Do not stop the POC after an approver clicks </span><b>Approve</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ask the vendor to prove that the target application changed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then deliberately create a failure.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You need to understand what operators see when automation does not work.</span></p>
<h1><b>How SecurEnds Supports Fulfillment Across Different Application Types</b></h1>
<p><span style="font-weight: 400;">SecurEnds currently positions</span><a href="https://www.securends.com/access-request/"> <span style="font-weight: 400;">access requests</span></a><span style="font-weight: 400;"> as a process that connects request, approval, provisioning, and deprovisioning across governed applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For systems that support direct integration, SecurEnds&#8217; T-Hub provides SCIM- and REST-based connectivity for provisioning, updating, and revoking access across supported targets and custom applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds also documents real-time visibility into access-request progress, including approval and fulfillment stages, helping requesters and administrators distinguish a submitted request from one that has progressed through execution.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For buyers, test the workflow using more than one application type:</span><span style="font-weight: 400;"><br />
</span><b>Application 1:</b><span style="font-weight: 400;"> Direct automated provisioning</span><span style="font-weight: 400;"><br />
</span><b>Application 2:</b><span style="font-weight: 400;"> Controlled administrator fulfillment</span><span style="font-weight: 400;"><br />
</span><b>Application 3:</b><span style="font-weight: 400;"> Difficult or legacy application</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then compare how each reaches a provable final state.</span></p>
<h1><b>Best Practices for Access Fulfillment and Reconciliation</b></h1>
<p><b>Define the expected state precisely.</b><span style="font-weight: 400;"> Know exactly what should be granted or removed.</span><span style="font-weight: 400;"><br />
</span><b>Separate approval from execution.</b><span style="font-weight: 400;"> An</span><a href="https://www.securends.com/blog/access-request-approval-workflow/"> <span style="font-weight: 400;">approved request</span></a><span style="font-weight: 400;"> has not necessarily reached the target.</span><span style="font-weight: 400;"><br />
</span><b>Separate fulfillment from verification.</b><span style="font-weight: 400;"> Execution success is stronger when confirmed through refreshed application data.</span><span style="font-weight: 400;"><br />
</span><b>Track partial failures.</b><span style="font-weight: 400;"> Multi-entitlement requests should not appear successful when only some changes occurred.</span><span style="font-weight: 400;"><br />
</span><b>Make failures visible.</b><span style="font-weight: 400;"> Give unresolved changes to owners and escalation paths.</span><span style="font-weight: 400;"><br />
</span><b>Prioritize revocation failures.</b><span style="font-weight: 400;"> Unremoved access may represent greater risk than delayed provisioning.</span><span style="font-weight: 400;"><br />
</span><b>Support different execution methods.</b><span style="font-weight: 400;"> Automate appropriate systems while keeping manual targets controlled.</span><span style="font-weight: 400;"><br />
</span><b>Document everything.</b><span style="font-weight: 400;"> Preserve the decision, fulfillment method, target response, exception, reconciliation result, and final closure.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is access fulfillment automation?</b></h3>
<p><span style="font-weight: 400;">Access fulfillment automation turns an approved access decision into a change in the target application or identity system. It can create accounts, assign roles or entitlements, update access, or revoke permissions. Mature workflows also track failures and confirm that the target state reflects the approved decision.</span></p>
<h3><b>What is the difference between access approval and fulfillment?</b></h3>
<p><span style="font-weight: 400;">Approval authorizes the access change. Fulfillment executes it. A manager may approve an entitlement, but an integration or administrator must still grant it in the target application. Keeping the two states separate prevents an approved request from being mistaken for successfully provisioned access.</span></p>
<h3><b>What is access reconciliation in identity governance?</b></h3>
<p><span style="font-weight: 400;">Access reconciliation compares the access the governance system expects with the actual account and entitlement data retrieved from the target system. It helps identify missing provisioning, failed removals, unexpected permissions, and other differences between intended and real access.</span></p>
<h3><b>Why is reconciliation important after automated provisioning?</b></h3>
<p><span style="font-weight: 400;">Automation can still fail or produce partial outcomes. Reconciliation provides independent confirmation that the target application&#8217;s current state matches the authorized change. This is particularly important when proving revocations and other security-sensitive changes were actually completed.</span></p>
<h3><b>How do you fulfill access for legacy applications without provisioning connectors?</b></h3>
<p><span style="font-weight: 400;">Use a controlled manual or ITSM-based workflow. Assign the approved change to the responsible administrator, record completion, obtain refreshed application data, and reconcile the resulting state. This preserves accountability even when direct write-back automation is unavailable.</span></p>
<h3><b>What audit evidence should fulfillment retain?</b></h3>
<p><span style="font-weight: 400;">Retain the original request or trigger, approved access, approvers, target application, fulfillment method, execution status, errors, responsible owner, reconciliation result, and timestamps. The record should make it possible to demonstrate that an authorized access decision resulted in the expected target-system state.</span></p>
<h1><b>Do Not Measure Success at the Approval Button</b></h1>
<p><span style="font-weight: 400;">Approval is an important governance event.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is not the final outcome.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The employee needs the approved access to exist.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The terminated user needs the revoked access to disappear.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The application needs to reflect the intended state.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">And your security or audit team needs evidence that the change occurred.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That requires a closed loop:</span><span style="font-weight: 400;"><br />
</span><b>Decide → Approve → Fulfill → Reconcile → Verify → Document</b><b><br />
</b><span style="font-weight: 400;">If your organization still treats a completed approval or closed ticket as proof that access changed, evaluate</span><a href="https://www.securends.com/application-access-request/"> <b>SecurEnds Application Access Request</b></a><b> and IGA provisioning capabilities</b><span style="font-weight: 400;"> against a real target application and follow the transaction through to its final access state.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2c87e90d" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2c87eedb" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c87f0bc" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/access-fulfillment-automation/">Access Fulfillment and Reconciliation: Proving Approved Changes Actually Happened</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/access-fulfillment-automation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Designing an Access Request Catalog: Applications, Entitlements and Access Templates</title>
		<link>https://www.securends.com/blog/access-request-catalog/</link>
					<comments>https://www.securends.com/blog/access-request-catalog/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 17 Sep 2026 10:52:22 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27103</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/access-request-catalog/">Designing an Access Request Catalog: Applications, Entitlements and Access Templates</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2c88158c" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c88176b" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2c88198d" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c881b3c" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2c881d3c" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c881ee5" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2c882118" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2c8824ef" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c882883" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2c882f56" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2c8832eb">
			<div class="image"><img decoding="async"  class="ll-image unload" alt="Why Non-Human Identities Need Identity Governance" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789642461741 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">An access request catalog should show users the access they are eligible to request—not every permission your applications contain.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Decide whether access should be requested at the application, entitlement, or standardized template level.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Give every catalog item a clear business name, description, owner, approval path, and risk context.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Use access templates for stable combinations of permissions that repeatedly serve the same job, department, or project need.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Restrict catalog visibility where appropriate so users are not encouraged to request irrelevant or sensitive access.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Review the catalog regularly. Old applications, duplicate entitlements, and outdated templates can recreate</span><a href="https://www.securends.com/blog/privilege-creep-prevention/"> <span style="font-weight: 400;">privilege creep</span></a><span style="font-weight: 400;">.</span></li>
</ul>
<h2><b>Your Self-Service Catalog Has 6,000 Items. Nobody Knows What to Choose.</b></h2>
<p><span style="font-weight: 400;">The new access request portal is live.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An employee searches for finance access and receives 47 results.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Some are applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Others are individual permissions with names such as </span><span style="font-weight: 400;">FIN_AP_21</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">GL_PWR_3</span><span style="font-weight: 400;">, and </span><span style="font-weight: 400;">VEND_MAINT</span><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">There are three templates that appear to provide similar access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The employee picks the item that sounds closest.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Their manager sees the same technical name and approves it.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The request workflow worked exactly as designed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The catalog did not.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A poorly designed </span><b>access request catalog</b><span style="font-weight: 400;"> can digitize the same ambiguity that previously existed in email and service-desk tickets.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A useful catalog should make access easier to request </span><b>without making unnecessary access easier to obtain</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That requires decisions about what should be published, how access should be described, which users should see it, when permissions should be bundled, and who owns each catalog item.</span></p>
<h1><b>What Is an Access Request Catalog?</b></h1>
<p><span style="font-weight: 400;">An access request catalog is a governed collection of applications, entitlements, roles, or access bundles that eligible users can request through a</span><a href="https://www.securends.com/application-access-request/"> <span style="font-weight: 400;">self-service workflow</span></a><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The catalog sits between the requester and the underlying technical permission model.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Instead of asking IT:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Please give me the same access as Sarah.&#8221;</b><b><br />
</b><span style="font-weight: 400;">a user can select a defined item such as:</span><span style="font-weight: 400;"><br />
</span><b>Finance Reporting — Read Only</b><b><br />
</b><span style="font-weight: 400;">or:</span><span style="font-weight: 400;"><br />
</span><b>Accounts Payable Analyst Access Template</b><b><br />
</b><span style="font-weight: 400;">Enterprise identity-governance systems commonly use catalogs to expose applications and entitlements through searchable, controlled self-service experiences. Access packages or bundles can also group multiple resources under a common policy and approval model.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The catalog therefore has two responsibilities:</span><span style="font-weight: 400;"><br />
</span><b>Make legitimate access understandable to users.</b><b><br />
</b><b>Prevent the request experience from bypassing governance.</b></p>
<h1><b>Do Not Put Every Available Entitlement Into the Catalog</b></h1>
<p><span style="font-weight: 400;">A technical entitlement inventory and a request catalog are not the same thing.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your ERP system may expose 900 permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That does not mean employees should be able to search and request all 900.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Before publishing an item, ask:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Is this access legitimately requestable?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Who should be allowed to see it?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Who should be allowed to receive it?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Is a business user capable of understanding it?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Does it require additional approval?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Should it only be assigned through lifecycle automation?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Should it be included inside a controlled template instead?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Is it too privileged to expose through ordinary self-service?</span></li>
</ul>
<p><span style="font-weight: 400;">This distinction supports</span><a href="https://www.securends.com/blog/principle-of-least-privilege/"> <span style="font-weight: 400;">least privilege</span></a><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">NIST defines least privilege around providing only the authorized access necessary to perform assigned tasks and periodically reviewing privileges to ensure they remain necessary.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your catalog should make the approved path to necessary access easier—not turn every technical permission into a shopping option.</span></p>
<h1><b>Decide What Users Should Be Able to Request</b></h1>
<p><span style="font-weight: 400;">Most enterprise catalogs need more than one level of request.</span></p>
<h2><b>1. Application-Level Access</b></h2>
<p><span style="font-weight: 400;">Use application-level requests when the meaningful business decision is simply:</span><span style="font-weight: 400;"><br />
</span><b>Should this person have access to the application?</b><b><br />
</b><span style="font-weight: 400;">Examples might include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">expense management</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">learning platform</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">standard CRM access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">internal collaboration tools</span></li>
</ul>
<p><span style="font-weight: 400;">The request should still identify what level of access will be granted by default.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">&#8220;Application access&#8221; should not hide broad administrator permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds currently supports application-level access requests through its</span><a href="https://www.securends.com/application-access-request/"> <span style="font-weight: 400;">Application Access Request</span></a><span style="font-weight: 400;"> capability.</span></p>
<h2><b>2. Entitlement-Level Access</b></h2>
<p><span style="font-weight: 400;">Use entitlement requests when individual permissions materially change what a person can do.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Finance Application</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">View invoices</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Create vendors</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Approve vendor changes</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Release payments</span></li>
</ul>
<p><span style="font-weight: 400;">These permissions should not necessarily travel through the same approval path.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Sensitive entitlements may require an application owner, entitlement owner, or additional control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds documents requests at both application and entitlement level, including dynamic routing to managers, application custodians, and entitlement custodians.</span></p>
<h2><b>3. Access Templates</b></h2>
<p><span style="font-weight: 400;">Use templates when multiple permissions repeatedly belong together.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span></p>
<h3><b>Accounts Payable Analyst</b></h3>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Finance application access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Invoice viewing</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Invoice creation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Vendor inquiry</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">AP reporting</span></li>
</ul>
<p><span style="font-weight: 400;">The employee requests one understandable business package rather than four or five technical entitlements.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds describes Access Templates as reusable role-based bundles containing common access and entitlements, with workflows assignable at template level.</span></p>
<h1><b>How Do You Decide Between an Entitlement and an Access Template?</b></h1>
<p><span style="font-weight: 400;">Do not create a template for every combination of access currently found in the organization.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That can recreate role explosion.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A template is most useful when the access combination is:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">common</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">stable</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">understood by the business</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">repeatedly requested</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">owned by a defined team</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">appropriate for a recognizable function</span></li>
</ul>
<p><span style="font-weight: 400;">Use individual entitlement requests for genuine exceptions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A simple decision rule is:</span></p>
<table>
<tbody>
<tr>
<td><b>Access Pattern</b></td>
<td><b>Better Catalog Choice</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Standard application access for many users</span></td>
<td><span style="font-weight: 400;">Application</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">One sensitive capability within an application</span></td>
<td><span style="font-weight: 400;">Entitlement</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Stable set of permissions for a job function</span></td>
<td><span style="font-weight: 400;">Access Template</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Short-term unusual permission</span></td>
<td><span style="font-weight: 400;">Individual/time-bound request</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Privileged access</span></td>
<td><span style="font-weight: 400;">Controlled entitlement or dedicated governed workflow</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Access that should always come from HR/JML logic</span></td>
<td><span style="font-weight: 400;">Keep outside ordinary catalog where appropriate</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Microsoft&#8217;s current entitlement-management model follows a similar principle: packages combine resources needed for a team, project, or scenario and apply policies controlling who can request them and how access is governed.</span></p>
<h1><b>Give Every Catalog Item Business Context</b></h1>
<p><span style="font-weight: 400;">Technical names create poor decisions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Compare:</span></p>
<p><span style="font-weight: 400;">PAY_APRV_L2</span></p>
<h2></h2>
<p><span style="font-weight: 400;">with:</span><span style="font-weight: 400;"><br />
</span><b>Payment Approval — Level 2</b><b><br />
</b><i><span style="font-weight: 400;">Allows approval of supplier payments up to the organization&#8217;s defined Level 2 threshold.</span></i><i><span style="font-weight: 400;"><br />
</span></i><span style="font-weight: 400;">The second gives both requesters and approvers context.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For every requestable item, consider maintaining:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">business-friendly name</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">concise description</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access type</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">intended user population</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">business purpose</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approval workflow</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged/sensitive designation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">temporary access availability</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">relevant restrictions</span></li>
</ul>
<p><span style="font-weight: 400;">Descriptions should explain </span><b>what the permission enables</b><span style="font-weight: 400;">, not simply restate its technical name.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Good catalog metadata improves more than user experience.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It helps managers understand what they are authorizing.</span></p>
<h1><b>Personalize What Users Can See</b></h1>
<p><span style="font-weight: 400;">A request catalog does not need to look identical for every employee.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A software engineer probably does not need to browse dozens of accounts-payable entitlements.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A salesperson should not be encouraged to request infrastructure administration simply because the item exists.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Visibility can consider attributes such as:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">department</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">job title</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">role</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">location</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reporting structure</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">worker type</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds documents personalized access catalogs based on role or organizational attributes, along with scope policies that can restrict request boundaries using factors such as job title or department.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Other modern identity-governance approaches similarly distinguish between resources existing in a catalog and which access packages an individual can actually discover or request.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This reduces catalog clutter and helps keep requests relevant.</span></p>
<h1><b>Design Templates Around Expected Access, Not Existing Access</b></h1>
<p><span style="font-weight: 400;">There is an important trap when building access templates.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Suppose you examine ten financial analysts.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Eight hold six permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Two have accumulated eleven permissions after several projects.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If you simply copy the most common existing access, you could standardize old privilege creep.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Before converting current access patterns into a template:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Identify the common access.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Ask the business whether it is genuinely required.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Remove historical exceptions.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Separate privileged access.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Validate SoD concerns.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Assign an owner.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Approve the intended template.</span></li>
</ol>
<p><span style="font-weight: 400;">SecurEnds&#8217;</span><a href="https://www.securends.com/access-analysis/"> <span style="font-weight: 400;">Access Analysis</span></a><span style="font-weight: 400;"> capability is designed to analyze existing entitlement patterns and generate reusable Access Templates from common access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That can help identify patterns, but organizations should still apply business and policy review before treating a pattern as approved access.</span><span style="font-weight: 400;"><br />
</span><b>Common does not automatically mean correct.</b></p>
<h1><b>Put Ownership Behind Every Catalog Item</b></h1>
<p><span style="font-weight: 400;">A catalog becomes difficult to govern when nobody owns its contents.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Define ownership at an appropriate level.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Application owner</b><b><br />
</b><span style="font-weight: 400;">Responsible for the requestable application.</span><span style="font-weight: 400;"><br />
</span><b>Entitlement owner</b><b><br />
</b><span style="font-weight: 400;">Understands a sensitive permission and who should receive it.</span><span style="font-weight: 400;"><br />
</span><b>Template owner</b><b><br />
</b><span style="font-weight: 400;">Responsible for maintaining the standard access package.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ownership matters when:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access requirements change</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an entitlement is renamed</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approval routing changes</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an application is replaced</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a role becomes obsolete</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a template produces excessive access</span></li>
</ul>
<p><span style="font-weight: 400;">Without an owner, outdated catalog items can remain requestable indefinitely.</span></p>
<h1><b>Connect the Catalog to Approval Policy</b></h1>
<p><span style="font-weight: 400;">The catalog defines </span><b>what can be requested</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The</span><a href="https://www.securends.com/blog/access-request-approval-workflow/"> <span style="font-weight: 400;">approval workflow</span></a><span style="font-weight: 400;"> defines </span><b>under what conditions it can be granted</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not design them separately.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For each catalog item, determine:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Is approval required?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Who should approve?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Is business justification required?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Does higher-risk access need multiple approvals?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can access be temporary?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Are there incompatible permissions?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What happens after approval?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How is provisioning performed?</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds supports multi-level approval workflows, business-justification controls, time-bound requests, and template-level workflows within its Application Access Request capabilities.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This allows the request experience to remain simple while governance rules operate behind the item selected.</span></p>
<h1><b>What Should You Keep Out of the Catalog?</b></h1>
<p><span style="font-weight: 400;">Catalog governance also means deciding what </span><b>not</b><span style="font-weight: 400;"> to publish.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Potential examples include:</span></p>
<h3><b>Birthright access</b></h3>
<p><span style="font-weight: 400;">Access everyone in a defined population automatically receives may belong in</span><a href="https://www.securends.com/blog/identity-lifecycle-management/"> <span style="font-weight: 400;">lifecycle provisioning</span></a><span style="font-weight: 400;"> rather than self-service.</span></p>
<h3><b>Highly privileged access</b></h3>
<p><span style="font-weight: 400;">Some administrator permissions may require a dedicated privileged or just-in-time process.</span></p>
<h3><b>Obsolete entitlements</b></h3>
<p><span style="font-weight: 400;">Do not expose access that should be retired.</span></p>
<h3><b>Technical permissions without business meaning</b></h3>
<p><span style="font-weight: 400;">Resolve or bundle them before self-service.</span></p>
<h3><b>Access with no accountable owner</b></h3>
<p><span style="font-weight: 400;">Establish governance before publication.</span></p>
<h3><b>Duplicate templates</b></h3>
<p><span style="font-weight: 400;">Too many similar packages create requester confusion and inconsistent access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A smaller, well-governed catalog is usually more useful than a large catalog built simply to maximize available choices.</span></p>
<h1><b>Build a Catalog Onboarding Checklist</b></h1>
<p><span style="font-weight: 400;">Before publishing an application, entitlement, or template, confirm:</span></p>
<table>
<tbody>
<tr>
<td><b>Catalog Question</b></td>
<td><b>Required Outcome</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is the item legitimately requestable?</span></td>
<td><span style="font-weight: 400;">Yes</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Does it have a business-friendly name?</span></td>
<td><span style="font-weight: 400;">Defined</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is its purpose understandable?</span></td>
<td><span style="font-weight: 400;">Documented</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is an owner assigned?</span></td>
<td><span style="font-weight: 400;">Confirmed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Who can see/request it?</span></td>
<td><span style="font-weight: 400;">Defined</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is approval required?</span></td>
<td><span style="font-weight: 400;">Configured</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is business justification needed?</span></td>
<td><span style="font-weight: 400;">Defined</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is temporary access appropriate?</span></td>
<td><span style="font-weight: 400;">Defined</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Are conflicting permissions considered?</span></td>
<td><span style="font-weight: 400;">Reviewed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is fulfillment defined?</span></td>
<td><span style="font-weight: 400;">Yes</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is audit history retained?</span></td>
<td><span style="font-weight: 400;">Tested</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Only then publish it.</span></p>
<h1><b>Measure Catalog Quality After Launch</b></h1>
<p><span style="font-weight: 400;">Once self-service begins, track what users actually do.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Useful metrics include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">most requested applications</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">most requested entitlements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">template adoption</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">request rejection rate</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">abandoned requests</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">frequently searched items</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">requests routed to the wrong owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">duplicate catalog items</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">temporary-access volume</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">requests later revoked during</span><a href="https://www.securends.com/user-access-reviews/"> <span style="font-weight: 400;">access reviews</span></a></li>
</ul>
<p><span style="font-weight: 400;">A high rejection rate for one item may mean eligibility is too broad.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Frequent one-off requests for the same combination may indicate a missing template.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A template repeatedly producing revocations during access reviews may need redesign.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The catalog should evolve with the organization.</span></p>
<h1><b>How SecurEnds Supports a Governed Access Request Catalog</b></h1>
<p><span style="font-weight: 400;">SecurEnds Application Access Request provides a self-service experience for requesting applications and individual entitlements. It also supports role-based Access Templates for bundling repeatable permission sets.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Its currently published functionality includes personalized catalogs, scope policies, multi-level approvals, business justification, time-bound access, request tracking, template-level workflows, and auditable request IDs.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds also connects Access Analysis with Access Templates, allowing common entitlement patterns to inform reusable access models.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For teams implementing the catalog, do not start by publishing the entire entitlement inventory.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Choose one department or business function.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then design:</span><span style="font-weight: 400;"><br />
</span><b>Applications → requestable entitlements → standard templates → eligibility → approvals → fulfillment → evidence</b><b><br />
</b><span style="font-weight: 400;">Test those catalog items with actual employees and managers.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If users understand what they are requesting and approvers understand what they are approving, the design is moving in the right direction.</span></p>
<h1><b>Best Practices for Access Request Catalog Design</b></h1>
<p><b>Publish governed access, not every entitlement.</b><span style="font-weight: 400;"> Availability in a source application does not make something appropriate for self-service.</span><span style="font-weight: 400;"><br />
</span><b>Use plain business language.</b><span style="font-weight: 400;"> Requesters and approvers should understand what access enables.</span><span style="font-weight: 400;"><br />
</span><b>Bundle stable patterns.</b><span style="font-weight: 400;"> Use templates for repeatable access instead of line-by-line requests.</span><span style="font-weight: 400;"><br />
</span><b>Keep exceptions separate.</b><span style="font-weight: 400;"> Do not put unusual access into standard templates simply because someone needed it once.</span><span style="font-weight: 400;"><br />
</span><b>Personalize visibility.</b><span style="font-weight: 400;"> Reduce irrelevant choices based on appropriate organizational context.</span><span style="font-weight: 400;"><br />
</span><b>Assign clear owners.</b><span style="font-weight: 400;"> Every requestable item needs someone responsible for maintaining it.</span><span style="font-weight: 400;"><br />
</span><b>Review the catalog regularly.</b><span style="font-weight: 400;"> Retire unused items, duplicate templates, and outdated permissions.</span><span style="font-weight: 400;"><br />
</span><b>Document everything.</b><span style="font-weight: 400;"> Preserve item definitions, ownership, eligibility, approval rules, changes, and request history.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is an access request catalog?</b></h3>
<p><span style="font-weight: 400;">An access request catalog is a governed collection of applications, roles, entitlements, or access templates that eligible users can request through a self-service process. A good catalog adds business context, ownership, eligibility, approval logic, and auditability instead of exposing an unfiltered list of technical permissions.</span></p>
<h3><b>Should every entitlement be available in the access request catalog?</b></h3>
<p><span style="font-weight: 400;">No. Only access that is appropriate for self-service should be published. Birthright permissions, obsolete access, highly privileged capabilities, or entitlements without clear ownership may require different governance. Publishing every entitlement can overwhelm requesters and increase inappropriate access requests.</span></p>
<h3><b>What is an access template?</b></h3>
<p><span style="font-weight: 400;">An access template is a reusable bundle of applications or entitlements representing a repeatable access need. For example, a Financial Analyst template could contain the standard permissions required for that function. Templates reduce repetitive individual requests and can help standardize access when the bundle has been properly validated.</span></p>
<h3><b>When should an organization use entitlement-level requests?</b></h3>
<p><span style="font-weight: 400;">Use entitlement requests when individual permissions materially affect what a user can do or when access needs vary significantly inside an application. Sensitive capabilities such as payment approval or administrative access often require more granular governance than basic application access.</span></p>
<h3><b>Who should own the access request catalog?</b></h3>
<p><span style="font-weight: 400;">IAM or security teams may administer the platform, but business and application ownership should be distributed appropriately. Application owners should understand their systems, entitlement owners should govern sensitive permissions, and template owners should validate standardized access packages as business needs change.</span></p>
<h3><b>How often should an access request catalog be reviewed?</b></h3>
<p><span style="font-weight: 400;">Review it regularly and whenever material changes occur. New applications, organizational changes, role changes, entitlement redesigns, audit findings, or repeated request/review problems can all justify catalog updates. The important requirement is preventing outdated access from remaining requestable indefinitely.</span></p>
<h1><b>Make Access Easier to Request Without Making Access Easier to Accumulate</b></h1>
<p><span style="font-weight: 400;">A good access request catalog is not the longest list of permissions your IGA platform can display.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is a governed menu of access your organization is prepared to grant under defined conditions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Applications give users a simple entry point.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Entitlements provide precision where permissions matter.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Access templates standardize stable, repeatable needs.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ownership, eligibility, approval rules, expiration, and evidence provide the control behind them.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Design those pieces together.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The result is a request process that can reduce email and ticket dependency while supporting least privilege and more consistent access decisions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your organization is building or redesigning self-service access, evaluate</span><a href="https://www.securends.com/application-access-request/"> <b>SecurEnds Application Access Request</b></a><span style="font-weight: 400;"> using your real application inventory and entitlement structure to see how applications, granular permissions, and Access Templates can be presented through a controlled catalog.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2c9843d3" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2c984a24" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c984c05" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/access-request-catalog/">Designing an Access Request Catalog: Applications, Entitlements and Access Templates</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/access-request-catalog/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Access Request Approval Workflow Automation: Replace Email and Ticket Chains</title>
		<link>https://www.securends.com/blog/access-request-approval-workflow/</link>
					<comments>https://www.securends.com/blog/access-request-approval-workflow/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 17 Sep 2026 10:45:39 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27098</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/access-request-approval-workflow/">Access Request Approval Workflow Automation: Replace Email and Ticket Chains</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2c986da4" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c986f77" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2c987199" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c98735d" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2c987565" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c987710" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2c98793d" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2c987cb8" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2c988017" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2c988675" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2c988970">
			<div class="image"><img loading="lazy" decoding="async"  class="ll-image unload" alt="Why Non-Human Identities Need Identity Governance" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789642080571 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">An access request approval workflow should control the entire path from request through approval, fulfillment, expiration, and evidence.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Email and generic service-desk tickets make it difficult to apply different controls to different types of access.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Requesters should identify the exact application, role, or entitlement needed and provide business justification where required.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Approval routing should reflect risk. Ordinary access and privileged access should not necessarily follow the same path.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Temporary access should have a defined end date rather than relying on someone to remember its removal.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Every request should leave a traceable record showing who requested access, who approved it, what was granted, and what happened afterward.</span></li>
</ul>
<h2><b>The Manager Approved the Email. But What Exactly Did They Approve?</b></h2>
<p><span style="font-weight: 400;">An employee needs additional access to a finance application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">They send their manager an email.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The manager replies:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Approved.&#8221;</b><b><br />
</b><span style="font-weight: 400;">The email is attached to a service-desk ticket. An IT administrator adds two permissions. Three months later, security reviews the account and asks several basic questions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Did the manager approve both permissions?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Was one of them privileged?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Was an application owner supposed to approve the request too?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Why does the employee still have temporary payment access?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Nobody intentionally bypassed the process.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The process simply did not contain enough structure.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is where an automated</span><a href="https://www.securends.com/access-request-workflow/"> <b>access request approval workflow</b></a><span style="font-weight: 400;"> becomes valuable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Instead of treating every request as another email or IT ticket, organizations can define what is being requested, who is allowed to approve it, which policies apply, how access is fulfilled, when it should expire, and what evidence must be retained.</span></p>
<h1><b>What Is an Access Request Approval Workflow?</b></h1>
<p><span style="font-weight: 400;">An access request approval workflow is a controlled process for evaluating and fulfilling a request for new or changed access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A practical workflow connects:</span><span style="font-weight: 400;"><br />
</span><b>Request → Context → Policy → Approval → Fulfillment → Verification → Evidence</b><b><br />
</b><span style="font-weight: 400;">The objective is not simply to make approvals faster.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is to make access decisions consistent and accountable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">CISA&#8217;s IAM guidance notes that identity governance systems can help ensure accounts and privileges are created or changed in response to approved and documented requests. It also connects these processes with least-privilege controls.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">NIST defines</span><a href="https://www.securends.com/blog/principle-of-least-privilege/"> <span style="font-weight: 400;">least privilege</span></a><span style="font-weight: 400;"> as allowing only the access necessary to perform assigned organizational tasks.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your approval workflow is one of the places where that principle can be applied </span><b>before unnecessary access enters the environment</b><span style="font-weight: 400;">.</span></p>
<h1><b>Why Do Email and Ticket Chains Fail as Access Governance?</b></h1>
<p><span style="font-weight: 400;">Tickets are useful for work management.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Email is useful for communication.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Neither automatically provides an effective access-governance model.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A manual process often looks like this:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Employee asks for &#8220;finance access.&#8221;</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Manager approves by email.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Service desk receives the request.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Administrator decides which role seems appropriate.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Access is granted.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Ticket closes.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Evidence remains scattered between systems.</span></li>
</ol>
<p><span style="font-weight: 400;">Several governance gaps can appear.</span></p>
<h3><b>The request is vague</b></h3>
<p><span style="font-weight: 400;">&#8220;Finance access&#8221; may represent ten different roles and dozens of entitlements.</span></p>
<h3><b>The wrong person approves</b></h3>
<p><span style="font-weight: 400;">A manager may know that the employee needs the application but not whether they need a sensitive payment entitlement.</span></p>
<h3><b>Risk is treated equally</b></h3>
<p><span style="font-weight: 400;">Read-only reporting access may follow the same workflow as privileged administration.</span></p>
<h3><b>Temporary access becomes permanent</b></h3>
<p><span style="font-weight: 400;">The request says &#8220;for the project,&#8221; but there is no enforced end date.</span></p>
<h3><b>Audit history becomes fragmented</b></h3>
<p><span style="font-weight: 400;">Request, approval, fulfillment, and removal may live in separate systems.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Automation should eliminate these ambiguities rather than simply move the same email process into a digital form.</span></p>
<h1><b>What Should an Automated Access Request Approval Workflow Include?</b></h1>
<h2><b>1. Make the Request Specific</b></h2>
<p><span style="font-weight: 400;">The requester should know what they are asking for.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Depending on the application, that could mean:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">specific entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">group membership</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">role</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">standardized access package</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">temporary elevated access</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds&#8217;</span><a href="https://www.securends.com/application-access-request/"> <span style="font-weight: 400;">Application Access Request</span></a><span style="font-weight: 400;"> offering supports requests at application and entitlement level, along with access templates that bundle standard permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This matters because approval quality depends on request clarity.</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Approve ERP access&#8221;</b><span style="font-weight: 400;"> is much weaker than:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Approve Vendor Inquiry — read-only access to vendor records.&#8221;</b><b><br />
</b><span style="font-weight: 400;">The approval interface should make the requested permission understandable to a business reviewer.</span></p>
<h2><b>2. Capture Business Justification Where It Matters</b></h2>
<p><span style="font-weight: 400;">Not every basic request needs a lengthy explanation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">But higher-risk or nonstandard access should answer:</span><span style="font-weight: 400;"><br />
</span><b>Why does this person need the access?</b><b><br />
</b><span style="font-weight: 400;">A useful justification might say:</span></p>
<p><span style="font-weight: 400;">Employee is supporting the Q4 supplier reconciliation project through December 15.</span></p>
<p><span style="font-weight: 400;">That gives the approver context.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It also provides evidence later if security teams question why the entitlement existed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds documents configurable business-justification requirements within its access request capabilities.</span></p>
<h2><b>3. Route Approval to the Right Owner</b></h2>
<p><span style="font-weight: 400;">One approver should not automatically decide every type of access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A workflow could route decisions to:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">line manager</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">data owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">security team</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">another designated approver</span></li>
</ul>
<p><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Standard SaaS access:</b><span style="font-weight: 400;"> Manager</span><span style="font-weight: 400;"><br />
</span><b>Sensitive application entitlement:</b><span style="font-weight: 400;"> Manager → Application Owner</span><span style="font-weight: 400;"><br />
</span><b>Privileged administration:</b><span style="font-weight: 400;"> Manager → Application Owner → Security</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The number of approval stages should reflect risk rather than organizational habit.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Microsoft&#8217;s identity-governance model similarly supports single- and multi-stage approval with requester justification and defined approvers.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds documents configurable single- and multi-level approval workflows and dynamic routing to managers, application custodians, or entitlement custodians.</span></p>
<h1><b>Do Not Add Approval Steps That Do Not Add Control</b></h1>
<p><span style="font-weight: 400;">More approvals do not automatically create better governance.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Consider this path:</span><span style="font-weight: 400;"><br />
</span><b>Manager → Manager&#8217;s Director → IT Manager → Application Owner → Security</b><b><br />
</b><span style="font-weight: 400;">If each approver simply clicks approve because the previous person already approved, the organization has created delay rather than stronger control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Every approval stage should answer a different question.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Manager:</b><span style="font-weight: 400;"> Does this person need the access for their job?</span><span style="font-weight: 400;"><br />
</span><b>Application owner:</b><span style="font-weight: 400;"> Is this the appropriate entitlement?</span><span style="font-weight: 400;"><br />
</span><b>Security:</b><span style="font-weight: 400;"> Is this higher-risk access acceptable under policy?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Remove approval stages that cannot make a meaningful decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This makes the workflow both faster and more defensible.</span></p>
<h1><b>How Should Higher-Risk Access Be Handled?</b></h1>
<p><span style="font-weight: 400;">An automated workflow should allow different access to receive different scrutiny.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Consider factors such as:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged permissions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">sensitive financial access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">administrative roles</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">production access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access to regulated data</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unusual entitlements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">third-party access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">temporary elevated permissions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">potential</span><a href="https://www.securends.com/blog/segregation-of-duties-conflicts/"> <span style="font-weight: 400;">segregation-of-duties conflicts</span></a></li>
</ul>
<p><span style="font-weight: 400;">The workflow may require additional approval or different controls when those conditions appear.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; application access request page documents multi-level approval options and SoD-related access controls within its request process.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For buyers, the important test is not whether a vendor says &#8220;risk-based approvals.&#8221;</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Give the platform two different requests and see whether they can follow different governance paths.</span></p>
<h1><b>Temporary Access Needs an End Date</b></h1>
<p><span style="font-weight: 400;">Suppose an engineer requires production administration for a two-week migration.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The organization has two choices.</span><span style="font-weight: 400;"><br />
</span><b>Option A:</b><span style="font-weight: 400;"> Grant access and create a reminder for someone to remove it later.</span><span style="font-weight: 400;"><br />
</span><b>Option B:</b><span style="font-weight: 400;"> Grant time-bound access with a defined expiration.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The second creates a stronger control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds documents time-bound access requests with end dates, reminders, and deprovisioning where supported.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Temporary access is particularly useful for:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">projects</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">contractors</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">elevated administration</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">emergency assignments</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">temporary role coverage</span></li>
</ul>
<p><span style="font-weight: 400;">The workflow should preserve the approved duration so &#8220;temporary&#8221; does not quietly become permanent.</span></p>
<h1><b>Approval Is Not the End of the Workflow</b></h1>
<p><span style="font-weight: 400;">A common access-request design ends when the manager clicks </span><b>Approve</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That is only the authorization decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The access still needs to be fulfilled.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Depending on the application, fulfillment might happen through:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">automated</span><a href="https://www.securends.com/blog/what-is-user-provisioning/"> <span style="font-weight: 400;">provisioning</span></a></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">SCIM or another supported integration</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">ITSM ticket</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application administrator</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">controlled manual action</span></li>
</ul>
<p><span style="font-weight: 400;">Your workflow should distinguish:</span><span style="font-weight: 400;"><br />
</span><b>Approved</b><b><br />
</b><span style="font-weight: 400;">from</span><span style="font-weight: 400;"><br />
</span><b>Provisioned</b><b><br />
</b><span style="font-weight: 400;">and ideally from</span><span style="font-weight: 400;"><br />
</span><b>Verified</b><b><br />
</b><span style="font-weight: 400;">If a request was approved but provisioning failed, security and IT teams need to see that state.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds positions access requests, approval, provisioning, and tracking as connected parts of its</span><a href="https://www.securends.com/identity-governance-and-administration-solutions/"> <span style="font-weight: 400;">IGA offering</span></a><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not assume every application supports the same fulfillment method. Validate provisioning and deprovisioning against your actual target systems.</span></p>
<h1><b>Manual Request Chain vs Automated Approval Workflow</b></h1>
<table>
<tbody>
<tr>
<td><b>Email/Ticket Process</b></td>
<td><b>Governed Workflow</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Request described in free text</span></td>
<td><span style="font-weight: 400;">Application or entitlement selected</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Approver chosen manually</span></td>
<td><span style="font-weight: 400;">Predefined approval routing</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Same process for every request</span></td>
<td><span style="font-weight: 400;">Controls vary by access type</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Business reason may be missing</span></td>
<td><span style="font-weight: 400;">Justification captured where required</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Temporary access tracked manually</span></td>
<td><span style="font-weight: 400;">Defined expiration can be applied</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Status requires chasing IT</span></td>
<td><span style="font-weight: 400;">Request status is visible</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Fulfillment separated from approval</span></td>
<td><span style="font-weight: 400;">Approval and fulfillment remain connected</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Evidence assembled during audit</span></td>
<td><span style="font-weight: 400;">Request history retained with the transaction</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Automation does not remove human decision-making.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It removes the administrative ambiguity around that decision.</span></p>
<h1><b>What Happens When the Normal Approver Is Unavailable?</b></h1>
<p><span style="font-weight: 400;">Approver availability should not force requesters back to email.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Define fallback logic before it becomes an operational problem.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Primary approver unavailable → Application Default Approver → Global Default Approver</b><b><br />
</b><span style="font-weight: 400;">SecurEnds&#8217; 2026 release documentation describes an application-level default approver that can receive requests when a user&#8217;s manager is unavailable before requests fall back further.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Delegation also needs evidence.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If another person approved the request, your audit trail should show who actually made that decision rather than making it appear that the original manager acted.</span></p>
<h1><b>What Evidence Should Every Access Request Preserve?</b></h1>
<p><span style="font-weight: 400;">A good request record should allow compliance or audit teams to reconstruct the decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Preserve:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">requester</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">person receiving access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">role or entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">business justification</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approver or approvers</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approval decision</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">timestamps</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">requested duration</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">fulfillment outcome</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">relevant changes</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unique request reference</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds documents unique auditable request IDs, request status tracking, approval history, timestamps, justification, and approver identity across its access request capabilities.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The aim should be simple:</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An auditor should not need email access to understand why the entitlement was granted.</span></p>
<h1><b>What Should Buyers Look for in Access Request Automation?</b></h1>
<p><span style="font-weight: 400;">When evaluating access governance software, ask vendors to demonstrate:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">self-service request experience</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application and entitlement requests</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">standardized access templates</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">business justification</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">configurable approvers</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">multi-level approval</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">fallback approvers</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">delegated approval</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">temporary access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">status tracking</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">fulfillment integration</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">failure handling</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">deprovisioning</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">complete request audit history</span></li>
</ul>
<p><span style="font-weight: 400;">Then introduce an exception.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ask for privileged access while the normal approver is unavailable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That will tell you more than a standard demo.</span></p>
<h1><b>How SecurEnds Automates the Access Request Approval Workflow</b></h1>
<p><span style="font-weight: 400;">SecurEnds provides a centralized Application Access Request process for requesting applications and entitlements instead of relying on ad hoc email approvals.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Its published capabilities include self-service requests, application and entitlement selection, access templates, configurable multi-level approval, dynamic approver assignment, business justification, time-bound access, request tracking, and auditable request IDs.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds also publishes a dedicated access request workflow capability centered on predefined routing, policy-based approvals, justification, delegation, ITSM integrations, and audit history.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For an enterprise evaluation, test the complete process:</span><span style="font-weight: 400;"><br />
</span><b>Request → Manager approval → Application-owner approval → Fulfillment → Status → Evidence</b><b><br />
</b><span style="font-weight: 400;">Then repeat the test using a higher-risk entitlement and temporary expiration.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That will show whether the workflow can replace the email and ticket chains your teams use today.</span></p>
<h1><b>Best Practices for Access Request Approval Automation</b></h1>
<p><b>Define the access catalog clearly.</b><span style="font-weight: 400;"> Requesters should know exactly what they are requesting.</span><span style="font-weight: 400;"><br />
</span><b>Match approval to risk.</b><span style="font-weight: 400;"> Do not make every entitlement follow the same approval chain.</span><span style="font-weight: 400;"><br />
</span><b>Keep approvers purposeful.</b><span style="font-weight: 400;"> Every approval stage should make a meaningful decision.</span><span style="font-weight: 400;"><br />
</span><b>Require justification for unusual access.</b><span style="font-weight: 400;"> Preserve the reason with the request.</span><span style="font-weight: 400;"><br />
</span><b>Use time limits for temporary needs.</b><span style="font-weight: 400;"> Avoid depending on manual reminders.</span><span style="font-weight: 400;"><br />
</span><b>Track fulfillment after approval.</b><span style="font-weight: 400;"> Authorization and provisioning are different events.</span><span style="font-weight: 400;"><br />
</span><b>Design fallback ownership.</b><span style="font-weight: 400;"> Approver absence should not stop the workflow or bypass control.</span><span style="font-weight: 400;"><br />
</span><b>Document everything.</b><span style="font-weight: 400;"> Retain the request, justification, approval path, fulfillment, expiration, and final outcome.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is an access request approval workflow?</b></h3>
<p><span style="font-weight: 400;">An access request approval workflow is a structured process for requesting, evaluating, approving, fulfilling, and documenting access to applications, roles, or entitlements. It defines what is being requested, who must approve it, what policies apply, how access is provisioned, and what audit evidence is retained.</span></p>
<h3><b>Why automate access request approvals?</b></h3>
<p><span style="font-weight: 400;">Automation reduces dependence on email, spreadsheets, and manually coordinated tickets. It can route requests consistently, preserve business justification, track approval status, support different workflows for different access types, and maintain a clearer record of how access was authorized.</span></p>
<h3><b>Should every access request require manager approval?</b></h3>
<p><span style="font-weight: 400;">Not necessarily. Approval design should follow your access policy and risk model. Some standardized low-risk access may require a simpler workflow, while privileged or sensitive entitlements may require managers, application owners, security teams, or multiple approval stages.</span></p>
<h3><b>How should privileged access requests be handled?</b></h3>
<p><span style="font-weight: 400;">Privileged access should generally receive stronger scrutiny than ordinary access. Organizations can require additional approval, detailed justification, time-bound access, or other controls based on their security policy. The exact workflow should reflect the risk and business requirement.</span></p>
<h3><b>Can temporary access be automated?</b></h3>
<p><span style="font-weight: 400;">Yes, when the governance and target-system capabilities support it. A request can capture an approved end date and trigger expiration or</span><a href="https://www.securends.com/blog/what-is-user-deprovisioning/"> <span style="font-weight: 400;">deprovisioning</span></a><span style="font-weight: 400;"> according to the configured workflow. Where automated removal is unavailable, the expiration should still create a controlled remediation action.</span></p>
<h3><b>What audit evidence should an access request retain?</b></h3>
<p><span style="font-weight: 400;">Retain who requested the access, who would receive it, the application or entitlement, justification, approvers, decisions, timestamps, duration, fulfillment outcome, and relevant request identifier. The evidence should allow the organization to explain later why access was granted.</span></p>
<h1><b>Replace the Approval Chain, Not Just the Form</b></h1>
<p><span style="font-weight: 400;">Moving an email request into an online form does not automatically create access governance.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The control comes from what happens around the request.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Make the requested access specific.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Route it to people who understand the decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Apply stronger approval when the risk is higher.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Give temporary access an end date.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Track what happened after approval.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">And retain the evidence.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That creates a workflow that helps your organization grant necessary access without turning every request into the next access-review cleanup problem.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your teams are still managing application access through email and disconnected tickets, explore</span><a href="https://www.securends.com/application-access-request/"> <b>SecurEnds Application Access Request</b></a><span style="font-weight: 400;"> and evaluate the workflow using one of your real approval scenarios.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2ca8a18e" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2ca8a774" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ca8a951" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/access-request-approval-workflow/">Access Request Approval Workflow Automation: Replace Email and Ticket Chains</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/access-request-approval-workflow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Define the Scope of an Access Review Campaign</title>
		<link>https://www.securends.com/blog/access-review-scope/</link>
					<comments>https://www.securends.com/blog/access-review-scope/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 17 Sep 2026 10:40:42 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27094</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/access-review-scope/">How to Define the Scope of an Access Review Campaign</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2ca8c8fb" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ca8cac9" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2ca8ccd7" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ca8ce94" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2ca8d0ae" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ca8d263" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2ca8d493" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2ca8d7fe" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ca8db48" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2ca8e1b1" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2ca8e4ac">
			<div class="image"><img loading="lazy" decoding="async"  class="ll-image unload" alt="Why Non-Human Identities Need Identity Governance" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789641776918 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Access review scope determines exactly which identities, applications, accounts, roles, and entitlements reviewers will evaluate.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Avoid putting every user and every permission into one campaign simply because the data is available.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Start with the control objective: privileged access, finance applications, inactive users, contractors, specific entitlements, or another defined risk.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Verify identity matching, application ownership, entitlement quality, reviewer assignment, and exclusions before launch.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Document why users or access were excluded. An auditor may ask about the population outside the campaign.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">SecurEnds supports campaign templates that can scope reviews by user status, applications, credentials, roles, and entitlements.</span></li>
</ul>
<h2><b>The Campaign Has 40,000 Decisions. Most of Them Do Not Need Attention.</b></h2>
<p><span style="font-weight: 400;">Your IAM team launches a quarterly access review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Every employee is included.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Every connected application is included.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Every role and entitlement is included.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Managers open the campaign and find hundreds of decisions waiting.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Many are routine.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Some permissions are poorly described.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A few users should never have entered the campaign at all.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The highest-risk access is now buried among thousands of low-value approvals.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Technically, the organization has created a comprehensive review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Operationally, it has created reviewer fatigue.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is why </span><b>access review scope</b><span style="font-weight: 400;"> should be designed before the campaign begins.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The objective is not to make the review as large as possible. It is to identify the population that supports a specific security, compliance, or governance objective and route those decisions to people capable of making them.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Good scoping improves review quality, completion time, remediation, and audit evidence.</span></p>
<h1><b>What Is Access Review Scope?</b></h1>
<p><span style="font-weight: 400;">Access review scope defines </span><b>who and what will be reviewed during an</b><a href="https://www.securends.com/blog/access-certification/"> <b>access certification</b></a><b> campaign</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Depending on the control, scope can include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">users</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">contractors</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">guest accounts</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">inactive identities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">service accounts</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">applications</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">groups</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">roles</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">credentials</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">individual entitlements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged permissions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">specific business units</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">selected risk categories</span></li>
</ul>
<p><span style="font-weight: 400;">Microsoft&#8217;s current access-review model similarly allows organizations to scope reviews to selected resources and populations, including specific applications, groups, guests, everyone with access, inactive users, and particular privileged assignments.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The exact scope should come from the purpose of the review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not begin with:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;What data can our tool pull?&#8221;</b><b><br />
</b><span style="font-weight: 400;">Begin with:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;What access decision are we trying to validate?&#8221;</b></p>
<h1><b>Start With the Control Objective</b></h1>
<p><span style="font-weight: 400;">Before selecting users or applications, write one sentence describing why the campaign exists.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Quarterly finance review:</b><b><br />
</b><span style="font-weight: 400;">Validate that employees with access to financially significant systems still require that access.</span><span style="font-weight: 400;"><br />
</span><b>Privileged access review:</b><b><br />
</b><span style="font-weight: 400;">Validate administrator and elevated permissions across selected systems.</span><span style="font-weight: 400;"><br />
</span><b>Contractor review:</b><b><br />
</b><span style="font-weight: 400;">Identify contractors whose access is no longer justified.</span><span style="font-weight: 400;"><br />
</span><b>Inactive-user review:</b><b><br />
</b><span style="font-weight: 400;">Review application access associated with identities marked inactive in the system of record.</span><span style="font-weight: 400;"><br />
</span><b>Entitlement-specific review:</b><b><br />
</b><span style="font-weight: 400;">Review all users holding a sensitive payment-approval permission.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A clear objective makes the remaining scoping decisions easier.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Without one, teams often create a large campaign because it feels safer to review everything.</span></p>
<h1><b>Which Applications Should Be Included?</b></h1>
<p><span style="font-weight: 400;">Not every campaign needs every application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Choose systems based on the control you are testing.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Consider:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">business criticality</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">sensitive information</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">compliance relevance</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">known access problems</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">audit findings</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">user population</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement risk</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">review frequency</span></li>
</ul>
<p><span style="font-weight: 400;">A SOX-focused campaign may concentrate on specific financial applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A privileged-access campaign may include administrative roles across directories, cloud platforms, and infrastructure tools.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A contractor review may span applications where third-party access is common.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds campaign templates allow organizations to select which applications enter a review and then further narrow the campaign where required.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The key question is:</span><span style="font-weight: 400;"><br />
</span><b>Does this application&#8217;s access support the purpose of this campaign?</b><b><br />
</b><span style="font-weight: 400;">If not, putting it in scope may create workload without improving the control.</span></p>
<h1><b>Which Users Should Be Included?</b></h1>
<p><span style="font-weight: 400;">Once the application scope is clear, determine the identity population.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Possible populations include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">all active employees</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">inactive identities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">contractors</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">partners</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">administrators</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">users in a department</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application-specific users</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged users</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">service accounts</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds&#8217; campaign-template documentation allows campaigns to distinguish active and inactive users from the system of record. It specifically describes inactive-user reviews as a way to find identities marked inactive in the source system that still retain application access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is useful because different populations often need different review logic.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example, a campaign targeting inactive users may focus primarily on whether access should exist at all.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A privileged-user campaign may require deeper entitlement-level review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not assume one campaign design works equally well for both.</span></p>
<h1><b>Should You Review the Application, Credential, Role or Entitlement?</b></h1>
<p><span style="font-weight: 400;">Scoping depth matters.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Consider these three reviews:</span><span style="font-weight: 400;"><br />
</span><b>Application level:</b><b><br />
</b><span style="font-weight: 400;">Does Sarah still need access to the ERP system?</span><span style="font-weight: 400;"><br />
</span><b>Role level:</b><b><br />
</b><span style="font-weight: 400;">Does Sarah still need the Accounts Payable Manager role?</span><span style="font-weight: 400;"><br />
</span><b>Entitlement level:</b><b><br />
</b><span style="font-weight: 400;">Does Sarah still need the ability to approve vendor payments?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">These are different control questions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Application-level reviews are easier for managers but can miss excessive permissions inside the application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Entitlement-level reviews provide greater precision but can generate large reviewer workloads.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Use the level necessary for the risk.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds documents campaign scoping down to specific roles, credentials, and entitlements where required. Its guidance gives the example of reviewing only domain administrators for a particular application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A practical strategy is to apply deeper review to higher-risk access rather than requiring every manager to evaluate every low-level permission.</span></p>
<h1><b>Verify Identity Matching Before You Finalize Scope</b></h1>
<p><span style="font-weight: 400;">Campaign scope is only as accurate as the identity data underneath it.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Suppose an application contains 900 accounts.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Only 850 map correctly to identities.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Launching the review without investigating the remaining 50 creates uncertainty.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Those accounts may belong to:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">former employees</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">contractors</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">shared identities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">service accounts</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">duplicate accounts</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">users with inconsistent identifiers</span></li>
</ul>
<p><span style="font-weight: 400;">Before launch, check:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">matched accounts</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unmatched accounts</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">inactive identities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">excluded identities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">service accounts</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">duplicate credentials</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds&#8217; application documentation distinguishes matched, excluded, deleted, purged, and service-account states and notes how those categories affect campaign participation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not use campaign creation as a substitute for identity-data reconciliation.</span></p>
<h1><b>Define Reviewers as Part of Scope</b></h1>
<p><span style="font-weight: 400;">Scope is not complete until you know </span><b>who will make the decision</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Different review types may require different reviewers.</span></p>
<h3><b>Manager review</b></h3>
<p><span style="font-weight: 400;">Useful when the question is whether a person needs application access for their job.</span></p>
<h3><b>Application-owner review</b></h3>
<p><span style="font-weight: 400;">Useful when the reviewer needs deeper knowledge of application roles or permissions.</span></p>
<h3><b>Entitlement-owner review</b></h3>
<p><span style="font-weight: 400;">Useful when individual permissions have distinct business ownership.</span></p>
<h3><b>Specialized control-owner review</b></h3>
<p><span style="font-weight: 400;">Appropriate for particularly sensitive or regulated access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Microsoft&#8217;s access-review guidance similarly supports different reviewer models, including resource owners and other assigned reviewers.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Before launch, verify:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer is active</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer owns the correct population</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer can understand the access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">fallback or escalation path exists</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">self-review conflicts are addressed</span></li>
</ul>
<p><span style="font-weight: 400;">Incorrect reviewer assignment can create both campaign delays and weak decisions.</span></p>
<h1><b>Exclusions Need Governance Too</b></h1>
<p><span style="font-weight: 400;">There are legitimate reasons to exclude identities or access from a campaign.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Examples might include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a system account managed under another control</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an application outside the control objective</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a temporary technical population handled separately</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an access type reviewed through another campaign</span></li>
</ul>
<p><span style="font-weight: 400;">But exclusions should not happen invisibly.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Document:</span><span style="font-weight: 400;"><br />
</span><b>What was excluded?</b><b><br />
</b><b>Why was it excluded?</b><b><br />
</b><b>Who approved the exclusion?</b><b><br />
</b><b>Which control covers it instead, if applicable?</b><b><br />
</b><span style="font-weight: 400;">SecurEnds specifically advises that campaigns should contain users who need review and supports application-level exclusions. Its documentation also states that excluded-user lists can be exported for auditors.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That is important because an auditor may ask:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;How do you know this campaign included the complete intended population?&#8221;</b><b><br />
</b><span style="font-weight: 400;">The answer should include both the reviewed population and documented exclusions.</span></p>
<h1><b>Broad Campaign or Risk-Based Campaign?</b></h1>
<p><span style="font-weight: 400;">Not every campaign needs to review the entire workforce.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A risk-based approach can prioritize access that deserves greater scrutiny.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Possible criteria include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged roles</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">sensitive entitlements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">inactive identities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">terminated identities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">contractor access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">high-risk applications</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access outside expected templates</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">administrator groups</span></li>
</ul>
<p><span style="font-weight: 400;">Microsoft&#8217;s current access-review APIs also support narrower scopes such as inactive users, guest users, specific resources, and privileged assignments.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This does not mean broad campaigns are unnecessary.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Organizations may still need comprehensive periodic reviews.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The better model is often a combination:</span><span style="font-weight: 400;"><br />
</span><b>Broad periodic review + targeted higher-frequency reviews for</b><a href="https://www.securends.com/blog/access-reviews-least-privilege/"> <b>higher-risk access</b></a></p>
<h1><b>Use a Pre-Launch Scope Checklist</b></h1>
<p><span style="font-weight: 400;">Before starting the campaign, answer these questions:</span></p>
<table>
<tbody>
<tr>
<td><b>Scope Question</b></td>
<td><b>Confirm Before Launch</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">What control objective does the campaign support?</span></td>
<td><span style="font-weight: 400;">Documented</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Which applications are included?</span></td>
<td><span style="font-weight: 400;">Confirmed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Which identities are included?</span></td>
<td><span style="font-weight: 400;">Confirmed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Which roles/entitlements are included?</span></td>
<td><span style="font-weight: 400;">Confirmed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Are unmatched accounts resolved?</span></td>
<td><span style="font-weight: 400;">Reviewed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Are inactive users handled correctly?</span></td>
<td><span style="font-weight: 400;">Reviewed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Who owns each review?</span></td>
<td><span style="font-weight: 400;">Assigned</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Are self-review conflicts addressed?</span></td>
<td><span style="font-weight: 400;">Confirmed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">What is excluded?</span></td>
<td><span style="font-weight: 400;">Documented</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Can exclusions be explained later?</span></td>
<td><span style="font-weight: 400;">Yes</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Is remediation defined?</span></td>
<td><span style="font-weight: 400;">Yes</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Can the campaign evidence reproduce the original scope?</span></td>
<td><span style="font-weight: 400;">Tested</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Do this before sending the first reviewer notification.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Once a campaign is live, changing scope can complicate both reviewer expectations and</span><a href="https://www.securends.com/blog/identity-compliance-audit-readiness/"> <span style="font-weight: 400;">audit evidence</span></a><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; campaign-template documentation similarly notes that template details can be modified before associated campaigns are launched, while some configuration becomes restricted after launch.</span></p>
<h1><b>How SecurEnds Supports Access Review Scoping</b></h1>
<p><span style="font-weight: 400;">SecurEnds </span><a href="https://www.securends.com/blog/user-access-reviews/"><span style="font-weight: 400;">User Access Reviews</span></a><span style="font-weight: 400;"> supports recurring campaigns across employees, contractors, partners, applications, credentials, and entitlements. Its production product page describes campaign-driven reviews across cloud and on-premises environments.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Its campaign templates provide more specific scoping controls.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Organizations can define:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">active or inactive user populations</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">applications included in the review</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">specific credentials</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">roles</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">campaign reviewers</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">exclusions</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds also documents access-template-based reviews, which can help organizations evaluate access against expected access patterns rather than requiring reviewers to assess every entitlement individually.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For teams evaluating SecurEnds, use a real campaign design during the POC.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Instead of asking the vendor to create a generic review, provide:</span><span style="font-weight: 400;"><br />
</span><b>one business objective + two applications + a defined user population + one sensitive entitlement + an exclusion + multiple reviewer types</b><b><br />
</b><span style="font-weight: 400;">Then confirm exactly who appears in the resulting campaign and why.</span></p>
<h1><b>Best Practices for Defining Access Review Scope</b></h1>
<p><b>Start with the control objective.</b><span style="font-weight: 400;"> Know what access question the review must answer.</span><span style="font-weight: 400;"><br />
</span><b>Do not scope by connector availability alone.</b><span style="font-weight: 400;"> Governance importance should drive application selection.</span><span style="font-weight: 400;"><br />
</span><b>Use the right review depth.</b><span style="font-weight: 400;"> Review high-risk entitlements more precisely where necessary.</span><span style="font-weight: 400;"><br />
</span><b>Validate identities before launch.</b><span style="font-weight: 400;"> Unmatched accounts can create gaps in the review population.</span><span style="font-weight: 400;"><br />
</span><b>Assign knowledgeable reviewers.</b><span style="font-weight: 400;"> Ownership is part of campaign scope.</span><span style="font-weight: 400;"><br />
</span><b>Separate different populations when useful.</b><span style="font-weight: 400;"> Employees, contractors, inactive identities, and privileged users may need different campaigns.</span><span style="font-weight: 400;"><br />
</span><b>Document exclusions.</b><span style="font-weight: 400;"> Make the population outside the review explainable.</span><span style="font-weight: 400;"><br />
</span><b>Preserve the original scope.</b><span style="font-weight: 400;"> Audit evidence should show what reviewers were actually asked to certify.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is access review scope?</b></h3>
<p><span style="font-weight: 400;">Access review scope defines the users, applications, accounts, roles, groups, or entitlements included in an access certification campaign. The scope should reflect the security or compliance objective of the review rather than simply including every available identity and permission.</span></p>
<h3><b>Should every application be included in every access review?</b></h3>
<p><span style="font-weight: 400;">No. Different campaigns may support different control objectives. A finance review might target financially significant applications, while a privileged-access review might focus on administrator roles across several systems. Broader periodic reviews can be combined with narrower risk-based campaigns.</span></p>
<h3><b>Should access reviews be performed at application or entitlement level?</b></h3>
<p><span style="font-weight: 400;">It depends on the risk. Application-level reviews answer whether someone should retain access to the system. Entitlement-level reviews examine individual permissions within that system. Higher-risk or privileged access may justify more granular review, while lower-risk access may not require the same depth.</span></p>
<h3><b>How should inactive users be handled in an access review?</b></h3>
<p><span style="font-weight: 400;">Inactive users can be reviewed as a dedicated population to identify accounts that remain active in target applications even though the authoritative identity source marks the person inactive. This can help identify</span><a href="https://www.securends.com/blog/orphaned-accounts/"> <span style="font-weight: 400;">stale or orphaned access</span></a><span style="font-weight: 400;"> requiring remediation.</span></p>
<h3><b>Can users be excluded from an access review?</b></h3>
<p><span style="font-weight: 400;">Yes, when there is a legitimate governance reason. However, exclusions should be intentional, documented, and explainable. Record why the user or account was excluded and whether another control governs the access. Exclusion records can also be useful during audit testing.</span></p>
<h3><b>Who should define access review scope?</b></h3>
<p><span style="font-weight: 400;">IAM or security teams normally coordinate campaign design, but application owners, business owners, compliance teams, and control owners should contribute where relevant. The people defining scope need to understand both the technical access model and the control objective the campaign is intended to support.</span></p>
<h1><b>Review the Right Access, Not Simply More Access</b></h1>
<p><span style="font-weight: 400;">A larger campaign is not automatically a stronger campaign.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The best access review scope makes the control clear.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You know which identities are being evaluated.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You know which applications matter.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You know how deeply permissions need to be reviewed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You know who owns each decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">And you can explain every exclusion.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That gives reviewers a manageable population and gives auditors a defensible record of what the campaign was designed to test.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Before launching your next certification, define the scope first.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then collect the access, route the right decisions, remediate findings, and preserve evidence around that exact population.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your team needs more control over campaign design, explore </span><b>SecurEnds User Access Reviews</b><span style="font-weight: 400;"> and evaluate how templates, application selection, identity status, credential and entitlement filtering, reviewer assignment, and exclusions can support your review program.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2cc62806" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2cc62dc5" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cc62fb7" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/access-review-scope/">How to Define the Scope of an Access Review Campaign</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/access-review-scope/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Access Review Evidence Retention: What Should Be Preserved for Auditors?</title>
		<link>https://www.securends.com/blog/access-review-audit-evidence-retention/</link>
					<comments>https://www.securends.com/blog/access-review-audit-evidence-retention/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 17 Sep 2026 10:34:20 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27089</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/access-review-audit-evidence-retention/">Access Review Evidence Retention: What Should Be Preserved for Auditors?</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2cc64ef4" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cc650dd" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2cc652ef" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cc6549d" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2cc6569e" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cc65845" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2cc65a70" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2cc65de0" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cc6614a" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2cc66785" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2cc66a6f">
			<div class="image"><img loading="lazy" decoding="async"  class="ll-image unload" alt="Why Non-Human Identities Need Identity Governance" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789641430710 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Access review audit evidence should prove more than campaign completion.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Preserve the population reviewed, applications and entitlements in scope, assigned reviewers, decisions, timestamps, comments, exclusions, exceptions, and remediation.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A revoke decision is incomplete evidence unless you can show what happened afterward.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Retention periods should follow your organization&#8217;s records policy and applicable compliance obligations. Do not assume one period applies to every framework.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Protect historical evidence from unauthorized modification or deletion and make sure older records remain retrievable.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Identity governance software should create evidence during the review workflow rather than forcing teams to reconstruct it during an audit.</span></li>
</ul>
<h2><b>The Auditor Does Not Ask Whether the Review Happened</b></h2>
<p><span style="font-weight: 400;">The request sounds simple:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Show us the Q2 finance-system access review.&#8221;</b><b><br />
</b><span style="font-weight: 400;">Your compliance team finds a spreadsheet showing every user was reviewed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then the questions begin.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Which application export created this population?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Were any accounts excluded?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Who reviewed the payment administrator entitlement?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">When was the decision made?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Why was one user retained?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Twenty-seven permissions were revoked. Were they actually removed?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">One manager was replaced midway through the review. Who made the final decisions?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The spreadsheet proves that a review document existed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It does not necessarily prove that the control operated as intended.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is why </span><b>access review audit evidence</b><span style="font-weight: 400;"> should be designed as part of the</span><a href="https://www.securends.com/blog/access-certification/"> <span style="font-weight: 400;">certification workflow</span></a><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A strong evidence record allows another person—months or years later—to reconstruct what was reviewed, who made each decision, what changed, and whether unresolved access was handled.</span></p>
<h1><b>What Does Good Access Review Audit Evidence Need to Prove?</b></h1>
<p><span style="font-weight: 400;">An auditor is usually trying to understand whether the access-review control operated consistently.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your evidence should help answer five questions:</span><span style="font-weight: 400;"><br />
</span><b>What was reviewed?</b><b><br />
</b><b>Who reviewed it?</b><b><br />
</b><b>What did they decide?</b><b><br />
</b><b>What happened when access was rejected or excepted?</b><b><br />
</b><b>Can the organization still prove the result later?</b><b><br />
</b><span style="font-weight: 400;">NIST&#8217;s audit-record guidance provides a useful general model. Audit records should contain information such as what occurred, when it occurred, the source, outcome, and identity associated with the event. NIST also states that records should be retained according to an organization-defined retention policy and remain retrievable over the required period.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For access reviews, that principle translates into preserving the complete decision chain.</span></p>
<h1><b>What Should Be Included in an Access Review Evidence Package?</b></h1>
<p><span style="font-weight: 400;">Do not retain only the final certification report.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Think of evidence as several connected layers.</span></p>
<table>
<tbody>
<tr>
<td><b>Evidence Area</b></td>
<td><b>What to Preserve</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Campaign definition</span></td>
<td><span style="font-weight: 400;">Campaign name, purpose, review period, start and end dates</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Scope</span></td>
<td><span style="font-weight: 400;">Applications, identities, accounts, roles and entitlements reviewed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Source population</span></td>
<td><span style="font-weight: 400;">Data used to establish who had access at review time</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Reviewer assignment</span></td>
<td><span style="font-weight: 400;">Assigned reviewer and relevant ownership</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Decisions</span></td>
<td><span style="font-weight: 400;">Approve, revoke or other supported outcome</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Decision context</span></td>
<td><span style="font-weight: 400;">Comments, notes and justification</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Timing</span></td>
<td><span style="font-weight: 400;">Decision and campaign timestamps</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Exclusions</span></td>
<td><span style="font-weight: 400;">Users or access intentionally omitted and why</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Remediation</span></td>
<td><span style="font-weight: 400;">Actions created after revoked access</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Verification</span></td>
<td><span style="font-weight: 400;">Evidence that required changes reached the source system</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Exceptions</span></td>
<td><span style="font-weight: 400;">Approved deviations and supporting rationale</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Campaign result</span></td>
<td><span style="font-weight: 400;">Completion status and final reporting</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">The goal is traceability.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A final PDF stating &#8220;Certification completed: 100%&#8221; is useful.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is not a substitute for the underlying evidence.</span></p>
<h2><b>1. Preserve the Review Scope and Original Population</b></h2>
<p><span style="font-weight: 400;">A review decision only has meaning if you can establish what population was presented to reviewers.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Suppose the finance application had 1,240 accounts during Q2.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your evidence should make it possible to determine whether all 1,240 were considered, or why particular accounts were outside the review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Keep enough information to identify:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">user or identity</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">account</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">role</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">account status</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">review period</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">relevant business ownership</span></li>
</ul>
<p><span style="font-weight: 400;">Also retain information about exclusions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; campaign documentation states that campaign templates can define users, applications, credentials, roles, and entitlements in scope. It also supports exporting lists of users excluded from application campaigns for auditor review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That matters because an auditor may care as much about </span><b>what was not reviewed</b><span style="font-weight: 400;"> as what was reviewed.</span></p>
<h1><b>2. Preserve Reviewer Assignment and Decision History</b></h1>
<p><span style="font-weight: 400;">For every important access decision, retain:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer identity</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">user being reviewed</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">credential or entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approve/revoke decision</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">decision date</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">comments or notes</span></li>
</ul>
<p><span style="font-weight: 400;">If a reviewer changes midway through the campaign, preserve that history rather than overwriting it.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The evidence should answer:</span><span style="font-weight: 400;"><br />
</span><b>Who actually made this decision?</b><b><br />
</b><span style="font-weight: 400;">SecurEnds&#8217; Campaign Reports document fields including reviewer email, election result, election date, application, credential, entitlement information, notes, application owner, and ticket information where ticketing is integrated.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds reviewer documentation also states that notes associated with questionable or revoked access are retained for audit and follow-up purposes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That decision-level detail is more defensible than a campaign-level completion percentage alone.</span></p>
<h1><b>3. Keep Reviewer Comments Where They Explain the Decision</b></h1>
<p><span style="font-weight: 400;">Not every approval needs a paragraph of explanation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">But high-risk, unexpected, or revoked access often benefits from decision context.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Consider these two audit records:</span><span style="font-weight: 400;"><br />
</span><b>Approve</b><b><br />
</b><span style="font-weight: 400;">versus</span><span style="font-weight: 400;"><br />
</span><b>Approve — employee is temporarily supporting payroll migration through September 30.</b><b><br />
</b><span style="font-weight: 400;">The second record gives compliance teams much more context.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Comments become especially useful when:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access appears inconsistent with the user&#8217;s role</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">elevated access is retained</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a reviewer requests follow-up</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access is revoked</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an exception is accepted</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">remediation cannot occur immediately</span></li>
</ul>
<p><span style="font-weight: 400;">Do not rely on email or Teams messages as the primary location for this reasoning.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Where possible, capture the explanation within the governance workflow so it remains connected to the entitlement decision.</span></p>
<h1><b>4. Preserve Evidence of Revocation and Remediation</b></h1>
<p><span style="font-weight: 400;">This is where many evidence packages become incomplete.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A review identifies that access should be removed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The evidence shows:</span><span style="font-weight: 400;"><br />
</span><b>Decision: Revoke</b><b><br />
</b><span style="font-weight: 400;">But an auditor may reasonably ask:</span><span style="font-weight: 400;"><br />
</span><b>Was it actually revoked?</b><b><br />
</b><span style="font-weight: 400;">Preserve the remediation chain:</span><span style="font-weight: 400;"><br />
</span><b>Reviewer decision → assigned action → fulfillment → completion → verification</b><b><br />
</b><span style="font-weight: 400;">Depending on your operating model, this could include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">ticket ID</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">remediation owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">ticket status</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">removal timestamp</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">provisioning/deprovisioning result</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">refreshed application data</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">final verified state</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds Campaign Effectiveness Reports distinguish review decisions from actions reflected in the application. The documentation instructs teams to synchronize updated application data so revoked access can be checked against the current application state.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This makes remediation evidence significantly stronger.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It proves not only that somebody requested removal, but that the resulting access state was reassessed.</span></p>
<h1><b>5. Preserve Exceptions, Escalations and Unusual Outcomes</b></h1>
<p><span style="font-weight: 400;">A clean access review rarely consists entirely of simple approvals and revocations.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You may encounter:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approved exceptions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer delegation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unresolved access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">excluded identities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">overdue decisions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">terminated reviewers</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">remediation failures</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">self-review restrictions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unmatched accounts</span></li>
</ul>
<p><span style="font-weight: 400;">Do not hide these events to make the final report look cleaner.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">They are part of the control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The evidence should explain the exception and its final disposition.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Access retained temporarily → business reason recorded → authorized owner approved → expiration established → reviewed again → access removed.</b><b><br />
</b><span style="font-weight: 400;">This tells a stronger compliance story than simply changing the original revoke decision to approve.</span></p>
<h1><b>How Long Should Access Review Evidence Be Retained?</b></h1>
<p><span style="font-weight: 400;">There is no universal retention period that applies to every access review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your organization should define retention based on:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">internal records-retention policy</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">applicable legal or regulatory requirements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">contractual requirements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">audit cycles</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">control-testing periods</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">investigation requirements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">industry obligations</span></li>
</ul>
<p><span style="font-weight: 400;">Avoid claims such as:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;All access review evidence must be kept for seven years.&#8221;</b><b><br />
</b><span style="font-weight: 400;">That may be appropriate in one environment and incorrect in another.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">NIST AU-11 specifically leaves the period organization-defined and says it should align with records-retention policy and regulatory or organizational requirements. NIST also addresses the need for long-term retrieval capability.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The important practical questions are:</span><span style="font-weight: 400;"><br />
</span><b>How long must this evidence remain available?</b><b><br />
</b><b>Where will it be stored?</b><b><br />
</b><b>Will it still be readable and searchable at the end of that period?</b></p>
<h1><b>Evidence Retention Is Also an Integrity Problem</b></h1>
<p><span style="font-weight: 400;">Keeping a file somewhere is not enough.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You should also consider whether historical evidence can be changed or deleted without appropriate authorization.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">NIST guidance calls for protecting audit information against unauthorized access, modification, and deletion. It also emphasizes preserving original audit content and time ordering.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For access review evidence, buyers should therefore evaluate:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access controls around historical reports</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">role-based access for auditors</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">protection against unauthorized changes</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">export capabilities</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">historical retrieval</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">timestamps</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">retention controls</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">administrator activity where relevant</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds documents an </span><b>Audit role</b><span style="font-weight: 400;"> that provides access to audit areas and campaign results without giving the user broader campaign configuration privileges.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That separation can be useful when compliance or audit personnel need visibility without full administrative access.</span></p>
<h1><b>Do Not Rebuild Audit Evidence After the Review</b></h1>
<p><span style="font-weight: 400;">A common manual process looks like this:</span><span style="font-weight: 400;"><br />
</span><b>Run review in spreadsheets → email reviewers → create tickets → close findings → six months later reconstruct everything for audit.</b><b><br />
</b><span style="font-weight: 400;">The evidence exercise becomes a second project.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A stronger model is:</span><span style="font-weight: 400;"><br />
</span><b>Run the governance workflow → create evidence automatically while each action happens → retrieve the evidence when requested.</b><b><br />
</b><span style="font-weight: 400;">This reduces dependence on:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">screenshots</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">inbox searches</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manually merged spreadsheets</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">ticket-system archaeology</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">employee memory</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">ad hoc evidence folders</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds&#8217; </span><a href="https://www.securends.com/blog/user-access-reviews/"><span style="font-weight: 400;">User Access Review</span></a><span style="font-weight: 400;"> documentation describes historical campaign reporting that can include campaign information, reviewers, results, dates and times, credentials, entitlements, notes, and post-review ticket IDs.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For organizations evaluating access review software, evidence generation should therefore be a core requirement rather than an optional reporting feature.</span></p>
<h1><b>What Should Buyers Test Before Choosing Access Review Software?</b></h1>
<p><span style="font-weight: 400;">Ask the vendor to complete a review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then hand the results to someone from internal audit or compliance.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ask that person to reconstruct the control without help from the vendor.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">They should be able to answer:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Which identities and applications were in scope?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What access did each user hold?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Were any accounts excluded?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Who reviewed each item?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">When was each decision made?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What comments or justification were retained?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Which permissions were revoked?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What happened to the revocations?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Were exceptions documented?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can historical campaign evidence be exported later?</span></li>
</ol>
<p><span style="font-weight: 400;">This is a much stronger evaluation than asking:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Does your platform provide audit reports?&#8221;</b></p>
<h1><b>How SecurEnds Supports Access Review Audit Evidence</b></h1>
<p><span style="font-weight: 400;">SecurEnds User Access Reviews is designed to centralize the review process across identity, application, credential, and entitlement information. Its current production page describes automated user access and entitlement reviews across cloud and on-premises environments.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Its campaign reporting documentation goes further by showing the specific evidence captured after reviews, including election results, reviewer details, timestamps, entitlements, reviewer notes, ticket information, user status, credential status, and application ownership.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Campaign Effectiveness Reports can also help teams distinguish revoke decisions from access changes reflected after application data is synchronized.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For buyers focused on compliance, test SecurEnds with one complete evidence scenario:</span><span style="font-weight: 400;"><br />
</span><b>define scope → run review → revoke access → create remediation → synchronize updated data → verify outcome → export campaign evidence</b><b><br />
</b><span style="font-weight: 400;">Then give the result to your compliance or audit team.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If they can follow the entire chain without rebuilding it manually, the workflow is doing more than automating certification.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is supporting</span><a href="https://www.securends.com/blog/identity-compliance-audit-readiness/"> <span style="font-weight: 400;">continuous audit readiness</span></a><span style="font-weight: 400;">.</span></p>
<h1><b>Best Practices for Access Review Evidence Retention</b></h1>
<p><b>Preserve scope, not just decisions.</b><span style="font-weight: 400;"> Auditors need to know what population was actually reviewed.</span><span style="font-weight: 400;"><br />
</span><b>Keep decision-level detail.</b><span style="font-weight: 400;"> Retain reviewer, entitlement, outcome and timestamp.</span><span style="font-weight: 400;"><br />
</span><b>Capture comments for unusual access.</b><span style="font-weight: 400;"> Explain exceptions and higher-risk decisions.</span><span style="font-weight: 400;"><br />
</span><b>Follow revocations through closure.</b><span style="font-weight: 400;"> A revoke election is not evidence that access disappeared.</span><span style="font-weight: 400;"><br />
</span><b>Keep exclusions visible.</b><span style="font-weight: 400;"> Document who or what was intentionally outside the campaign.</span><span style="font-weight: 400;"><br />
</span><b>Define retention through policy.</b><span style="font-weight: 400;"> Align duration with your applicable requirements instead of relying on a generic number.</span><span style="font-weight: 400;"><br />
</span><b>Protect historical evidence.</b><span style="font-weight: 400;"> Restrict modification and deletion and maintain long-term retrieval.</span><span style="font-weight: 400;"><br />
</span><b>Document everything as the workflow happens.</b><span style="font-weight: 400;"> Audit season should be retrieval work, not reconstruction work.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is access review audit evidence?</b></h3>
<p><span style="font-weight: 400;">Access review audit evidence is the documentation showing that an</span><a href="https://www.securends.com/blog/access-certification/"> <span style="font-weight: 400;">access certification</span></a><span style="font-weight: 400;"> control actually operated. It can include the review scope, users and entitlements reviewed, assigned reviewers, decisions, timestamps, comments, exclusions, remediation actions, exceptions, and evidence showing required access changes were completed.</span></p>
<h3><b>What access review records should be retained?</b></h3>
<p><span style="font-weight: 400;">Retain enough information to reconstruct the complete review. This normally includes campaign scope, source population, applications, accounts, roles or entitlements, reviewers, decisions, dates, notes, exceptions, exclusions, remediation, and final campaign results. Exact evidence requirements should be aligned with your control and audit expectations.</span></p>
<h3><b>How long should user access review evidence be kept?</b></h3>
<p><span style="font-weight: 400;">There is no single retention period for every organization. Define retention using your records policy, applicable regulations, contractual obligations, audit period, and investigation needs. NIST&#8217;s audit-record guidance similarly treats the retention period as organization-defined and aligned to policy and regulatory requirements.</span></p>
<h3><b>Is a completed access review report enough for an auditor?</b></h3>
<p><span style="font-weight: 400;">Not always. A summary report may prove the campaign completed, but an auditor may also need to test the underlying population, individual reviewer decisions, exceptions, and remediation. The evidence should make it possible to trace selected samples from review scope through the final access outcome.</span></p>
<h3><b>Should remediation tickets be kept with access review evidence?</b></h3>
<p><span style="font-weight: 400;">Where remediation is required, ticket IDs, status, ownership, completion information, or equivalent fulfillment evidence can be valuable. The strongest record connects the original revoke decision to the resulting action and, where possible, verifies that the target application&#8217;s access data changed.</span></p>
<h3><b>Can access review software reduce audit preparation work?</b></h3>
<p><span style="font-weight: 400;">Yes, when it captures evidence during the workflow. Centralized campaign scope, reviewer decisions, comments, timestamps, remediation, and reporting reduce the need to recreate access-review history from spreadsheets, emails, screenshots, and separate ticket exports when auditors request evidence.</span></p>
<h1><b>Evidence Should Tell the Whole Story</b></h1>
<p><span style="font-weight: 400;">A completed access review is an event.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Audit evidence is the history of that event.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It should tell you:</span><span style="font-weight: 400;"><br />
</span><b>who had access → what was reviewed → who made the decision → when they made it → what required action → whether that action happened</b><b><br />
</b><span style="font-weight: 400;">When those records are captured consistently and retained according to policy, access reviews become easier to defend.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">When they are scattered across spreadsheets, inboxes, ticket systems, and screenshots, audit preparation becomes a reconstruction exercise.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your team needs a more traceable approach to access certification evidence, explore </span><b>SecurEnds User Access Reviews</b><span style="font-weight: 400;"> and evaluate how campaign reporting, reviewer records, remediation tracking, and post-review verification can support your audit process.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2cd4517d" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2cd4572f" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cd45910" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/access-review-audit-evidence-retention/">Access Review Evidence Retention: What Should Be Preserved for Auditors?</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/access-review-audit-evidence-retention/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Access Review Escalation and Delegation: How to Finish Campaigns on Time</title>
		<link>https://www.securends.com/blog/access-review-escalation-delegation/</link>
					<comments>https://www.securends.com/blog/access-review-escalation-delegation/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 17 Sep 2026 10:00:39 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27079</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/access-review-escalation-delegation/">Access Review Escalation and Delegation: How to Finish Campaigns on Time</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2cd47751" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cd47930" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2cd47b59" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cd47d0f" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2cd47f11" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cd480b8" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2cd482e4" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2cd4862d" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cd4896d" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2cd48f8a" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2cd4927d">
			<div class="image"><img loading="lazy" decoding="async"  class="ll-image unload" alt="Why Non-Human Identities Need Identity Governance" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789641039738 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Access review escalation should prevent overdue reviews from becoming a last-minute IAM problem.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Define reminder, escalation, delegation, and reassignment rules before launching the campaign.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The delegation should transfer review responsibility to a qualified person without losing accountability for the decision.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Escalation should identify blocked reviewers early enough for managers or application owners to act.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Track completion by reviewer, application, risk, and deadline instead of monitoring only overall campaign percentage.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Preserve reviewer changes, delegated decisions, reminders, escalations, and timestamps as part of the certification record.</span></li>
</ul>
<h2><b>Three Days Before the Deadline, 28% of the Review Is Still Open</b></h2>
<p><span style="font-weight: 400;">Your quarterly</span><a href="https://www.securends.com/blog/access-certification/"> <span style="font-weight: 400;">access certification</span></a><span style="font-weight: 400;"> closes on Friday.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Most managers have finished.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">But one business unit still has hundreds of pending entitlements.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">One reviewer is on leave.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Another manager recently changed roles.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An application owner says they do not understand the permissions assigned to them.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The IAM team now spends three days sending emails, copying managers, reassigning spreadsheets, and trying to determine who can legitimately complete each review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Eventually, the campaign reaches 100%.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">But the process depended on individual follow-up rather than a repeatable control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is the problem </span><b>access review escalation</b><span style="font-weight: 400;"> should solve.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Campaign management should identify stalled reviews early, send appropriate reminders, route unresolved work to accountable people, and allow qualified delegates to act when the original reviewer cannot.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The goal is not simply to finish faster.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is to finish on time </span><b>without weakening ownership or creating rushed, low-quality approvals.</b></p>
<h1><b>Why Do Access Review Campaigns Miss Their Deadlines?</b></h1>
<p><span style="font-weight: 400;">Most overdue campaigns do not fail because reviewers deliberately refuse to participate.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">They fail because the workflow assumes every reviewer will be available, understand the access, and respond before the deadline.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Real environments are less predictable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Common blockers include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer vacations or leave</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manager changes</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">terminated reviewers</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application-owner changes</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">excessive review workloads</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">confusing entitlements</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">incorrect review assignments</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewers overlooking notifications</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unclear campaign deadlines</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">no escalation owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manual reminder processes</span></li>
</ul>
<p><span style="font-weight: 400;">A spreadsheet-based review makes these problems harder to see.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">IAM teams usually discover the bottleneck only after checking individual files or sending another round of email.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Access review software should instead show where completion is slowing and provide controlled paths for resolving it.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; </span><a href="https://www.securends.com/blog/user-access-reviews/"><span style="font-weight: 400;">User Access Reviews</span></a><span style="font-weight: 400;"> product documents automated campaign lifecycle management with escalation for managers who have not completed reviews and delegation when a reviewer is unavailable.</span></p>
<h1><b>Start With Reviewer Ownership Before Launching the Campaign</b></h1>
<p><span style="font-weight: 400;">Escalation works better when the initial assignment is correct.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Before launch, confirm who should make each type of decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A manager may understand whether an employee still needs an application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An application owner may better understand whether a specific technical entitlement is appropriate.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A security or control owner may need to assess especially sensitive access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not route thousands of permissions to one reviewer simply because that person appears highest in the organizational chart.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Before launch, validate:</span><span style="font-weight: 400;"><br />
</span><b>Reviewer identity</b><span style="font-weight: 400;"> — Is the reviewer still active?</span><span style="font-weight: 400;"><br />
</span><b>Decision context</b><span style="font-weight: 400;"> — Does this person understand the access?</span><span style="font-weight: 400;"><br />
</span><b>Review volume</b><span style="font-weight: 400;"> — Is the workload realistic?</span><span style="font-weight: 400;"><br />
</span><b>Backup ownership</b><span style="font-weight: 400;"> — Who acts if the reviewer is unavailable?</span><span style="font-weight: 400;"><br />
</span><b>Escalation owner</b><span style="font-weight: 400;"> — Who becomes accountable if the review remains incomplete?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This reduces emergency reassignment later.</span></p>
<h1><b>What Should an Access Review Escalation Workflow Look Like?</b></h1>
<p><span style="font-weight: 400;">A useful campaign should move through increasingly stronger interventions.</span></p>
<h2><b>1. Notify the Reviewer Clearly at Launch</b></h2>
<p><span style="font-weight: 400;">The first notification should explain more than &#8220;You have an access review.&#8221;</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Give reviewers:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">campaign purpose</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">applications or users in scope</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">deadline</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approximate workload</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">where to complete the review</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">what approve and revoke mean</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">where to ask questions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">consequences of missing the deadline</span></li>
</ul>
<p><span style="font-weight: 400;">A reviewer who does not understand the task is more likely to postpone it.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Keep the notification actionable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not bury the deadline inside a long compliance email.</span></p>
<h2><b>2. Send Reminders Before the Campaign Becomes Urgent</b></h2>
<p><span style="font-weight: 400;">Reminders should reduce manual chasing.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A simple pattern might be:</span><span style="font-weight: 400;"><br />
</span><b>Launch:</b><span style="font-weight: 400;"> Initial assignment</span><span style="font-weight: 400;"><br />
</span><b>Midpoint:</b><span style="font-weight: 400;"> Reminder for reviewers with pending items</span><span style="font-weight: 400;"><br />
</span><b>Several days before deadline:</b><span style="font-weight: 400;"> Stronger reminder</span><span style="font-weight: 400;"><br />
</span><b>Near deadline:</b><span style="font-weight: 400;"> Escalation according to policy</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The exact timing should reflect campaign length and risk.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A five-day privileged-access review needs different timing from a month-long annual certification.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; published release notes document configurable campaign reminder dates, allowing administrators to choose when reminder emails are sent rather than relying only on a fixed pre-deadline interval.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That type of control allows reminder timing to match the organization&#8217;s review process.</span></p>
<h2><b>3. Escalate Unresolved Reviews to an Accountable Owner</b></h2>
<p><span style="font-weight: 400;">A reminder asks the reviewer to act.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An escalation tells another accountable person that the review is at risk of missing its deadline.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Possible escalation recipients include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer&#8217;s manager</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application risk manager</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">campaign owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">IAM administrator</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">control owner</span></li>
</ul>
<p><span style="font-weight: 400;">The right escalation route depends on why the review was assigned.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example, escalating a finance-system certification to an accountable application owner may be more useful than simply sending the same reviewer another email.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; 2026 product documentation describes escalation emails to Application Managers for pending items in Manager Review campaigns, including consolidated notifications when multiple pending users share the same Application Manager.</span></p>
<h2><b>4. Delegate When the Reviewer Cannot Act</b></h2>
<p><span style="font-weight: 400;">Escalation and delegation solve different problems.</span><span style="font-weight: 400;"><br />
</span><b>Escalation:</b><span style="font-weight: 400;"> The assigned reviewer still owns the work but has not completed it.</span><span style="font-weight: 400;"><br />
</span><b>Delegation:</b><span style="font-weight: 400;"> Another qualified person is authorized to perform the review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Use delegation when the original reviewer is:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">on leave</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unavailable before the deadline</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">no longer responsible for the function</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">unable to review their own access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">temporarily unable to complete assigned work</span></li>
</ul>
<p><span style="font-weight: 400;">Delegation should not become a way for overloaded managers to send certifications to whoever is convenient.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The delegate needs enough authority and business context to make a defensible access decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Microsoft Entra&#8217;s current governance functionality follows the same basic principle: delegated reviewers can act for unavailable reviewers, with governance controls around who may receive delegated work and for how long.</span></p>
<h1><b>Delegation Should Preserve Accountability</b></h1>
<p><span style="font-weight: 400;">A delegated review creates an audit question:</span><span style="font-weight: 400;"><br />
</span><b>Who actually made the decision?</b><b><br />
</b><span style="font-weight: 400;">Your certification record should preserve:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">original reviewer</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">delegate</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reason or context for delegation where required</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">date of delegation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access reviewed</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">actual decision-maker</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">decision timestamp</span></li>
</ul>
<p><span style="font-weight: 400;">Do not overwrite the original reviewer and make the history disappear.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds documents two forms of campaign delegation: People Delegation and Credential Delegation. Its documentation states that People Delegation can allow another person to complete pending access reviews when the original reviewer is unavailable, while Credential Delegation can assign review responsibility for selected application credentials.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The same documentation also shows that delegation can address situations where an application custodian should not review their own access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This matters because delegation is not only a campaign-speed feature.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It can also support appropriate separation of review responsibility.</span></p>
<h1><b>What Is the Difference Between Delegation and Reassignment?</b></h1>
<p><span style="font-weight: 400;">These terms are often used interchangeably, but your process should distinguish them.</span></p>
<h3><b>Delegation</b></h3>
<p><span style="font-weight: 400;">The original reviewer remains associated with the responsibility, but another authorized person can perform the review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Example:</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A manager is on vacation until after the campaign deadline.</span></p>
<h3><b>Reassignment</b></h3>
<p><span style="font-weight: 400;">Ownership of the review changes because the original assignment is no longer correct.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Example:</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A former application owner changed departments six months ago.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That review should be assigned to the current owner rather than temporarily delegated.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your campaign administration should identify which problem you are solving.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Repeated delegation to the same person may signal outdated ownership data that should be corrected at the source.</span></p>
<h1><b>Do Not Let Escalation Create Rubber-Stamp Approvals</b></h1>
<p><span style="font-weight: 400;">Campaign completion is not the only objective.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A poorly designed escalation process can encourage rushed decisions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Campaign closes in four hours. Please approve the remaining 400 items.&#8221;</b><b><br />
</b><span style="font-weight: 400;">That may improve the completion metric while weakening the control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Escalation should therefore preserve reviewer quality.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">When a reviewer is delayed because entitlement names are unclear, assigning the same unclear information to another manager does not solve the problem.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Instead, route ambiguous items to someone with the necessary application context.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Track which applications generate repeated delays.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">High escalation volume may reveal:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">poor entitlement descriptions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">incorrect owners</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">excessive reviewer workloads</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">bad manager data</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">overly broad campaign scope</span></li>
</ul>
<p><span style="font-weight: 400;">Treat escalation patterns as operational feedback.</span></p>
<h1><b>Should Pending Reviews Be Automatically Closed?</b></h1>
<p><span style="font-weight: 400;">Be careful with default decisions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Automatically approving unfinished reviews simply to close a campaign can weaken the certification.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Organizations should define what happens when a campaign reaches its deadline with pending decisions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Possible policies include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">extend the deadline</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">escalate unresolved reviews</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reassign specific items</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">apply a defined risk-based default</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">close the campaign with documented incomplete items</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds&#8217; Q2 2026 release notes document a configurable option to automatically revoke pending reviews when a campaign closes, with the administrator responsible for the action captured as the actual reviewer for audit purposes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Whether such a default is appropriate should depend on your internal access-review policy and operational risk.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not enable automatic treatment of pending access without understanding the business impact.</span></p>
<h1><b>Which Metrics Help Keep Campaigns on Schedule?</b></h1>
<p><span style="font-weight: 400;">Track more than overall completion percentage.</span></p>
<h3><b>Completion rate by reviewer</b></h3>
<p><span style="font-weight: 400;">Which reviewers consistently finish late?</span></p>
<h3><b>Pending items by application</b></h3>
<p><span style="font-weight: 400;">Which systems create the largest review bottlenecks?</span></p>
<h3><b>Average reviewer completion time</b></h3>
<p><span style="font-weight: 400;">How long does work remain assigned before a decision?</span></p>
<h3><b>Reminder effectiveness</b></h3>
<p><span style="font-weight: 400;">How much pending work closes after each reminder stage?</span></p>
<h3><b>Escalation rate</b></h3>
<p><span style="font-weight: 400;">What percentage of reviews require escalation?</span></p>
<h3><b>Delegation rate</b></h3>
<p><span style="font-weight: 400;">How often does another reviewer need to take over?</span></p>
<h3><b>Reassignment rate</b></h3>
<p><span style="font-weight: 400;">How frequently was the original reviewer incorrect?</span></p>
<h3><b>Deadline completion rate</b></h3>
<p><span style="font-weight: 400;">What percentage of campaigns finish within the intended window?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">These measures help distinguish a one-time delay from a structural ownership problem.</span></p>
<h1><b>What Should Buyers Look for in Access Review Campaign Management?</b></h1>
<p><span style="font-weight: 400;">If reviewer follow-up consumes significant IAM time, test these capabilities during software evaluation:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">scheduled reviewer notifications</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">configurable reminder timing</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">pending-review visibility</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">campaign status dashboards</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">escalation routing</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manager/application-owner escalation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer delegation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">review reassignment</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">bulk reviewer management</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">preservation of reviewer changes</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">decision timestamps</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">campaign history</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">audit reporting</span></li>
</ul>
<p><span style="font-weight: 400;">SecurEnds&#8217; documentation includes bulk reviewer management, reviewer-change tracking, customizable reminders, delegation, escalation, and campaign reporting capabilities.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not ask only whether these features exist.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Run an overdue-review scenario during your POC.</span></p>
<h1><b>How SecurEnds Helps Keep Access Review Campaigns Moving</b></h1>
<p><span style="font-weight: 400;">SecurEnds User Access Reviews supports campaign workflows designed to reduce manual reviewer follow-up. Its published product page includes campaign escalation for incomplete manager reviews and delegation when a manager is unavailable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds documentation also supports People and Credential Delegation, configurable reminder scheduling, bulk reviewer management, reviewer-change tracking, and newer escalation options for pending Manager Review items.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For teams evaluating SecurEnds, use a realistic campaign test:</span><span style="font-weight: 400;"><br />
</span><b>Launch → leave one reviewer inactive → send reminder → escalate → delegate or reassign → complete review → inspect audit history</b><b><br />
</b><span style="font-weight: 400;">That demonstrates whether campaign administration can replace the email-chasing process your IAM team uses today.</span></p>
<h1><b>Best Practices for Access Review Escalation and Delegation</b></h1>
<p><b>Validate reviewers before launch.</b><span style="font-weight: 400;"> Incorrect ownership creates avoidable delays.</span><span style="font-weight: 400;"><br />
</span><b>Remind early.</b><span style="font-weight: 400;"> Do not wait until the final day.</span><span style="font-weight: 400;"><br />
</span><b>Separate escalation from delegation.</b><span style="font-weight: 400;"> One increases accountability; the other transfers review authority.</span><span style="font-weight: 400;"><br />
</span><b>Delegate only to qualified reviewers.</b><span style="font-weight: 400;"> Availability alone is not enough.</span><span style="font-weight: 400;"><br />
</span><b>Investigate recurring escalation.</b><span style="font-weight: 400;"> Repeated delays often expose weak ownership or entitlement context.</span><span style="font-weight: 400;"><br />
</span><b>Avoid automatic approval of unfinished access.</b><span style="font-weight: 400;"> Campaign completion should not override control quality.</span><span style="font-weight: 400;"><br />
</span><b>Measure reviewer performance.</b><span style="font-weight: 400;"> Use completion, aging, escalation, and reassignment data to improve future campaigns.</span><span style="font-weight: 400;"><br />
</span><b>Document everything.</b><span style="font-weight: 400;"> Preserve original assignments, reminders, escalations, delegations, reviewer changes, decisions, and timestamps.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is access review escalation?</b></h3>
<p><span style="font-weight: 400;">Access review escalation is the process of notifying or involving another accountable person when a reviewer has not completed assigned certification work within the expected timeframe. Escalation helps prevent pending reviews from remaining unnoticed and can route attention to managers, application owners, campaign owners, or other appropriate stakeholders.</span></p>
<h3><b>What is access review delegation?</b></h3>
<p><span style="font-weight: 400;">Access review delegation allows another authorized reviewer to perform an access certification on behalf of the original reviewer. It is useful when someone is unavailable, on leave, or unable to complete the review before the deadline. The governance record should preserve who was originally assigned and who actually made the decisions.</span></p>
<h3><b>What is the difference between escalation and delegation?</b></h3>
<p><span style="font-weight: 400;">Escalation increases attention around an overdue review while the original reviewer generally remains responsible. Delegation authorizes another qualified person to perform the review. Reassignment is different again: it permanently or operationally changes the reviewer because the original assignment was incorrect or outdated.</span></p>
<h3><b>How often should access review reminders be sent?</b></h3>
<p><span style="font-weight: 400;">There is no universal reminder schedule. Timing should reflect campaign duration, reviewer workload, access sensitivity, and internal policy. The important practice is to send reminders early enough to allow action and reserve escalation for reviews genuinely at risk of missing the deadline.</span></p>
<h3><b>What should happen if an access review is incomplete at the deadline?</b></h3>
<p><span style="font-weight: 400;">Organizations should define this before launching the campaign. Options may include escalation, extension, reassignment, controlled default actions, or documented closure with outstanding items. Avoid automatically approving unreviewed access merely to achieve a 100% completion metric.</span></p>
<h3><b>What evidence should be retained when a review is delegated?</b></h3>
<p><span style="font-weight: 400;">Retain the original reviewer, delegated reviewer, affected review scope, relevant dates, actual decision-maker, decision, comments where applicable, and timestamps. The record should make it clear later why someone other than the initially assigned reviewer completed the certification.</span></p>
<h1><b>Finish the Campaign Without Weakening the Review</b></h1>
<p><span style="font-weight: 400;">A campaign that closes on time is useful.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A campaign that closes on time with accountable, informed decisions is better.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not make your IAM team discover overdue reviews manually.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Define ownership before launch.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Send reminders while reviewers still have time to act.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Escalate when work stalls.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Delegate when legitimate reviewer absence creates a bottleneck.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Reassign when ownership itself is wrong.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then retain the complete history of who was asked, who acted, and what they decided.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That turns campaign completion from an email-chasing exercise into a repeatable governance workflow.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If reviewer follow-up is slowing your certifications, evaluate </span><b>SecurEnds User Access Reviews</b><span style="font-weight: 400;"> against one of your real campaigns and test how reminders, escalation, delegation, reviewer management, and audit evidence work together.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2ce1a009" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2ce1a598" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ce1a775" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/access-review-escalation-delegation/">Access Review Escalation and Delegation: How to Finish Campaigns on Time</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/access-review-escalation-delegation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Access Review Exception Management: Approvals, Expiration and Audit Evidence</title>
		<link>https://www.securends.com/blog/access-review-exception-management/</link>
					<comments>https://www.securends.com/blog/access-review-exception-management/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 10 Sep 2026 11:25:24 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27070</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/access-review-exception-management/">Access Review Exception Management: Approvals, Expiration and Audit Evidence</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2ce1c604" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ce1c7da" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2ce1c9fc" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ce1cbc2" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2ce1cded" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ce1cfa0" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2ce1d1cf" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2ce1d537" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2ce1d884" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2ce1dee5" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2ce1e1d7">
			<div class="image"><img loading="lazy" decoding="async"  class="ll-image unload" alt="Why Non-Human Identities Need Identity Governance" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Non-Human-Identities-Need-Identity-Governance.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789039399516 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">An access review exception should not become a permanent approval by default.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Every exception should identify the access, business reason, approver, owner, risk, and expected end date.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Higher-risk exceptions may require stronger approval or compensating controls.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Expiration should trigger removal, renewal, or another review instead of silently extending access.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Exception metrics should show active, overdue, expired, renewed, and unresolved items.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Audit evidence should connect the original review decision with approval, justification, expiration, and final outcome.</span></li>
</ul>
<h2><b>The Reviewer Knows the Access Is Excessive—But the Business Still Needs It for 60 Days</b></h2>
<p><span style="font-weight: 400;">A finance manager is completing a quarterly access review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">One employee still has an elevated permission from a temporary project.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The manager knows the entitlement is broader than the employee&#8217;s normal role. Removing it today would interrupt month-end work. Keeping it permanently would violate the intended access model.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">So the manager chooses an exception.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">What happens next?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">In a manual process, the explanation may live in an email or spreadsheet comment:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Keep until project ends.&#8221;</b><b><br />
</b><span style="font-weight: 400;">Three months later, the project is over. The access remains. Nobody remembers the comment. During the next review, a different manager sees the entitlement and approves it because it was approved last time.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The temporary decision has become</span><a href="https://www.securends.com/blog/privilege-creep-prevention/"> <span style="font-weight: 400;">privilege creep</span></a><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Effective </span><b>access review exception management</b><span style="font-weight: 400;"> prevents that outcome by treating exceptions as controlled, temporary governance decisions—not alternative names for permanent approval.</span></p>
<h2><b>What Is an Access Review Exception?</b></h2>
<p><span style="font-weight: 400;">An access review exception is a documented decision to temporarily retain access that would otherwise be removed, reduced, or considered inconsistent with normal access policy.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An exception may be justified because:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a project requires temporary elevated access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an employee is completing a transition between roles</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">business continuity requires temporary retention</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a legacy application cannot yet support the preferred access model</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an</span><a href="https://www.securends.com/blog/segregation-of-duties-conflicts/"> <span style="font-weight: 400;">SoD conflict</span></a><span style="font-weight: 400;"> has an approved compensating control</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">remediation cannot be completed immediately</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a contractor needs access until a defined engagement ends</span></li>
</ul>
<p><span style="font-weight: 400;">The important word is </span><b>documented</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A reviewer selecting &#8220;keep&#8221; without additional governance is simply approving access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An exception should create a separate control path:</span><span style="font-weight: 400;"><br />
</span><b>Identify → Justify → Approve → Time-limit → Monitor → Reassess → Remove or Renew → Document</b><b><br />
</b><span style="font-weight: 400;">SecurEnds&#8217; current</span><a href="https://www.securends.com/blog/iga-workflows-access-reviews-lifecycle-compliance/"> <span style="font-weight: 400;">IGA workflow</span></a><span style="font-weight: 400;"> guidance similarly identifies approvals, rejections, exceptions, escalations, and remediation status as information that should remain part of a documented governance workflow.</span></p>
<h1><b>When Should an Exception Be Used Instead of a Normal Approval?</b></h1>
<p><span style="font-weight: 400;">Not every unusual entitlement needs an exception.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Use a normal approval when the access is appropriate for the person&#8217;s current responsibilities and conforms to your policy.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Use an exception when the access remains necessary </span><b>despite an identified policy, role, risk, or least-privilege concern</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Normal approval:</b><b><br />
</b><span style="font-weight: 400;">A payroll manager retains payroll-processing access required by their job.</span><span style="font-weight: 400;"><br />
</span><b>Exception:</b><b><br />
</b><span style="font-weight: 400;">A former payroll manager keeps one privileged payroll entitlement for 30 days while supporting a system transition.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This distinction matters because exceptions should receive more governance than ordinary approved access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If every unusual permission becomes an exception, the process becomes noisy.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If every exception becomes an ordinary approval, the organization loses visibility into accepted access risk.</span></p>
<h1><b>What Information Should Every Exception Record Contain?</b></h1>
<p><span style="font-weight: 400;">An exception should be understandable months later without relying on the original reviewer&#8217;s memory.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">At minimum, record:</span></p>
<table>
<tbody>
<tr>
<td><b>Exception Field</b></td>
<td><b>Why It Matters</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Identity</span></td>
<td><span style="font-weight: 400;">Who holds the access</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Application</span></td>
<td><span style="font-weight: 400;">Where the access exists</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Role or entitlement</span></td>
<td><span style="font-weight: 400;">What is being retained</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Business justification</span></td>
<td><span style="font-weight: 400;">Why normal policy cannot currently be followed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Request/review source</span></td>
<td><span style="font-weight: 400;">What caused the exception</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Exception owner</span></td>
<td><span style="font-weight: 400;">Who is accountable</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Approver</span></td>
<td><span style="font-weight: 400;">Who accepted the temporary condition</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Start date</span></td>
<td><span style="font-weight: 400;">When the exception became effective</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Expiration date</span></td>
<td><span style="font-weight: 400;">When it must be reconsidered</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Risk/privilege context</span></td>
<td><span style="font-weight: 400;">Why stronger governance may be needed</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Compensating control</span></td>
<td><span style="font-weight: 400;">What reduces risk while access remains</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Final disposition</span></td>
<td><span style="font-weight: 400;">Removed, renewed, modified, or permanently approved</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Avoid vague justifications such as:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8220;Business needs it&#8221;</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8220;Manager requested&#8221;</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8220;Keep for now&#8221;</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8220;Required access&#8221;</span></li>
</ul>
<p><span style="font-weight: 400;">A useful justification should explain the specific operational need and why the normal access model cannot currently be followed.</span></p>
<h2><b>Who Should Approve an Access Review Exception?</b></h2>
<p><span style="font-weight: 400;">The reviewer should not automatically be the final exception approver.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Approval should reflect the risk.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For routine temporary access, an application owner or business manager may be appropriate.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For more sensitive cases, organizations may involve:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">data owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">control owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">security</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">compliance</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">risk management</span></li>
</ul>
<p><span style="font-weight: 400;">Privileged or financially sensitive access may justify stronger approval than ordinary business access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The objective is not to add approval layers for every exception.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is to prevent the person benefiting from the access—or the person performing the review—from becoming the only authority accepting the risk.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">NIST SP 800-53&#8217;s account-management guidance supports defining account authorization based on valid authorization, intended use, and business requirements. It also specifically treats temporary access conditions as something organizations should govern rather than leave indefinitely active.</span></p>
<h1><b>Every Exception Should Have an Expiration Date</b></h1>
<p><span style="font-weight: 400;">An exception without an expiration date is difficult to distinguish from permanent access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Use expiration as a control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>Approved:</b><span style="font-weight: 400;"> September 1</span><span style="font-weight: 400;"><br />
</span><b>Expires:</b><span style="font-weight: 400;"> October 31</span><span style="font-weight: 400;"><br />
</span><b>Reason:</b><span style="font-weight: 400;"> Finance-system migration support</span><span style="font-weight: 400;"><br />
</span><b>Owner:</b><span style="font-weight: 400;"> Finance application owner</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">At expiration, the workflow should not silently extend the access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It should trigger one of three outcomes:</span></p>
<h3><b>Remove</b></h3>
<p><span style="font-weight: 400;">The business need is over. Revoke the entitlement and verify closure.</span></p>
<h3><b>Renew</b></h3>
<p><span style="font-weight: 400;">The need still exists. Require another justification and appropriate approval.</span></p>
<h3><b>Convert</b></h3>
<p><span style="font-weight: 400;">The organization determines the access is genuinely part of the person&#8217;s long-term responsibility and updates the appropriate role, policy, or access model.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">NIST&#8217;s account-management guidance provides a useful principle here: temporary and emergency accounts should be removed or disabled after a defined period rather than at an administrator&#8217;s convenience.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The same principle is valuable for access exceptions: </span><b>temporary should have an end condition.</b></p>
<h1><b>What Should Happen Before an Exception Expires?</b></h1>
<p><span style="font-weight: 400;">Do not wait until the expiration date has already passed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A structured workflow can notify the exception owner beforehand.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>14 days before expiration:</b><span style="font-weight: 400;"> Notify owner.</span><span style="font-weight: 400;"><br />
</span><b>7 days before expiration:</b><span style="font-weight: 400;"> Require action.</span><span style="font-weight: 400;"><br />
</span><b>Expiration date:</b><span style="font-weight: 400;"> Revoke, renew, or escalate according to policy.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The exact timeline should follow your organization&#8217;s risk and operational requirements.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The key requirement is that expired exceptions become visible.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">An exception dashboard should distinguish:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">active</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approaching expiration</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">expired</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">renewal requested</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">overdue</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">revoked</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">closed</span></li>
</ul>
<p><span style="font-weight: 400;">This prevents exception management from becoming another spreadsheet that security teams must periodically rediscover.</span></p>
<h1><b>How Should You Handle Compensating Controls?</b></h1>
<p><span style="font-weight: 400;">Some exceptions create meaningful risk while they remain active.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A compensating control can reduce that risk when the preferred access state cannot yet be achieved.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Examples might include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">additional transaction approval</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">activity monitoring</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">restricted duration</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">increased logging</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">secondary business approval</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">more frequent access review</span></li>
</ul>
<p><span style="font-weight: 400;">Do not add compensating controls mechanically.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Use them where the risk warrants additional protection.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The exception record should identify:</span><span style="font-weight: 400;"><br />
</span><b>What risk exists?</b><b><br />
</b><b>What control reduces that risk?</b><b><br />
</b><b>Who owns the control?</b><b><br />
</b><b>How will you know it remained effective?</b><b><br />
</b><span style="font-weight: 400;">For a SOX-related access issue, for example, an exception may need stronger evidence around approval, mitigation, and remediation. SecurEnds&#8217;</span><a href="https://www.securends.com/blog/iga-for-sox-compliance-access-control-evidence/"> <span style="font-weight: 400;">SOX guidance</span></a><span style="font-weight: 400;"> notes that review evidence should document approvals, rejections, exceptions, escalations, and what happened when inappropriate access remained active.</span></p>
<h1><b>What Should Happen When an Exception Is Rejected?</b></h1>
<p><span style="font-weight: 400;">An exception request should not create a loophole where access remains active while approval is unresolved.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Define the default.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If the exception is rejected:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Create or continue the revocation action.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Assign the responsible fulfillment owner.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Track removal.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Verify the resulting application state.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Preserve the rejected exception and remediation evidence.</span></li>
</ol>
<p><span style="font-weight: 400;">This connects exception management directly with access review remediation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The workflow should never end with:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Exception denied.&#8221;</b><b><br />
</b><span style="font-weight: 400;">The real control question is:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Was the access subsequently addressed?&#8221;</b></p>
<h1><b>What Audit Evidence Should an Exception Produce?</b></h1>
<p><span style="font-weight: 400;">An auditor reviewing an exception should be able to reconstruct the full decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A strong record can answer:</span><span style="font-weight: 400;"><br />
</span><b>What access was identified?</b><b><br />
</b><b>Why was it considered exceptional?</b><b><br />
</b><b>Who requested or justified retention?</b><b><br />
</b><b>Who approved the risk?</b><b><br />
</b><b>How long was the exception valid?</b><b><br />
</b><b>Were compensating controls required?</b><b><br />
</b><b>What happened when it expired?</b><b><br />
</b><b>Was access eventually removed or renewed?</b><b><br />
</b><span style="font-weight: 400;">SecurEnds currently describes access-review records as including decision context, remediation history, and</span><a href="https://www.securends.com/blog/identity-compliance-audit-readiness/"> <span style="font-weight: 400;">audit-ready evidence</span></a><span style="font-weight: 400;">. Its IdentityWatch page also states that review workflows can capture, approve, revoke, change, exception, and reviewer-comment decisions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The evidence should remain connected to the original access-review record rather than requiring auditors to reconstruct the story from email.</span></p>
<h1><b>Which Exception Metrics Should Security Teams Track?</b></h1>
<p><span style="font-weight: 400;">Exception volume itself is useful, but aging and recurrence provide more insight.</span></p>
<h3><b>Active exception count</b></h3>
<p><span style="font-weight: 400;">How many access exceptions are currently open?</span></p>
<h3><b>Expired exceptions</b></h3>
<p><span style="font-weight: 400;">How many have passed their approved expiration date without resolution?</span></p>
<h3><b>Exception renewal rate</b></h3>
<p><span style="font-weight: 400;">How frequently are temporary exceptions repeatedly renewed?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A high renewal rate may indicate that temporary access is actually part of an outdated role model.</span></p>
<h3><b>Average exception age</b></h3>
<p><span style="font-weight: 400;">How long do exceptions remain open?</span></p>
<h3><b>Privileged exception count</b></h3>
<p><span style="font-weight: 400;">How many involve administrator or other sensitive access?</span></p>
<h3><b>Exception-to-remediation rate</b></h3>
<p><span style="font-weight: 400;">How many eventually result in access removal?</span></p>
<h3><b>Repeat exceptions by application</b></h3>
<p><span style="font-weight: 400;">Which applications repeatedly require deviations from normal governance?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Repeated exceptions can reveal a deeper problem in entitlement design, role models, lifecycle rules, or application ownership.</span></p>
<h1><b>What Should Buyers Look for in Exception Management Software?</b></h1>
<p><span style="font-weight: 400;">If exceptions are common in your environment, include them in vendor evaluation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ask whether the platform can:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">capture exceptions separately from ordinary approval</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">require business justification</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">route exception approval</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">assign an accountable owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">apply start and expiration dates</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">support time-bound decisions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">retain reviewer and approver comments</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">track compensating controls where needed</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">notify owners before expiration</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">identify overdue exceptions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">trigger re-review or remediation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">preserve historical exception records</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">report exception trends</span></li>
</ul>
<p><span style="font-weight: 400;">Most importantly, ask the vendor to demonstrate the entire lifecycle.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Create an exception during the demo.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Advance it to expiration.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then see what happens.</span></p>
<h1><b>How SecurEnds Supports Exception-Aware Access Governance</b></h1>
<p><span style="font-weight: 400;">SecurEnds&#8217; published access-governance content states that its workflows capture access decisions and maintain audit evidence. Its current </span><a href="https://www.securends.com/blog/user-access-reviews/"><span style="font-weight: 400;">User Access Reviews</span></a><span style="font-weight: 400;"> product supports structured campaigns, reviewer decisions, reminders, escalations, remediation workflows, and compliance reporting.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; newer identity-governance capabilities also explicitly reference exception decisions in access-review and non-human identity workflows, with decisions, approvals, exceptions, and remediation activity retained as part of an audit trail.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For buyers, the best evaluation is a realistic temporary-access scenario:</span><span style="font-weight: 400;"><br />
</span><b>Review → identify exception → capture justification → approve → set end condition → reassess → revoke or renew → preserve evidence</b><b><br />
</b><span style="font-weight: 400;">That shows whether exception handling operates as part of governance rather than as an offline workaround.</span></p>
<h1><b>Best Practices for Access Review Exception Management</b></h1>
<p><b>Use exceptions only when normal approval is inappropriate.</b><span style="font-weight: 400;"> Keep ordinary access and risk acceptance distinct.</span><span style="font-weight: 400;"><br />
</span><b>Require specific justification.</b><span style="font-weight: 400;"> &#8220;Business need&#8221; alone provides weak evidence.</span><span style="font-weight: 400;"><br />
</span><b>Assign one accountable owner.</b><span style="font-weight: 400;"> Somebody must be responsible for resolution.</span><span style="font-weight: 400;"><br />
</span><b>Match approval to risk.</b><span style="font-weight: 400;"> Privileged or sensitive access may require stronger oversight.</span><span style="font-weight: 400;"><br />
</span><b>Set an expiration date.</b><span style="font-weight: 400;"> Avoid indefinite exceptions wherever a temporary need is being accepted.</span><span style="font-weight: 400;"><br />
</span><b>Review repeated renewals.</b><span style="font-weight: 400;"> Recurring exceptions may indicate a broken role or policy model.</span><span style="font-weight: 400;"><br />
</span><b>Connect rejected exceptions to remediation.</b><span style="font-weight: 400;"> Denial should lead to access removal.</span><span style="font-weight: 400;"><br />
</span><b>Document everything.</b><span style="font-weight: 400;"> Preserve justification, approval, dates, mitigation, renewal, remediation, and final closure.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is access review exception management?</b></h3>
<p><span style="font-weight: 400;">Access review exception management is the process of controlling access that is temporarily retained despite an identified governance, role, policy, or risk concern. It normally includes justification, approval, ownership, expiration, monitoring, re-evaluation, remediation, and audit evidence.</span></p>
<h3><b>Should every access review exception have an expiration date?</b></h3>
<p><span style="font-weight: 400;">Temporary exceptions should generally have a defined end condition. An expiration date prevents temporary access from remaining indefinitely simply because nobody revisits the decision. At expiration, the organization can revoke the access, approve a justified renewal, or formally update the access model if the entitlement has become a legitimate long-term requirement.</span></p>
<h3><b>Who should approve access exceptions?</b></h3>
<p><span style="font-weight: 400;">The appropriate approver depends on the sensitivity of the access and the organization&#8217;s governance model. It may be an application owner, entitlement owner, business manager, control owner, security leader, or another risk authority. Higher-risk access should generally receive stronger independent oversight.</span></p>
<h3><b>What happens when an access exception expires?</b></h3>
<p><span style="font-weight: 400;">The workflow should require a decision. The access may be removed, renewed with new justification and approval, or converted into appropriately governed permanent access. Expired exceptions should not remain silently active.</span></p>
<h3><b>How should recurring exceptions be handled?</b></h3>
<p><span style="font-weight: 400;">Repeated renewals should trigger additional review. They may indicate outdated roles, poor entitlement design, inadequate lifecycle rules, or a business requirement that should be formally incorporated into the access model rather than continuously managed as a temporary exception.</span></p>
<h3><b>What evidence should be retained for an access exception?</b></h3>
<p><span style="font-weight: 400;">Retain the identity, application, entitlement, reason, original review decision, exception owner, approver, approval date, expiration, compensating control where applicable, renewal history, remediation activity, and final disposition. The evidence should make the complete decision understandable later.</span></p>
<h1><b>An Exception Should Have an Exit</b></h1>
<p><span style="font-weight: 400;">Access-review exceptions are sometimes necessary.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Uncontrolled exceptions are not.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The difference is the workflow around them.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A strong exception has a reason.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It has an owner.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It has an approver.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It has an end condition.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">And it leaves evidence showing whether access was eventually removed, renewed, or incorporated into a legitimate access model.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Treat exceptions as temporary risk decisions rather than permanent approvals.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That helps your organization preserve business continuity without allowing &#8220;temporary&#8221; access to become invisible privilege creep.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your team is managing access-review exceptions through spreadsheets, email, and calendar reminders, evaluate SecurEnds User Access Reviews against a real exception scenario and follow the decision from approval through expiration and final disposition.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2cee4eca" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2cee5494" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cee5677" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/access-review-exception-management/">Access Review Exception Management: Approvals, Expiration and Audit Evidence</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/access-review-exception-management/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Access Review Remediation Workflow: Track Revocations Through Verified Closure</title>
		<link>https://www.securends.com/blog/access-review-remediation-workflow/</link>
					<comments>https://www.securends.com/blog/access-review-remediation-workflow/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 10 Sep 2026 11:10:16 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27064</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/access-review-remediation-workflow/">Access Review Remediation Workflow: Track Revocations Through Verified Closure</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2cee7596" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cee7764" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2cee7974" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cee7b2d" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2cee7d32" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cee7ef4" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2cee8125" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2cee8482" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cee87c7" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2cee8e1c" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2cee910e">
			<div class="image"><img loading="lazy" decoding="async"  class="ll-image unload" alt="Why Do IAM Compliance Gaps Show Up During Audits_ (8)" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Do-IAM-Compliance-Gaps-Show-Up-During-Audits_-8-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Do-IAM-Compliance-Gaps-Show-Up-During-Audits_-8.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789038812264 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">An access review is not complete simply because every reviewer submitted a decision.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Every revoke decision should become an owned remediation item with a clear fulfillment path.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Automated deprovisioning can close some revocations directly. Other applications may require ITSM tickets or application-owner action.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A completed ticket should not automatically be treated as proof that access disappeared.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Reconciliation against refreshed source data provides stronger evidence that the entitlement was actually removed.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Track aging, failures, exceptions, ownership, and verified closure as part of the same access review record.</span></li>
</ul>
<h2><b>The Campaign Is 100% Complete. Twenty-Three Revocations Are Still Open.</b></h2>
<p><span style="font-weight: 400;">The quarterly finance certification closes on Friday.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Every manager submitted their review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The dashboard shows 100% completion.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Eighty-seven permissions were marked for revocation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Two weeks later, security discovers that 23 of those permissions are still active.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Some removal requests were sent by email. Others became service-desk tickets. Three application owners thought somebody else was responsible. One ticket was closed even though the entitlement remained in the source application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The access review completed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The risk did not.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is why </span><b>access review remediation</b><span style="font-weight: 400;"> needs its own workflow.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Reviewers identify access that should change. Remediation makes that decision operational. Verification proves that the intended change actually reached the target environment.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Without those steps, organizations can produce a certification report while leaving the access identified as unnecessary in place.</span></p>
<h2><b>What Is Access Review Remediation?</b></h2>
<p><span style="font-weight: 400;">Access review remediation is the process of turning a review decision—such as revoke or modify—into a completed and verified access change.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A practical remediation chain looks like:</span><span style="font-weight: 400;"><br />
</span><b>Review decision → remediation item → owner → fulfillment → verification → closure → evidence</b><b><br />
</b><span style="font-weight: 400;">That distinction matters because a reviewer decision is not always the same as an access change.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Microsoft&#8217;s current access-review documentation provides a clear example. A reviewer can deny continued access, but the resulting change may only occur after review results are applied. Where provisioning is not configured, denied users may require separate downstream action.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your governance process therefore needs visibility beyond the review screen.</span></p>
<h1><b>Why Is a Revoke Decision Not Enough?</b></h1>
<p><span style="font-weight: 400;">A revoke decision answers:</span><span style="font-weight: 400;"><br />
</span><b>Should this user continue to have this access?</b><b><br />
</b><span style="font-weight: 400;">Remediation answers:</span><span style="font-weight: 400;"><br />
</span><b>Has the access actually been removed?</b><b><br />
</b><span style="font-weight: 400;">Consider a manager reviewing an employee&#8217;s finance permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The manager revokes </span><span style="font-weight: 400;">Payment Administrator</span><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Several outcomes are possible:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">the IGA platform automatically removes it</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">a ticket is routed to the application team</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an administrator manually removes the permission</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">fulfillment fails</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">the application is unavailable</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">the user receives an approved exception</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">someone closes the task without making the change</span></li>
</ul>
<p><span style="font-weight: 400;">If the governance record stops at &#8220;Revoke,&#8221; security teams cannot distinguish between these outcomes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">NIST SP 800-171&#8217;s</span><a href="https://www.securends.com/blog/principle-of-least-privilege/"> <span style="font-weight: 400;">least-privilege</span></a><span style="font-weight: 400;"> guidance explicitly includes reviewing privileges and reassigning or removing them when necessary. The control outcome therefore depends on the access change, not simply identifying that a change should occur.</span></p>
<h1><b>What Should an Access Review Remediation Workflow Look Like?</b></h1>
<p><span style="font-weight: 400;">A strong workflow should connect the reviewer decision to the final state of the entitlement.</span></p>
<h2><b>1. Capture the Revocation Decision With Context</b></h2>
<p><span style="font-weight: 400;">The remediation record should begin with the original review decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Retain enough information to identify:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">user</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">account</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">role or entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">decision</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reviewer comments</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">decision timestamp</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">campaign or review reference</span></li>
</ul>
<p><span style="font-weight: 400;">The remediator should not receive a vague instruction such as:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Remove John&#8217;s finance access.&#8221;</b><b><br />
</b><span style="font-weight: 400;">They should know exactly which account and entitlement were rejected and why.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; reviewer documentation supports approve/revoke decisions at credential and entitlement level and retains reviewer notes for audit and follow-up purposes.</span></p>
<h2><b>2. Create an Owned Remediation Item</b></h2>
<p><span style="font-weight: 400;">Every revoke decision that requires action should have an owner.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That owner might be:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application administrator</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">IAM team</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">service desk</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">automated connector</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">provisioning service</span></li>
</ul>
<p><span style="font-weight: 400;">Avoid shared inboxes where possible.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A remediation queue should make it easy to see:</span><span style="font-weight: 400;"><br />
</span><b>What is open? Who owns it? When was it assigned? How long has it been waiting?</b><b><br />
</b><span style="font-weight: 400;">Without ownership, remediation becomes another spreadsheet follow-up exercise.</span></p>
<h2><b>3. Route the Change Through the Correct Fulfillment Path</b></h2>
<p><span style="font-weight: 400;">Not every application supports the same removal method.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Your workflow should handle multiple paths.</span></p>
<h3><b>Direct automated fulfillment</b></h3>
<p><span style="font-weight: 400;">Where supported, the platform can send a</span><a href="https://www.securends.com/blog/automated-user-deprovisioning/"> <span style="font-weight: 400;">deprovisioning</span></a><span style="font-weight: 400;"> or entitlement-removal action to the target.</span></p>
<h3><b>ITSM-driven fulfillment</b></h3>
<p><span style="font-weight: 400;">A controlled work item can be created for teams using systems such as ServiceNow or Jira.</span></p>
<h3><b>Manual application-owner fulfillment</b></h3>
<p><span style="font-weight: 400;">Legacy or disconnected applications may require an administrator to remove access directly.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; production</span> <a href="https://www.securends.com/blog/user-access-reviews/"><span style="font-weight: 400;">User Access Reviews</span></a><span style="font-weight: 400;"> page states that review changes can be routed using integrations including ServiceNow, Jira, email, and other supported methods.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The important requirement is that each method remains tied to the original governance decision.</span></p>
<h2><b>4. Track Fulfillment Status</b></h2>
<p><span style="font-weight: 400;">Once work leaves the review campaign, do not lose visibility.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">At minimum, distinguish between:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Open</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Assigned</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">In progress</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Completed</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Failed</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Exception</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Verification pending</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Verified closed</span></li>
</ul>
<p><span style="font-weight: 400;">Your terminology can differ.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The important distinction is between </span><b>someone saying the task is complete</b><span style="font-weight: 400;"> and </span><b>the system confirming the access state changed</b><span style="font-weight: 400;">.</span></p>
<h2><b>5. Reconcile Against the Source Application</b></h2>
<p><span style="font-weight: 400;">This is the step many remediation processes miss.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Suppose an application owner marks a ticket as complete.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Was the entitlement actually removed?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Refresh or re-import the application access data and compare the user&#8217;s current access against the revoke decision.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; Campaign Effectiveness Reports are designed to show whether revoked access has been changed in the source application after updated application data is synchronized.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That gives you a stronger closure standard:</span><span style="font-weight: 400;"><br />
</span><b>The source no longer shows the revoked access.</b></p>
<h2><b>6. Handle Failures and Exceptions Explicitly</b></h2>
<p><span style="font-weight: 400;">Not every revoke can close normally.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">the application connector fails</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">an entitlement cannot be located</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">the application owner disputes the request</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">business leadership approves temporary retention</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">removing one role affects another dependency</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">the account belongs to a vendor outside the normal identity source</span></li>
</ul>
<p><span style="font-weight: 400;">Do not silently convert these situations into approvals.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Create a documented exception path.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Capture:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reason</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">approver</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">compensating control where applicable</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">expiration date if temporary</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">next review date</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">owner</span></li>
</ul>
<p><span style="font-weight: 400;">An exception should remain visible until the risk is resolved or formally accepted under your organization&#8217;s process.</span></p>
<h2><b>7. Close the Item With Evidence</b></h2>
<p><span style="font-weight: 400;">A verified remediation record should show the chain clearly:</span></p>
<table>
<tbody>
<tr>
<td><b>Stage</b></td>
<td><b>Evidence</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Review</span></td>
<td><span style="font-weight: 400;">Reviewer selected revoke</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Assignment</span></td>
<td><span style="font-weight: 400;">Remediation owner identified</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Fulfillment</span></td>
<td><span style="font-weight: 400;">Removal action or ticket recorded</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Completion</span></td>
<td><span style="font-weight: 400;">Responsible team marked work complete</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Reconciliation</span></td>
<td><span style="font-weight: 400;">Refreshed access data confirms removal</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Closure</span></td>
<td><span style="font-weight: 400;">Final status and timestamp retained</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">This gives compliance and audit teams more than a list of decisions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It gives them evidence that decisions were acted upon.</span></p>
<h1><b>Manual Remediation vs Closed-Loop Remediation</b></h1>
<table>
<tbody>
<tr>
<td><b>Manual Follow-Up</b></td>
<td><b>Closed-Loop Remediation</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Reviewer marks revoke in spreadsheet</span></td>
<td><span style="font-weight: 400;">Revoke becomes a tracked workflow item</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Administrator emails IT</span></td>
<td><span style="font-weight: 400;">Work routes to an assigned owner</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Status tracked manually</span></td>
<td><span style="font-weight: 400;">Remediation state remains visible</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Ticket closure treated as completion</span></td>
<td><span style="font-weight: 400;">Source access is reconciled</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Exceptions handled in email</span></td>
<td><span style="font-weight: 400;">Exceptions retain owner and justification</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Audit evidence assembled later</span></td>
<td><span style="font-weight: 400;">Decision and remediation history remain connected</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">The objective is not necessarily to automate every target application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is to make every revocation traceable.</span></p>
<h1><b>Should Every Revocation Be Automated?</b></h1>
<p><span style="font-weight: 400;">No.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Automation should match the application and control requirement.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Direct automated deprovisioning works well when the integration can reliably execute the requested change.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Manual fulfillment may still be appropriate for:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">legacy systems</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">homegrown applications</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">sensitive changes requiring administrator review</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">systems without write-enabled integration</span></li>
</ul>
<p><span style="font-weight: 400;">Microsoft&#8217;s access-review guidance makes the same practical distinction. Automated application of review results can remove access in supported scenarios, while applications without configured provisioning can require separate removal processes.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The better buying question is therefore:</span><span style="font-weight: 400;"><br />
</span><b>Can the governance platform manage both automated and manual remediation without losing accountability?</b></p>
<h1><b>Which Metrics Should You Track?</b></h1>
<p><span style="font-weight: 400;">A review completion percentage alone tells you little about remediation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Add metrics that measure closure.</span></p>
<h3><b>Revocations identified</b></h3>
<p><span style="font-weight: 400;">How many permissions reviewers selected for removal?</span></p>
<h3><b>Revocations closed</b></h3>
<p><span style="font-weight: 400;">How many have reached completed remediation?</span></p>
<h3><b>Verified closure rate</b></h3>
<p><b>Verified removals ÷ Total revoke decisions × 100</b></p>
<h3><b>Average remediation time</b></h3>
<p><span style="font-weight: 400;">Measure time between the reviewer decision and verified closure.</span></p>
<h3><b>Aging remediation</b></h3>
<p><span style="font-weight: 400;">Track items open beyond thresholds such as 7, 14, or 30 days.</span></p>
<h3><b>Failed remediation</b></h3>
<p><span style="font-weight: 400;">How many automated or manual changes failed?</span></p>
<h3><b>Exception volume</b></h3>
<p><span style="font-weight: 400;">How many revoke decisions became approved exceptions?</span></p>
<h3><b>Reconciliation failures</b></h3>
<p><span style="font-weight: 400;">How many tasks were marked complete while the entitlement still appeared in source data?</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That final metric can expose a control weakness that ordinary campaign reporting misses.</span></p>
<h1><b>What Should Buyers Look for in Access Review Remediation Software?</b></h1>
<p><span style="font-weight: 400;">If remediation is a major pain point, ask vendors to demonstrate it during evaluation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Look for the ability to:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">retain entitlement-level revoke decisions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">assign remediation ownership</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">support multiple fulfillment methods</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">integrate with ITSM workflows where required</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">track remediation status</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">surface overdue work</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">preserve reviewer comments</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manage exceptions</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">refresh application data</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">reconcile revoked access</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">retain complete campaign evidence</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">report on remediation effectiveness</span></li>
</ul>
<p><span style="font-weight: 400;">Do not accept a demo that stops when the reviewer clicks </span><b>Revoke</b><span style="font-weight: 400;">.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ask the vendor to continue until the entitlement is gone.</span></p>
<h2><b>Questions to Ask During a Demo or POC</b></h2>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What happens immediately after a reviewer selects revoke?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Who receives the remediation task?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can different applications use different fulfillment methods?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How do we see overdue revocations?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What happens when automated removal fails?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can a revoke decision become a documented exception?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How do we verify that the target application actually changed?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Does ticket closure count as remediation automatically?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can the platform reconcile refreshed source data?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can an auditor see the original decision and final closure in one record?</span></li>
</ol>
<p><span style="font-weight: 400;">These questions expose the difference between </span><b>review automation</b><span style="font-weight: 400;"> and </span><b>closed-loop governance</b><span style="font-weight: 400;">.</span></p>
<h1><b>How SecurEnds Supports Post-Review Remediation</b></h1>
<p><span style="font-weight: 400;">SecurEnds&#8217; User Access Reviews capabilities include credential- and entitlement-level approve/revoke decisions, campaign workflows, integrations for routing review changes, remediation reporting, and audit reporting.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Its Campaign Effectiveness Reports provide a particularly relevant remediation control. After review changes are applied and application data is synchronized again, the report can show whether actions corresponding to review elections have been reflected in the application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds also documents end-of-campaign notifications and the ability to submit review elections into integrated ticketing systems.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For teams evaluating SecurEnds, use one real revoke scenario.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Run:</span><span style="font-weight: 400;"><br />
</span><b>review → revoke → assignment → fulfillment → resync → reconciliation → report</b><b><br />
</b><span style="font-weight: 400;">That will show how the remediation workflow operates for the applications in your environment.</span></p>
<h1><b>Best Practices for Access Review Remediation</b></h1>
<p><b>Assign ownership immediately.</b><span style="font-weight: 400;"> Every revocation should have someone responsible for closure.</span><span style="font-weight: 400;"><br />
</span><b>Use application-specific fulfillment paths.</b><span style="font-weight: 400;"> Do not force legacy and API-enabled applications into the same process.</span><span style="font-weight: 400;"><br />
</span><b>Track aging.</b><span style="font-weight: 400;"> Old remediation items represent access your organization already decided was unnecessary.</span><span style="font-weight: 400;"><br />
</span><b>Separate task completion from access verification.</b><span style="font-weight: 400;"> A closed ticket is not always proof of removal.</span><span style="font-weight: 400;"><br />
</span><b>Define exception rules.</b><span style="font-weight: 400;"> Require justification, approval, ownership, and expiration where appropriate.</span><span style="font-weight: 400;"><br />
</span><b>Measure verified closure.</b><span style="font-weight: 400;"> Campaign completion and remediation completion are different metrics.</span><span style="font-weight: 400;"><br />
</span><b>Document everything.</b><span style="font-weight: 400;"> Retain the reviewer decision, owner, fulfillment action, exception, reconciliation result, and closure timestamp.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>What is access review remediation?</b></h3>
<p><span style="font-weight: 400;">Access review remediation is the process of acting on access-review decisions that require changes. It typically includes assigning revocations, removing or modifying access, tracking completion, handling exceptions, verifying the resulting access state, and retaining evidence. The objective is to ensure that rejected access is actually addressed rather than merely recorded.</span></p>
<h3><b>What happens after access is revoked during an access review?</b></h3>
<p><span style="font-weight: 400;">That depends on the target application and governance platform. Some revocations can trigger automated deprovisioning. Others may create tickets or require application administrators to make the change manually. A mature workflow continues tracking the action until access removal has been completed and, where possible, verified against updated source data.</span></p>
<h3><b>How do you verify that revoked access was actually removed?</b></h3>
<p><span style="font-weight: 400;">Refresh or re-import access information from the target application and compare the current entitlement state with the review decision. If the revoked permission no longer appears, the organization has stronger evidence of closure. Ticket completion alone proves that work was recorded, not necessarily that target access changed.</span></p>
<h3><b>Should access review remediation have an SLA?</b></h3>
<p><span style="font-weight: 400;">Many organizations benefit from risk-based remediation targets. High-risk or privileged access may justify shorter timelines than ordinary low-risk permissions. The appropriate SLA depends on your internal controls, application criticality, operational model, and applicable obligations. Track aging so overdue remediation remains visible.</span></p>
<h3><b>Can legacy applications support access review remediation?</b></h3>
<p><span style="font-weight: 400;">Yes. They may require manual fulfillment rather than automated deprovisioning. A structured workflow can assign the removal to an application administrator, record completion, refresh access data through a file or other supported ingestion method, and verify that the entitlement no longer appears.</span></p>
<h3><b>What evidence should be retained for access review remediation?</b></h3>
<p><span style="font-weight: 400;">Retain the original review decision, reviewer, identity, account, application, entitlement, comments, remediation owner, fulfillment status, exception information where applicable, reconciliation result, and relevant timestamps. This creates a traceable record from the</span><a href="https://www.securends.com/blog/access-certification/"> <span style="font-weight: 400;">certification decision</span></a><span style="font-weight: 400;"> to final closure.</span></p>
<h1><b>Make &#8220;Revoke&#8221; Mean the Risk Was Addressed</b></h1>
<p><span style="font-weight: 400;">The easiest access review metric to report is campaign completion.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is not necessarily the most important one.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A reviewer can make the correct decision and the organization can still leave the wrong access in place.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The stronger control is:</span><span style="font-weight: 400;"><br />
</span><b>Identify → Decide → Assign → Remove → Verify → Document</b><b><br />
</b><span style="font-weight: 400;">That is what turns an access certification into an enforceable governance process.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your team is still tracking post-review revocations through spreadsheets, email, and disconnected tickets, evaluate SecurEnds User Access Reviews against one of your real remediation scenarios and follow the decision all the way to verified closure</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2cfba9ff" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2cfbafe4" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cfbb1d9" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/access-review-remediation-workflow/">Access Review Remediation Workflow: Track Revocations Through Verified Closure</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/access-review-remediation-workflow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Governing Homegrown and Legacy Applications Without Modern Connectors</title>
		<link>https://www.securends.com/blog/identity-governance-legacy-applications/</link>
					<comments>https://www.securends.com/blog/identity-governance-legacy-applications/#respond</comments>
		
		<dc:creator><![CDATA[Securends Team]]></dc:creator>
		<pubDate>Thu, 10 Sep 2026 11:05:35 +0000</pubDate>
				<category><![CDATA[Blog Articles]]></category>
		<guid isPermaLink="false">https://www.securends.com/?p=27059</guid>

					<description><![CDATA[<p>The post <a href="https://www.securends.com/blog/identity-governance-legacy-applications/">Governing Homegrown and Legacy Applications Without Modern Connectors</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="tm-row-6aacf2cfbd16c" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cfbd33c" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2cfbd549" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cfbd712" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-row-6aacf2cfbd918" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cfbdac1" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div><div id="tm-section-6aacf2cfbdd0a" class="vc_section securends-blog-section cus-tb-color"><div id="tm-row-6aacf2cfbe0a4" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2cfbe418" class="wpb_column vc_column_container vc_col-sm-8"><div class="vc_column-inner "><div class="wpb_wrapper"><div id="sec-01" class="vc_row vc_inner vc_row-fluid content-section"><div id="tm-column-inner-6aacf2cfbea6f" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper"><div class="tm-image tm-animation move-up" id="tm-image-6aacf2cfbeda6">
			<div class="image"><img loading="lazy" decoding="async"  class="ll-image unload" alt="Why Do IAM Compliance Gaps Show Up During Audits_ (5)" width="1688" height="880" src="https://www.securends.com/wp-content/uploads/2026/09/Why-Do-IAM-Compliance-Gaps-Show-Up-During-Audits_-5-50x26.png" data-src="https://www.securends.com/wp-content/uploads/2026/09/Why-Do-IAM-Compliance-Gaps-Show-Up-During-Audits_-5.png" /></div>	</div>

	<div class="wpb_text_column wpb_content_element  vc_custom_1789038132334 text-black tm-animation move-up" >
		<div class="wpb_wrapper">
			<h2><b>TL;DR</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A missing modern connector does not automatically mean an application must remain outside</span><a href="https://www.securends.com/blog/identity-governance-and-administration-iga/"> <span style="font-weight: 400;">identity governance</span></a><span style="font-weight: 400;">.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Start by determining what access data the application can reliably produce: users, accounts, roles, groups, and entitlements.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">File exports, secure file transfer, database extracts, and configurable integration methods can bring disconnected systems into governance.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Separate </span><b>visibility and certification</b><span style="font-weight: 400;"> from </span><b>automated provisioning</b><span style="font-weight: 400;">. An application can often be reviewed before full write-back automation exists.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Identity matching, business ownership, understandable entitlements, remediation, and evidence matter more than simply showing an application as &#8220;connected.&#8221;</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">SecurEnds supports multiple application ingestion methods, including pre-built connectors, Flex Connectors, database-related methods, and file-based onboarding.</span></li>
</ul>
<h2><b>The Application Auditors Care About Most Has No API</b></h2>
<p><span style="font-weight: 400;">Your quarterly review includes Microsoft 365, Salesforce, and several SaaS applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then finance sends the difficult one.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is a 15-year-old internal application used for payment processing. There is no SCIM endpoint. There is no modern identity API. User access can only be exported from a database or generated as a report.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Yet the application contains some of your most sensitive permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Leaving it outside identity governance because it lacks a standard connector creates the wrong outcome.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The systems easiest to integrate are not always the systems carrying the greatest access risk.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Many enterprises still operate homegrown, acquired, on-premises, database-driven, and industry-specific applications alongside modern SaaS.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The practical question is therefore not:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Does our IGA platform have a connector for every application?&#8221;</b><b><br />
</b><span style="font-weight: 400;">It is:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Can we obtain enough reliable access data to identify users, review permissions, remediate inappropriate access, and preserve evidence?&#8221;</b><b><br />
</b><span style="font-weight: 400;">That changes how you approach identity governance for legacy applications.</span></p>
<h1><b>Why Do Legacy Applications Become Identity Governance Blind Spots?</b></h1>
<p><span style="font-weight: 400;">Modern SaaS applications are generally easier to integrate because they are more likely to expose structured APIs and standardized identity capabilities.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Older systems may operate very differently.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A legacy or homegrown application might store access in:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">database tables</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application-specific user directories</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">locally managed accounts</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">proprietary roles</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">flat-file exports</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">internally developed permission structures</span></li>
</ul>
<p><span style="font-weight: 400;">Some systems may provide readable access data but no way for an external governance platform to automatically change it.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Others may have usable APIs but no standard IGA connector.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The result is often a two-speed governance environment.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Modern applications receive automated controls.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Legacy systems remain dependent on spreadsheets, application administrators, email approvals, and manually retained evidence.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That becomes particularly problematic when the disconnected application handles sensitive data or supports an important compliance control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds explicitly documents support for applications across cloud, on-premises, and legacy environments, with applications connected through CSV files, Flex Connectors, or pre-built connectors.</span></p>
<h1><b>First Decide What Level of Governance the Application Needs</b></h1>
<p><span style="font-weight: 400;">Do not begin by asking how to integrate the system.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Begin by defining the required control.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For a specific legacy application, you may need to answer:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Who currently has accounts?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Which employees own those accounts?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What roles or permissions do they have?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Which access is privileged or sensitive?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Who should review that access?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How often should reviews occur?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How will rejected access be removed?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How will removal be verified?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What evidence must be retained?</span></li>
</ul>
<p><span style="font-weight: 400;">This helps separate three different integration goals.</span></p>
<h3><b>Level 1: Visibility</b></h3>
<p><span style="font-weight: 400;">Bring user and access information into a central governance environment.</span></p>
<h3><b>Level 2: Governance</b></h3>
<p><span style="font-weight: 400;">Use that information for</span><a href="https://www.securends.com/blog/access-certification/"> <span style="font-weight: 400;">certification</span></a><span style="font-weight: 400;">, ownership, decisions, reporting, and remediation tracking.</span></p>
<h3><b>Level 3: Automated fulfillment</b></h3>
<p><span style="font-weight: 400;">Allow approved or rejected governance decisions to change the target application automatically.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Not every application needs to reach Level 3 immediately.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This distinction is important.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Waiting for perfect provisioning integration before beginning</span><a href="https://www.securends.com/blog/user-access-reviews/"> <span style="font-weight: 400;">access reviews</span></a><span style="font-weight: 400;"> can leave a high-risk application ungoverned for months.</span></p>
<h1><b>What Data Do You Actually Need From a Legacy Application?</b></h1>
<p><span style="font-weight: 400;">For access governance, start with the smallest useful data model.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ideally, obtain:</span><span style="font-weight: 400;"><br />
</span><b>Identity/account information</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">username or account ID</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">employee ID or another matchable identifier</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">email where reliable</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">status</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">account type</span></li>
</ul>
<p><b>Access information</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">role</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">group</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">permission</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged status</span></li>
</ul>
<p><b>Business context</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement description</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">application owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">entitlement owner where available</span></li>
</ul>
<p><span style="font-weight: 400;">The exact fields depend on the application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The critical requirement is being able to connect an application account back to a governed identity.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; documentation describes matching application records to its system of record using information such as email or employee ID. Its implementation guidance also calls for organizations to review unmatched records and validate imported application data.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your export contains usernames but no reliable identity identifier, identity matching becomes an implementation problem that should be solved before certification begins.</span></p>
<h1><b>Four Ways to Bring Disconnected Applications Into Governance</b></h1>
<p><span style="font-weight: 400;">There is no single integration method for every legacy application.</span></p>
<h2><b>1. Use a Standard Connector When One Exists</b></h2>
<p><span style="font-weight: 400;">A standard connector remains the simplest option when it supports the access information you need.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">But verify the depth of the connection.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Ask:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What accounts are collected?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Are roles and entitlements included?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can disabled accounts be identified?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Is data read-only or write-enabled?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can access changes be fulfilled?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How often can data be refreshed?</span></li>
</ul>
<p><span style="font-weight: 400;">Do not equate &#8220;connector available&#8221; with &#8220;complete governance.&#8221;</span></p>
<h2><b>2. Use Database Access When the Application Stores Permissions in Accessible Tables</b></h2>
<p><span style="font-weight: 400;">Many homegrown applications ultimately store identity and permission information in databases.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If that data can be extracted safely and reliably, database-based ingestion may provide a path to governance without redesigning the application itself.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For example, the extraction might return:</span></p>
<table>
<tbody>
<tr>
<td><b>User ID</b></td>
<td><b>Account</b></td>
<td><b>Role</b></td>
<td><b>Entitlement</b></td>
<td><b>Status</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">18452</span></td>
<td><span style="font-weight: 400;">jsmith</span></td>
<td><span style="font-weight: 400;">AP_Manager</span></td>
<td><span style="font-weight: 400;">Vendor_Approve</span></td>
<td><span style="font-weight: 400;">Active</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">20711</span></td>
<td><span style="font-weight: 400;">amiller</span></td>
<td><span style="font-weight: 400;">AP_User</span></td>
<td><span style="font-weight: 400;">Vendor_View</span></td>
<td><span style="font-weight: 400;">Active</span></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: 400;">Once correlated with an authoritative identity source, that information can support access review and analysis.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; current documentation includes DB Extract functionality within its Flex Connector options. Its broader product content describes database extraction through approaches such as table mapping, SQL queries, or stored procedures.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For production use, the exact database access method and security requirements should be validated for each target system.</span></p>
<h2><b>3. Use Secure File-Based Ingestion</b></h2>
<p><span style="font-weight: 400;">Some applications can produce good access reports even though they cannot support direct integration.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">That is still valuable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A controlled CSV or similar export can contain the information required to perform an access review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The process may look like:</span><span style="font-weight: 400;"><br />
</span><b>Legacy application → access export → secure transfer/upload → identity correlation → review campaign</b><b><br />
</b><span style="font-weight: 400;">SecurEnds documents CSV-based application setup and secure file-transfer options. Its implementation guidance specifically states that information for in-scope applications can be brought in through connectors, Flex Connectors, or file uploads.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">File-based governance is not identical to real-time API integration.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">But it can be significantly more controlled than sending spreadsheets independently to dozens of reviewers.</span></p>
<h2><b>4. Use a Configurable or Custom Integration Method</b></h2>
<p><span style="font-weight: 400;">Some applications fall between standard connectors and static files.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">They may have an internal API, database interface, scheduled report, or proprietary integration method.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">This is where configurable connector frameworks can be useful.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds positions its Flex Connector for custom and homegrown applications and documents Flex Connector options within its current product documentation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The buyer question should be:</span><span style="font-weight: 400;"><br />
</span><b>How much custom engineering is required, who maintains it, and what happens when the target application changes?</b><b><br />
</b><span style="font-weight: 400;">A custom integration that requires specialist development every year can introduce its own operational cost.</span></p>
<h1><b>Do Not Let File-Based Governance Become Spreadsheet Governance Again</b></h1>
<p><span style="font-weight: 400;">Using a file as an ingestion mechanism does not mean the governance process itself has to remain manual.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">There is an important difference.</span></p>
<h3><b>Spreadsheet review</b></h3>
<p><span style="font-weight: 400;">An administrator exports access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Files are emailed to managers.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Reviewers edit columns.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Someone consolidates decisions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Another person creates removal tickets.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Evidence is stored across folders and email.</span></p>
<h3><b>File-fed governance platform</b></h3>
<p><span style="font-weight: 400;">Access data enters a centralized system.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Records are correlated to identities.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Reviewers receive structured campaigns.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Decisions are captured consistently.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Remediation is assigned or routed.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Campaign evidence is retained centrally.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The file is simply the transport mechanism.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The governance workflow is what matters.</span></p>
<h1><b>What Happens When Entitlement Names Make No Sense?</b></h1>
<p><span style="font-weight: 400;">Legacy applications frequently expose permission names designed for developers rather than business reviewers.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Examples might look like:</span></p>
<p><span style="font-weight: 400;">APPR_LVL_3</span></p>
<p><span style="font-weight: 400;">FIN_X92</span></p>
<p><span style="font-weight: 400;">ROLE_0087</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">A manager cannot make a defensible access decision if nobody knows what the permission means.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Before launching reviews, enrich high-risk entitlements with business context.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Record:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">readable name</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">purpose</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">owner</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">risk level</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">privileged status</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">expected user population</span></li>
</ul>
<p><span style="font-weight: 400;">For example:</span><span style="font-weight: 400;"><br />
</span><b>FIN_X92</b><b><br />
</b><span style="font-weight: 400;">becomes:</span><span style="font-weight: 400;"><br />
</span><b>Vendor Payment Final Approval — permits final approval of vendor payment batches.</b><b><br />
</b><span style="font-weight: 400;">That changes the quality of the review.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The goal is not simply to collect entitlements.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">It is to make them governable.</span></p>
<h1><b>How Should You Handle Access Removal When There Is No Write-Back Connector?</b></h1>
<p><span style="font-weight: 400;">This is where many organizations confuse governance with provisioning.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Suppose a manager reviews legacy application access and rejects a permission.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The target system cannot accept an automated removal command.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">You still need a controlled workflow.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">A practical model is:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Reviewer selects revoke.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A remediation action is created.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The appropriate application owner or service team receives it.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Access is manually removed from the legacy system.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Completion is recorded.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The next access extract verifies the change.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Evidence is retained.</span></li>
</ol>
<p><span style="font-weight: 400;">SecurEnds&#8217; documentation includes ticketing configuration and post-review remediation capabilities alongside application ingestion and campaign functionality.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The precise fulfillment method should be established for each application.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">The key control is that a rejection does not disappear into email.</span></p>
<h1><b>What Should Buyers Ask an IGA Vendor About Legacy Applications?</b></h1>
<p><span style="font-weight: 400;">When evaluating software, give the vendor one of your difficult applications.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then ask:</span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What data would you need from this application?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How would accounts be matched to our identities?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can roles and entitlements be governed without a standard connector?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What ingestion methods are available?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How frequently can the data be refreshed?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How are unmatched accounts handled?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What happens when a reviewer revokes access?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Can remediation be tracked if removal is manual?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">How will we verify that removal actually occurred?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What historical evidence remains for auditors?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What custom work would we have to maintain?</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">What would be required later to automate provisioning?</span></li>
</ol>
<p><span style="font-weight: 400;">Do not let the evaluation stop at:</span><span style="font-weight: 400;"><br />
</span><b>&#8220;Yes, we can integrate that.&#8221;</b><b><br />
</b><span style="font-weight: 400;">Ask the vendor to show the operating model.</span></p>
<h1><b>When Should You Build a Connector Instead of Using Files?</b></h1>
<p><span style="font-weight: 400;">Not every disconnected application needs a custom connector.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Prioritize deeper integration when:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access changes frequently</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">lifecycle automation is important</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">manual fulfillment creates material risk</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">the application has many users</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">access is highly privileged</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">data changes too quickly for periodic files</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">the application is strategically important</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">repeated file preparation consumes significant administration</span></li>
</ul>
<p><span style="font-weight: 400;">File-based governance may be sufficient when the primary objective is periodic certification and the source data is stable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Use the control requirement to determine integration depth.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Do not build custom automation simply because it is technically possible.</span></p>
<h1><b>How SecurEnds Helps Bring Legacy Applications Into Access Governance</b></h1>
<p><span style="font-weight: 400;">SecurEnds provides several documented routes for bringing application data into governance.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Its application documentation supports </span><b>CSV files, Flex Connectors, and pre-built connectors</b><span style="font-weight: 400;">. Its current connector documentation also includes database extraction and SFTP-related Flex Connector options.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">SecurEnds&#8217; implementation documentation explicitly describes ingestion across on-premises, cloud/SaaS, and homegrown applications, while requiring customers to validate imported data, reconcile unmatched records, and address exceptions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">For an enterprise evaluating SecurEnds, the useful approach is to provide an actual application inventory rather than asking generally about legacy support.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Classify each application as:</span><span style="font-weight: 400;"><br />
</span><b>Pre-built connector | Flex Connector | file-based | requires validation</b><b><br />
</b><span style="font-weight: 400;">Then test one difficult system end to end:</span><span style="font-weight: 400;"><br />
</span><b>extract → ingest → match → review → revoke → remediate → verify → report</b><b><br />
</b><span style="font-weight: 400;">That demonstrates whether the proposed governance model works without requiring every application to become modern first.</span></p>
<h1><b>Best Practices for Governing Homegrown and Legacy Applications</b></h1>
<p><b>Start with risk.</b><span style="font-weight: 400;"> Do not exclude an application because integration is inconvenient.</span><span style="font-weight: 400;"><br />
</span><b>Identify the minimum useful access dataset.</b><span style="font-weight: 400;"> Focus on identities, accounts, roles, permissions, and ownership.</span><span style="font-weight: 400;"><br />
</span><b>Separate governance from provisioning.</b><span style="font-weight: 400;"> Begin reviews even when write-back automation requires a later phase.</span><span style="font-weight: 400;"><br />
</span><b>Resolve unmatched accounts.</b><span style="font-weight: 400;"> Unknown ownership weakens every downstream control.</span><span style="font-weight: 400;"><br />
</span><b>Translate technical entitlements.</b><span style="font-weight: 400;"> Reviewers need enough context to make informed decisions.</span><span style="font-weight: 400;"><br />
</span><b>Define remediation before launching reviews.</b><span style="font-weight: 400;"> Know exactly what happens after a revoke decision.</span><span style="font-weight: 400;"><br />
</span><b>Increase automation where the business case supports it.</b><span style="font-weight: 400;"> High-volume or high-risk systems may justify deeper integration.</span><span style="font-weight: 400;"><br />
</span><b>Document everything.</b><span style="font-weight: 400;"> Preserve ingestion methods, matching rules, review decisions, remediation, exceptions, and evidence.</span></p>
<h2><b>Frequently Asked Questions</b></h2>
<h3><b>Can identity governance work without application connectors?</b></h3>
<p><span style="font-weight: 400;">Yes. A standard connector is not always required for access governance. If an application can provide reliable information about users, accounts, roles, or entitlements, that data may be ingested through other supported methods such as files, database extracts, or configurable integrations. Automated provisioning may still require deeper integration.</span></p>
<h3><b>How do you perform access reviews for legacy applications?</b></h3>
<p><span style="font-weight: 400;">Extract the relevant account and permission information, correlate accounts with authoritative identities, assign reviewers, capture retain or revoke decisions, track required remediation, and retain evidence. The important requirement is a controlled review process, even when data collection or access removal is not fully automated.</span></p>
<h3><b>What is a disconnected application in IGA?</b></h3>
<p><span style="font-weight: 400;">A disconnected application is generally an application that does not have direct automated integration with the identity governance platform for some or all governance functions. Access information may instead arrive through files, reports, databases, or other methods. Disconnected applications can still be governed when reliable identity and entitlement information is available.</span></p>
<h3><b>Should organizations build custom connectors for every legacy application?</b></h3>
<p><span style="font-weight: 400;">No. Connector development should be based on risk, transaction volume, required automation, integration feasibility, and operating cost. A periodically reviewed application may work effectively with controlled file ingestion. A high-volume application requiring frequent</span><a href="https://www.securends.com/blog/iga-workflows-access-reviews-lifecycle-compliance/"> <span style="font-weight: 400;">provisioning and deprovisioning</span></a><span style="font-weight: 400;"> may justify a deeper integration.</span></p>
<h3><b>How can access be revoked when a legacy application does not support automated provisioning?</b></h3>
<p><span style="font-weight: 400;">Route the revoke decision into a controlled remediation workflow assigned to the responsible team. The administrator removes access within the target application, records completion, and the organization verifies the change through a subsequent data extract or another approved method. The entire process should remain traceable.</span></p>
<h3><b>What should organizations test before purchasing IGA for legacy applications?</b></h3>
<p><span style="font-weight: 400;">Use an actual difficult application during the proof of concept. Test data extraction, identity matching, entitlement visibility, reviewer context, revocation, remediation tracking, verification, and audit reporting. This shows whether the platform can govern your application estate rather than only applications with ideal integrations.</span></p>
<h1><b>The Application Does Not Need to Be Modern to Be Governed</b></h1>
<p><span style="font-weight: 400;">Replacing every legacy application is rarely an identity governance strategy.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Many of those systems will remain operational for years.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">They may process payments, support manufacturing, store customer data, run healthcare operations, or contain sensitive internal information.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Leaving them outside governance until a modern connector appears creates an unnecessary blind spot.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Start with the access data the application can provide.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Match accounts to identities.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Make permissions understandable.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Review the access.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Track rejected permissions.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Verify remediation.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Preserve the evidence.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">Then increase integration depth where automation delivers enough security or operational value.</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;">If your enterprise needs to govern custom, on-premises, homegrown, or disconnected applications, evaluate SecurEnds against the systems your current IGA program finds hardest to reach—not only the applications that are already easy to connect.</span></p>

		</div>
	</div>
</div></div></div></div></div></div></div><div id="tm-column-6aacf2d091e1d" class="wpb_column vc_column_container vc_col-sm-4"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_raw_code wpb_content_element wpb_raw_html" >
		<div class="wpb_wrapper">
			<style>

:root{
    scroll-padding-top:100px !important;
}

html{
    scroll-behavior:smooth;
}

.securends-blog-section h2 {
    font-size: 26px;
    margin: 20px 0px 15px;
}

/* TOC BOX */
.nav02{
    position:relative;
    top:13px;
    left:0;
    width:100%;
    border:1px solid #dddddd;
    border-radius:12px;
    padding:20px 15px;
    background:#ffffff;
    z-index:100;
    transition:0.3s ease;
}

/* TITLE */
.nav02 h4{
    margin-bottom:20px;
    font-size:28px;
    line-height:34px;
    font-weight:600;
    color:#222222;
}

/* UL */
.nav02 ul{
    list-style:none;
    padding:0;
    margin:0;
}

/* LI */
.nav02 li{
    margin-bottom:14px;
}

/* LINKS */
.nav02 .nav-link{
    font-size:15px;
    line-height:22px;
    font-weight:500;
    display:block;
    padding-left:18px;
    color:#666666 !important;
    text-decoration:none !important;
    position:relative;
    transition:all 0.3s ease;
}

/* HOVER */
.nav02 .nav-link:hover{
    color:#2caae2 !important;
}

/* ACTIVE */
.nav02 .nav-link.active{
    color:#2caae2 !important;
    font-weight:600 !important;
}

/* ACTIVE LEFT LINE */
.nav02 .nav-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:22px;
    background:#2caae2;
    border-radius:30px;
}

/* STICKY */
.nav-sticky{
 position: fixed;
    top: 20px; /* Keeps it visible */
    right: 45px;
    left: unset;
    width: 340px;
    z-index: 100;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 20px 10px 10px;
    transition: top 0.3s ease;
    height: 450px;
}

  .nav-sticky {
     overflow: scroll;
     scrollbar-width: none;
  }

/* SCROLLBAR */
.nav-sticky::-webkit-scrollbar{
    width:4px;
}

.nav-sticky::-webkit-scrollbar-track{
    background:transparent;
}

.nav-sticky::-webkit-scrollbar-thumb{
    background:#2caae2;
    border-radius:20px;
}

/* TABLET */
@media(min-width:768px) and (max-width:1024px){

    .nav02{
        width:220px;
    }

    .nav-sticky{
        width:220px;
        right:10px;
        top:120px;
    }

}

/* MOBILE */
@media screen and (max-width:767px){

    .nav02{
        display:none !important;
    }
 .securends-blog-section h2 {
    font-size: 22px;
 }

}

</style>

<div id="c-navbar" class="nav02">

    <h4>Table of Content</h4>

    <ul id="toc-list"></ul>

</div>

<script>

document.addEventListener('DOMContentLoaded', function () {

    const content =
        document.querySelector('.entry-content');

    const headings =
        document.querySelectorAll('.entry-content h2');

    const tocList =
        document.getElementById('toc-list');

    const nav =
        document.querySelector('.nav02');

    const footer =
        document.querySelector('.entry-footer');

    /* GENERATE TOC */
    headings.forEach((heading, index) => {

        const headingId = 'section-' + (index + 1);

        /* ADD ID */
        heading.setAttribute('id', headingId);

        /* ADD CLASS */
        heading.classList.add('content-section');

        /* CREATE LI */
        const li = document.createElement('li');

        /* CREATE LINK */
        const a = document.createElement('a');

        a.href = '#' + headingId;

        a.innerText = heading.innerText;

        a.classList.add('nav-link');

        li.appendChild(a);

        tocList.appendChild(li);

    });

    const navLinks =
        document.querySelectorAll('.nav-link');

    /* CLICK SCROLL */
    navLinks.forEach(link => {

        link.addEventListener('click', function(e){

            e.preventDefault();

            const targetId =
                this.getAttribute('href').substring(1);

            const targetSection =
                document.getElementById(targetId);

            if(targetSection){

                const offset = 100;

                const topPosition =
                    targetSection.getBoundingClientRect().top +
                    window.pageYOffset -
                    offset;

                window.scrollTo({
                    top: topPosition,
                    behavior:'smooth'
                });

            }

        });

    });

    /* ACTIVE SCROLL */
    function handleScroll(){

        let currentSectionId = '';

        const offset = 150;

        headings.forEach((section, index) => {

            const sectionTop =
                section.getBoundingClientRect().top;

            const nextSection =
                headings[index + 1];

            if(
                sectionTop - offset < window.innerHeight / 2 &&
                (
                    !nextSection ||
                    nextSection.getBoundingClientRect().top - offset > 0
                )
            ){

                currentSectionId =
                    section.getAttribute('id');

            }

        });

        navLinks.forEach(link => {

            link.classList.remove('active');

            if(
                link.getAttribute('href').substring(1)
                === currentSectionId
            ){

                link.classList.add('active');

            }

        });

    }

    /* STICKY NAV */
    function stickyNav(){

        if(nav && footer){

            const contentTop =
                content.offsetTop;

            const footerTop =
                footer.offsetTop -
                nav.offsetHeight -
                20;

            if(
                window.pageYOffset >= contentTop &&
                window.pageYOffset < footerTop
            ){

                nav.classList.add('nav-sticky');

            } else {

                nav.classList.remove('nav-sticky');

            }

        }

    }

    /* THROTTLE */
    function throttle(fn, wait){

        let time = Date.now();

        return function(){

            if((time + wait - Date.now()) < 0){

                fn();

                time = Date.now();

            }

        }

    }

    /* SCROLL EVENT */
    window.addEventListener(
        'scroll',
        throttle(function(){

            handleScroll();
            stickyNav();

        }, 100)
    );

    /* INITIAL LOAD */
    handleScroll();
    stickyNav();

});

</script>
		</div>
	</div>
</div></div></div></div></div><div id="tm-row-6aacf2d092421" class="vc_row vc_row-outer vc_row-fluid"><div id="tm-column-6aacf2d0925fd" class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner "><div class="wpb_wrapper">
	<div class="wpb_text_column wpb_content_element  tm-animation move-up" >
		<div class="wpb_wrapper">
			
		</div>
	</div>
</div></div></div></div>
<p>The post <a href="https://www.securends.com/blog/identity-governance-legacy-applications/">Governing Homegrown and Legacy Applications Without Modern Connectors</a> appeared first on <a href="https://www.securends.com">SecurEnds</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.securends.com/blog/identity-governance-legacy-applications/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
