Skip to content

Calendar Folder Permissions

The question it answers: Which mailbox calendars show full details to everyone in the organisation or to anonymous users?

By default everyone in the organisation sees only free/busy on a colleague’s calendar. Mailboxes where ‘Default’ was raised to Reviewer or above expose meeting subjects, attendees and locations to the whole company - and ‘Anonymous’ access exposes them to the internet.

Where in the appExchange Online › Mail Security Posture › Calendar Permissions
WorkloadExchange Online
KindTable · dashboard tile
DataA scan: it runs only when someone presses Run scan (or calls the API’s scan action) and can take minutes. The last result is kept until the next scan. It reads through PowerShell (Exchange Online or SharePoint Online), so the first load takes longer than a Graph report.
LicenceExchange Online.
Report id (API and MCP)exchange.posture.calendar-permissions
ColumnKeyType
MailboxMailboxText
FindingPermissionFindingStatus
DefaultDefaultAccessText
AnonymousAnonymousAccessText
FolderCalendarFolderText
Scan errorScanErrorText
FilterKey (API)On when the page opens
Only calendars shared beyond free/busysharedYes

Licence: Exchange Online.

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

PermissionAPIWhat it allowsNote
Exchange.ManageAsAppOffice 365 Exchange OnlineManage Exchange As Application
Data sources it reads
  • Get-EXOMailbox
  • Get-MailboxFolderStatistics -FolderScope Calendar
  • Get-MailboxFolderPermission
  • Get-MailboxCalendarFolder
GET /ir-api/v1/reports/exchange.posture.calendar-permissions?size=100
GET /ir-api/v1/reports/exchange.posture.calendar-permissions?filter=shared
POST /ir-api/v1/reports/exchange.posture.calendar-permissions/scan

An AI assistant reads it with the MCP tool get_report and the id exchange.posture.calendar-permissions. The client needs the Run scan grant for Exchange Online. See Using the API.