Skip to content
Connector permissions

What you are granting, and why

When you connect a Microsoft 365 or Google Workspace tenant, or an accounting system, to one of the diagnostic tools, this page lists every permission requested, why it is requested, what is stored, what is never stored, and how to remove access. It is generated from the code that makes the request, so it cannot drift from what we actually ask for.

Which Microsoft Graph permission each tool asks forMicrosoft Graph only. No tool asks for more than read.
Microsoft Graph permissions requested by each diagnostic tool
PermissionSaaS AuditorLeaver checkScorecard
Organization.Read.AllReadReadRead
RoleManagement.Read.DirectoryReadReadRead
User.Read.AllReadReadRead
AuditLog.Read.AllReadReadNot requested
Directory.Read.AllReadReadNot requested
Policy.Read.AllReadNot requestedRead
SecurityEvents.Read.AllReadNot requestedRead
Application.Read.AllReadNot requestedNot requested
DeviceManagementManagedDevices.Read.AllNot requestedReadNot requested
GroupMember.Read.AllNot requestedNot requestedRead
IdentityRiskEvent.Read.AllReadNot requestedNot requested
Reports.Read.AllReadNot requestedNot requested
SharePointTenantSettings.Read.AllNot requestedNot requestedRead

The short version

  • The diagnostics read and never write. Every Microsoft Graph permission requested by a scan is a Microsoft read permission (the name ends in .Read.All or .Read.Directory).
  • You are the controller. For the tenant and subscription data these tools read, you are the data controller and ITSailor acts as your data processor. The processing runs on your instruction, which you give by connecting your tenant or assigning the role. The spend scan of an accounting system is the exception: ITSailor is the controller for that read, as section 7 of the Privacy Policy explains, and keeps only the vendor summary, for ten minutes.
  • Identities are digested before logging. Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs. The report shown to your administrator still carries real identities, because it is your own tenant and you need them to act.
  • You can revoke at any time. Your administrator removes the grant directly with Microsoft, Google, Xero or Intuit, without us, and all further reads stop at once.
Read the data-handling terms in the Privacy Policy

SaaS Auditor

Microsoft Graph

Reads directory, licence, and security posture to find dormant accounts, wasted licences, Shadow IT, and standing admin risk.

A Microsoft 365 tenant administrator approves the connection. Nothing below can change your tenant.

User.Read.All
Why it is requested
Read the user roster and account status, so the audit can count active, disabled, and stale accounts.
Access
Read-only
What is stored
Counts and posture flags for the report shown to your administrator.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
AuditLog.Read.All
Why it is requested
Read sign-in activity (last sign-in dates), so dormant and unused accounts can be found.
Access
Read-only
What is stored
Counts and posture flags for the report shown to your administrator.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
Organization.Read.All
Why it is requested
Read tenant and licence inventory, so assigned licences can be matched to active use.
Access
Read-only
What is stored
Licence counts and utilisation figures for the report.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
Directory.Read.All
Why it is requested
Read service principals and OAuth grants for Shadow IT and third-party app discovery.
Access
Read-only
What is stored
Counts and posture flags for the report shown to your administrator.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
Application.Read.All
Why it is requested
Read the registered and enterprise application detail behind those grants.
Access
Read-only
What is stored
Counts and posture flags for the report shown to your administrator.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
SecurityEvents.Read.All
Why it is requested
Read Microsoft Secure Score and security findings for posture context.
Access
Read-only
What is stored
Secure Score figures and finding counts for the report.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
Policy.Read.All
Why it is requested
Read Conditional Access policy posture.
Access
Read-only
What is stored
Policy posture flags for the report.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
RoleManagement.Read.Directory
Why it is requested
Read the directory role roster to find standing, non-PIM administrator assignments.
Access
Read-only
What is stored
The count of standing privileged assignments for the report.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
IdentityRiskEvent.Read.All
Why it is requested
Read Entra identity-risk detections (risky sign-ins), where the tenant licence exposes them.
Access
Read-only
What is stored
Risk-detection counts for the report.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
Reports.Read.All
Why it is requested
Read per-service usage reports to measure feature-level adoption.
Access
Read-only
What is stored
Aggregate adoption figures for the report.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.

