Skip to content

Audit Trail

Onconova provides a transparent and robust auditing system to track all changes to clinical and research data within the platform. This ensures traceability, accountability, and data integrity, crucial for compliance in sensitive healthcare and research environments.

How Events are Tracked

Data Changes

Every operation performed on a data resource, whether a create, update, or delete, is automatically logged at the database level using PostgreSQL triggers.

Whenever a change occurs:

  • A new audit log entry is created in a dedicated audit table.

The log records:

  • The timestamp of the operation.
  • The user responsible for the change.
  • The type of operation performed.
  • The state of the affected data.
  • Other metadata

Data Diffs and Rollbacks

For every audited data change:

  • A differential can be generated showing the precise modifications made.
  • Rollback functionality allows authorized users to revert a data resource to a previous state based on the recorded audit history.

This makes it easy to trace errors, reverse unauthorized changes, or review the evolution of a particular data record over time.

Data Exports

Onconova also registers a detailed audit log entry each time data is exported from the platform.

This includes:

  • The timestamp of the export.
  • The user who initiated the export.
  • A list of datapoints or cases included in the export.
  • Other metadata required to recreate the exported dataset

This ensures traceability of how and when sensitive data leaves the system, a key requirement for most clinical research data governance frameworks.

Public Audit Trail Access

One of Onconova’s key transparency features is that the audit trail is publicly accessible to all authenticated platform users irrespective of access level.

This means that:

  • Any user can view the full audit history of any data resource.
  • Data changes, exports, and user actions can be inspected at any time.

This fosters trust, ensures accountability, and allows for transparent collaboration within and between institutions.

Server Access Logs

In addition to database-level auditing, Onconova maintains traditional server logs capturing every connection attempt to the Onconova server in a format that is both GDPR and HIPAA aligned. All HTTP requests are recorded in a logfile.log file in logFmt format containing the following data points:

Field Description Example
timestamp Timestamp of the request in ISO format 2025-07-16T14:22:09+0000
level Log level INFO
user.username Authenticated user ID or "anonymous" "e13ea837-ada4-4ba0"
user.id Authenticated username or "anonymous" johnsm
user.level Authenticated user access level 3
request.ip Source IP address "192.168.1.5"
request.agent User agent of the request "Mozilla/5.0 "
request.method HTTP method used POST
request.path Full request path "/api/auth/sessions"
request.data Query or redacted JSON body data (gzip-compressed and base64-encoded) KaWd2gC/6tWSk4sTvVMUbJSSrK0t...
response.status HTTP response status code 201
response.duration Total response time in milliseconds 87
response.data Redacted JSON response (gzip-compressed and base64-encoded) LzE1VslJKSi1PtTA0UdJRysnMzSw...

These logs can typically be managed through Docker volumes or the container’s logging subsystem and can be integrated with external log management or security tools for extended auditing.

Security Notes

  • Sensitive fields like password, token, and secret are automatically redacted.
  • Log files should be protected with file permissions (e.g., chmod 600).
  • For production, ensure logs are encrypted and immutable where required.
runner