Skip to content

Audit Logs ​

Managed Tunnet keeps an organization-wide audit trail of administrative and security-relevant activity. Use it for investigations, compliance reviews, and day-to-day accountability.

Audit logging is available in Managed mode for every deployment, including Community self-hosts.

Where to view logs ​

Open the dashboard and go to Logs. Entries are listed newest first and include:

  • When the event occurred
  • A short human-readable summary
  • Who performed the action
  • What resource was affected

You can load additional pages with Load more. Filtering by time range, actor, and resource type is available through the management API.

What gets recorded ​

Typical events include:

  • Network create, update, and delete
  • Machine enrollment, approval, label/tag changes, and cleanup
  • Access policy and posture changes
  • Tunnel, Serve, and edge changes
  • SSH-related administrative actions
  • Member, invitation, SSO, and API key changes
  • Certificate and CA operations

Routine mesh traffic between peers is not written to the audit log. Audit covers control-plane and administrative actions, not every packet on the network.

Integrity ​

Each organization’s audit trail is append-only and cryptographically linked: every entry depends on the previous one. That makes silent edits or deletions detectable.

Self-hosters can verify the chain for an organization:

bash
tunnet-control audit verify --org <organization_id>

A successful run reports how many events were checked and the sequence range. A failure points at the first broken entry so you can investigate.

Set TUNNET_AUDIT_HMAC_KEY on the control plane before relying on verification. Use a long random secret (32+ characters) and treat it like any other signing key: rotate only with a deliberate plan, and keep it out of application logs.

Export to your SIEM ​

You can stream audit events to a webhook endpoint you control (any HTTP collector that accepts JSON batches):

bash
TUNNET_AUDIT_STREAM_WEBHOOK_URL=https://siem.example.com/hooks/tunnet
# Optional: comma-separated Header:Value pairs
TUNNET_AUDIT_STREAM_WEBHOOK_HEADERS=Authorization:Bearer your-token

Delivery is best-effort with retries. PostgreSQL remains the system of record for the dashboard and for chain verification.

Commercial features ​

Community deployments already get the dashboard trail, integrity verification, and webhook export.

Cloud and Enterprise licenses unlock additional audit options for larger estates - high-volume analytics storage and native connectors for common SIEM / object-storage targets. Install a license with TUNNET_LICENSE (inline JSON, file path, or HTTPS URL). See Environment Variables and COMMERCIAL-LICENSE.md.

Upgrading from older releases ​

Releases that introduce the current audit schema replace the previous audit table. Historical rows are not migrated automatically. If you need the old history, export it with pg_dump before upgrading.

Released under the AGPL-3.0 License.