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):

  1. Runway lengths
  2. Takeoff and landing distance
  3. Fuel
  4. Alternates
  5. Traffic delays (sourced from FAA NAS Status)
  6. Weather
  7. Airworthiness verified
  8. ARROW documents

FRAT (Flight Risk Assessment Tool)

A real artifact replacing generic "compliance risk" scores. 15 checkboxes:

GroupCountReference
IMSAFE6AC 120-92B / FAASTeam SRM
PAVE-Aircraft3AC 120-92B
PAVE-Environment3AC 120-92B
PAVE-External3AC 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:

  1. Delay — push ETD outside the window
  2. Special VFR (91.157) — when applicable
  3. IFR file — switch to IFR
  4. 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-XXXXXXXXXXXX and 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.