# Save and schedule reports

URL: /analyze/saved-reports

Save any Reports view as a report, generate it as a marked PDF or CSV on demand or every week or month, and download it from the console. Reports stay inside the deployment, and every generation and download is in the audit log.



A saved report is a view from [Reports](/analyze/reports) with its period, its vehicles and the sections to include. Foxborne generates it as a document marked on every page with the program marking, **CUI** in the example dataset. Scheduled reports generate on their own. Every report stays inside the deployment: it is downloaded from the console, and each download is written to the audit log with the file's hash.

## Before you start [#before-you-start]

* You need the admin, investigator or reviewer role to save, schedule and generate reports. Every role can read them and download them. See [Roles and permissions](/security/roles).
* Generated reports are kept as long as **Reports and case files** under **Retention** in **Settings**, 10 years in the example dataset. See [Retention, holds and redaction](/security/retention).

## Saved reports in the example dataset [#saved-reports-in-the-example-dataset]

**Reports**, on the **Saved and generated** tab, lists them under **Saved reports**:

| Report                         | Schedule                               | Covers                                | Owner           |
| ------------------------------ | -------------------------------------- | ------------------------------------- | --------------- |
| RP-01 Weekly fleet reliability | **Mondays at 06:00 UTC**               | **The week before, Monday to Sunday** | Priya Raman     |
| RP-02 Monthly program review   | **The 1st of each month at 07:00 UTC** | **The month before**                  | Priya Raman     |
| RP-03 Rule results review      | **On demand**                          | **Last 30 days**                      | Daniel Reyes    |
| RP-04 UGV-02 health            | **On demand**                          | **Last 30 days**, UGV-02 only         | Tomas Lindqvist |

A scheduled row shows when it runs next, such as **Next 28 Sep, 06:00 UTC**, or **Paused**. Under it, **Generated** lists every report Foxborne generated, newest first, from RPT-0001 on 6 Jul to RPT-0016 on 25 Sep.

## Save a report [#save-a-report]

<Steps>
  <Step title="Open the form">
    Select **New report** at the top of **Reports**. Or, on any other tab, set the period and vehicles you want and select **Save as report**, which opens the same form with that view and the tab's sections already chosen.
  </Step>

  <Step title="Start from a template">
    **New report** offers **Start from**: **Blank**, **Weekly fleet reliability**, **Monthly program review**, **Rule results review** or **Vehicle health**. A template fills the form from the saved report of that name. You can change everything after.
  </Step>

  <Step title="Name it and choose what it covers">
    Give it a **Name**, then choose **Covers**: **Last 7 days**, **Last 30 days**, **Last 90 days**, **The week before, Monday to Sunday** or **The month before**. **Platform** and **Vehicle** limit it the same way as on the page. Choosing a vehicle clears the platform.
  </Step>

  <Step title="Choose the sections">
    | Section                          | What it holds                                                                                                                    |
    | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
    | **Summary figures**              | Sorties, flight hours, rule results, results per flight hour, incidents opened and clean imports, each against the period before |
    | **Sorties and flight hours**     | Sorties by platform per day or week                                                                                              |
    | **Rule results per flight hour** | The fleet rate per day or week, against the period before                                                                        |
    | **Rule results by rule**         | Every rule ranked by its results, with its share of the total                                                                    |
    | **Vehicles**                     | Each vehicle's sorties, flight hours and results per flight hour                                                                 |
    | **Incidents and cycle time**     | Incidents opened, their status and how long each took from import to incident and to close                                       |
    | **Evidence levels in reports**   | Observed, correlated, hypothesis and unknown steps in each incident report                                                       |
    | **Clock alignment**              | The widest bound between sources on each aligned run, and the runs with no bound                                                 |
    | **Import health**                | Complete, partial, quarantined and rejected imports, and why runs were partial                                                   |
  </Step>

  <Step title="Schedule it and choose the files">
    **Schedule** is **On demand**, **Every Monday** or **On the 1st of each month**, at a **Time, UTC** from 05:00 to 08:00. A scheduled report covers the period before it runs: a weekly one generated on Monday covers Monday to Sunday of the week before.

    **Files** are **PDF**, **CSV of every figure**, or both.
  </Step>

  <Step title="Save">
    Select **Save report**. The console confirms the name and the schedule, and opens the saved report's drawer. The audit log records **Created report** with the name and the schedule.
  </Step>
</Steps>

The form refuses to save without a name, a section or a file type, and says which is missing.

## Generate, pause, edit or delete [#generate-pause-edit-or-delete]

Select a saved report to open its drawer. It lists the report's period, vehicles, files, schedule and sections, and every report generated from it.

* **Generate now** generates it at once, whatever its schedule. The new report opens in its own drawer, and the audit log records **Generated report**, such as `Weekly fleet reliability, 14 Sep to 20 Sep`.
* **Pause schedule** stops a scheduled report from generating on its own. It still generates with **Generate now**. **Resume schedule** turns the schedule back on. The audit log records **Paused report schedule** or **Resumed report schedule**.
* **Edit** opens the form with the report's settings. **Save changes** records **Changed report**.
* **Delete** asks first. Reports already generated stay under **Generated** until retention removes them. The audit log records **Deleted report**.

## Preview and download a generated report [#preview-and-download-a-generated-report]

Select a row under **Generated** to open its drawer.

* **Files** lists each file with its size, its SHA-256 and its marking, such as **CUI on every page, 6 pages** for a PDF. **Download** downloads the file, and the audit log records **Downloaded report** with the file name and the start of its hash.
* **Preview** shows the report as it reads: the marking at the top and bottom, the report's name, vehicles, period and generation time, then each section drawn from the period the report covers.
* **Saved report** opens the saved report it came from.

## Check the result [#check-the-result]

* The **Saved and generated** tab counts the generated reports, 16 in the example dataset.
* The SHA-256 of a downloaded file matches the one in its drawer.
* The audit log, under the **Reports** filter, shows each **Generated report** and **Downloaded report**.

## Related [#related]

* [Read the fleet over time](/analyze/reports) explains every figure and chart.
* [Markings and handling](/concepts/markings) covers the marking on every page.
* [Audit log](/security/audit-log) lists the report actions.
