Nosso compromisso
Usuários devem conseguir ver exatamente qual telemetria um serviço coleta. Esta página documenta cada métrica usada para monitorar a saúde da plataforma.
Toda telemetria nesta página é apenas agregada. Não armazenamos identificadores pessoais em chaves de telemetria.
Metadados de verificação
Metadados de rota
- Rota:
/transparency/metrics/ - Última verificação:
- Próxima revisão:
- Escopo de verificação: revisão manual contra inventário atual de chaves métricas e política de retenção.
Limitações conhecidas
- O inventário de chaves métricas é mantido manualmente sincronizado com o código; tooling automático key-diff está planejado para revisões trimestrais.
- Valores de retenção refletem padrões atuais de configuração e podem não refletir overrides por tenant no futuro.
Esses metadados são atualizados como parte do encerramento da auditoria trimestral.
Inventário de métricas
| Categoria de métrica | Dados pessoais? | Retenção | Objetivo |
|---|---|---|---|
| Métricas de ciclo de sessão | Não | 30 dias raw, 52 semanas rollup, 24 meses mensal | Experiência do usuário e planejamento de capacidade |
| Métricas de saúde Redis | Não | 24 horas raw, 7 dias por hora, 4 semanas diário | Confiabilidade de infraestrutura |
| Agregados de negócio | Não | 30 dias diário, 52 semanas semanal, 24 meses mensal | Crescimento e planejamento |
| Eventos de telemetria frontend | Não | 30 dias | Detecção de erros e saúde de features |
| Métricas de operações de criptografia | Não | 30 dias raw, 52 semanas rollup, 24 meses mensal | Confiabilidade criptográfica |
Métricas de ciclo de sessão Sem dados pessoais
Contamos totais de login/logout e faixas de duração de sessão para entender padrões de uso. Não rastreamos quem entrou.
O quê: eventos diários de login, logout e distribuições de duração.
Por quê: detectar problemas de autenticação, reduzir atrito e melhorar planejamento de capacidade.
Como: contadores diários e buckets fixos.
Retenção: 30 dias raw -> 52 semanas rollup -> 24 meses mensal -> purga.
Buckets:
0-5min- verificações rápidas5-30min- sessão típica30-60min- sessão estendida60min+- sessão longa de trabalho
Chaves de exemplo:
telemetry:auth:login:2026-03-09 -> 247 telemetry:auth:logout:2026-03-09 -> 219 telemetry:session:duration:0-5min -> 45 telemetry:session:duration:5-30min -> 128 telemetry:session:duration:30-60min -> 39 telemetry:session:duration:60min+ -> 7
Privacy Guard: o hash de sessão é destruído logo após o cálculo de duração. Nenhum UUID de usuário é armazenado em chaves de telemetria.
Limite de volume: máximo 734 chaves/ano.
Métricas de saúde Redis Sem dados pessoais
Monitoramos Redis como dados de saúde de infraestrutura, não como atividade do usuário.
O quê: uso de memória, contagem de chaves por namespace e estatísticas de conexão.
Por quê: detectar vazamentos de memória, prevenir evictions e acompanhar crescimento.
Como: parse da saída Redis INFO em intervalo programado.
Retenção: 24 horas raw -> 7 dias por hora -> 4 semanas diário -> purga.
Namespaces: máximo 10 namespaces rastreados (allowlist fixa).
session:*- Active sessionslock:*- Distributed lockscache:*- Application cachetelemetry:*- Metrics storageratelimit:*- Rate limiting countersnonce:*- CSRF tokenstemp:*- Temporary dataqueue:*- Job queuesencryption:*- Wrapped keysfeature:*- Feature flags
Chaves de exemplo:
telemetry:redis:memory:used_mb:2026-03-09:14 -> 247 telemetry:redis:keys:session:2026-03-09:14 -> 342 telemetry:redis:keys:lock:2026-03-09:14 -> 18
Privacy Guard: contagens por namespace são apenas agregadas. Conteúdo de chaves não é inspecionado.
Limite de volume: máximo 1.680 chaves na janela ativa.
Métricas agregadas de negócio Sem dados pessoais
São totais de plataforma usados para planejamento, não para perfilar indivíduos.
O quê: usuários totais, contas ativas, média de work entries.
Por quê: planejamento de capacidade e análise de crescimento.
Como: agregação diária de contagens do banco.
Retenção: 30 dias diário -> 52 semanas semanal -> 24 meses mensal -> purga.
Chaves de exemplo:
telemetry:business:users:total:2026-03-09 -> 1247 telemetry:business:users:active:2026-03-09 -> 892 telemetry:business:work:avg_per_user:2026-03 -> 23.4
Privacy Guard: apenas valores agregados. Sem registros de telemetria por usuário.
Limite de volume: 1.095 chaves/ano.
Eventos de telemetria frontend Sem dados pessoais
Telemetria de eventos ajuda a detectar falhas client-side e problemas de confiabilidade de features.
O quê: eventos de performance frontend, contagens de erro e eventos de uso de feature.
Por quê: identificar problemas de cliente e monitorar saúde do produto.
Como: POST para /api/telemetry/record apenas para tipos aprovados.
Retenção: 30 dias (TTL aplicado no incremento).
Limites de envio e tipos de evento de exemplo:
- 90 events/minute per client (abuse prevention)
calendar.load.successcalendar.load.failureencryption.dek.unwrap.successencryption.dek.unwrap.failurepasskey.login.successpasskey.login.failure
Chaves de exemplo:
telemetry:event:calendar.load.success:2026-03-09 -> 3421 telemetry:event:passkey.login.failure:2026-03-09 -> 17
Privacy Guard: tipos de evento são allowlisted. Sem strings arbitrárias ou identificadores usuário/sessão em chaves.
Limite de volume: máximo 18.250 chaves/ano.
Métricas de operações de criptografia Sem dados pessoais
Operações criptográficas são monitoradas como sinais de confiabilidade da plataforma.
O quê: contadores de sucesso e falha DEK wrap/unwrap.
Por quê: detectar rapidamente falhas criptográficas e configuração incorreta.
Como: contadores sucesso/falha incrementam para cada resultado.
Retenção: 30 dias raw -> 52 semanas rollup -> 24 meses mensal -> purga.
Chaves de exemplo:
telemetry:encryption:dek:wrap:success:2026-03-09 -> 1203 telemetry:encryption:dek:wrap:failure:2026-03-09 -> 2 telemetry:encryption:dek:unwrap:success:2026-03-09 -> 5847 telemetry:encryption:dek:unwrap:failure:2026-03-09 -> 31
Privacy Guard: somente contagens de operação são registradas. Sem material de chave, ciphertext ou identificadores pessoais.
Limite de volume: 1.460 chaves/ano.
Pipeline de retenção e compactação
Dados raw: contadores diários expiram automaticamente após 30 dias.
Rollups semanais: agregação programada para retenção de 52 semanas.
Rollups mensais: agregação programada para retenção de 24 meses.
Purga: métricas com mais de 24 meses são excluídas.
Script de compactação: /scripts/compact-metrics.php.
Aplicação no código
Restrições de privacidade são validadas por contract tests em CI.
MetricsPrivacyContractTest::testSessionDurationHasExactlyFourBuckets() MetricsPrivacyContractTest::testNoUserUUIDsInTelemetryKeys() MetricsPrivacyContractTest::testRedisNamespacesNeverExceedTen() MetricsPrivacyContractTest::testAllTelemetryKeysHaveTTL()
Guardrails: limites fixos de namespace/evento impedem crescimento ilimitado de métricas.
Rate limits adicionais:
- Consultas admin de métricas: 100 requests/hora
- Health checks públicos: 600 requests/hora
Acesso e verificação
Dashboard de métricas: /admin/metrics (autenticação e role admin obrigatórios).
Endpoint público de saúde: /api/v1/health retorna status agregado da plataforma.
Última atualização: 9 de março de 2026.