Skip to content

Registro de auditoria da organização

O registro de atividade é o feed canônico de "quem mudou o quê" para sua organização. Toda escrita material em uma entidade rastreada — membro, presença, doação, grupo, ministério, unidade org, escola, ou matrícula — escreve uma linha aqui, automaticamente, por um trigger de banco de dados que não pode ser contornado por código de aplicação.

Abra na barra lateral em Registro de atividade, ou visite /activity-log diretamente.

Página do registro de atividade com entradas e filtros

Lendo uma entrada

Cada linha te diz quatro coisas em português simples:

Sarah Patel atualizou membersAlterado: email, phone2 horas atrás

ParteDe onde vem
Nome do atoractor_id → resolvido para o nome completo do usuário; volta para o e-mail se o perfil não existir mais
VerboA coluna de ação (created, updated, deleted, restored, merge_members, …)
Link da entidadeSe o tipo de entidade tem uma rota de detalhe (members, groups, ministries, schools), a linha linka diretamente para ela
Colunas alteradasPara ações updated, a lista de colunas que mudaram — não os valores antes/depois
TimestampRelativo ("2 horas atrás"); passe o mouse para ver a data absoluta no fuso horário da sua org

Escritas do sistema — ações de workflow, jobs agendados, edge functions rodando sem um usuário autenticado — mostram System como ator em vez de uma pessoa.

Filtragem

O cabeçalho tem três filtros que combinam com E:

  • Tipo de entidade — restrinja a apenas membros, doações, presenças, etc. Use isso quando estiver investigando uma tabela específica.
  • Ação — created, updated, deleted, restored. Padrão é todos.
  • E-mail do ator — correspondência contém texto livre. Digite @suaigreja.org para ver escritas só da equipe; digite um endereço parcial para encontrar uma pessoa.

Filtros são dirigidos por URL, então você pode favoritar ou compartilhar uma visão filtrada (/activity-log?entity=donations&action=deleted e assim por diante).

TIP

O registro de atividade é scroll infinito — entradas mais antigas carregam à medida que você rola além do fim. Aplique filtros primeiro se está caçando um evento específico; o jato não filtrado pode ser 10.000+ linhas por mês para uma org movimentada.

Investigações comuns

"Um valor de doação mudou e não sei por quê"

  1. Abra /activity-log
  2. Defina filtro de entidade para donations
  3. Defina filtro de ação para updated
  4. Filtre opcionalmente por e-mail do ator se você suspeita de uma pessoa específica
  5. Varra para a doação; clique para verificar contra o registro atual

A dica de colunas alteradas vai te dizer se amount, fund, ou só notas foram tocados.

"Quem excluiu esse membro?"

  1. Filtre entidade para members, ação para deleted
  2. Role para a data em questão
  3. A coluna de ator te diz exatamente quem fez e quando

Membros excluídos são excluídos suavemente — ainda estão no banco com deleted_at definido. A linha de auditoria preserva o ator; a linha do membro preserva os dados. Você pode restaurar da lixeira dentro de 30 dias.

"O workflow rodou mesmo ontem à noite?"

Ações de workflow escrevem entradas com actor_email = system e metadata descrevendo a execução do workflow. Filtre e-mail do ator para system para ver apenas atividade automatizada.

Como são os dados por baixo

A tabela org_audit_log:

sql
id              uuid primary key
organization_id uuid          -- scoped by current_org_id() RLS
actor_id        uuid          -- null for system writes
actor_email     text          -- denormalized for the case the profile is gone
action          text          -- 'created' | 'updated' | 'deleted' | 'restored' | …
entity_type     text          -- table name
entity_id       uuid          -- row id in that table
metadata        jsonb         -- { changed: [...], reason: '...', … }
created_at      timestamptz

O array metadata.changed lista nomes de colunas. O campo metadata.reason, quando presente, é uma justificativa em texto livre fornecida pela ação que escreveu a linha — por exemplo, o motivo de execução do workflow ou uma explicação manual de "marcado como perdido".

Diferenças vs a aba de auditoria em Dados e Registros

A mesma tabela org_audit_log alimenta a aba de auditoria em Dados e Registros. As diferenças são:

/activity-logDados e Registros → Auditoria
Permissãousers.manageconfig.manage
Linhas mostradasScroll infinito, todas as linhasÚltimas 50, sem paginação
FiltrosEntidade, ação, e-mail do atorNenhum
Use paraInvestigações, auditoriasUm olhar rápido "o que aconteceu recentemente?" durante uma sessão de config

A maioria dos administradores usa /activity-log no dia a dia. A aba de Dados e Registros existe para que um papel só-config (sem users.manage) ainda possa ver atividade recente sem conceder a eles a permissão maior.

Veja também