# Flight data monitoring exports

> Flight data monitoring exports: what the collector reads, how to connect it, its permissions, its certification by Atlantic Agentic Labs and its security posture.

Built, not certified Built and tested against recorded and synthetic responses (version 1.0.0, 10 November 2026). Not yet run against the vendor's sandbox or a client environment.

Reads event and exceedance exports from your flight data monitoring (FDM or FOQA) tool, row by row, from a bucket prefix or an SFTP drop your deployment mounts, read-only.

## At a glance

| Collector                   | Flight data monitoring exports, version `1.0.0`                                                                                                 |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Reads                       | Flight data monitoring tools (Safran, CAE): FDM / FOQA event and exceedance exports ([the vendor's documentation](https://www.cassiopee.aero/)) |
| Family                      | Aviation                                                                                                                                        |
| Kind                        | Flight data                                                                                                                                     |
| Ways to connect             | None (no credential), Service account                                                                                                           |
| Scopes                      | - Read:                                                                                                                                         |
| Read only                   | Yes                                                                                                                                             |
| Vendor's API can move money | No                                                                                                                                              |
| Personal data               | Employment                                                                                                                                      |
| Hosts it may contact        | Only the hosts on your deployment's allow-list (`*`: the host is the one you give it)                                                           |
| Vendor API versions         | CSV and JSON exports (no vendor API)                                                                                                            |
| Lowest engine version       | `0.46.0`                                                                                                                                        |

## What it reads

- Every `.csv` file (and `.json` list of objects) under the prefix you name: each row is one record, keyed by `id_columns` and titled by `title_columns`.
- Flight data monitoring tools (Safran Cassiopée, CAE Flightscape and their successors) publish no read API; they export events and exceedances as files, CSV the long-standing format. This collector reads those files and never connects to the tool.

## How to connect

1. Make the export write to a bucket prefix, or to an SFTP server whose landing directory the deployment mounts.
2. Your engineer sets this source up in the source card (there is no key to paste): `store` (`s3://bucket/prefix/`, `gs://`, `azblob://` or `file:/path`), `id_columns` (what identifies a row), `title_columns` (the fields joined for the title), and for S3 a `role_arn` (and `external_id`, `region`).
3. Give the role read access to that prefix only. In LightHouse the card reads **Read**.

## Permissions

- No credential is stored. The deployment’s identity, or the role it assumes, is the permission; grant list and get on the one prefix and nothing else.
- The collector only lists and reads objects (and, for a `file:` store, reads files). It never writes, moves or deletes an export. Its read-only test uses a stub S3 client that records every operation and fails on any but list and get, and checks that a drop folder is byte-for-byte unchanged afterwards; there is no HTTP to record.
- Nothing here connects to the system that produced the export, so nothing here could change it.

## Limits

- Only files ending `.csv` or `.json` (a list of objects) are read; others are ignored.
- A file is read again only when its ETag changes. Files larger than `max_mb` (50 by default) are skipped and counted.
- Column names are the export’s own and none is assumed: set `id_columns` (otherwise a row’s hash is its id, so an edited row becomes a new record and the old one is withdrawn) and `title_columns`.
- Rows that leave a file, and files that are removed, become withdrawals.
- Google Cloud Storage and Azure Blob stores are read through the engine’s adapters, which need their own identity libraries in the deployment.

## Data handling

- Records are read and indexed inside your deployment. LightHouse receives ids, hashes and counts, never a row.
- FDM is de-identified by programme agreement, and an event export should carry no crew identity; where an export carries more, add its columns to `exclude_fields`.
- Contact fields and reporter names are left out by default, as are travel document numbers and dates of birth. `exclude_fields` adds columns (for example `**.Captain`); `keep_fields` takes a default back by its exact name. Nothing is cached raw.

## Troubleshooting

| What you see                                | What it means                                             | What to do                           |
| ------------------------------------------- | --------------------------------------------------------- | ------------------------------------ |
| `a source needs its label`                  | No label was given                                        | Give the source a label              |
| `the store's prefix is a plain path`        | The prefix holds characters a path cannot                 | Use a plain prefix                   |
| Read succeeded, nothing written             | No file’s ETag has changed since the last read            | Nothing to do                        |
| Fewer rows than expected                    | A file over `max_mb` was skipped (the source counts them) | Raise `max_mb`, or split the export  |
| A title of the form `<kind>: <file>#<hash>` | `title_columns` is not set, or its columns were empty     | Name the columns for the title       |
| Rows reappear as new records                | `id_columns` is not set, so ids are row hashes            | Name the columns that identify a row |

## Certification

Each entry is a run by Atlantic Agentic Labs, newest first. Only a run against the vendor’s sandbox or a client environment certifies a collector; a certification lasts six months, or less if the vendor publishes an API version the collector does not list. See [How collectors are certified](/collectors/certification/).

| Date             | Collector | Engine   | Vendor API           | Method                              | Expires        |
| ---------------- | --------- | -------- | -------------------- | ----------------------------------- | -------------- |
| 10 November 2026 | `1.0.0`   | `0.47.0` | CSV and JSON exports | Fixtures only: built, not certified | Not applicable |

## Security posture

From the collector’s last scan on the default branch. What each line means, and what blocks a release: [Security posture](/collectors/security/).

| Last scanned               | 10 November 2026                                                                                                                                                                                                      |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Critical findings          | 0                                                                                                                                                                                                                     |
| High findings              | 0                                                                                                                                                                                                                     |
| Medium findings            | 0                                                                                                                                                                                                                     |
| Low findings               | 0                                                                                                                                                                                                                     |
| Info findings              | 0                                                                                                                                                                                                                     |
| Release blocked            | No                                                                                                                                                                                                                    |
| Network allow-list check   | Pass                                                                                                                                                                                                                  |
| Read-only behavioural test | Pass                                                                                                                                                                                                                  |
| SBOM (CycloneDX)           | Produced                                                                                                                                                                                                              |
| Dependency licences        | Pass                                                                                                                                                                                                                  |
| Scanners                   | bandit 1.9.4, semgrep 1.181.1, pip-audit 2.10.1, osv-scanner 2.7.0, cyclonedx-py 7.5.0, pip-licenses 5.5.5, gitleaks repository job aal-secrets, hosts_check tools/hosts_check.py, read-only test pytest -m read_only |

Source: https://docs.atlanticagenticlabs.com/collectors/catalogue/fdm/
