OAuth reviewer information

OAuth is used only for the service-owned Gmail mailbox.

Quick & Dirty Fixes.ai customers do not authorize Gmail access. The OAuth-authorized account is the service/operator mailbox used to receive customer emails and send service responses.

Service-owned mailbox model

The application is built around a service-owned Gmail inbox. Customers send normal email to that inbox. The application reads messages received by the service mailbox, routes requests internally, and sends response email from the service-owned mailbox.

Customer Email
  → Service-Owned Gmail Inbox
  → web
  → router
  → task service
  → delivery
  → response email

OAuth boundary

The OAuth boundary is the service/operator Gmail mailbox. OAuth tokens authorize the application to work with that service mailbox as userId="me" in the Gmail API.

Downstream internal services such as the router and task services do not create customer Gmail OAuth flows and do not ask customers for Google authorization.

Who authorizes OAuth

  • The service/operator mailbox owner authorizes OAuth for the service-owned Gmail mailbox.
  • The OAuth token files are service/operator token files for the current application containers.

Who does not authorize OAuth

  • Customers do not authorize OAuth for this service.
  • Customers do not connect Gmail accounts.
  • Customers do not grant Gmail scopes.
  • Customers do not provide Google refresh tokens.
  • Customer Gmail mailboxes are not accessed through OAuth.

Gmail scopes used by the application

Scope Application area Purpose in this service-owned mailbox model
https://www.googleapis.com/auth/gmail.modify web inbound Gmail service Used to work with inbound service-mailbox activity, including Gmail watch/history handling, reading messages received by the service mailbox, and handling attachments when present.
https://www.googleapis.com/auth/gmail.send delivery outbound Gmail service Used to send response emails from the service-owned Gmail mailbox after internal processing is complete.

Why gmail.modify is used

The inbound service needs to process emails that arrive in the service-owned Gmail inbox. The documented behavior includes detecting new service-mailbox activity, resolving Gmail history, reading inbound service-mailbox messages, downloading or handling attachments when present, and forwarding normalized request payloads for internal processing.

Why gmail.send is used

The outbound delivery service sends response emails from the service-owned Gmail mailbox. Gmail send access is necessary because responses are delivered by Gmail from the service mailbox, not by a customer mailbox.

Summary for reviewers