Skip to content

App Registration Hygiene

The question it answers: Which app registrations of this tenant have no owner, risky redirect URIs, or accept sign-ins from any tenant without a verified publisher?

App registrations built in this tenant: which have nobody accountable for them, which send tokens to wildcard or unencrypted redirect URIs (token theft), and which accept sign-ins from any tenant without a verified publisher.

Where in the appEntra ID › App & Workload Identities › App Registration Hygiene
WorkloadEntra ID
KindTable
DataBuilt from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once.
LicenceNo extra licence needed.
Report id (API and MCP)entra.security.app-registration-hygiene
ColumnKeyType
AppDisplayNameLink
AssessmentSeverityStatus
FindingFindingText
OwnersDetailText
AudienceCategoryText
Valid credentialsValueText
CreatedDateDate
App IDSecondaryText
FilterKey (API)On when the page opens
Only apps with a findingwith-findingYes

Licence: No extra licence needed.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
Application.Read.AllMicrosoft GraphRead all applications
Data sources it reads
  • GET /v1.0/applications?$expand=owners
GET /ir-api/v1/reports/entra.security.app-registration-hygiene?size=100
GET /ir-api/v1/reports/entra.security.app-registration-hygiene?filter=with-finding

An AI assistant reads it with the MCP tool get_report and the id entra.security.app-registration-hygiene. The client needs the Read grant for Entra ID. See Using the API.