{
  "generated_at": "2026-06-12T22:05:57.077Z",
  "system": {
    "id": "topolo-chat",
    "name": "Chat",
    "slug": "topolo-chat",
    "kind": "application",
    "summary": "Cloudflare-native collaboration application for channels, DMs, meetings, guests, and remote assist.",
    "aliases": [],
    "lifecycle": "active",
    "last_verified": "2026-05-14",
    "owners": [
      "collaboration"
    ],
    "repo_paths": [],
    "external_repo_paths": [
      "Apps/business/TopoloChat"
    ],
    "service_ids": [
      "srv_VqMhIL1FZohq"
    ],
    "visibility": "public",
    "api_contract": {
      "type": "curated",
      "source": "PlatformApplications/TopoloDocs/src/content/public/applications/chat.mdx",
      "notes": "Canonical Chat coverage now lives in the docs application. Chat mobile resolves `topolo_auth_flutter` from the canonical Auth repo git package path. The Chat web shell serves first-party /login through the branded shared LoginPage after resolving the Auth-owned `topolo-chat` service slug at runtime, delegates third-party/provider handoff, returning-user cookie hydration, embedded password-login token persistence, and fallback callback restoration to the shared Topolo auth client, while Chat-owned app state completes successful password login by navigating to /app and the HTML document pre-consumes fresh one-time sso_code callbacks before React bootstraps. Browser login, callback preboot, worker auth validation, notification events, widget output, API-key management, and seed intake use slug-resolved service identity instead of storing concrete service IDs in source, Worker variables, static assets, or tests. The authenticated workspace renders through `TopoloAppShell`, inheriting the shared Improve Topolo and TopoloNotify chrome while keeping Chat's channel, DM, and meeting rail product-owned. Bootstrap now exposes organization-scoped tenant keys (`organization`, `organizationPolicies`, `organizationMembers`), and Chat D1 stores tenant columns as `organization_id` with local organization member/role/policy projections. The Worker owns the same-origin /api/auth/* Auth data gateway, schedules organization-directory reconciliation after bootstrap, binds CHAT_UPLOADS to production and preview R2 upload buckets, exposes `GET /api/widget` with the shared `@topolo/sdk` widget response contract for TopoloOne live workspace, and accepts Calendar's token-authenticated `POST /api/internal/calendar/meetings` bridge to create Chat meetings plus guest invite URLs for `chat_meeting` bookings."
    },
    "primary_hosts": [
      "https://chat.topolo.app",
      "https://chat.stg.topolo.us",
      "https://topolo-chat.topolo.workers.dev"
    ],
    "doc_paths": [
      "applications/chat",
      "internal/apps/chat"
    ],
    "security_assurance": {
      "risk_tier": "high",
      "auth_boundary": "Topolo Auth service access with Chat-owned conversation authorization. Protected Chat API bearer-token requests must validate through Auth and must not fall back to locally decoded JWT claims from a Worker secret. Browser startup should hydrate through the service-scoped Auth cookie refresh before displaying login, and embedded password-login success is completed by Chat app navigation after shared Auth token persistence.",
      "tenant_isolation": "organization_scoped",
      "external_inputs": [
        "browser",
        "api",
        "callback",
        "queue",
        "ai_agent_action"
      ],
      "sensitive_data": [
        "identity",
        "org_data",
        "customer_content",
        "telemetry"
      ],
      "last_security_review": "2026-04-30",
      "security_review_status": "reviewed",
      "pentest_status": "passed",
      "evidence_doc": "internal/apps/chat"
    },
    "data_privacy": {
      "classification": "restricted",
      "sensitive_data_classes": [
        "communications",
        "customer_content",
        "identity",
        "organization",
        "telemetry"
      ],
      "storage_locations": [
        "d1",
        "durable_object",
        "external_provider",
        "r2"
      ],
      "encryption_at_rest": "application_layer_required",
      "encryption_in_transit": "https_only",
      "key_management": "versioned_platform_key_required",
      "retention_policy": "partial",
      "deletion_export_status": "planned",
      "logging_redaction_status": "needs_review",
      "privacy_review_status": "reviewed",
      "enterprise_ready": false,
      "evidence_doc": "internal/apps/chat"
    },
    "dependencies": [
      "topolo-auth",
      "applications-packages"
    ],
    "bugfix_policy": {
      "tier": "autonomous",
      "preferred_agent": "either",
      "require_validator": false
    },
    "public_hub_url": "/systems/topolo-chat",
    "internal_hub_url": null,
    "application_api_url": "/reference/apps/topolo-chat",
    "generated_openapi_url": null,
    "machine_urls": {
      "system": "/machine/systems/topolo-chat.json",
      "application": "/machine/applications/topolo-chat.json"
    }
  },
  "docs": {
    "public": [
      {
        "id": "applications/calendar",
        "title": "Topolo Calendar",
        "summary": "Public overview of the scheduling and booking application — shareable event types, availability, invitations, and calendar-safe booking lifecycle controls.",
        "audience": "public",
        "tags": [
          "calendar",
          "scheduling",
          "bookings",
          "ics"
        ],
        "url": "/applications/calendar",
        "last_verified": "2026-06-01"
      },
      {
        "id": "applications/chat",
        "title": "Topolo Chat",
        "summary": "Public overview of the collaboration surface for channels, direct messages, meetings, guests, and remote-assist workflows.",
        "audience": "public",
        "tags": [
          "chat",
          "meetings",
          "collaboration"
        ],
        "url": "/applications/chat",
        "last_verified": "2026-05-13"
      }
    ],
    "internal": [],
    "runbooks": []
  },
  "authority": {
    "owners": [
      "collaboration"
    ],
    "repo_paths": [],
    "service_ids": [
      "srv_VqMhIL1FZohq"
    ],
    "dependencies": [
      "topolo-auth",
      "applications-packages"
    ],
    "aliases": []
  },
  "interfaces": {
    "contract_type": "curated",
    "contract_source": "PlatformApplications/TopoloDocs/src/content/public/applications/chat.mdx",
    "contract_source_exists": false,
    "openapi": null,
    "readme": null
  },
  "auth": {
    "depends_on_topolo_auth": true,
    "api_key_scopes": [
      {
        "id": "aks_chat_api_keys_write",
        "name": "api_keys.write",
        "description": "Manage Chat machine credentials",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_audit_read",
        "name": "audit.read",
        "description": "View workspace audit events",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_channels_read",
        "name": "channels.read",
        "description": "View channels and channel state",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_channels_write",
        "name": "channels.write",
        "description": "Create or update channels",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_direct_messages_read",
        "name": "direct_messages.read",
        "description": "View direct conversations",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_direct_messages_write",
        "name": "direct_messages.write",
        "description": "Manage direct conversations",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_meetings_read",
        "name": "meetings.read",
        "description": "View meetings, transcripts, and polls",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_meetings_write",
        "name": "meetings.write",
        "description": "Create or manage meetings and participation",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_messages_read",
        "name": "messages.read",
        "description": "Read channel and direct messages",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_messages_write",
        "name": "messages.write",
        "description": "Create or update messages",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_threads_read",
        "name": "operational_threads.read",
        "description": "View operational threads",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_threads_write",
        "name": "operational_threads.write",
        "description": "Manage operational threads and comments",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_search_read",
        "name": "search.read",
        "description": "Search workspace messages and files",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_settings_write",
        "name": "settings.write",
        "description": "Manage notification and workspace settings",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_uploads_write",
        "name": "uploads.write",
        "description": "Create and complete upload drafts",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_workspace_read",
        "name": "workspace.read",
        "description": "Load workspace bootstrap and search data",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "id": "aks_chat_workspace_write",
        "name": "workspace.write",
        "description": "Manage workspace policies and preferences",
        "resourcePattern": null,
        "kind": "api_key_scope"
      }
    ],
    "service_permissions": [
      {
        "id": "perm_chat_api_keys_write",
        "name": "api_keys:write",
        "description": "Manage Chat machine credentials",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_audit_read",
        "name": "audit:read",
        "description": "View workspace audit events",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_channels_read",
        "name": "channels:read",
        "description": "View channels and channel state",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_channels_write",
        "name": "channels:write",
        "description": "Create or update channels",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_dms_read",
        "name": "direct_messages:read",
        "description": "View direct conversations",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_dms_write",
        "name": "direct_messages:write",
        "description": "Manage direct conversations",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_meetings_read",
        "name": "meetings:read",
        "description": "View meetings, transcripts, and polls",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_meetings_write",
        "name": "meetings:write",
        "description": "Create or manage meetings and participation",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_messages_read",
        "name": "messages:read",
        "description": "Read channel and direct messages",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_messages_write",
        "name": "messages:write",
        "description": "Create or update messages",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_threads_read",
        "name": "operational_threads:read",
        "description": "View operational threads",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_threads_write",
        "name": "operational_threads:write",
        "description": "Manage operational threads and comments",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_search_read",
        "name": "search:read",
        "description": "Search workspace messages and files",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_settings_write",
        "name": "settings:write",
        "description": "Manage notification and workspace settings",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_uploads_write",
        "name": "uploads:write",
        "description": "Create and complete upload drafts",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_workspace_read",
        "name": "workspace:read",
        "description": "Load workspace bootstrap and search data",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "id": "perm_chat_workspace_write",
        "name": "workspace:write",
        "description": "Manage workspace policies and preferences",
        "resourcePattern": null,
        "kind": "permission"
      }
    ]
  },
  "runtime": {
    "primary_hosts": [
      "https://chat.topolo.app",
      "https://chat.stg.topolo.us",
      "https://topolo-chat.topolo.workers.dev"
    ],
    "repo_entries": [],
    "wrangler_surfaces": [],
    "packages": []
  },
  "data": {
    "env_vars": [],
    "bindings": [],
    "queue_bindings": [],
    "storage_kinds": [],
    "workflow_signals": []
  },
  "deployment": {
    "commands": [],
    "routes": [],
    "environments": [],
    "assets_directories": [],
    "observability_enabled": false
  },
  "debugging": {
    "failure_modes": [
      "No wrangler.toml surface was discovered under the registered repo paths.",
      "The registered contract source is missing: PlatformApplications/TopoloDocs/src/content/public/applications/chat.mdx",
      "Neither OpenAPI nor README-derived interface detail was found."
    ],
    "entrypoints": [
      "PlatformApplications/TopoloDocs/src/content/public/applications/chat.mdx"
    ]
  }
}