Core Platform

Engineered for clinician-in-the-loop operation.

Run Orchestrator

A phased async orchestrator drives every run from triage through submission-packet prep, emits live log entries for the UI, and persists the full RunRecord to disk (and MongoDB Atlas when configured).

Parallel Browser Agents

Up to 12 TinyFish browser agents — one per selected payer — hit portals and policy bulletins concurrently via withThrowingTaskGroup, with a WKWebView live preview so operators can watch the current agent navigate.

Red Team + Addendum

An adversarial "medical director" LLM critiques every binder + letter. Failing drafts auto-revise; when evidence is genuinely missing, a Clinical Addendum Request is drafted for the physician instead of hallucinating the gap.

Learning Loop

Log a real EOB on any completed run; the LLM extracts a structured denial reason and a generalizable PayerPersonaRule. Both persist to ~/Library/Application Support/EvidenceBinder/ and fire as predictive warnings on the next triage for the same payer + CPT.

Ghost Policy Tracker

PolicyTrackerService watches known payer + CPT policy pairs for quiet rule changes. When a retrieved policy has an active alert (e.g. BCBS tightened 22853 last week), the run is flagged before synthesis runs against stale rules.

Auto-Detect Payers

Reads the patient's insurance provider string and maps aliases (Optum → UHC, CareFirst → BCBS, Elevance → Anthem, CVS → Aetna) to the twelve supported payers, so operators never pick the wrong bucket.

Evidence Binder + PDF Export

Every run produces an auditable binder with payer citations, medical necessity, and appeal letter. Native HTML→PDF rendering via WKWebView exports the binder, letter, and submission form for portal upload.

JSON-Repair Loop

Every LLM call decodes into a typed Swift struct. If the model returns malformed JSON, the raw text is round-tripped back to the model with the target schema and a repair prompt before the pipeline gives up — no silent failures.

Run History + Demo Library

Every run saves logs, policies, binder, letter, and packet into Run History with a full detail sheet. Ships with 15+ realistic Demo Fill scenarios — step-therapy failures, rare disease, CAR-T, adversarial traps — so demos never depend on live PHI.

Inside the Product

A native macOS app built for clinical workflow.

Every screen is designed for healthcare operators who need speed, clarity, and a full audit trail — not another SaaS dashboard.

CanyonRift Dashboard showing 25 total runs, 84% success rate, and quick actions New Authorization Run form with patient information, procedure details, and CPT code Payer selection with 12 supported insurance providers and document upload Run History showing completed authorization runs with completion times Learning module with payer persona rules and denial patterns

Dashboard — Real-time stats, incomplete run alerts, and quick actions. Operators see system health at a glance.

Architecture

Built on a native, streamable stack.

Layer
Technology
Role
Interface
SwiftUI · macOS 14+
Native admin console with live run telemetry.
Reasoning
Fireworks AI · Llama 3.3 70B
Clinical triage, synthesis, and appeal drafting.
Web Agents
TinyFish API · search + fetch
Parallel browser research — one agent per selected payer.
Live Preview
WebKit · WKWebView
Live view of the active agent navigating payer portals.
Documents
PDFKit · WKWebView HTML→PDF
Clinical document viewer and native binder/letter PDF export.
Streaming
Server-Sent Events
Real-time LLM token streams and agent log entries.
Run Persistence
MongoDB Atlas · MongoKitten
Run history with a local JSON fallback when Atlas is unreachable.
Learning Store
Actor-serialized JSON
Persisted payer personas and denial analyses on local disk.

Get in Touch

Run a pilot with your authorization team.

We're onboarding a small number of clinics and health systems. Use your professional hospital or enterprise email — personal addresses (Gmail, Outlook, Yahoo) are not accepted.

OR

Want to see it in action sooner? Skip the line and book instantly.

Book via Calendly