Resources/Glossary

OAuth scopes in plain English

Every common Google Workspace and Microsoft 365 permission a third-party app can ask for, translated into what it actually lets the app do.

4 min readUpdated September 9, 2026

01How to read a scope

A scope is the unit of permission in OAuth. When an app asks for access, it asks for a list of scopes, and the person clicking Allow grants all of them at once. The names are written for developers, not for the people approving them — which is how “Files.Read.All” gets approved by someone who thinks they are connecting a calendar.

Three patterns tell you most of what you need to know before you look anything up.

  • Read versus ReadWrite (Microsoft) or readonly versus the bare scope (Google). Read-only access can copy everything; write access can also change, send, or delete it.
  • The .All suffix on Microsoft, or a scope naming the admin or the whole Drive on Google, means the permission spans the organization or the entire account — not one folder, not one mailbox.
  • offline_access, on either provider, means the app keeps its access after the person signs out. Almost every app requests it. It is the reason a forgotten grant is a permanent one.

02Google Workspace

Google scopes are URLs beginning with https://www.googleapis.com/auth/. The table shows the distinguishing tail of each.

ScopeLets the app…
mail.google.comread, send, and delete all email in that mailbox
gmail.modifyread and change email in that mailbox
gmail.sendsend email as that person
gmail.readonlyread all email in that mailbox
gmail.metadatasee who that person emails and when
auth/driveread and edit every file in that person’s Google Drive
drive.readonlyread every file in that person’s Google Drive
drive.fileread and edit only the specific files it is used with
drive.appdatastore its own data in that person’s Drive
spreadsheetsread and edit that person’s spreadsheets
documentsread and edit that person’s documents
presentationsread and edit that person’s presentations
auth/calendarsee and change that person’s calendar
calendar.eventssee and change that person’s calendar events
calendar.readonlysee that person’s calendar and meeting details
contactssee and change that person’s contacts
contacts.readonlysee that person’s contacts
auth/admin.*make administrator-level changes to your Google Workspace
cloud-platformaccess your Google Cloud resources
userinfo.emailknow that person’s email address
userinfo.profileknow that person’s name and profile photo

03Microsoft 365 and Entra ID

Microsoft Graph scopes are dotted names. The ones ending in .All are the admin-consent tier: they reach across every user, file, or object in the tenant, and they are the scopes to read most carefully.

ScopeLets the app…
Mail.ReadWriteread, change, and delete email in that mailbox
Mail.Sendsend email as that person
Mail.Readread all email in that mailbox
Files.ReadWrite.Allread and change every file across your organization’s OneDrive and SharePoint
Files.Read.Allread every file across your organization’s OneDrive and SharePoint
Files.ReadWriteread and change that person’s files
Files.Readread that person’s files
Sites.ReadWrite.Allread and change everything in your SharePoint sites
Sites.Read.Allread everything in your SharePoint sites
Calendars.ReadWritesee and change that person’s calendar
Calendars.Readsee that person’s calendar and meeting details
OnlineMeetings.ReadWritecreate and change that person’s online meetings
OnlineMeetings.Readsee that person’s online meetings
ChannelMessage.Read.Allread messages in your Teams channels
Chat.ReadWriteread and send that person’s Teams chats
Chat.Readread that person’s Teams chats
Contacts.ReadWritesee and change that person’s contacts
Contacts.Readsee that person’s contacts
Directory.ReadWrite.Allread and change your organization’s entire directory
Directory.Read.Allread your organization’s entire directory
User.ReadWrite.Allread and change every user account in your organization
User.Read.Allread every user account in your organization
User.ReadBasic.Allsee basic details of every user in your organization
User.Readsee that person’s basic account profile
Group.ReadWrite.Allread and change your organization’s groups
Group.Read.Allread your organization’s groups and who belongs to them
Application.ReadWrite.Allread and change every app registered in your organization
Application.Read.Allread every app registered in your organization
AuditLog.Read.Allread your organization’s sign-in and audit logs

04Scopes both providers share

These come from OpenID Connect and appear on almost every sign-in-with grant. Three of them are harmless identity scopes. The fourth is not.

ScopeLets the app…
openidconfirm who that person is when signing in
profileknow that person’s name and profile photo
emailknow that person’s email address
offline_accesskeep working in the background without that person signing in again

05Combinations worth flagging

Individual scopes are only half the reading. The dangerous findings are combinations — an AI product on the one side, and one of these on the other.

  • Mailbox read plus offline_access: the app can read every message, forever, without anyone noticing a login.
  • Organization-wide file read (Files.Read.All, Sites.Read.All) on a grant approved by a single user: the widest possible reach, approved by the narrowest possible review.
  • Directory.Read.All alongside any data scope: the app knows who everyone is and what it can read from them.
  • Mail.Send or gmail.send held by a tool that has no reason to send: an app that can send as your people is an app that can phish as your people.

Why we wrote this down

A finding is only useful to the person who has to decide about it. A ForgeWatch report never asks an owner or an employee to decode a scope identifier — every permission is explained in language like the rows above, and the raw identifier appears only where an administrator needs it to find the app.

See which of these your workforce has already granted

One read-only authorization returns every app holding a token in your domain, with each scope translated and each finding explained.

Get your inventory