Skip to content
Foxx Cyberfoxxcyber/docs

RailCompliant

What's new in RailCompliant, the FRA locomotive compliance and maintenance app for heritage and tourist railroads.

RailCompliant is a hosted service at railcompliant.com and is updated continuously: each change goes live as soon as it passes the automated tests and security scans, so there is nothing to install and no version number to upgrade to. This page summarizes what changed for railroads, newest first. The RailCompliant documentation describes how everything works today.

September 2026

September 30 — Permissions, purchasing controls, and the Cost Center

  • Settings is a new administrator page. Its Roles & permissions matrix lets you decide, area by area, what general members can open (View) and add, edit, or remove (Change). The switches are enforced everywhere, the menu shows each person only what they can open, and the defaults match how the app worked before. See Settings & permissions.
  • Purchase approvers — an administrator can let a member approve requisitions, optionally up to a dollar limit. Approvers never approve their own requests.
  • Receiving only through requisitions — an optional setting that makes every part and stores item come in against an approved requisition.
  • Correct the count — administrators can set a part's or store's on-hand to a stocktake count, with a reason. Corrections are never counted as spending.
  • Cost Center — everything the railroad paid out in a fiscal year: by category, month, asset, job, and vendor, against last year, with each locomotive's cost of use, every past year, and a CSV. Set when your fiscal year starts on Settings. See Cost Center.

September 30 — Completed work orders lock

  • Mark complete locks a work order: its details, hours, and parts can no longer change. An administrator can Unlock for corrections and Lock again, and every change is kept in the record history.
  • While a job is open, every hours and parts line can be edited or removed. A parts correction puts stock back on the shelf; changing who or which day re-prices hours from the roster.
  • A work order with hours or parts logged can no longer be deleted.
  • Refusals and results now show as a sentence beside the form instead of a silent reload or a bare error page.

