← All integrations
Live integration

Google Workspace

Identity · OAuth 2.0 · Hourly

OAuth 2.0. Pulls active users, 2-step verification enrollment, super-admin counts, and domain-wide password policy via the Admin SDK Directory API.

Authentication
OAuth 2.0
Sync cadence
Hourly
Stale threshold
Every 6 hours
Category
Identity

Evidence this connector produces

Every sync writes typed evidence rows linked to the controls below. Evidence is immutable once attached to an approved assessment, fingerprinted for de-dup, and surfaced in the control coverage calculation on your dashboard.

SOC 2 CC6.1CC6.2CC6.3

How to connect

Create an OAuth client in Google Cloud Console with the Admin SDK Directory API enabled. We'll redirect you there to authorize after you submit.

  1. 1
    Enable the Admin SDK Directory API

    Google Cloud Console → APIs & Services → Library → enable 'Admin SDK API' on the project that will own the OAuth credentials.

  2. 2
    Create the OAuth 2.0 client

    APIs & Services → Credentials → Create Credentials → OAuth client ID → Web application. Authorized redirect URI: http://localhost:3000/api/integrations/google_workspace/callback

  3. 3
    Copy client credentials + your primary domain

    Copy the Client ID + Client Secret. Your primary domain is your Workspace's email domain (e.g. acme.com) — required to scope read calls.

Security model

Every connector ships behind the same auditor-grade primitives — not just RBAC config, but architectural enforcement.

Credentials KMS-encrypted at rest

Tokens, client secrets, and service-account keys are encrypted under a per-tenant AWS KMS data key. The plaintext is never persisted, never logged, and never leaves the FastAPI process boundary.

Tenant-isolated by architecture

Every Connection, ConnectorRun, and emitted Evidence row carries an organization ObjectId. The scheduler never iterates without an org-scoped filter; cross-tenant evidence bleed is impossible at the data layer.

Audit log on every action

Connect, sync, sync-failure, re-auth, and revoke each write a row to the immutable AuditLog. The full lifecycle is reconstructable for any examiner.

Soft-delete on revoke

Revoking a connection sets deletedAt and clears the encrypted credential blob, but the historical evidence + sync log stays queryable for the retention window. Auditors can still trace what was attested when.

Stale-evidence degradation

If this connector hasn't synced in Every 6 hours, control coverage degrades automatically and an alert fires. Auditors don't trust stale evidence — neither do we.

Least-privilege scopes only

We request the minimum read-only scopes needed for the listed evidence. No write scopes, no admin scopes, no scopes outside the documented set.

Ready to connect Google Workspace?

Connect from Settings → Integrations — typically under 5 minutes. Or talk to us first.