Audit Logs

All changes to made to within Tarsal's application, either via the browser or via API, are captured. The data captured includes the old and new values of the entire record. These objects are then stored as stringified JSON.

πŸ“˜

Prior to committing to the database, any secrets or passwords that these records may contain will be obfuscated via asterisks and are not retrievable.

Example record:

{
  "id": "01902be0-89f9-73aa-98fe-264bc834fbb6",
  "createTime": "2024-06-18T15:04:14.073741Z",
  "resource": {
    "id": "0520ad5d-3669-4eb2-94d5-310e0cab362f",
    "type": "USER",
    "changes": [
      {
        "name": "entity",
        "old_value": "JSON stringified object. null for CREATE operations",
        "new_value": "JSON stringified object. null for DELETE operations"
      }
    ]
  },
  "operation": {
    "id": "UPDATE-USER",
    "type": "UPDATE",
    "time": "2024-06-18T15:04:14.068Z",
    "status": "SUCCEEDED"
  },
  "actor": {
    "id": "b01c97fe-42a9-43cb-bb4e-799e81e1c4a9",
    "type": "USER",
    "metadata": {
      "email": "[email protected]",
      "name": "Johnny Tarsal"
    }
  }
}