INT-1.0: Integration Hub
Control plane governado para conectar dados, colaboração, CRM, conteúdo e data platforms ao M2 Visibility sem confundir disponibilidade com autorização real.
Como interpretar este documento
Este conteúdo descreve o comportamento técnico e metodológico implementado ou explicitamente planejado no produto. Quando um controle depende de configuração, provider, secret, contrato ou aprovação jurídica, essa dependência deve permanecer visível.
Objetivo
O Integration Hub centraliza catálogo, política, estado de conexão, configuração não secreta, health, sync, readiness e auditoria. Tokens OAuth e secrets não são persistidos nas entidades do produto.
Catálogo por tiers
Tier 1 cobre inteligência como Search Console, GA4 e BigQuery; Tier 2 cobre execução em Slack/Teams/Jira/Asana; Tier 3 cobre CRM; Tier 4 cobre conteúdo e data platforms.
Available ≠ Connected
Um connector aparecer no catálogo significa apenas que existe suporte de integração. Connected só é atribuído após o runtime resolver uma autorização OAuth válida e o probe de health confirmar acesso.
Tenant safety
Conectores OAuth app-scoped são permitidos somente quando IntegrationPolicy confirma topologia segura. Em modo app_shared_single_tenant, o runtime falha de forma fechada se houver mais de uma Organization.
Data minimization
INT-1.0 prioriza métricas agregadas. Search Console e GA4 persistem snapshots de métricas, não identidade de usuários. Datasets de CRM permanecem requires_approval até a política de Business Attribution.
Writeback
Leitura/sync usa entitlement integration_hub. Escrita futura em sistemas externos exige integration_writeback e permanece desligada por padrão na IntegrationPolicy.
Autonomia
Integration Health Refresh executa health checks periodicamente e Integration Data Sync atualiza fontes Tier 1 autorizadas/configuradas. O scheduler nunca completa OAuth em nome do administrador.
Readiness
IntegrationReadinessSnapshot considera catálogo core, conexões válidas e health. Sem conectores core autorizados, o estado correto é not_ready, não um falso verde de implementação.