How long it is kept

Your report is held server-side, encrypted, for up to ten minutes so the page can load it, then it expires. No sign-in token is stored: the one-off Microsoft scan keeps nothing beyond that window.

How to revoke

A tenant administrator can remove the grant at any time in the Microsoft Entra admin center, under Enterprise applications, by deleting the ITSailor application. Revoking access stops all further reads at once.

Back to SaaS Auditor

SaaS Auditor

Google Workspace Admin SDK

Reads the Workspace directory and per-user security state for the same dormant-account, licence, and Shadow IT audit.

A Google Workspace super administrator approves the connection. 1 of the 3 permissions below grants more than a read, marked Broader than read in the table, and each one says what it can do beyond reading.

https://www.googleapis.com/auth/admin.directory.user.readonly
Why it is requested
Read the user list and per-user status, last login, and administrator flag.
Access
Read-only
What is stored
Counts and posture flags for the report shown to your administrator.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
https://www.googleapis.com/auth/admin.directory.domain.readonly
Why it is requested
Read domain and customer account information.
Access
Read-only
What is stored
Domain and account figures for the report.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.
https://www.googleapis.com/auth/admin.directory.user.security
Why it is requested
Read per-user third-party OAuth token grants (for Shadow IT discovery) and two-step verification state.Google publishes no read-only variant of this scope. It covers every operation on application-specific passwords, OAuth tokens and verification codes, which includes revoking them. We use it to read only: token grants for Shadow IT discovery, and two-step verification state. Your administrator can confirm the scope and revoke it at any time, and the scan is the only thing that would stop working.
Access
Broader than read
What is stored
Shadow IT grant counts and MFA-coverage figures for the report.
Never stored
Raw names, email addresses, and user principal names are replaced with a one-way digest before anything is written to our logs; the raw values are not retained.

How long it is kept

Your report is held server-side, encrypted, for up to ten minutes so the page can load it, then it expires. No sign-in token is stored: the one-off Google scan keeps nothing beyond that window. Use of Google Workspace data follows the Google API Services User Data Policy, including the Limited Use requirements.

How to revoke

A Workspace super administrator can remove the grant at admin.google.com under Security, API controls, App access control, or a user can remove it at myaccount.google.com under Security. Revoking access stops all further reads at once.

Back to SaaS Auditor

SaaS Auditor

Xero Accounting API

Not yet available. The SaaS Auditor does not offer this connection today; the spend scan reads a CSV export you upload. When it is switched on, these are the permissions it asks for.

Reads spend bank transactions to list the software vendors your organisation pays, for the spend part of the same audit.

A Xero user with access to the organisation approves the connection. Nothing below can change your tenant.

accounting.banktransactions.read
Why it is requested
Read up to 1,000 spend bank transactions, so the audit can list the software vendors you pay.
Access
Read-only
What is stored
The vendor summary for the report (vendor, category and cost), sealed and held for 10 minutes so the page can show it. A vendor name can be the name of a person you pay.
Never stored
The transactions themselves, the access token and any refresh token the provider returns. Transactions are read into memory for the one request and dropped.

How long it is kept

The vendor summary is held server-side, encrypted, for up to ten minutes so the page can load it, then it expires. The transactions are not kept and no token is stored.

How to revoke

The scan disconnects itself: right after the read it deletes the connection your consent created, and no refresh token is requested, so we cannot read again. If Xero refuses that request, the access token still expires on its own after 30 minutes, and you can disconnect ITSailor in Xero under Connected apps at any time.

Back to SaaS Auditor

SaaS Auditor

QuickBooks Online Accounting API

Not yet available. The SaaS Auditor does not offer this connection today; the spend scan reads a CSV export you upload. When it is switched on, these are the permissions it asks for.

Reads purchase transactions to list the software vendors your organisation pays, for the spend part of the same audit.

A QuickBooks Online user who can connect apps to the company approves the connection. 1 of the 1 permissions below grants more than a read, marked Broader than read in the table, and each one says what it can do beyond reading.

