This page documents the Google OAuth 2.0 scopes that asciiflow requests when you sign in with Google, and explains why each scope is needed. asciiflow is a browser-based ASCII diagram editor; the scopes below are the minimum required to identify you and to read/write your own diagrams in Google Drive.
| Scope | Purpose | How the app uses it |
|---|---|---|
openid |
OpenID Connect authentication | Establishes your identity via a signed ID token from Google. Used only during the sign-in flow. |
email |
View your email address | The app reads your email address from the Google userinfo endpoint to match it against the configured allowlist (ALLOWED_EMAILS). Only the allowlisted email may sign in. |
profile |
View your basic profile info | Returns your name and a profile picture URL. Used to greet you by name in the UI; not stored beyond the session. |
https://www.googleapis.com/auth/drive.metadata.readonly |
Read metadata of your Google Drive files | Used to list the ASCII diagrams you have previously saved to your own Google Drive, so asciiflow can display them in your diagram list. asciiflow reads only the file name, ID, and modification time of diagrams you saved through it — never file contents, and never files you did not create with asciiflow. |
https://www.googleapis.com/auth/drive.file |
Read and write files asciiflow created in your Google Drive | Used by the background keepalive worker to create a tiny temp file in your Drive and immediately delete it, so the Drive API client stays "active" under Google's inactivity policy. Because this is the drive.file scope, asciiflow can only ever see/touch files it created itself — your other Drive files are never read, modified, or deleted. The temp file exists for only a few seconds before being deleted. |
The first three scopes (openid, email,
profile) are required for a standard "Sign in with Google"
flow and to identify you across sessions.
The drive.metadata.readonly scope is needed so asciiflow can
read the metadata of diagrams you have saved in your own Google Drive and
present them to you in the diagram picker. asciiflow reads only the
metadata (name, ID, modified time) of diagram files you saved through it;
it never reads the contents of any other Drive file.
The drive.file scope is used by asciiflow's background
keepalive worker. Once per DRIVE_KEEPALIVE_INTERVAL (default
24 hours) asciiflow creates a tiny temp file named
asciiflow-keepalive-<timestamp>.txt in your Drive and
immediately deletes it. This marks the Drive API client "active" under
Google's inactivity policy so the OAuth client is not deleted.
Because drive.file only grants access to files asciiflow
itself created, asciiflow can never read, modify, or delete
any other file in your Drive — only the temp file it just created, which is
deleted within seconds. If a delete fails (e.g. transient network error),
the file id is logged so it can be removed manually; it remains visible
only to asciiflow.
No other Google API is accessed by asciiflow.
asciiflow requests these scopes in two stages, so you never grant more than you intend:
openid,
email, and profile. No Drive access is
requested at this stage, so the sign-in consent screen is minimal.drive.metadata.readonly and
drive.file). This second request uses
include_granted_scopes=true, so the basic scopes you
already granted are preserved and you only approve the new Drive
scopes.You can revoke Drive access (or all access) at any time at https://myaccount.google.com/permissions.
The OAuth access token and refresh token returned by Google are stored locally on the server, encrypted with AES-256-GCM, so the app can continue to access your saved diagrams without prompting you to sign in on every visit. See the privacy policy for details.
You can revoke the app's access at any time at https://myaccount.google.com/permissions.