> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aquaops.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Certification

> Mark yourself as a Certified Pool Operator (CPO) and attach your certificate for compliance recordkeeping.

Certification tracks whether staff are Certified Pool Operators (CPOs) so that chemical records can show, and where required enforce, who is qualified to log or verify a reading.

## Purpose

Use this page to self-attest your own CPO status and attach evidence of your certificate. It feeds two other parts of AquaOps:

* the **tested by** and **CPO verified by** fields on chemical records, which only offer CPOs as options
* an organization-level setting that can require a CPO to sign off on any reading logged by someone who isn't one

## What it tracks

Certification here is a simple **CPO yes/no flag per user** (`is_cpo`), not a full certification record with a certificate number, issuing body, or expiration date. There is currently:

* no expiration date field
* no automatic expiration alerting or reminder emails

If your organization needs to track a renewal date, do that outside AquaOps (e.g. a calendar reminder) until that becomes a supported field.

Alongside the flag, AquaOps stores:

* one certificate file attachment per person (PDF, PNG, JPG, GIF, or WEBP, up to 10 MB), replacing any prior file when a new one is submitted
* a history of self-certification requests (pending, approved, rejected) with reviewer notes

## Who this page is for

`Settings > Certification` is **self-service and shows only your own status** — there's no way to certify someone else from this page. To manage another person's CPO status (staff or a tester/non-login profile), an admin uses `Settings > Users` instead, which includes the same attach-certificate flow plus direct override.

## Submitting your certification

Go to:

```text theme={null}
Settings > Certification
```

The page shows one of three states:

* **Already certified** — a "You're certified" card with a CPO badge and the certificate file on record, if any
* **Pending review** — your submission is waiting on an admin
* **Not yet certified** — a form to upload your certificate

**1. Open Certification**

Go to `Settings > Certification`.

**2. Choose your certificate file**

Select a PDF or image file of your CPO certificate.

**3. Submit**

Select `Submit`. What happens next depends on your organization's settings.

**4. Check status**

If review is required, the page shows a **Pending review** card until an admin decides. If not, you're marked as a CPO immediately.

If a prior submission was rejected, the page shows the reviewer's notes (if any) above the form so you can resubmit with the right file.

## Immediate vs. reviewed self-certification

Whether your submission takes effect right away or needs approval is an **organization-level choice**, configured in `Settings > Organization`:

* **Require your review for self-certified CPOs** (off by default is not assumed — check your org's setting) — when checked, a member's self-certification creates a pending request; an admin with the `users:edit` permission must approve or reject it from the **CPO certification requests** queue on `Settings > Users` before `is_cpo` is set.
* When unchecked, submitting the form sets `is_cpo` to true immediately, same as if an admin set it directly.

A related, separate organization setting, **Require CPO verification for non-CPO testers**, controls whether a chemical reading logged by someone who isn't a CPO must be countersigned by a CPO (via the "CPO verified by" field on the chemical record) before it can save.

## Admin review queue

Admins with `users:edit` see a **CPO certification requests** card at the top of `Settings > Users` whenever there are pending self-certification requests. Each row shows the requester's name, email, submission date, and certificate file name, with **Approve** and **Reject** actions. Rejecting doesn't require notes, but notes entered are shown back to the member on their next visit to `Settings > Certification`.

## Best practices

* upload a legible copy of the actual certificate, not a photo of a screen
* turn on **Require your review** if your organization wants a human check before someone counts as a CPO for compliance purposes
* track certificate renewal dates outside AquaOps until expiration tracking is supported
* use the admin review queue promptly — a pending request blocks that person from being offered as a CPO option on chemical records until it's resolved

## Suggested screenshots

* "My certification" page in each of its three states (not certified, pending, certified)
* certificate upload form with a rejected-submission notice
* CPO certification requests queue on Settings > Users
* the two related toggles on Settings > Organization


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.