com.intuit.quickbooks.accounting
Why it is requested
Read up to 1,000 purchase transactions, so the audit can list the software vendors you pay.Intuit publishes no read-only accounting scope. This one opens the QuickBooks Online Accounting API, which includes creating and changing accounting records. We use it for one read query of purchases. Right after the read we revoke the refresh token Intuit returns, which also ends the access token and removes our permissions on your company; we never store either token.
Access
Broader than read
What is stored
The vendor summary for the report (vendor, category and cost), sealed and held for 10 minutes so the page can show it. A vendor name can be the name of a person you pay.
Never stored
The transactions themselves, the access token and any refresh token the provider returns. Transactions are read into memory for the one request and dropped.

How long it is kept

The vendor summary is held server-side, encrypted, for up to ten minutes so the page can load it, then it expires. The transactions are not kept and no token is stored.

How to revoke

The scan disconnects itself: right after the read it revokes the refresh token Intuit issued, which ends the access token too and removes our permissions on your company. If Intuit refuses that request, the access token still expires on its own after an hour, and you can disconnect ITSailor in the apps settings of your QuickBooks Online company at any time.

Back to SaaS Auditor

Offboarding Runbook and Leaver Check

Microsoft Graph

Reads accounts, licences, last successful sign-in, the audit events that record when an account was disabled, delegated consents, app assignments, owned apps and groups, directory and PIM roles and Intune devices, to list what a leaver still holds. Read-only: no permission to change anything is requested.

An administrator who can approve apps for your tenant, such as a Cloud Application Administrator or a Privileged Role Administrator, approves the connection once. After that, a Global Reader signs in to run the check. Nothing below can change your tenant.

User.Read.All
Why it is requested
Read the accounts in your tenant: whether each is enabled, which licences it holds and, with Entra ID P1 or P2, its last successful sign-in. This finds disabled leavers and enabled accounts with no successful sign-in for 90 days.
Access
Read-only
What is stored
For ten minutes, in the result held for your browser: the user principal names and display names of the disabled accounts it reads in depth (up to 40) and of the enabled accounts it flags, and the licence, role, app, group and device names it found for them. It is encrypted under a key Upstash does not hold, stored at Upstash in Ireland, inside the EEA, then expires.
Never stored
No sign-in token, no file, mail, calendar or Teams content, and no password. Our logs carry a keyed hash of the tenant id and counts, never a name or an address.
AuditLog.Read.All
Why it is requested
Read the last successful sign-in of each account, and the audit events that record when an account was disabled, so the two can be compared. Entra keeps audit events for 7 days on Free and 30 days with P1 or P2.
Access
Read-only
What is stored
The disable time and last successful sign-in of the accounts it lists, in the same ten-minute result.
Never stored
No sign-in token, no file, mail, calendar or Teams content, and no password. Our logs carry a keyed hash of the tenant id and counts, never a name or an address.
Directory.Read.All
Why it is requested
Read the apps a leaver consented to and which apps they are assigned to, the apps, groups and teams they own and whether anyone else owns them, and the names of the apps behind those consents.
Access
Read-only
What is stored
For ten minutes, in the result held for your browser: the user principal names and display names of the disabled accounts it reads in depth (up to 40) and of the enabled accounts it flags, and the licence, role, app, group and device names it found for them. It is encrypted under a key Upstash does not hold, stored at Upstash in Ireland, inside the EEA, then expires.
Never stored
No sign-in token, no file, mail, calendar or Teams content, and no password. Our logs carry a keyed hash of the tenant id and counts, never a name or an address.
Organization.Read.All
Why it is requested
Read the tenant name and the licence names, so a licence reads as a product name and not a code.
Access
Read-only
What is stored
The tenant name and licence names, in the same ten-minute result.
Never stored
No sign-in token, no file, mail, calendar or Teams content, and no password. Our logs carry a keyed hash of the tenant id and counts, never a name or an address.
RoleManagement.Read.Directory
Why it is requested
Read active and eligible (PIM) directory role assignments, to catch a role left on a leaver.
Access
Read-only
What is stored
The role names held by the disabled accounts it reads, in the same ten-minute result.
Never stored
No sign-in token, no file, mail, calendar or Teams content, and no password. Our logs carry a keyed hash of the tenant id and counts, never a name or an address.
DeviceManagementManagedDevices.Read.All
Why it is requested
Read the Intune managed devices and who each is assigned to, to find a device still tied to a leaver. It needs an Intune licence on the tenant.
Access
Read-only
What is stored
The device name, operating system and owner type of devices tied to the disabled accounts it reads, in the same ten-minute result.
Never stored
No sign-in token, no file, mail, calendar or Teams content, and no password. Our logs carry a keyed hash of the tenant id and counts, never a name or an address.

