# 14. Audit

OpenCRVS's auditing capabilities greatly enhance the accountability of service providers while empowering the detection and mitigation of potential fraudulent activities. It achieves this by storing a detailed log of all actions taken on each record and made viewable to authorised users.

These actions can be scrutinised from two perspectives: the individual record or the user involved. For an extensive overview of audited actions, please refer to [OpenCRVS Specifications 1.4: Audit](https://docs.google.com/spreadsheets/d/1Jf31WkNMqlfQOYpjpfG73M5utVGrx4zqA5eiODaftNI/edit#gid=759597609)

### Record audit

<table><thead><tr><th width="215.76368924876186">Actions</th><th>Description</th></tr></thead><tbody><tr><td>Started</td><td>A record is started</td></tr><tr><td>Sent incomplete</td><td>A record is sent by a Field Agent or Health System incomplete</td></tr><tr><td>Sent for review</td><td>A record is sent by a Field Agent or Health System complete</td></tr><tr><td>Sent for approval</td><td>A record is validated by a Registration Agent and sent to the Registrar for approval</td></tr><tr><td>Sent for updates</td><td>A record is deemed to require updates before registration</td></tr><tr><td>Updated</td><td>A record is updated by a user</td></tr><tr><td>Registered</td><td>a record is Registered by a Registrar</td></tr><tr><td>Certified</td><td>A certificate is printed</td></tr><tr><td>Issued</td><td>A certificate is issued to the informant</td></tr><tr><td>Record corrected</td><td>A record is corrected by a Registrar</td></tr><tr><td>Viewed</td><td>A record is downloaded by a user to view PII and history</td></tr><tr><td>Archived</td><td>A record is archived and removed from workqueues</td></tr><tr><td>Reinstated</td><td>When a record is reinstated and moved back to its existing workqueue</td></tr></tbody></table>

### User audit

<table><thead><tr><th width="256.66666666666663">Action</th><th>Description</th></tr></thead><tbody><tr><td>Logged in</td><td>User logged in</td></tr><tr><td>Logging out</td><td>User logged out</td></tr><tr><td>Username reminder sent</td><td>A username reminder was sent</td></tr><tr><td>Password reset</td><td>Users password was reset</td></tr><tr><td>Changed password</td><td>User changed their password</td></tr><tr><td>Changed phone number</td><td>User changed their phone number</td></tr></tbody></table>

#### Local/National System Admin audit

<table><thead><tr><th width="255">Action</th><th width="189">Usertype</th></tr></thead><tbody><tr><td>Created user</td><td>System admin created a new user</td></tr><tr><td>Edited user details</td><td>System admin edited a users details</td></tr><tr><td>Deactivated user</td><td>System admin revoked a user access to OpenCRVS</td></tr><tr><td>Reactivated user</td><td>System admin reinstated a user access to OpenCRVS</td></tr></tbody></table>

{% embed url="<https://youtu.be/6E444yM4KcE>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.opencrvs.org/product-specifications/support-functions/11.-audit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
