Field notes
What the KCAA inspector will read from your AngaBrief PDF filename.
16 May 2026 · 7 min read · AngaBrief
A KCAA ramp inspection does not wait for an operations manager to query a database. The inspector arrives, asks for pre-flight risk-assessment records for a set of flights — typically identified by aircraft registration and approximate date — and expects to read them without the school's IT infrastructure standing between the document and the answer.
For digital records to survive that encounter, two properties are required. First, the content of the exported PDF must be legible and complete. Second, the filename of that PDF must allow the inspector to locate the right document without opening every file in a folder. The first property is what the PDF template addresses. The second property is what the filename scheme now solves.
As of 14 May 2026, every assessment PDF and every audit-log PDF exported from AngaBrief carries a structured filename encoding the document type, the student, the instructor, the submission timestamp, and the route. The format is stable and documented. It is designed for folder inspection, not for database lookup.
The five segments
A single-assessment export filename follows this pattern:
assessment_{student-slug}_{instructor-slug}_{timestamp}_{route}.pdf
An audit-log export for a date range follows:
audit-log_{school-slug}_{start-date}-{end-date}.pdf
Each segment carries a specific answer to a question an inspector is likely to ask.
Document type prefix. The first segment is either assessment or
audit-log. A folder containing both types — which is the standard inspection
package — sorts them together and distinguishes them by prefix without requiring
the inspector to open any file. An assessment_ file is a single flight
record. An audit-log_ file is a period summary.
Student slug. The second segment is a lowercased, hyphen-separated
identifier derived from the student's surname and first initial as stored in
the AngaBrief user record. The format is surname-initial — for example,
mwangi-j. This is not a unique identifier in the cryptographic sense; it is
a scannable label that matches the student's name as it appears in the KCAA
training record and on the school's student register. An inspector looking for
flights by a specific student can filter by this segment in any file manager,
without a query.
Instructor slug. The third segment uses the same derivation applied to
the assigned instructor, prefixed with cfi- to distinguish the role. The
prefix is always present. An inspector verifying that a specific CFI was
assigned to a specific set of flights can filter by this segment across the
full folder.
Submission timestamp. The fourth segment is an ISO 8601 UTC timestamp
at minute precision: YYYYMMDDTHHmmZ. Submission time — not planned departure
time, not approval time — is the reference. Submission is the moment the
student's assessment locked and entered the instructor queue; it is the event
that the audit trigger records. Sorting a folder of assessment PDFs by filename
produces them in submission order, which is the order that matches the audit
log's own chronology.
Route pair. The fifth segment is the departure ICAO code, a hyphen, and
the destination ICAO code — for example, HKNW-HKNY. For cross-country
assessments with intermediate waypoints, the departure and final destination
are used; the full route appears inside the PDF. An inspector looking for all
Wilson departures can filter on HKNW- without opening a file.
What a KCAA inspection folder looks like in practice
KCAA ATO inspections that involve flight records typically proceed in one of two modes: the full-period audit, which sweeps all records for a defined date range; and the targeted pull, which retrieves records for a specific student or a specific aircraft.
For the full-period audit, the inspector receives a folder of audit-log
exports — one per month or per billing period — plus the underlying assessment
PDFs. A filename such as audit-log_abc-flying-academy_20260401-20260430.pdf
is legible without context. It identifies the school, the period, and the
document type. The file sorts cleanly among other months' exports.
For the targeted pull, the inspector names a student and a date range. Filtering the assessment folder by the student slug returns every assessment for that student. Filtering further by date prefix — the timestamp segment begins with the submission date — narrows to the relevant period. No database, no login, no web browser required.
| Inspector query | Filter string |
|---|---|
| All flights by student Mwangi | mwangi-j |
| All flights supervised by CFI Odhiambo | cfi-odhiambo |
| All Wilson departures | HKNW- |
| All flights on 14 May 2026 | 20260514 |
| All audit-log exports for April 2026 | audit-log_ + 202604 |
This is not a sophisticated indexing system. It is a naming convention that makes a filesystem behave like a light index for the five queries an inspector is most likely to run.
Why sorting by filename matters
File managers on every major operating system sort files alphabetically by default. An AngaBrief assessment folder sorted by name is also sorted by submission date, because the timestamp segment is in ISO 8601 format: year, month, day, hour, minute. Lexicographic sort equals chronological sort.
This means a KCAA inspector who downloads the folder and sorts it by name in any file manager immediately sees the full flight history in temporal order, matching the sequence in the audit log. There is no discrepancy between the order of files in the folder and the order of entries in the PDF audit log. Discrepancies between document order and time order are the kind of inconsistency that raises questions at an inspection; the naming scheme eliminates them by construction.
The audit-log PDF itself
The audit-log export covers a selectable date range and includes every
audit_events table entry for the school within that range: assessment
submissions, instructor approvals, revision requests, overrides with reasoning,
user role changes, and billing status changes. Each entry carries:
- The actor's name and role
- The action type and the entity it affected
- The timestamp
- The before and after state where applicable
The audit-log table is append-only at the database level. Row-Level Security
policies deny UPDATE and DELETE to every role, including superadmin. The
PDF export is a snapshot of an immutable ledger. An inspector who compares
the exported PDF to a re-export of the same date range for the same school
will receive identical content, because the underlying data cannot change.
The filename of that audit-log export is itself a verifiable artefact: the date range in the filename must match the date range on the cover page of the PDF. A mismatch would indicate that the filename was manually edited — a flag no school wants to produce for a KCAA inspector.
Organising the folder before an inspection
A well-organised inspection package from an AngaBrief school contains:
- One audit-log PDF per calendar month, exported at the end of each month
and retained in a dedicated
audit-logs/subfolder. - Individual assessment PDFs in a separate
assessments/subfolder, retained as they are exported post-approval. Most ATOs will export the PDF at approval time as a matter of routine; the filename scheme means they accumulate in submission order without manual sorting. - No manual renaming. The filename scheme's value depends on all files in the folder having been named by the same algorithm. A single manually renamed file breaks the sortability and the inspector's ability to rely on the naming convention.
The school administrator can generate a monthly audit-log export from the
/school/audit-log view in one click. The resulting file downloads with the
correct filename. The recommended practice is to export on the last day of
each month and retain the file regardless of whether an inspection is
anticipated. KCAA does not always give advance notice.
What this is not
- Not a replacement for the audit-log content. The filename identifies the document; the content of the PDF is the legal record. A file with a correct name and incorrect or incomplete content fails inspection.
- Not a secure document identifier. The slug-based filename is designed for human legibility, not cryptographic identification. The assessment's UUID, stored in the PDF metadata and printed on the cover page, is the globally unique reference.
- Not a filing requirement. KCAA regulations specify what records must be retained, not how they must be named. The filename scheme is an AngaBrief convention designed to make the required records easier to produce under inspection conditions.
- Not a cloud backup. Downloading and retaining the PDF is the school's responsibility. AngaBrief's Supabase storage bucket retains generated PDFs for 90 days; beyond that period, the authoritative copy is whatever the school has exported and stored. Schools that rely on 90-day cloud retention for multi-year KCAA record-keeping obligations are misreading the retention policy.
AngaBrief is a training and decision-support tool. It is not a dispatch authority. Final go/no-go authority rests with the Pilot in Command and the assigned Flight Instructor in accordance with KCAA regulations. AngaBrief does not replace official weather briefings, NOTAM checks, aircraft documentation review, or instructor judgement.