Skip to main content

Audit Log

📖 FuerteventuraTV Docs Joomla & WordPress AI plugins
Governance

Audit Log

The Audit Log is an append-only record of sensitive actions taken within JoomlaAI. It provides accountability and traceability for security-sensitive operations.


What is logged

Every event that changes data or invokes an AI provider is written to the audit log:

Event typeExamples
API callChat message sent, scheduler job executed
Content actionContent approved, rejected, published, regenerated
Configuration changeAPI key updated, provider changed, budget rule modified
AuthenticationAdmin login (Joomla native), capability granted/revoked
SystemPlugin installed, uninstalled, cron task executed
ErrorProvider API error, budget exceeded, CSRF token failure

Audit log list

Navigate to JoomlaAI → Audit Log.

ColumnDescription
TimestampDate and time of the event (UTC)
UserUsername of the actor (or [system] for cron-triggered events)
Event typeCategory (see table above)
ActionSpecific action (e.g., chat.send, content.publish, config.api_key_updated)
TargetResource affected (e.g., session ID, job ID, setting name)
IP addressClient IP at the time of the action
Resultsuccess or failure
DetailsExpandable JSON with additional context

Filtering

FilterOptions
UserAll / specific user
Event typeAll / API call / Content action / Config change / System / Error
ResultAll / Success / Failure
Date rangeFrom / To
IP addressFilter by IP

PII redaction

Sensitive values are automatically redacted before being written to the audit log. The following field names are masked:

  • api_key, apikey, api-key
  • token, access_token, bearer
  • secret, client_secret
  • password, passwd

Redacted values appear as [REDACTED] in the Details column.


Append-only guarantee

The audit log table (#__joomlaai_audit_log / wpai_audit_log) has:

  • No UPDATE permission granted to the application database user (recommended hardening).
  • No "edit" action in the UI.
  • The "delete" action is restricted to core.admin / manage_options and is itself logged.
In a high-security environment, configure the database user so that the application can only INSERT to the audit table (not UPDATE or DELETE).

Retention

Audit records are retained for 365 days by default. The daily cleanup cron job purges records older than the retention period.

To change:

  • Joomla: Configuration → Data → Audit log retention (days)
  • WP: Settings → Data Retention → Audit log (days)

Setting to 0 disables cleanup (records kept indefinitely — recommended for compliance).


Export

Click Export CSV to download the current filtered view as a CSV file. Columns match the list view.


Permissions

CapabilityAccess
joomlaai.audit / wpai_view_auditView the audit log
core.admin / manage_optionsExport and delete audit records

_Last updated: 2026-05-19 · v2.5.3_