How long it is kept

The result is held for ten minutes in a short-lived server session so the page and the PDF record can show it. It contains the user principal names, display names, device names and app names of the disabled accounts it reads in depth (up to 40) and of the enabled accounts it flags, encrypted under a key Upstash does not hold, at Upstash in Ireland, inside the EEA. You can delete it sooner with Delete this scan now, and it expires on its own. No sign-in token is stored.

How to revoke

A tenant administrator can remove the grant at any time in the Microsoft Entra admin center, under Enterprise applications, by deleting the ITSailor application. Revoking access stops all further reads at once.

Back to Offboarding Runbook and Leaver Check

Tenant Security Scorecard

Microsoft Graph

Reads Conditional Access, Security Defaults, the Global Administrator role, PIM eligibility, the user consent setting, licences and SharePoint sharing, to check the controls the scan can verify against the ITSailor Tenant Security Baseline.

A Microsoft 365 tenant administrator approves the connection. Nothing below can change your tenant.

User.Read.All
Why it is requested
Read one property of each Global Administrator account: whether it is synced from on-premises Active Directory.
Access
Read-only
What is stored
Counts, such as how many administrator accounts are cloud-only, inside the 10-minute result.
Never stored
User names and email addresses. The scan counts accounts and reads that one property; it does not read profiles.
Organization.Read.All
Why it is requested
Read the tenant name and the licence subscriptions, to say what a refused read needs, such as Entra ID P1.
Access
Read-only
What is stored
The tenant name, and whether Entra ID P1 and P2 are present, inside the 10-minute result.
Never stored
Subscription details beyond those two facts.
GroupMember.Read.All
Why it is requested
List the members of any group that holds Global Administrator, so they are counted as administrators.
Access
Read-only
What is stored
The administrator count, inside the 10-minute result.
Never stored
The identities of group members: only the count is kept.
Policy.Read.All
Why it is requested
Read the Conditional Access policies, the Security Defaults setting and the user app-consent setting.
Access
Read-only
What is stored
Evidence sentences that can name a Conditional Access policy and say how many accounts it excludes, inside the 10-minute result.
Never stored
The users, groups and roles a policy includes or excludes: only the counts appear.
RoleManagement.Read.Directory
Why it is requested
Read who holds the Global Administrator role, and whether Privileged Identity Management has eligible assignments for it.
Access
Read-only
What is stored
Counts of administrator accounts and of eligible assignments, inside the 10-minute result.
Never stored
Who holds the role: accounts are counted, not named.
SecurityEvents.Read.All
Why it is requested
Read the Microsoft Secure Score headline as advisory context.
Access
Read-only
What is stored
The headline (points earned and possible), inside the 10-minute result.
Never stored
Individual Secure Score actions: they arrive with the headline and are not kept.
SharePointTenantSettings.Read.All
Why it is requested
Read the external sharing level for SharePoint and OneDrive.
Access
Read-only
What is stored
One verdict sentence about the sharing level, inside the 10-minute result.
Never stored
Site names, files and sharing links: none of them is read.

How long it is kept

The scan result is held, encrypted, for up to 10 minutes so this page can show it, then it expires. It holds the verdicts, evidence sentences that can name Conditional Access policies and count excluded accounts, the tenant name and the Secure Score headline. No sign-in token is stored. If you tick Remember this result, your score and the state of each control are also kept for 180 days under a random code in your browser, not your email; unticking deletes them. No account names or addresses are stored.