September 30 — Administrator areas

  • The crew roster (with people's pay terms), billing, import, export, form templates, and the volunteer-hours report are now for administrators by default. General members keep the railroad's day-to-day work. Each of these can be opened to general members on Settings, except billing.
  • When a railroad's access is paused, general members now see a page explaining why and naming the owner, instead of the billing page.
  • The railroad's owner always counts as an administrator.

September 29 — My Career

  • Every login now has My Career: your runs crewed, hours, shop work, inspections, and designations across all the railroads you work with, plus your own certifications (with photos or PDFs), past service, and a profile.
  • Print service record produces a Crew Service Record with the sections you choose; Hours (CSV) downloads your hours.
  • Share a certification with a railroad, and stop sharing any time. Railroads see shared certifications on your roster page.
  • Reminders 60, 30, and 7 days before a certification expires. See My Career.

September 29 — Ownership transfer

  • The owner can hand ownership to any member with an account from the new Ownership card on Billing, confirmed with their password. The new owner becomes an administrator; both are emailed.
  • The owner's role can no longer be lowered, nor their access revoked, at their own railroad.
  • Giving an app account to the roster entry of someone who is already a member now just connects it, instead of resetting their role.

September 29 — Requisitions and vendors

  • Requisitions: ask for parts and supplies (from a work order, a low-stock part, or from scratch), get the request approved, record the order with vendor and PO number, and receive stock against it — all or part at a time. See Requisitions & vendors.
  • Create requisition for N low parts on Parts and Stores; a new Reorder qty on parts; an On order column, so a part already on order stops showing reorder.
  • Vendors, a printable requisition sheet, requisitions in the Approval Inbox, new notifications, and CSV exports of requisitions and vendors.

September 29 — What each run costs

  • Runs record trips, passengers, and trailing tons (worked out from car weights and riders, or entered).
  • Complete run wraps a run up in one form: trips, riders, fuel and water per locomotive, crew hours, and other direct costs.
  • Completed runs lead with an operating report — train-miles, ton-miles, fuel and water per trip, per mile, and per 1,000 ton-miles, direct cost per trip, mile, and rider, volunteer time, and an estimated maintenance allocation.
  • The runs list gains a season and kind filter, season totals, and What each route costs.
  • Locomotive run miles are now miles per trip × trips. Cancelled runs, and planned runs dated in the future, no longer add miles.
  • Rolling stock records a car's light weight. See Excursions & runs.

September 29 — Forms that read your records

  • Each crew member's hourly rate now lives on the roster, replacing the old "skilled rate". Blank means the Independent Sector volunteer rate for the year worked.
  • Every hours form asks only who, which day, and how long. The kind of labor and the rate come from the roster and are stamped on the entry, so a later raise never changes past hours.
  • Paid labor and volunteer time are shown as separate totals; costs are cash only, with volunteer time as in-kind value.
  • Run fuel and water are drawn from a store, which sets the unit and price. A locomotive fill picks its store first.
  • Quick-add forms never fail silently: a quantity like 1,500 or a price like $3.85 is read as typed, and anything that cannot be used is explained beside the form.

September 29 — Rolling stock pages and photo uploads

  • A car now has a full record page like a locomotive's: Overview, Maintenance, Runs (with car-miles), Photos, and History, plus a side panel with its cover photo and status. See Rolling stock.
  • Photos up to 25 MB each, 24 at a time. Every upload reports what was added and what was skipped and why.
  • The first photo becomes the cover; deleting the cover passes it to the newest remaining photo.

September 29 — The locomotive page and the regulations library

  • The 6180.49A is now a tab on the locomotive page, with a year stepper, header, certify, print, and download. See The 6180.49A annual report.
  • Certify & freeze works for a year whose header was never saved.
  • View WO links wherever a due item already has a work order, and the locomotive's "coming due" note names the next obligation and its date.
  • The Public page panel folds away, and explains that the donate link goes to your own donation page.
  • The Regulations library now ships with the eCFR text of Parts 229 and 230 built in and checks weekly for newer editions, so it is never empty.

September 29 — Privacy and security

  • The privacy policy was updated (effective September 29, 2026) to describe RailCompliant's own site statistics: page views and clicks counted without cookies or stored network addresses, and app usage counted by kind of page and railroad, never by record or person.
  • Sign-in protection and inspector share-link access records now use each visitor's own network address.

September 26 — Part 230 interval fixes

  • The 1472 boiler inspection now respects its 15-year limit: the projected date stops at 15 years, the row turns due soon 180 days before, and it says so when no last 1472 date is on file.
  • Every service-day clock counts every logged day since it was last cleared, including days entered from before the locomotive came onto the app.
  • Air brake valves are capped at the second annual as well as 368 service days.
  • Filing an inspection closes the compliance work order it satisfies, and the tiers beneath it — but only once the obligation is current.

September 26 — Phones, accessibility, and polish

  • On a phone the sidebar is a menu drawer, wide tables scroll inside their card, and Compliance Due and FRA filings turn each row into a card.
  • Text contrast meets WCAG AA in light and dark themes; every control is labelled; one consistent set of icons, buttons, and banners throughout.
  • Help diagrams follow the dark theme.

September — Security updates

  • Underlying libraries were updated for published security fixes, and sign-in cookies and redirects were further hardened.

August 2026

August 27 — Continuous delivery

  • RailCompliant now goes live automatically whenever a change passes its tests and security scans, rather than in numbered releases.

August 21 — One login, several railroads

  • A login that belongs to more than one railroad can switch between them from the railroad name at the top of the sidebar, with its own role at each.
  • Revoking someone's access now takes effect on their next click.

August 21 — Sign-in and sign-up

  • Sessions now end after 14 days unused as well as after 30 days, and changing your password signs out every other session.
  • Completing checkout now sends a "You're all set" confirmation with your trial end date.
  • If sign-up cannot reach billing, it now says so and creates nothing, instead of quietly starting an unbilled trial.

August 21 — Record integrity

  • Changes to a 6180.49A header are written to the record history, and an edit to a record that has just been certified is refused with a clear message instead of appearing to save. Two officers certifying at once can no longer replace one another's certification.
  • Two people saving the same form template at once no longer lose an edit.
  • Regulations search results are rendered more safely.

August 20 — Sign-up and the record history

  • Self-serve sign-up now reaches the secure checkout page reliably, and checkout accepts promotion codes.
  • Every entry in the record history is now sealed with its own time and railroad, the end of each history is recorded, and every history is verified automatically each day.

August 19 — Pricing page

  • The public pricing page always shows current prices.

Last updated September 30, 2026