Activity feed
Organization β Activity is the audit-event log scoped to one organization: every recorded mutating action whose target belongs to this org, newest first. It is the same store as the cross-org Platform β Audit log, filtered to your org, and it is append-only β the product only ever inserts rows, and on PostgreSQL a database trigger refuses updates and deletes (see Security model β Audit log).
Visible to org Owners and Admins (and platform staff); the tab is hidden and the route refused for other roles.
What lands hereβ
An event is attached to an organization when the action passes one
explicitly or when its target has an organization (a project, a
membership, a payout runβ¦). Each row records:
| Field | Meaning |
|---|---|
| Action | A slug such as member.add or org.payout_run_paid, humanised in the feed (Member Add) |
| Actor | Who did it β name or email; System when there was no signed-in actor. The email is snapshotted at event time, so it survives the user's deletion |
| Target | A human label for the affected object (a title, email, or name) |
| When | Relative in the list, exact in the detail |
| Metadata | Action-specific key/values (e.g. from_role, to_role, run_id, total) |
Rows are colour-coded by kind: created/added/granted, changed, removed/ suspended/revoked, or neutral.
Event catalogueβ
The action filter lists the catalogued actions: user lifecycle (created, activated / deactivated, deleted, staff granted / revoked, password set, passkey added / removed / sign-in, HF token set / cleared, signup and device-link consents, speaker-demographics consent), organization lifecycle (created, updated, deleted, ownership transferred), org membership (invited, added, removed, role changed, suspended / unsuspended), project lifecycle (created, deleted), project membership (added, removed, role changed), contribution rate-card updated, and platform branding updated.
Changes say what changed. A role change carries the role as it was and
as it is (from_role, to_role), in the organisation and in a project.
A save of the organisation's policies carries changes: each policy that
changed, with its value before and after and "(enforced)" where it
applies. Long values are recorded by their length, and anything that
looks like a secret as "(hidden)".
Other org-scoped actions are logged with their own slugs and appear in the
feed and in search even though they are not in the dropdown β for example
payout runs (org.payout_run_created / _paid / _deleted), receipt
templates, auto-suspend rules, rate-change acknowledgements, consent
require / sign / withdraw, review accept and dispute, and project-member
pause / resume. Filter those with the search box rather than the dropdown.
Filtersβ
- Date range (title row): 7 days, 30 days (default), 90 days, 1 year, All time, or a custom fromβto.
- Search: case-insensitive substring match on the actor's email or the target label β not on metadata or action slugs.
- Action: one catalogued action at a time.
The count next to the filters is the total matching events; 25 per page by default (10 / 25 / 50 / 100). Changing any filter returns to page 1.
Detail viewβ
Click a row for Who (linked to the actor's profile when they still exist, with email), What (action + target), When (exact timestamp + relative), every metadata key as its own line, and the Event ID.
What it does not doβ
- No export. Unlike the platform audit log, the org feed has no CSV
download; page through it or use the API (
/api/organizations/<id>/activity, up to 200 rows per page, same filters plusactor=<user id>). - No retention setting β events are kept indefinitely; nothing in the product updates or deletes them.
- Not every change is an event. Annotation submissions, task imports, storage connections, and webhook deliveries are not audit events; use Metrics for volume and the project's own pages for those.
Gotchasβ
- "System" actor means the request had no authenticated user (a background job or an unauthenticated flow), not that data is missing.
- Search the email, not the name. Actor search matches the snapshotted email; the display name is resolved live for the row only.
- Deleted users keep their footprint β the actor email stays on every row they produced.
What's nextβ
- Platform admin β Audit log β β the cross-org view with CSV export
- Roles + permissions β Audit + accountability β
- Metrics dashboard β β activity as counts and charts
- Security model β β tamper evidence and the storage layer