How to revoke

A tenant administrator can remove the grant at any time in the Microsoft Entra admin center, under Enterprise applications, by deleting the ITSailor application. Revoking access stops all further reads at once.

Back to Tenant Security Scorecard

Recipients

Every party that receives personal data from ITSailor, condensed from the Privacy Policy. Most are sub-processors, acting on documented instruction. Some are not, and their rows open by saying so. The policy is the authoritative source and is updated first when this list changes.

Stripe Payments Europe Ltd.
Purpose
Payments. Stripe is also an independent controller for its own fraud prevention, financial risk, AML and KYC obligations and product development
Jurisdiction
Ireland (EEA). Processing: Ireland, inside the EEA, with routing to Stripe group entities outside the EEA. Transfers: Standard Contractual Clauses (EU) 2021/914 for any routing outside the EEA; Stripe also self-certifies under the EU-US Data Privacy Framework.
Microsoft Ireland Operations Limited (Microsoft 365)
Purpose
Our business email and files
Jurisdiction
Ireland (EEA). Processing: Inside the EEA: our Microsoft 365 tenant is in the EU region. Transfers: Standard Contractual Clauses (EU) 2021/914 in Microsoft's Products and Services Data Protection Addendum, for any processing outside the EEA.
Hetzner Online GmbH
Purpose
Our servers, databases and backups, including the automation server that runs managed automation packages
Jurisdiction
Germany (EEA). Processing: Germany, inside the EEA. Transfers: None needed. The processing does not leave the EEA.
Vercel, Inc.
Purpose
Website hosting, and analytics only if you accept it; the analytics is cookie-free and not used for advertising or cross-site profiling. Vercel is also an independent controller for the usage data its service generates
Jurisdiction
United States. Processing: Functions run in Frankfurt, Germany, inside the EEA. Static assets and request logs are served from a global edge network, and analytics is processed mainly in the United States, both outside the EEA. Transfers: Standard Contractual Clauses (EU) 2021/914 in Vercel's Data Processing Addendum: Module Two for what we instruct, Module One for the usage data Vercel controls. Vercel also self-certifies under the EU-US Data Privacy Framework.
Cloudflare, Inc.
Purpose
DNS and a secure tunnel to our servers
Jurisdiction
United States. Processing: A global edge network outside the EEA; EU traffic is served from EU edge nodes. Transfers: EU-US Data Privacy Framework, with the Standard Contractual Clauses (EU) 2021/914 in place regardless.
Resend (Plus Five Five, Inc.)
Purpose
Sending email: our own, and the email our managed automation packages send for a client
Jurisdiction
United States. Processing: United States, outside the EEA. Transfers: EU-US Data Privacy Framework, with the Standard Contractual Clauses (EU) 2021/914 in place regardless.
Upstash, Inc.
Purpose
Tool and security data: rate limits, sign-in state, scan results for up to 10 minutes, and Tenant Security Scorecard trend scores for up to 180 days
Jurisdiction
United States. Processing: Ireland (AWS eu-west-1), inside the EEA. Transfers: Data processing addendum and the Standard Contractual Clauses (EU) 2021/914, for access by Upstash, Inc. from outside the EEA. No framework listing is claimed.
GitHub, Inc.
Purpose
Private repositories for client deliverables
Jurisdiction
United States. Processing: United States, outside the EEA. Transfers: EU-US Data Privacy Framework, self-certified under the Microsoft umbrella, with the Standard Contractual Clauses (EU) 2021/914 in place regardless.
OpenAI (API)
Purpose
Writing free-tool reports. API inputs are not used to train models
Jurisdiction
Not verified. This row names the service rather than a contracting entity; ask us and we will tell you which entity we contract with. Processing: Outside the EEA. Transfers: Standard Contractual Clauses (EU) 2021/914 alone. No framework listing is claimed, because none has been verified.
Anthropic (Claude API)
Purpose
SaaS Auditor briefs from aggregate figures, and contract extraction when you upload a contract. API inputs are not used to train models
Jurisdiction
Not verified. This row names the service rather than a contracting entity; ask us and we will tell you which entity we contract with. Processing: Outside the EEA. Transfers: Standard Contractual Clauses (EU) 2021/914 alone. No framework listing is claimed, because none has been verified.
Mistral AI
Purpose
AI steps in the managed automation packages, on its EU endpoint. Mistral is also an independent controller for the abuse monitoring its terms provide for
Jurisdiction
France (EEA). Processing: Data centres in the EU and EFTA behind its EU endpoint: inside the EEA, or in Switzerland under an adequacy decision. Account and billing data may be handled outside the EEA. Transfers: The Standard Contractual Clauses (EU) 2021/914 in Mistral's Data Processing Addendum, where its own sub-processors work outside the EEA. None is needed for AI calls processed inside the EEA, and Switzerland is covered by the Commission's adequacy decision.
Cal.com
Purpose
Booking calls and workshop sessions
Jurisdiction
Not verified. This row names the service rather than a contracting entity; ask us and we will tell you which entity we contract with. Processing: Outside the EEA. Transfers: Standard Contractual Clauses (EU) 2021/914 alone. No framework listing is claimed, because none has been verified.
DocRaptor
Purpose
Producing eBook PDFs, which carry the buyer's email in the licence line
Jurisdiction
Not verified. This row names the service rather than a contracting entity; ask us and we will tell you which entity we contract with. Processing: Outside the EEA. Transfers: Standard Contractual Clauses (EU) 2021/914 alone. No framework listing is claimed, because none has been verified.
Microsoft Ireland Operations Limited (licences)
Purpose
Not our sub-processor. Licensor of the Microsoft licences you buy through us; it processes your tenant content as your provider, under its agreement with you
Jurisdiction
Ireland (EEA). Processing: Your own tenant, under the agreement you hold with Microsoft. The contracting entity is inside the EEA. Transfers: Not ours to state. Microsoft processes tenant content on your instruction under its Data Protection Addendum with you, so your agreement governs that transfer and not ours.
Pax8, Inc.
Purpose
Not our sub-processor. Our distributor; it receives licence order details to fulfil your order, under its own terms. Your tenant data does not reach it
Jurisdiction
United States. Processing: United States, outside the EEA. Transfers: Standard Contractual Clauses (EU) 2021/914 in the Pax8 partner agreement. Pax8 receives the order data as an independent controller.
Telegram Messenger Inc.
Purpose
Not our sub-processor. Messaging service that carries alerts and approval notices from our managed automation packages to the staff accounts that asked for them, and to us, under its own terms. It receives no personal data of a client's customers: a message carries a reference, a count or a status and a link to our own server
Jurisdiction
Outside the EEA; Telegram's privacy policy does not say where. Its representative in the EU is EDPO in Brussels. Processing: Data centres in the Netherlands for accounts registered in the EEA, inside the EEA, run by Telegram from outside the EEA. Transfers: Not ours to state for the recipient's own account, which the recipient holds with Telegram under its terms. Telegram offers no transfer safeguard to its users, so we send it nothing that would need one.
Read the full sub-processor disclosure

Azure, and why it is not in the table above

The Cost Review for Azure requests no Microsoft Graph permissions. Not a narrow set: none. Access to an Azure subscription does not come from a consented API permission at all, it comes from an RBAC role assignment you make yourself in your own portal and can delete in one click, without telling us.

The role is the built-in Reader, which grants */read and nothing else.

We deliberately do not ask for Cost Management Reader, despite the name suggesting it is the read-only one for cost. Its action list contains the wildcard Microsoft.Support/*, which permits support-ticket creation. We ask for Reader because its action list is read only; a role's name is not proof of what it allows.

Sufficiency was settled by running every read path the collector needs as a principal holding Reader and nothing else, on 2026-08-15: budgets, Advisor, policy assignments, resources, Resource Graph and Cost Management all answered. The Cost Review for Azure never writes to your Azure.

Documents

The processor terms for this processing (GDPR Article 28) are part of the Terms of Service, accepted by the administrator who connects a tenant.