Trebellar emits an audit log for every security-relevant action that happens on your tenant — authentication events, user-management changes, and other governance-critical operations. These logs are delivered to cloud object storage once per day so you can retain them for as long as your compliance program requires, stream them into your SIEM, or query them ad-hoc with your warehouse of choice.
This page explains:
Audit log delivery is an organization-level feature and must be enabled by an administrator from the Trebellar admin panel at my.trebellar.app.
Audit events are written as structured records to Trebellar’s log pipeline in real time, then batched, serialized as newline-delimited JSON (NDJSON), and delivered to the destination of your choice once every 24 hours.
Each daily file contains every audit record produced for your organization during the prior UTC day. Files are written under a deterministic key prefix so they are easy to ingest incrementally:
Key properties of the delivery:
NDJSON is easy to read line-by-line without loading the full file into memory, and is
natively supported by BigQuery, Snowflake, Redshift Spectrum, Athena, DuckDB, jq,
and most SIEMs.
There are two delivery modes. Both are configured from the Admin panel → Governance → Audit logs section of the Trebellar platform.
Use this mode if you want the logs to land directly in cloud storage that you own. This is the recommended mode for regulated workloads because the data never leaves your tenancy after the handoff.
You provide:
Steps:
PutObject / storage.objects.create on the target prefix. Do not grant list,
read, or delete permissions — Trebellar does not need them..trebellar-healthcheck object
and delete it. If the test succeeds, delivery starts on the next daily cycle.Rotate the client secret periodically. Trebellar surfaces the last-used timestamp for each credential so you can verify the rotation took effect before revoking the old key.
If your security policy requires bucket access to be pinned to a known set of source
IPs, Trebellar publishes a stable list of egress addresses used by the audit-log
delivery workers. You can attach these to your bucket policy (aws:SourceIp on S3 or
a VPC Service Controls perimeter on GCS) so that writes are only accepted from
Trebellar’s infrastructure.
To avoid drift between these docs and the live set, we don’t publish the ranges inline. To request the current list:
Egress pinning is optional. Delivery works without an IP allowlist — the bucket credentials are scoped narrowly enough that IP pinning is defense-in-depth rather than a requirement.
If you don’t need the logs to land in your own cloud, Trebellar can host them in a tenant-isolated bucket managed on your behalf. You’ll be issued a short-lived, read-only pre-signed URL (refreshed every 7 days) that you can use to pull the files into your SIEM or warehouse.
Steps:
In hosted mode, files are deleted at the end of the retention window. Export them to your own long-term storage if you need them longer.
Every line of the NDJSON file is a single JSON object with the fields below. The shape is
stable — Trebellar will only add new optional fields under audit_event.*, and each
change is announced in the changelog with at least 30 days notice.
audit_event fieldsThe audit_event object is the authoritative payload for downstream consumers. The
top-level fields above are derived from it and kept for ergonomic querying.
Each record also carries Google Cloud Logging trace fields (logging.googleapis.com/trace,
logging.googleapis.com/spanId, logging.googleapis.com/trace_sampled) and a
logging.googleapis.com/labels map for fast filtering. These are safe to ignore if you
don’t use Cloud Logging — they never contain tenant data beyond what’s already in
audit_event.
audit_event.authentication.type describes how the actor proved their identity to
Trebellar. The current set of values:
The sections below enumerate every event Trebellar currently emits. The list will grow over time — new events are appended rather than repurposing existing ones, so existing consumers never break.
authentication serviceEvents about how users sign in and manage their credentials.
users serviceEvents about user-account lifecycle, scoped to the acting admin’s organization.
Only the outcomes currently emitted in production are listed above. Failures in
user-management flows are returned as HTTP errors before reaching the audit log
sink — this will tighten over time as more actions are instrumented for
FAILURE/DENIED events.
A successful SAML login:
A denied password-reset (CSRF mismatch):
A user-create event:
Because each file is plain NDJSON, any tool that can read line-delimited JSON works out of the box.
Pull the last hour of failed logins with jq:
Create an external table in BigQuery:
Need an event that isn’t on the list yet? Reach out at
support@trebellar.com — the audit schema is
designed to accept new service_name / action_name pairs without requiring
a version bump.