# Operating from the admin

> Audit timeline, health, backups, mailer, and other day-two screens.

_Updated: 2026-06-07_

Beyond data and users, the admin console is where you run and observe the
instance day to day. These screens live under the **Logs** and **Settings** tabs.

## Audit timeline

**Logs** is a unified, tamper-evident **audit timeline**: who did what, when, and
whether it succeeded. Filter by action, actor type (system / admin / user / token
/ job), **outcome** (success / denied / error), entity, request id, and time
range. Click a row to see the full context and a **before/after JSON diff** of the
change.

![The Railbase audit timeline](/docs/rb-admin-logs.png "The Logs tab: a hash-chained audit timeline of every system, admin, and user action, filterable by actor, outcome, and time.")

```walkthrough
target: admin
title: Operating from the admin — logs, health, backups, mailer
steps:
  - say: Logs is a tamper-evident audit timeline — who did what, when, and whether it succeeded.
    do: navigate
    value: /_/logs/audit
    expect: { text: Logs }
  - say: Filter by actor, outcome, entity, or time range; click a row for a full before-and-after diff.
    do: hover
    on: { text: Logs, first: true }
  - say: Process logs give you the structured application stream with a live tail and level filter.
    do: navigate
    value: /_/logs/app
    expect: { text: Process logs }
  - say: Health and metrics shows runtime, jobs, cache, and live request and latency charts.
    do: navigate
    value: /_/logs/health
    expect: { text: "Health & metrics" }
  - say: Memory, goroutines, pool connections, and P95 latency, all updating live.
    do: hover
    on: { text: MEMORY, first: true }
  - say: Under Settings, Backups lists your snapshots and creates one with a click.
    do: navigate
    value: /_/settings/backups
    expect: { role: button, name: "+ Create backup" }
  - say: It also schedules backup jobs; restore is guarded behind a typed confirmation.
    do: hover
    on: { role: button, name: "+ Create backup" }
  - say: And the Mailer screen configures delivery, edits templates, and sends a test email.
    do: navigate
    value: /_/settings/mailer
    expect: { text: Mailer }
  - say: Pick SMTP or console, then verify it before you rely on it.
    do: hover
    on: { role: button, name: "Configure mailer" }
    minDwellSec: 2
```

> [!TIP]
> The audit log is hash-chained. Verify its integrity end-to-end with
> `railbase audit verify`.

## Health & monitoring

- **Health & metrics** — runtime, job, cache, and backup status plus HTTP
  request-rate and latency charts (live).
- **Realtime monitor** — a read-only view of current subscriptions.
- **Cache inspector** — per-cache size and hit-rate, with a clear button.
- **Process logs** — the structured application log stream, with level filter and
  live tail.

## Backups

**Settings → Backups** lists your snapshots and lets you **create** one with a
click. It also manages **scheduled** backup jobs (cron). Restore is intentionally
guarded:

> [!CAUTION]
> Restore overwrites live data. In the UI it's gated behind a capability and a
> typed-confirmation, with a dry-run preview first; if it's not enabled, restore
> from the CLI with `railbase backup --restore <file.vault>`. See
> [Backups & restore](backups-and-restore).

## Mailer

**Settings → Mailer** configures delivery (SMTP or console), edits templates, and
shows the delivery log. Use **Send test email** to verify your SMTP settings
before relying on them.

## Other settings screens

- **Files** — browse stored files and blobs.
- **Trash** — restore soft-deleted records across collections.
- **i18n** — edit translations and seed new locales.
- **Hooks** — edit your [JavaScript hooks](hooks) in-browser.
- **Security** — a read-only audit of your boot/config hardening (what's set,
  what's risky, how to fix). Pair it with [Security hardening](security).
- **Marketplace** — browse, buy, and manage plugins — see [Installing plugins](installing-plugins).
- **Tenants**, **Webhooks**, **Stripe**, **Documents**, **Patches** — each has its
  own screen when you use those features.
