Skip to content

Audit Log

The Audit Log records the consequential actions that happen across Testver — sign-ins, configuration changes, data mutations, file edits, defect status changes, and more. It is the system’s memory of who did what, and when, and it is how you answer questions such as:

  • “Who deleted that test plan?”
  • “When was the JIRA token last rotated?”
  • “Did anyone change the configuration in the last 24 hours?” Each entry is a compact, structured fact: an action type, the user who performed it, the resource it touched, a timestamp, and — for some entries — an expandable block of details.
  • Admins performing routine security hygiene or investigating an incident.
  • Compliance and security stakeholders who need an exportable trail of changes.
  • Team leads answering “what changed and who changed it?” after an unexpected result.
TermWhat it means
EventA single recorded action — one row in the log.
ActionThe type of event, written as a dotted key such as auth.login, test.create, or defect.update.
UserWho performed the action. Automated actions are attributed to “system”.
ResourceWhat the action affected — a test case, a plan, a connector, a setting, and so on.
DetailsAn optional JSON payload attached to an entry, shown when you expand the row.
RedactedSensitive values (such as API keys) are recorded as placeholders, never in clear text.

The guiding principle: actions, not content

Section titled “The guiding principle: actions, not content”

The Audit Log records actions, not content. The design rule is simple: capture enough information to investigate, but never enough to leak personal data. You will always be able to see that something happened and who did it — but the log deliberately does not store what users typed, recorded, or generated.

  1. Sign in as a user with the Admin role.
  2. Open the Admin section in the navigation and choose Audit Log.
  3. The audit stream loads, newest events first.

Audit Log is a single-screen stream made of four parts, top to bottom:

  1. Header stats — quick summary cards.
  2. Filters — narrow the stream by action type and user.
  3. Log table — the events themselves, paginated.
  4. Per-row expansion — additional details for entries that have them.

Four stat cards run across the top of the screen, giving an instant security snapshot:

CardWhat it showsWhy it matters
Total eventsCount across the whole audit history.A sense of overall activity volume.
Unique usersDistinct users who appear in the log.How many people have actually done something.
Logins (24h)Successful sign-ins in the last day.Normal daily access baseline.
Failed logins (24h)Failed sign-in attempts in the last day.Flagged amber/red when non-zero — a first signal of brute-force or probing activity.

Two filters sit above the table and combine with each other:

  • Action filter — select an action type (e.g. auth.login, test.create, defect.update) to scope the log to a single category.
  • User filter — pick a specific user to see only what they did. Filters combine, so you can ask precise questions like “every settings change made by this user”. Clearing the filters returns the full log. Changing a filter resets pagination back to page 1.

The Audit Log records action categories spanning the whole product. Recorded categories include:

CategoryExamples of recorded actions
AuthLogin, logout, password changed, session revoked.
User managementUser created, role changed, account disabled / enabled / deleted.
Test managementTest case created / updated / deleted; plan and cycle operations; defect changes.
RunRuns started, completed, and cancelled.
AIAI Assistant tool calls, generations, and recordings made — the fact of the call only.
File / GitFile writes and deletes; commits.
ConnectorConnector created / edited / deleted; test-connection performed.
SettingsSettings changes — sensitive values such as API keys are recorded as redacted.

Some things are personal data and are deliberately kept out of the audit trail. They remain strictly user-scoped:

  • Chat content — what users typed in the AI Assistant or Skills Chat.
  • Recording content — what was captured in AI Record.
  • Generated case content — the bodies of cases produced by AI Test Gen.

Each row in the stream shows:

  • Action — the action type, e.g. auth.login or defect.update.
  • User — who performed it; “system” for automated actions.
  • Resource — what was affected.
  • Timestamp — when it happened.
  • Details indicator — a chevron appears when the entry has expandable details.

Click the chevron on a row to expand it. The entry’s details payload is shown inline as pretty-printed JSON — ideal for “what fields changed in this update?” investigations. For example, an update event might show the before/after of the changed fields:

{
"action": "defect.update",
"user": "asha",
"resource": "DEF-128",
"details": {
"status": { "from": "open", "to": "resolved" }
}
}

Entries are paginated. Use the page controls at the bottom of the table to move through history. Remember that changing a filter resets you to page 1.

The Export button at the top downloads the full audit log as JSON. It is useful for:

  • Offline review outside the app.
  • Attaching to compliance or audit reports.
  • Shipping into an external SIEM or log-analysis pipeline.
  1. Open the Audit Log.
  2. Filter to settings changes and review them.
  3. Filter to user-management events and confirm each was expected.
  4. Glance at Failed logins (24h) in the header stats.
  1. Filter the Action to the relevant delete action (e.g. a test or plan deletion).
  2. Scan the rows for the resource in question.
  3. Expand the row to read the details and confirm the user and timestamp.
  1. Set the User filter to the person of interest.
  2. Page through their actions in chronological context.
  3. Expand rows where details matter to see exactly what changed.
  • Audit Log every Friday for five minutes. Filter to settings changes and user-management events and you’ll catch most issues early.
  • Failed logins (24h) > 0 is the first thing to check after a suspected security event — even a small number can indicate exploration activity.
  • Filter by user during incident response — it gives the fastest, cleanest reconstruction of one person’s actions.
  • Export periodically so you keep a durable, off-platform record for compliance.
SymptomLikely cause & fix
I can’t see the Audit LogYour account is not an Admin. Use Profile ▸ Recent Activity for your own history, or ask an admin.
A row has no expand chevronThat entry simply has no extra details payload — the summary line is the whole record.
I can’t find the AI chat someone typedBy design. Chat, recording, and generated-case content are never logged — only the fact of the call.
Filters return nothingThe action/user combination has no matching events. Clear one filter to widen the search.
An API key looks blank in the detailsSensitive values are redacted on purpose; the log never stores secrets in clear text.
Failed logins are climbingInvestigate immediately — filter to auth actions and the affected user, and consider revoking sessions and rotating credentials from the Users screen.

No. It is admin-only. Non-admins can see their own actions under Profile ▸ Recent Activity.

No. Auth events record that a password changed, not the password itself; settings events redact sensitive values such as API keys.

It retains the full recorded history available to your instance. Export periodically if you need a durable archive beyond the in-app view.

Yes — actions performed by the system (e.g. scheduled runs) are attributed to the “system” user.

  • Users — the accounts whose actions you are auditing, and where you respond to findings.
  • Profile ▸ Recent Activity — the per-user, personal subset of this view.
  • Settings — configuration changes that show up in this log.
  • Users — the accounts whose actions you are auditing, and where you respond to findings.
  • Profile ▸ Recent Activity — the per-user, personal subset of this view.
  • Settings — configuration changes that show up in this log.