Local-first FTA compliance automation for transit agencies
Project description
FTA Compliance SaaS
Local-first FTA compliance automation for transit agencies
✅ Parse documents (DOCX, PDF, TXT)
✅ Check compliance against 23 FTA areas
✅ Generate 10 editable templates
✅ Create compliance calendars (21+ deadlines)
✅ 100% local processing — no data leaves your system
🚀 Quick Start
Installation
# CLI only
pip install fta-compliance
# With GUI (recommended for most users)
pip install fta-compliance[gui]
Basic Usage
# CLI commands (for developers)
fta-parse policy.docx
fta-check policy.docx
fta-template title_vi_policy --var agency_name="Charleston Transit"
fta-calendar tier_ii 2026
# GUI (recommended for most users)
fta-gui
# Opens browser at http://localhost:8501
📦 What's Included
1. Document Parser
Parse DOCX, PDF, and TXT files to extract text and metadata.
fta-parse policy.docx --json
Output:
{
"success": true,
"metadata": {
"file_name": "policy.docx",
"file_type": "docx",
"file_size": 12345,
"character_count": 5678
},
"text": "Full document text..."
}
2. Compliance Checker
Check documents against 23 FTA triennial review areas:
- Drug & Alcohol Testing (49 CFR Part 655)
- Title VI (49 CFR Part 21 + Circular 4702.1B)
- ADA (49 CFR Parts 27, 37, 38)
- Procurement (2 CFR Part 200 + Circular 4220.1F)
- Planning (49 USC Chapter 53)
- Financial Management (Circular 5010.1E)
- Safety (PTASP)
- Asset Management (49 CFR Part 625)
- EEO (49 CFR Part 60)
- And 14 more areas...
fta-check policy.docx
Output:
✅ Compliance Check: policy.docx
Score: 73.5%
Compliant: 17/23
Non-Compliant: 4
Partial: 2
⚠️ Areas needing attention (6):
[HIGH] Random testing rate meets minimum requirements
→ Add content addressing: random, testing, rate
[MEDIUM] Public participation plan includes LEP outreach
→ Add content addressing: lep, limited english
3. Template Generator
Generate 10 editable FTA compliance templates:
| Template | Citation |
|---|---|
title_vi_policy |
49 CFR Part 21 + Circular 4702.1B |
ada_policy |
49 CFR Parts 27, 37, 38 |
drug_alcohol_policy |
49 CFR Part 655 |
procurement_policy |
2 CFR Part 200 + Circular 4220.1F |
public_participation_plan |
49 USC Chapter 53 |
emergency_plan |
49 USC Chapter 53 + FTA guidance |
safety_plan |
PTASP (49 USC 5329) |
asset_management_plan |
49 CFR Part 625 |
financial_plan |
2 CFR Part 200 + Circular 5010.1E |
eeo_plan |
49 CFR Part 60 |
List all templates:
fta-template list
Generate a template:
fta-template title_vi_policy \
--var agency_name="Charleston Transit" \
--var address="123 Main St, Charleston, WV" \
--var phone="(304) 555-1234" \
--var output="title_vi_policy.md"
4. Compliance Calendar
Generate compliance deadline calendars for Tier I or Tier II agencies.
# Full calendar for 2026
fta-calendar tier_ii 2026
# Upcoming deadlines (next 30 days)
fta-calendar --upcoming 30
# JSON output
fta-calendar tier_ii 2026 --json
Output:
📅 FTA Compliance Calendar
Tier: tier_ii
Year: 2026
Total Deadlines: 21
📊 Quarterly Summary:
Q1: 6 deadlines
Q2: 5 deadlines
Q3: 4 deadlines
Q4: 6 deadlines
⚠️ HIGH PRIORITY (Next 30 Days): 3
2026-01-31 — Random Testing Rate Report
2026-01-31 — ADA Complaint Log Summary
2026-01-15 — FMIS Update
🖥️ GUI Interface
Recommended for most users! The graphical interface makes it easy to:
- 📄 Drag & drop documents to parse
- ✅ Click buttons to check compliance
- 📋 Fill forms to generate templates
- 📅 View calendars with interactive filters
Launch the GUI:
# Install with GUI support
pip install fta-compliance[gui]
# Run the GUI
fta-gui
# Opens in your browser at http://localhost:8501
Features:
| Tab | What It Does |
|---|---|
| 📄 Parse Document | Upload DOCX/PDF/TXT → Extract text + metadata |
| ✅ Check Compliance | Analyze against 23 FTA areas → Score + recommendations |
| 📋 Generate Template | Select template → Fill form → Download editable document |
| 📅 Compliance Calendar | View deadlines by quarter → Export to CSV/Markdown |
All processing happens locally — no data leaves your machine.
🔒 Privacy & Security
100% Local Processing
- ✅ No data leaves your machine
- ✅ No cloud API calls
- ✅ No telemetry or analytics
- ✅ Works offline
- ✅ Government-friendly (no security review required)
All parsing, compliance checking, and template generation happens locally on your machine. Your documents never leave your system.
📋 System Requirements
- Python 3.10, 3.11, or 3.12
- pip (Python package manager)
- 50 MB disk space
Optional dependencies (installed automatically):
python-docx(for DOCX files)pypdf(for PDF files)lxml(for XML parsing)
🧪 Examples
Example 1: Check Existing Policy
# Parse and check your existing Title VI policy
fta-check title_vi_policy.docx
# Output shows compliance score and gaps
# Use recommendations to update policy
Example 2: Generate New Policy
# Generate a Title VI policy template
fta-template title_vi_policy \
--var agency_name="Mountain Area Transit" \
--var address="456 Oak Ave, Beckley, WV 25801" \
--var phone="(304) 555-6789" \
--var email="compliance@mountaintransit.org" \
--output="title_vi_policy.md"
# Edit the generated template to match your agency
# Then check compliance
fta-check title_vi_policy.md
Example 3: Plan Your Year
# Generate 2026 compliance calendar
fta-calendar tier_ii 2026 --output="compliance_calendar_2026.md"
# Check upcoming deadlines every Monday
fta-calendar --upcoming 30
🎯 Pricing
| Tier | Price | Features |
|---|---|---|
| Free | $0 | Document parser + basic compliance check |
| Pro | $97/mo | All 4 tools + full template library |
| Enterprise | $497/mo | Custom rules + priority support |
Start with Free:
pip install fta-compliance
Upgrade to Pro: Visit https://solutionsbyvance.com/fta-compliance
🛠️ Development
Install from source
git clone https://github.com/solutionsbyvance/fta-compliance.git
cd fta-compliance/package
pip install -e .
Run tests
pip install -e ".[dev]"
pytest
Build package
pip install build
python -m build
Publish to PyPI
pip install twine
twine upload dist/*
📚 Documentation
Full documentation: https://github.com/solutionsbyvance/fta-compliance
API Reference
from fta_compliance import parse_document, check_compliance, generate_template, generate_calendar
# Parse a document
result = parse_document("policy.docx")
print(result["text"])
# Check compliance
result = check_compliance("policy.docx")
print(f"Compliance score: {result['score']}%")
# Generate template
template = generate_template("title_vi_policy", {"agency_name": "My Transit"})
print(template["content"])
# Generate calendar
calendar = generate_calendar(tier="tier_ii", year=2026)
print(f"{calendar['total_deadlines']} deadlines in 2026")
🤝 Support
Documentation: https://github.com/solutionsbyvance/fta-compliance
Issues: https://github.com/solutionsbyvance/fta-compliance/issues
Email: neal@solutionsbyvance.com
Website: https://solutionsbyvance.com
📄 License
MIT License — see LICENSE file for details.
🏢 About
Solutions by Vance, LLC builds transparent, privacy-first AI tools for government and small business.
"You get AI productivity without AI risk."
Other projects:
- Transparent Code Standard
- FTA Compliance Ebook (https://nealvance.gumroad.com/l/pmrrg)
🚀 Changelog
v0.1.0 (2026-04-16)
- Initial release
- Document parser (DOCX, PDF, TXT)
- Compliance checker (23 FTA areas)
- Template generator (10 templates)
- Compliance calendar (21+ deadlines)
- CLI interface
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fta_compliance-0.1.0.tar.gz.
File metadata
- Download URL: fta_compliance-0.1.0.tar.gz
- Upload date:
- Size: 29.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1255dada7889e5027997736e9466fa595631a5579d9b4a54922172450a4414bd
|
|
| MD5 |
f504e265176c2acd2739462e5204ed9c
|
|
| BLAKE2b-256 |
ff2cce075c3860379d49c846afc72167b820c186bba89f92fd36b3b69d078e87
|
File details
Details for the file fta_compliance-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fta_compliance-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb52279e5c235387f7adf63ec5ce59f6df0cf5d63cd5f1c5d6b6c5deca2ea9fe
|
|
| MD5 |
1cfe45d056876ab1f603ee84b58a798d
|
|
| BLAKE2b-256 |
ffbedb370e95084e96491453f5df8989f75b1ac69da0151815886d2cc8f62092
|