Files
ad/events.md
T

41 lines
2.7 KiB
Markdown

<!-- retoor <retoor@molodetz.nl> -->
# Audit event catalogue
Every audited action goes through `molodetz/utils/audit.py` (`record` for requests, `record_system` for services, CLI and bootstrap). Rows land in `audit_log` with typed links in `audit_links`. Category comes from the key prefix (`CATEGORY_BY_PREFIX`).
| Key | Category | Emitted by | Result values |
|---|---|---|---|
| `auth.login` | auth | `routers/auth.py` login | ok |
| `auth.login.failed` | auth | `routers/auth.py` login | denied |
| `auth.logout` | auth | `routers/auth.py` logout | ok |
| `auth.terms.accept` | auth | `routers/voorwaarden.py` | ok |
| `admin.bootstrap` | admin | `bootstrap.py` first admin from env | ok |
| `admin.settings.save` | admin | `routers/admin/settings.py` | ok |
| `admin.user.role` | admin | `routers/admin/users.py`, CLI `role set` | ok, denied |
| `admin.trash.restore` | admin | `routers/admin/trash.py` | ok |
| `admin.trash.purge` | admin | `routers/admin/trash.py` | ok |
| `post.create` | content | `content.create_post` | ok |
| `post.edit` | content | `content.edit_post` | ok |
| `post.edit.denied` | content | `routers/admin/posts.py` | denied |
| `post.delete` | content | `content.delete_post` (soft delete) | ok |
| `post.delete.denied` | content | `routers/admin/posts.py` | denied |
| `post.seed` | content | `bootstrap.py` placeholder seed | ok |
| `join.request.create` | community | `routers/binnen.py` | ok |
| `join.request.honeypot` | community | `routers/binnen.py` honeypot hit | denied |
| `join.request.status` | community | `routers/admin/joins.py` | ok |
| `join.request.check` | community | `routers/admin/joins.py` repo-link check | ok, error |
| `security.authorization.denied` | security | `utils/auth.py` guards | denied |
| `security.ratelimit.exceeded` | security | `main.py` rate-limit middleware | denied |
| `security.crawler.blocked` | security | `main.py` crawler guard | denied |
| `security.maintenance.blocked` | security | `main.py` maintenance gate | denied |
| `security.suspension.refused` | security | `utils/auth.py refuse_suspended` | denied |
| `service.command.start` / `.stop` / `.run` / `.clear` | service | `routers/admin/services.py` | ok |
| `service.config.save` | service | `routers/admin/services.py` | ok |
| `backup.enqueue` | service | `routers/admin/backups.py` | ok |
| `backup.download` | service | `routers/admin/backups.py` (primary admin only) | ok, denied |
| `backup.finished` | service | `services/backup.py` | ok |
| `backup.failed` | service | `services/backup.py` | error |
| `profile.apikey.regenerate` | account | `routers/profile.py`, CLI `apikey reset` | ok |
| `profile.avatar.regenerate` | account | `routers/profile.py` | ok |
| `notification.create` | system | `utils/notifications.py` funnel | ok |