Skip to content

Third-party accounts

Inventory of every external service Tomoda has an account with. Use this page to answer "do we already have an account with X?" Credentials don't live here — see Secrets management for which secret backs which integration.

When to add a row

A new SaaS sign-up, paid subscription, or developer-program enrollment goes on this page in the same commit as the code/config that depends on it. Removing an account: leave the row briefly with status "closed" so the audit trail survives one quarter, then delete.

Cloud + edge

Account What we use it for
Google Cloud — development-485000 The primary cloud. GKE cluster, Artifact Registry, Cloud Build, Secret Manager, GCS (Terraform state + Photon index + Tempo traces + Loki chunks), VPC, IAM
AWS — root account Static assets only. S3 (tomoda-assets-{env}), CloudFront, ACM TLS certs, AWS Secrets Manager (uploader creds for ESO)
Cloudflare DNS for tomoda.life, Workers (synthetic monitoring probes), Pages (docs.tomoda.life), Zero Trust Tunnel + Access (Loki push from synthetic Worker)

Observability + alerting

Account What we use it for
Sentry (tomoda org) Frontend error tracking, crash-free %, transaction performance from the mobile + web app. Backend errors go to Loki/Tempo instead
Discord (Tomoda guild) Alert routing — Alertmanager → #monitoring webhook, plus Sentry integration and synthetic-Worker failure notifications. One webhook today

Auth + identity providers

These exist because the app supports sign-in with each provider. Each is its own developer-program enrollment, separate from the cloud account.

Account What we use it for
Google Cloud — OAuth 2.0 Clients Google Sign-In on web, iOS, and Android. Three OAuth client IDs (web, iOS-bundle-scoped, Android-package-scoped). Lives under the same GCP project as everything else
Apple Developer Program Apple Sign-In (iOS native + web), APNs push notifications, App Store Connect membership. Paid: $99/year
LINE Developers LINE Login. Free tier

App stores

Account What we use it for
Apple App Store Connect iOS app submission, TestFlight builds, App Store reviews. Bundle ID com.tomoda.app. Tied to the Apple Developer Program above (same team account)
Google Play Console Android app submission + internal testing tracks. Package com.tomoda.app. One-time $25 registration fee

Product + payments

Account What we use it for
Stripe Subscriptions, one-off payments, webhook events
Resend Transactional email — OTP, welcome, deactivation. API-only, no inbox management
Klipy GIF / sticker / clip search in the chat composer. Content provider API

AI + external data APIs

Prepaid balances — the cost-exporter tracks these and alerts before they run dry.

Account What we use it for
DeepSeek LLM for the semantic location resolver. Prepaid balance; deepseek_balance_usd gauge + DeepSeekBalanceLow alert
Serper Search enrichment for the location resolver. Prepaid credit pack; serper_credits_remaining gauge + SerperCreditsLow alert (dormant until the backend serper_requests_total counter ships)

Source control + CI

Account What we use it for
GitHub — tomoda-labs org Source of truth for all repos (tomoda, devops, etc.). GitHub Actions workflows. ARC GitHub App for the self-hosted runner pool

Where the master credentials live

Per-account admin logins (web dashboards) are stored in the team password manager. API keys, OAuth secrets, signing keys used by the app or CI are not in the password manager — they live in GCP Secret Manager / AWS Secrets Manager and reach the app via ExternalSecrets.

Updating this page

Add a row when:

  • A new SaaS sign-up or paid subscription is created (e.g. a new analytics vendor)
  • A new sign-in provider is wired into the backend
  • A new mobile / desktop app-store enrollment happens
  • A new domain registrar or DNS provider is introduced

Remove a row when the account is closed and the corresponding code paths are gone. If you're unsure whether a row is still load-bearing, grep secrets-management.md for the related secret name before deleting.

For who can access what (RBAC inside each provider), see Access control. For credential rotation, see Secrets management — Rotating secrets.