{
  "lastUpdated": "2026-02-08",
  "maintainedBy": "Application & Platform Engineering",
  "entries": [
    {
      "name": "Bunny.net (Object Storage)",
      "purpose": "stores temporary documents and guest uploads before they are migrated or deleted",
      "notes": "Access controlled via Firestore security rules and cleanup is automated within 24 hours."
    },
    {
      "name": "Google Cloud (Gemini API + Firestore + Cloud Functions)",
      "purpose": "AI generation, user data storage, and backend execution",
      "notes": "Project-level logging is disabled via PublisherModelConfig (scripts/disable-gemini-logging.ts). The rewriteNotes flow currently calls Gemini Beta v1 (not Vertex), so sanitized payloads sent there may still be logged or used for model improvements even though we keep the strongest no-training flags we can."
    },
    {
      "name": "AWS Polly",
      "purpose": "Text-to-speech rendering of submitted documents",
      "notes": "Invoked through server-side services in src/lib/audio/providers."
    },
    {
      "name": "Google Contacts/Calendar/Gmail connectors",
      "purpose": "Sync user calendar, email, and contacts for workflows",
      "notes": "OAuth scopes are requested only when explicitly authorized by users."
    },
    {
      "name": "OpenAI (ChatGPT, Whisper, etc.)",
      "purpose": "Additional AI features inside Filmclusive tooling",
      "notes": "Requests originate from trusted server APIs and never share raw credentials."
    }
  ]
}
