Role Mining Prompts
Last updated: May 18, 2026
Overview
Role mining in Albus follows a layered approach: start broad and add specificity only where the data justifies it. Each prompt uses a birthright threshold — the assignment % above which an app or entitlement should be granted automatically rather than requested. Higher thresholds mean stricter recommendations.
You'll work with two matrix types depending on the app:
An access matrix answers "which apps should this group of people get?" Use it for license-based apps where having the license is the whole story — Zoom, Slack, Notion, 1Password.
A permissions matrix answers "which roles, groups, or entitlements within an app should this group get?" Use it for apps with meaningful internal permission structures — Salesforce, Okta, AWS, GitHub, ServiceNow.
Customize the [bracketed] placeholders to match your environment — use whichever HR attribute names you actually have (Department, Business Unit, Cost Center, Team, Subsidiary, etc.). The example thresholds (80% / 70% / 60%) are a good starting point; adjust higher for stricter policies or lower if you want more apps surfaced as birthright candidates.
Building Access Matrices (app-level)
Label | Prompt | Expected Output | Value |
|---|---|---|---|
Layer 1 — baseline by Employee Type |
| An access matrix for FTEs across all apps, with birthright vs. self-service recommendations. | Establish the company-wide baseline every full-time employee should get on Day 1. |
Layer 2 — by department or business unit |
Optional add below:
| An access matrix scoped to the department, showing incremental apps beyond the Layer 1 baseline. | Capture team-specific apps (Engineering → GitHub, Sales → Salesforce) without duplicating the company baseline. |
Layer 3 — by team (only if needed) |
Optional add below:
| An access matrix for the team, showing only the long-tail apps unique to that team. | Add team-level granularity for specialized tooling (e.g., Security → Datadog admin) without over-fragmenting policies. |
Split by a secondary attribute |
| A matrix where rows are apps and columns are the distinct values of the secondary attribute. | Compare access patterns across subsidiaries, regions, or sub-teams in one view. |
Building Permissions Matrices (entitlement-level)
Label | Prompt | Expected Output | Value |
|---|---|---|---|
Permissions matrix — by Employee Type |
| An entitlement-level matrix showing which groups, roles, or profiles should be birthright across the FTE population. | Define the right level of access inside an app, not just whether someone gets the license. |
Permissions matrix — by department or team |
| A department- or team-scoped entitlement matrix layered on top of the Layer 1 baseline. | Handle apps like Salesforce where Sales needs profiles other departments don't, or where one engineering sub-team needs admin roles. |
[Optional] Decision Helpers
Label | Prompt | Expected Output | Value |
|---|---|---|---|
Decide policy depth (5-user rule) |
| Two grouped trees — departments to handle at department level vs. departments to break out by team. | Avoid over-fragmenting (one policy per tiny team) and under-fragmenting (one policy hiding real variance). |
Compare attribute granularity |
| A side-by-side or summary showing whether breaking out by team surfaces meaningfully different access. | Know when to stop adding layers — if the deeper level looks the same, don't build it. |
Teaching Albus Your Environment
Label | Prompt | Expected Output | Value |
|---|---|---|---|
Teach a naming convention |
| Confirmation Albus has stored the rule; future matrices apply it automatically. | Train Albus on your conventions once instead of repeating exclusions every prompt. |
Teach a location pattern |
| Confirmation the rule is stored. | Filter out noise from location-based groups across every future matrix. |
Teach an exclusion rule |
| Confirmation the rule is stored. | Keep retired apps out of policy recommendations. |
Exclude an app entirely |
| Confirmation the app will be filtered from future matrices. | Pull noisy or out-of-scope apps (sandboxes, test environments, internal tools) out of every recommendation. |
Gap & Coverage Analysis
Label | Prompt | Expected Output | Value |
|---|---|---|---|
Identify gaps in existing policies |
| A table of apps with partial coverage, with coverage % and a suggestion for whether to promote to birthright. | Surface near-birthright apps that should be promoted, and inconsistencies in current assignments. |
Top-requested apps segmentation |
| A breakdown of the top 5 apps with proposed segmentation and reasoning grounded in request data. | Prioritize policy work where it eliminates the most tickets. |
Find apps missing access groups |
| A list of Okta apps without a backing access group. | Prep work for moving birthright orchestration off of IdP rules and into Lumos policies. |