Skip to content

Terms of Use Acceptance

The question it answers: Which terms of use are enforced by Conditional Access, and who declined them or has an expired acceptance?

Terms of use are an HR and compliance attestation - acceptable use, NDAs, data handling. This report shows each agreement, whether an enabled Conditional Access policy actually requires it, and who declined or whose acceptance expired.

Where in the appEntra ID › Identity Governance & Lifecycle › Terms of Use Acceptance
WorkloadEntra ID
KindFindings list · dashboard tile
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed).
LicenceMicrosoft Entra ID P1.
Report id (API and MCP)entra.governance.terms-of-use
ColumnKeyType
SeveritySeverityStatus
ItemCategoryText
Agreement / userSubjectLink
CheckSettingText
ValueValueText
FindingFindingText
DetailDetailText
DateWhenDate
Current acceptancesNumberNumber

A findings list hides columns that no row fills. Severity is Critical, Serious, Warning, OK or Info; rows rated Critical, Serious or Warning need attention (Working with findings).

Licence: Microsoft Entra ID P1.

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

PermissionAPIWhat it allowsNote
Agreement.Read.AllMicrosoft GraphRead all terms of use agreements
AgreementAcceptance.Read.AllMicrosoft GraphRead all terms of use acceptance statuses
Policy.Read.AllMicrosoft GraphRead your organization’s policies
Data sources it reads
  • GET /v1.0/identityGovernance/termsOfUse/agreements
  • GET /v1.0/identityGovernance/termsOfUse/agreements/{id}/acceptances
  • GET /v1.0/identity/conditionalAccess/policies
GET /ir-api/v1/reports/entra.governance.terms-of-use?size=100

An AI assistant reads it with the MCP tool get_report and the id entra.governance.terms-of-use. The client needs the Read grant for Entra ID. See Using the API.