Generating Your First Pre-Flight Briefing
Walk through generating an FAA-defensible pre-flight briefing — Risk-Window Gate, FRAT, Ops Authority verdict, and the server-rendered PDF with Briefing-ID.
Generating Your First Pre-Flight Briefing
The pre-flight briefing is AeroCopilot's flagship artifact — a server-rendered PDF designed to satisfy 14 CFR 91.103's "all available information" standard and survive an FAA Letter of Investigation.
Where to start
Open /briefing for a stand-alone briefing, or /flight-plans/new if you want a full navigation log alongside it. Both flows feed the same data pipeline.
What runs in parallel
When you generate a briefing, the platform executes weather and airport tools in parallel:
- METAR (current observations)
- TAF (terminal forecasts)
- NOTAMs (with FDC-first sort, capped at 15 with "Show all" expand)
- SIGMETs (with movement vector, e.g. "CONVECTIVE SIGMET 23E, Mov 270°@25kt")
- AIRMETs and G-AIRMETs
- TFRs (route-filtered to a 20 NM corridor)
- PIREPs (last 6 hours within 25 NM of route)
- Winds Aloft (FB table at 3k / 6k / 9k / 12k for departure, destination, midpoint)
- Runway Analysis (crosswind / headwind for all runways)
- D-ATIS, FAA NAS Status (live ground-stop / ground-delay)
The 91.103 checklist
Eight rows are evaluated with green/red status and source labels (NASR / AWC / POH):
- Runway lengths
- Takeoff and landing distance
- Fuel
- Alternates
- Traffic delays (sourced from FAA NAS Status)
- Weather
- Airworthiness verified
- ARROW documents
FRAT (Flight Risk Assessment Tool)
A real artifact replacing generic "compliance risk" scores. 15 checkboxes:
| Group | Count | Reference |
|---|---|---|
| IMSAFE | 6 | AC 120-92B / FAASTeam SRM |
| PAVE-Aircraft | 3 | AC 120-92B |
| PAVE-Environment | 3 | AC 120-92B |
| PAVE-External | 3 | AC 120-92B |
Score 0–21 with thresholds: ≤3 GO, 4–6 MITIGATE, >6 NO-GO.
Risk-Window Gate
If your ETD intersects a forecast IFR or thunderstorm window, a mandatory red-bordered modal appears. Choose one of four acknowledgments:
- Delay — push ETD outside the window
- Special VFR (91.157) — when applicable
- IFR file — switch to IFR
- Acknowledge VFR with mitigations
The decision is server-stamped with a Zulu timestamp and persisted to FlightPlan.riskWindowDecision. A Zod-validated read path ensures malformed JSON degrades safely.
Unified Ops Authority Panel
A single composite verdict — CLEARED / HOLD / NO-GO — combines the 91.103 checklist, compliance, airworthiness, FRAT, and Risk Window. You read one final answer instead of cross-referencing multiple panels.
Aircraft-aware fuel and minimums
Your aircraft on file changes the rules applied:
- Helicopter day VFR — 20 minutes per 91.151(b) (not the airplane 30-minute rule)
- Helicopter IFR — 30 minutes per 91.167
- Helicopter VFR minimums — Class G ≤1,200 AGL day = 1/2 SM clear of clouds per 91.155(b)
- SFAR 73 currency for R22/R44 — 24-month recurrence, +25 risk score if missing or expired
Downloading the PDF
Click Download PDF. The server uses Puppeteer to render the document — the URL /api/briefing/[id]/pdf is the authoritative source (no window.print() URL leak).
What you get:
- Briefing-ID
BR-XXXXXXXXXXXXand SHA-256 hash on every page header - Custom header / footer with Zulu generated-at and "page X of Y"
- Embedded FAA Airport Diagrams, IAP, SID, STAR, MIN, CVFP, HOT charts as full pages via
pdf-lib - PDF outline tree grouped by station with chart code labels (DEP / DEST / ALT → APD / IAP / SID / STAR / MIN), sidebar opens by default
Briefing diff since last refresh
Reopen a briefing later and a top banner shows what changed: "Briefing was last opened 14h 22m ago. 3 NOTAMs new, 1 expired, 2 METARs updated." The diff covers METAR, TAF, NOTAM, SIGMET, and TFR changes with NEW / UPDATED / EXPIRED badges.