Skip to content

High-Risk Input Policies

workspace-lite validates high-risk inputs on the Apps Script proxy, not only in TypeScript schemas. Server-side validation protects batch calls, custom clients, and stale generated clients.

Calendar IDs And Times

Default calendar fallback is allowed only when calendarId is absent. If a caller supplies a calendarId, the proxy validates the ID format and returns BAD_REQUEST for invalid syntax or NOT_FOUND when the calendar cannot be resolved.

Calendar create and update mutations validate ISO datetime inputs and require endTime to be after startTime before mutating an event.

URL Fetch And Image Insertion

Docs and Slides image insertion tools require https URLs. Non-HTTPS URLs are rejected before any fetch.

Optional host allowlists are read from Apps Script script properties:

Property Applies to Behavior
ALLOWED_IMAGE_HOSTS Docs and Slides image insertion Comma-separated hosts or domains. Subdomains are allowed when the base domain is listed.
ALLOWED_DOCS_IMAGE_HOSTS Docs image insertion Additional Docs-specific hosts.
ALLOWED_SLIDES_IMAGE_HOSTS Slides image insertion Additional Slides-specific hosts.

Fetched image responses must return a 2xx HTTP status, an image/* content type, and fit under the service image byte limit.

Email And Sharing Allowlists

Gmail send/reply/forward actions and forwarding filters can be restricted with recipient allowlists:

Property Behavior
ALLOWED_EMAIL_RECIPIENTS Comma-separated exact recipient addresses.
ALLOWED_EMAIL_DOMAINS Comma-separated domains. Values may include or omit the leading @.

Drive public sharing is opt-in. Public access levels such as ANYONE and ANYONE_WITH_LINK are blocked unless one of these script properties is set to true:

Property Behavior
ALLOW_PUBLIC_DRIVE_SHARING Enables public Drive sharing actions.
ALLOW_PUBLIC_SHARING Backward-compatible shared switch for public sharing.

Share and send classes still require confirm=true after explicit user approval. Gmail forwarding filters and enabled vacation responder updates also require confirm=true because they can send or redirect future email.

Drive file, folder, and shared-drive actions can be scoped with resource allowlists:

Property Behavior
ALLOWED_DRIVE_FILE_IDS Restricts file-scoped read/write/comment/revision actions to listed file IDs.
ALLOWED_DRIVE_FOLDER_IDS Restricts folder-scoped list/create/move/parent actions to listed folder IDs.
ALLOWED_DRIVE_SHARED_DRIVE_IDS Restricts shared-drive metadata and shared-drive change-token actions to listed shared drive IDs.

Drive comment and reply deletion require confirm=true after explicit user approval.

Formula Injection

Formula injection is blocked in generic Sheets value-writing tools. rangeWrite and rowsAppend reject string cell values beginning with formula metacharacters: =, +, -, or @.

Use sheets_set_formula for intentional formulas. The formula-specific tool requires formulas to start with =.

A1 Ranges, Colors, And Dimensions

Sheets range-taking tools validate A1 notation server-side before mutation. Formatting colors accept named colors or hex colors. Numeric dimensions such as font size, chart width/height, column width, frozen row counts, and sort columns must be finite and within service bounds.