Next Inventory 6.1.0: App Manager, dark mode, and more Joomla 6.1 "Nyota" Is Here Building the Future of Joomla Extensions
NextSoftware
Next DB — Documentation

Audit Trail

A log of every recorded database change and Next DB administration action, with a filterable viewer, before/after row snapshots, and built-in redaction of sensitive data.


What is recorded

When an action is performed, Next DB checks the user's audit settings and, if recording is enabled, saves an entry to the audit log (stored in your Joomla site database). Browsing is never recorded.

Per-operation coverage

Operation What is logged Before/after snapshots
Insert Target connection, database, table, the statement run, the new row, affected rows After-snapshot only
Update Target connection, database, table, the statement run, the old and new rows, affected rows Before and after
Delete Target connection, database, table, the statement run, the deleted row, affected rows Before-snapshot only
Structure One summary entry: the structure change applied (columns, indexes, foreign keys, create/drop/rename/truncate) None
SQL console One summary entry: the statement submitted None
Import One summary entry: the import file name or script, plus row count None
Export One summary entry: scope (table or full database) and format None
Configuration changes One entry per save or delete of a connection, profile, or assignment None

Browsing (reading rows) is deliberately excluded — it does not change anything, and recording it would flood the log with noise.

Configuration changes — saving or deleting a connection, profile or assignment — are recorded only when the global "record configuration changes" setting is on (a global setting, not overridable per profile). See Audit Policy for details.


What each entry captures

Each audit entry records the following.

Field Description
When Date and time (UTC) of the operation
User ID / Username The Joomla user id and username of the person who acted (the username is stored at the time so it stays readable even if the account is later renamed or deleted)
Connection Shown as "Joomla site database" or the stored connection's title at the time of the operation
Driver The database engine in use: MySQL/MariaDB, PostgreSQL, or SQLite
Database Target database name
Operation Operation type (see the table above)
Table Affected table; empty for whole-database or configuration operations
Statement The SQL statement or a short summary; long statements are truncated. Passwords in the statement are redacted before storage — see Redaction below
Before / After data The row before and/or after a data change. Sensitive columns are redacted — see Redaction below
Affected rows Number of rows affected, as reported by the engine
Status success or error
Error message The engine's error text when the status is error; blank on success. Passwords are redacted before storage
IP address The address the request came from
Expiry When the entry becomes eligible for automatic deletion, based on the retention setting in effect when it was recorded (blank = keep forever)

How the log is written

The audit log is always written to your Joomla site database, never to the database you are editing. Writing is best-effort — if it can't be written, your action still completes. An audit failure never blocks a database operation.

This is intentional: a broken or unavailable audit log should not make an otherwise healthy editor unusable. If audit completeness is critical for your site, monitor the log for gaps.


Redaction

The audit log should record what happened — not become a second store of secrets. Two redaction passes run automatically before anything is stored.

Passwords in a recorded statement (and in any engine error message) are replaced with [REDACTED]. And in the before/after row snapshots, columns whose names suggest a secret — password, secret, token, key, and similar — are masked with [REDACTED]. Columns that are empty or NULL are left as-is, since there is nothing sensitive to protect.

The audit entry still shows which row changed and that the sensitive column was touched; it does not copy the value into the log.

For full details see Security — Audit redaction.


Viewing the audit log

Navigate to Next DB → Monitoring → Audit log.

Access: viewing the audit log requires the View Audit Log permission (Super Users always have it). Users without it don't see the menu item.

The Audit log page showing the audit table with When, User, Connection, Operation (colour-coded chips), Table, Rows, and Status columns; the filter bar and Refresh/Purge toolbar buttons are visible at the top

Columns

Column Content
When Date and time (UTC) of the operation
User Username, or #<id> when the username is empty
Connection Connection title, with the database name beneath it in a smaller caption
Operation Colour-coded chip: green = insert, blue = update, red = delete, amber = structure, purple = import, primary = SQL console, grey = configuration or export
Table Affected table name
Rows Affected row count
Status Chip: green = success, red = error

Rows are sorted newest-first, with paging handled by the server. Page sizes of 25, 50, or 100 rows are available.

Filtering

Click the Filter button (top-right of the page) to open the filter panel. Changing any filter resets the page to the first result.

Filter Type Searches
Search Free text Statement text, table name, username, and error message
User Drop-down Users present in the log
Connection Drop-down Connections present in the log
Operation Drop-down Operation types present in the log
Status Drop-down success or error
From / To Date pickers An inclusive date range

Before/after detail drawer

Click any row to open the detail drawer on the right-hand side. The drawer shows every field of that entry in full, including the complete statement text and the before/after row snapshots (as a key/value table). Redacted columns show [REDACTED] in place of their original value.

The detail drawer open on an update entry, showing the operation metadata and the before and after row snapshots

Refresh

Click Refresh to reload the current page of results. This also tidies up the log opportunistically — expired entries are removed before the results are returned.

Purge

The Purge button appears only for users with the Purge Audit Log permission (or Super Users). A confirmation dialog is shown before any deletion.

Four purge presets are available from the drop-down:

Preset What is deleted
Delete entries older than 30 days Entries created more than 30 days ago
Delete entries older than 90 days Entries created more than 90 days ago
Delete entries older than 1 year Entries created more than a year ago
Clear entire log All entries, regardless of age or expiry

Purge is immediate and irreversible. The response reports how many entries were deleted.

For automated retention and the scheduled-task plugin, see Audit Policy — Pruning paths.


See also

All Extensions