How to export your policies (read-only)
# PowerShell — Microsoft Graph SDK (Policy.Read.All, read-only) Connect-MgGraph -Scopes "Policy.Read.All" Invoke-MgGraphRequest -Method GET ` -Uri "https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies" ` -OutputFilePath capolicies.json # …or the SDK cmdlet (PascalCase output is fine too) Get-MgIdentityConditionalAccessPolicy -All | ConvertTo-Json -Depth 10 | Out-File capolicies.json -Encoding utf8 # …or Entra admin center → Conditional Access → Policies → open a policy → Download JSON
Nothing analysed yet. Drop an export above, paste one, or hit Load sample to see the analyzer with a fictional tenant.
Tenant review
Baseline coverage
Findings
Policy matrix
Design settings
Policy templates
Custom policy builder
Your design
Single-policy JSON can be imported with Upload policy file in the Entra admin center. The script uses Invoke-MgGraphRequest and skips names that already exist. Review every policy and use the What If tool before enforcing.
How it works
The analyzer normalises each conditionalAccessPolicy object (Graph v1.0 or beta, camelCase or PascalCase) and evaluates it in three passes. Baseline matches enabled and report-only policies against Microsoft’s Conditional Access templates — a control counts as met only when an enforced policy satisfies it, and policies that exclude trusted locations do not count as unconditional MFA. Findings lint each policy for lockout risk, missing or inconsistent emergency-access exclusions (inferred from objects excluded across most all-users policies), location and role bypasses, combined MFA/strength grants, the read-only Require approved client app grant, stale report-only policies and policies with no control. The Designer generates Graph-ready JSON for each template using your naming prefix and break-glass exclusions, defaulting to report-only.
Limits: object IDs are not resolved to names (the tool never calls Graph), named-location and authentication-strength definitions are not in the policy export, and results are a review aid — confirm with sign-in logs and the What If tool before changing production policy.