Internal

Admin dashboard

Single-pane-of-glass for the on-call admin. Today, Apr 25 · all times in UTC · displayed in clinic's local timezone where applicable · Multi-province: timezone follows the clinic's registered province

Active clinics
42
+6 this month
Verified pros
187
+24 this month
OWNER ONLY
MRR (April)
$3,420
+18% vs Mar
OWNER ONLY
Annualized run rate
$41K ARR
Pre-PMF
Invoice Challenge
Founder-led agency markup analysis · 5-slot weekly capacity
Manage queue →
3
Active analyses
of 5 slots
2
Slots open
CTA: Submit invoices
4
Waitlist depth
Contacted in order
11
Completed
Lifetime analyses
for-clinics.html CTA state: Currently "Submit your invoices →" (2 slots open). Automatically switches to "Join the waitlist — we analyse 5 per week" when all 5 are filled. Phase 2: self-serve auto-calc removes cap entirely.
Active queue
ClinicStatusSLA
Bower, Red DeerIn analysisDue May 14
Riverbend, CalgaryInvoices requestedDue May 15
Gaetz Avenue, Red DeerComplete✓ Done
Waitlist (4 clinics — contact in order)
#1 Northland, Edmonton
#2 Sunrise Valley, Red Deer
#3 Maple Ridge, Calgary
#4 Aspen, Red Deer
Operations queue · needs your attention
All items SLA-tracked. Sorted by oldest first.
7 signups in review queue — oldest pending 18h, SLA 24h.
Pricing override needs dual approval — Maple, Edmonton, $59 platform fee (below Multi rate). Requested by S. Patel, awaiting your sign-off.
1 subscription past-due (3+ days) — Cottonwood, Lethbridge ($99/mo Clinic Pro). Auto-suspends in 4 days.
Verification queue clear — 0 pros awaiting manual review. Auto-verification at 94% pass rate this week.
Recent platform activity
TimeEventSubjectDetail
4 min agoShift filledBower, Red DeerPRO-7F2K9M · RDH · Apr 23 hygiene shift
12 min agoSignupReid, Red Deer CentreNew clinic · Calgary · auto-verified
1h agoOverride requestMaple, EdmontonBelow-Multi rate · awaiting dual approval
2h agoSubscriptionNorthland, EdmontonClinic Pro $99/mo · annual switch
3h agoDirect HireSunridge, Calgary → PRO-3R9XBK$10,200 conversion fee · 12% (0–4 shifts)
5h agoFlagAuto-flagged signupIP/device collision · admin review queued
YesterdayTier changeBower, Red DeerSolo → Growing (auto, rolling 30d)
System health
App uptime (30d) 99.97%
Postgres CPU 23%
Stripe webhooks All processing
Verification API CRDHA + CDSA OK
Email deliverability 98.6%
AI inference cost (mo) $22.40

Customers

All clinic accounts. Click any row for the full customer drawer.

All · 42 Solo · 18 Growing · 16 Multi · 6 Enterprise · 2 | Active · 39 Trial · 1 Past-due · 1 Suspended · 1 | With overrides · 3 Sorted by MRR contribution
Clinic Tier Subscription MRR Shifts (30d) Status Last activity
Maple, Edmonton
Calgary, AB · 4 locations
Enterprise DSO Suite $499 112 Active Override pending 12 min ago
Northland, Edmonton
Edmonton, AB · 2 locations
Multi-location Clinic Pro $99 54 Active 2h ago
Sunridge, Calgary
Calgary, AB
Multi-location Pay-as-you-go $0 38 Active 3h ago
Bower, Red Deer
Red Deer, AB
Pay-As-You-Go Pay-as-you-go $0 18 Active 4 min ago
Cottonwood, Lethbridge
Lethbridge, AB
Growing Clinic Pro $99 14 Past-due 3d Yesterday
Reid, Red Deer Centre
Calgary, AB
Solo Pay-as-you-go $0 0 Onboarding 12 min ago
Mountain View, Banff
Banff, AB
Solo Pay-as-you-go $0 6 Active 2 days ago
Foothills Family Dental
Calgary, AB
Solo Pay-as-you-go $0 0 Suspended 14 days ago
Showing 8 of 42 customers

Pricing overrides

Per-clinic pricing adjustments. All overrides are time-limited, fully audited, and dual-approval-gated below the Multi-location rate.

Locked guardrails (per CLAUDE.md §3 / Playbook II §9): Phase 1 flat rate active — volume tiers suspended. Dual approval required for any override below $49 PAYG rate. Triple approval (Tier 4 + Tier 5 + Founder) required for any override below $29 platform floor. The system enforces this at the database layer — single-signature submissions below threshold are rejected and queued for the second approver.
DSO Suite Custom per-shift rate
Sets clinics.per_shift_fee for DSO accounts. Requires dual approval. Floor: $29/shift (Clinic Pro floor — locked).
$
Minimum $29/shift (Clinic Pro floor)
 Dual approval required. Submission queues for second approver. Rate goes live only after both signatures. DSO Suite pricing: custom rate + $499/mo or $4,990/yr subscription.
Active · 3 Pending dual approval · 1 Expiring < 30d · 1 Archived
Clinic Override Reason Created by Effective Expires Status
Maple, Edmonton
Platform fee $59
vs $49 PAYG rate · −$10/shift · dual approval required
Strategic
DSO pilot · 4-location commit
S. Patel
Apr 25, 9:42 AM
May 1, 2026 Aug 1, 2026 Awaiting dual approval
Northland, Edmonton
Free interests +5/mo
Multi tier 15 → 20 free
Partnership
CE provider co-marketing
J. Roth
Apr 12
Apr 12, 2026 Oct 12, 2026 Active
Cottonwood, Lethbridge
Protection fee $8
vs $12 standard · −$4/shift
Recovery
Win-back from agency churn
J. Roth
Mar 15
Mar 15, 2026 May 15, 2026 Expiring <30d
Sunridge, Calgary
Direct Hire (12% — 0–4 shifts tier)
vs 12% (0–4 shifts tier)
Strategic
Volume DSO commit
J. Roth
Feb 28
Mar 1, 2026 Mar 1, 2027 Active
Full audit log retained. Every override creation, modification, approval, and revocation is logged with admin user ID, timestamp, before/after values, and justification. Audit data is append-only and retained for the lifetime of the clinic relationship plus 7 years.

Bulk feature toggles

Enable or disable a feature flag across all active clinics in one action. Every change writes one append-only audit row per clinic. Reason required.

Platform-wide flag control
Primary use: Phase 2 urgency surcharge activation across all clinics simultaneously
 Bulk actions write one audit row per active clinic. At 50 active clinics, a bulk toggle writes 50 append-only records. Reason field is mandatory — a minimum 10-character reason is required before any bulk action fires. This cannot be undone.
Feature flag Current state Min tier Affected clinics Bulk action
Urgency: Expedited surcharge
+$8/hr pro · +$4/hr platform · 24–72h shifts
ALL OFF Tier 3a+ 0 / 18 active clinics
Urgency: Priority surcharge
+$15/hr pro · +$7/hr platform · <24h shifts
ALL OFF Tier 3a+ 0 / 18 active clinics
Guaranteed minimum hours
Clinic can set guaranteed pay floor at shift posting
ALL ON Tier 3a+ 18 / 18 active clinics
Setup / notes time blocks
Paid setup + admin time declared at shift posting
ALL ON Tier 3a+ 18 / 18 active clinics
PC contractor pathway
Allow PC professional corporation engagements
ALL ON Tier 2+ 18 / 18 active clinics
Founding Clinic rate lock
$29/shift lifetime — contractual commitment
MIXED Tier 1 · Dual approval 3 / 18 active clinics
 Bulk toggles write one append-only row to clinic_feature_flags per active clinic — same structure as per-clinic toggles. No UPDATE or DELETE permitted. Every row includes: admin_id, reason, previous_state, timestamp.

Subscriptions

Paid subscription management. Renewal cadences fire automatically per Playbook V §4.3.

Active subscriptions
12
+3 this month
MRR contribution
$3,420
+18% MoM
Annual upgrades
3
25% of paid · 17% disc.
Past-due / suspended
1
4 days to suspension
All · 12 Active · 11 Trial · 0 Past-due · 1 Canceled · 0 | Clinic Pro · 9 DSO Suite · 3 | Monthly · 9 Annual · 3
Clinic Plan Cadence Amount Renews Churn risk Status
Maple, Edmonton DSO Suite Annual $4,990 Jan 12, 2027
Low
Active
Coast, Vancouver DSO Suite Monthly $499 May 8
Low
Active
Riverwest DSO DSO Suite Monthly $499 May 18
Low
Active
Northland, Edmonton Clinic Pro Annual $1,490 Apr 12, 2027
Low
Active
Eastside, Calgary Clinic Pro Monthly $99 May 3
Medium
Active
Cottonwood, Lethbridge Clinic Pro Monthly $99 Apr 22 (failed)
High
Past-due 3d
Heritage, Red Deer Clinic Pro Monthly $99 May 14
Low
Active
Automated reminder cadence
Per Playbook V §4.3 · all sends Stripe-hosted billing portal links
30d before
Annual subscribers
7d before
All subscribers
1d before
All subscribers
Day of fail
Update payment
Day 3 fail
Final notice
Day 7 fail
Auto-suspend

Signup review queue

Flagged signups awaiting manual approval. SLA: 24h. Per Playbook V §7 four-layer defense.

In queue
7
3 over 12h old
Auto-pass rate (7d)
91%
Above 90% target
Avg review time
14h
Under 24h SLA
Rejection rate (7d)
8%
Stable
All flagged · 7 Layer 2 (regulator) · 2 Layer 3 (behavioral) · 4 Multi-flag · 1 | Clinic · 3 Pro · 4
Pending review · oldest first
Each row shows the flag layer and evidence bundle. Click to review.
3 flags Layer 2 + 3 Clinic signup 18h in queue · SLA breach in 6h
"Bridgewater, Calgary"
[email protected] · Calgary, AB
Why flagged: Primary contact name "Sarah Chen" matches a registered RDH in CRDHA · same IP created a pro signup 4 hours earlier · email domain reuse across both audiences.
1 flag Layer 2 Pro signup 14h in queue
"Marcus L., RDA"
[email protected] · Edmonton, AB
Why flagged: CADA registry returned 2 ambiguous matches for "Marcus Lin" — name + initial pattern not unique. Manual disambiguation needed against licence number.
1 flag Layer 3 Pro signup 12h in queue
"A. Thompson, RDH"
[email protected] · Lethbridge, AB
Why flagged: Signup IP geolocated to Vancouver, BC; declared province Alberta. Possible relocation, possible VPN — manual check needed.
1 flag Layer 3 Clinic signup 8h in queue
"Gentle Touch, Red Deer"
[email protected] · Red Deer, AB
Why flagged: CRA business number verification returned partial match — registered legal name slightly differs from declared trade name. Likely legitimate; needs confirmation.
1 flag Layer 3 Pro signup 6h in queue
"Daniel K., DDS"
[email protected] · Calgary, AB
Why flagged: Same device fingerprint used for a different pro signup 11 days ago (subsequently approved). Possible shared device — confirm.
1 flag Layer 3 Clinic signup 4h in queue
"Aspen Family, Red Deer"
[email protected] · Canmore, AB
Why flagged: Email address uses free provider (gmail.com) where business domain is required at signup. Edge case — small clinic may not have a domain yet.
1 flag Layer 2 Pro signup 2h in queue
"Olivia W., RDH"
[email protected] · Edmonton, AB
Why flagged: CRDHA directory returned 0 results for licence number. Number may be transposed; manual verification advised.

Pros

All verified professionals. Identity displayed at admin Tier 3 access — full names visible to admins, masked to clinics until interest accept.

Verified pros
187
+24 this month
Active (last 30d)
142
76% utilization
Top Tier (90+)
38
+5 this month
Read-only (lapsed)
2
Awaiting renewal
All · 187 Active · 142 Stage 2 (score frozen) · 12 Dormant · 8 Inactive · 25 | Hygienist · 98 Dentist · 41 Assistant · 44 Therapist · 4 | Top Tier · 38 Established · 89 Developing · 56 Restricted · 4 | Read-only · 2 Sorted by reliability score
ProRoleEngagement typesReliabilityShifts (30d)StatusLast shift
SC
Sarah Chen
Calgary, AB · 7yr
RDH Flex · Locum
94Top Tier
12 CRDHA 2 days ago
PS
Priya Sharma
Calgary, AB · 5yr
RDH Locum · Permanent
91Top Tier
8 CRDHA 5 days ago
DK
Daniel Kim, DDS
Edmonton, AB · 9yr
Dentist Associate · Locum
82Established
6 CDSA Yesterday
ML
Marcus Lin
Edmonton, AB · 3yr
RDA Flex
76Established
4 CADA 3 days ago
OW
Olivia Wong
Edmonton, AB · 4yr
RDH Locum · Associate
85Top Tier
7 CRDHA Today
AT
Anika Thompson
Calgary, AB · 1yr
RDH Flex
62Developing
2 Renewing 11 days ago
RB
Robert Brown
Red Deer, AB · 6yr
RDA Locum
54Restricted
0 Lapsed 26 days ago
Reliability tiers (admin view only — not exposed to users): 90+ Top Tier · 75-89 Established · 60-74 Developing · <60 Restricted. Rolling recent window. Composite from 4 weighted components — weights are confidential and never displayed publicly per moat protection rule.

Transactions

Every billed shift, Direct Hire conversion, and subscription charge. Stripe Connect application_fee model — full fee breakdown per row.

Transactions (April)
328
+42 vs March
OWNER ONLY
Gross volume
$31.2K
+18% MoM
OWNER ONLY
Platform revenue
$28.4K
91% of volume
Stripe fees absorbed
$1,142
3.7% of platform rev
All · 328 | Shift fees · 312 Direct Hire · 4 Subscriptions · 12 | Succeeded · 326 Failed · 1 Refunded · 1
DateTypeClinic → ProGrossPro receivesPlatformStripeNetStatus
Apr 25, 11:32Shift feeBower, Red Deer → PRO-7F2K9M$513$464$49−$1.78$47.22Succeeded
Apr 25, 09:14Shift feeNorthland → PRO-3R9XBK$489$408$81−$2.72$78.28Succeeded
Apr 24, 16:08Direct HireSunridge → PRO-3R9XBK$10,200$10,200−$412.10$13,787.90Succeeded
Apr 24, 14:22Shift feeMountain View, Banff → Daniel K.$724$632$92−$3.20$88.80Succeeded
Apr 24, 09:00SubscriptionMaple, Edmonton$4,990$4,990−$145.01$4,844.99Succeeded
Apr 23, 18:45Shift feeReid, Red Deer → Marcus L.$489$408$81−$2.72$78.28Succeeded
Apr 22, 14:30SubscriptionCottonwood, Lethbridge$149$149 Failed
Apr 22, 11:15Shift feeHeritage, Red Deer → Olivia W.$513$464$49−$1.78$47.22Succeeded
Apr 21, 16:42Shift feeEastside → Anika T.$489$408 (refunded)$81 (refunded)$0 (refunded)$0 Refunded
April fee breakdown · Stripe Connect
Application_fee model — clinic charged, pro paid (100% wages), platform receives application_fee. PCI-DSS L1 inherited from Stripe.
Owner · Tier 1 only
Gross volume
$31,210
Pro wages
$22,160
Platform revenue
$28,442
Stripe fees (2.9% + $0.30)
$905
Stripe Connect (0.25%)
$78
Express payouts ($2 × 80)
$160
Net platform revenue (April)
$27,299

Production: render entire card only if JWT claim role === 'owner'. All $ amount exports also restricted to Owner.

Verification

Manual verification queue. Auto-verification at 94% pass rate this week. Items here failed auto-match (Layer 3 of Playbook V §8.3) and need human disambiguation.

In queue
2
Both within SLA
Auto-verified (7d)
94%
Above 90% target
Re-verifications (mo)
187
100% coverage
Lapsed → read-only
2
Renewal pending
Initial verification queue · awaiting manual disambiguation
Auto-verification returned ambiguous or zero matches. Cross-check against regulator portal manually.
Ambiguous CADA Submitted 6h ago
Marcus Lin · RDA
Edmonton, AB · Licence: CADA-2024-08-1247
Open CADA portal
Why manual: CADA registry returned 2 matches for "Marcus Lin" — one in Edmonton, one in Calgary. Licence number provided uniquely identifies the Edmonton record. Confirm visually against portal.
Not found CRDHA Submitted 2h ago
Olivia Wong · RDH
Edmonton, AB · Licence: CRDHA-19847
Open CRDHA portal
Why manual: CRDHA directory returned 0 results for licence number 19847. Possible transposition (98147? 19487?). Pro contacted via support email; awaiting clarification.
Lapsed credentials · read-only mode active
Continuous re-verification detected expired or suspended licences. Pros cannot accept new shifts until status restored.
ProRoleLicenceDetectedStatusAction
Anika Thompson RDH CRDHA-12892 5 days ago Renewal pending
Robert Brown RDA CADA-2018-04-0847 11 days ago Lapsed (no renewal)
Continuous monitoring (Playbook V §8): All 187 verified pros are re-checked monthly against their respective regulator (CRDHA / CDSA / CADA). Expired or suspended status moves the pro to read-only automatically; existing booked shifts are not auto-cancelled — admin team evaluates regulatory specifics before clinic notification. Audit log retained 7+ years.

Disputes

Timesheet disputes, circumvention flags, and general grievances. Dispute mediation is bundled in the protection fee per Playbook V §3.

Open disputes
1
SLA OK
Resolved (30d)
7
Avg 1.4 days to close
Circumvention flags
3
2 archived (Tier 3 fuzzy)
Dispute rate
2.1%
Below 3% target
Open · 1 Resolved · 7 Archived · 2 | Timesheet · 1 Circumvention · 3 Conduct · 0
Open dispute
1 active mediation in progress.
Timesheet Mediation in progress Day 2 of 5 · pro response received
Eastside, Calgary ↔ Anika Thompson
Apr 21 shift · 8h posted, 6.5h disputed by clinic
Clinic position
Pro left at 2:30 PM citing personal emergency. Disputes 1.5h of submitted time. Practice manager confirms departure timestamp via clinic management software.
Pro position
Acknowledges early departure. Submits that 1h was paid lunch (mid-shift, on premises) and 0.5h is fair gap. Requests 7.5h compromise.
Recommended resolution: Approve 7.0h (8h posted − 1h actual gap, lunch counted per Alberta labour standard). Refund $58 to clinic. Both parties notified. Outcome saved to dispute ledger.
Circumvention flags · Tier-classified per Playbook IV-B
Auto-detected pattern matches. Tier 1 = exact match (auto-queue) · Tier 2 = high confidence (human review) · Tier 3 = fuzzy (archive only).
FlagTierPro / ClinicPatternDetectedStatus
#FL-2026-0412 Tier 2 Daniel K. ↔ Mountain View, Banff Shift cancelled within NCA window · pro hired by clinic 9 days later (LinkedIn signal) Apr 12 Awaiting evidence bundle
#FL-2026-0319 Tier 3 Olivia W. ↔ Heritage, Red Deer Name + city + timing fuzzy match (low confidence) Mar 19 Archived (no action)
#FL-2026-0228 Tier 3 Marcus L. ↔ unknown clinic Pattern match below confidence threshold Feb 28 Archived (no action)
Resolution principles: Mediation is included in the platform's bundled protection coverage. Admin team has authority to recommend resolution; both parties must accept or escalate to formal arbitration (Alberta governing law, per ToS §11). Tier 1 circumvention exact matches trigger NCA enforcement workflow with counsel review. Tier 3 fuzzy matches are stored but not actioned to prevent false-positive harassment.

Communications

Admin-initiated outbound messaging. Transactional sends fire automatically; this panel governs announcements, marketing, and platform notices.

Sends (April)
4,218
All channels
Open rate (avg)
62%
Above 50% target
Bounce rate
0.8%
Below 2% threshold
Spam complaints
0.02%
Healthy
Active campaigns
Scheduled and currently sending.
CampaignAudienceChannelScheduleStatus
April platform update
New CE pipeline export feature
Pros · 187 Email Tomorrow 9:00 AM Scheduled
Reliability tier announcement
Top Tier badge unlock — 38 pros
Pros · 38 Email Apr 28 Scheduled
Q2 clinic newsletter
Quarterly update + 2 case studies
Clinics · 42 Email (Resend) May 1 Draft
Past-due reminder
Cottonwood, Lethbridge · 3 days past
Clinic · 1 Transactional (SES) Auto (cadence active) Sending
Channel mix
Transactional (SES) 3,840
Receipts, alerts, reminders. ~$0.50/mo cost.
Marketing (Resend) 378
Newsletters, drip. Separate DKIM domain.
Per Playbook VI §5.3: Transactional and marketing always sent from separate subdomains with separate DKIM keys.
System-driven reminder cadences
Automated transactional flows. Configurable in Settings → Cadences. Public-facing language is moat-protected.
CadenceAudienceTriggerStatusLast sent
Subscription renewal
7-step cascade
Subscribers · 12 Approaching renewal date Active 2h ago
Timesheet submission
Pro-side reminder
Pros · 12 active shifts Shift completion + delay Active 5h ago
Timesheet approval
Clinic-side reminder
Clinics · 8 awaiting Pro submitted + delay Active Yesterday
Credential renewal
Advance warning sequence
Pros · 8 expiring <90d Approaching expiry Active 3 days ago
Onboarding nudge
Incomplete signup recovery
Inactive · 4 Signup completion delay Active Today

Analytics

Platform-wide metrics. Updated hourly. Click any KPI for the underlying cohort.

Monthly Recurring Revenue
$3,420
+18% MoM
Annualized Run Rate
$41.0K
Pre-PMF
Net Revenue (April)
$27.3K
+18% MoM
Infrastructure / MRR
1.2%
Within 1-2% target
Signup funnel · Clinics (last 30d)
Land → signup → onboarded → first shift posted → first shift filled.
Landed on for-clinics 1,842
Signup started 142 7.7%
Account verified 98 5.3%
Onboarded (NCA signed) 67 3.6%
Posted first shift 52 2.8%
First shift filled · ACTIVATED 42 2.3%
Cohort retention · Clinics
% still posting shifts in given month after signup.
CohortSizeM1M2M3
Jan 202614100%93%86%
Feb 202611100%91%
Mar 202613100%
Apr 20264In prog.
Healthy retention. 86% M3 retention vs. 65-75% B2B SaaS benchmark. Suggests genuine value delivered post-activation.
Operations metrics (last 30 days)
MetricCurrentTargetStatusTrend
Shift fill rate87%≥85%On target +3pp
Time-to-fill (median)11h≤24hOn target Improving
Auto-verification pass rate94%≥90%On target +2pp
Dispute rate2.1%≤3%On target Stable
No-show rate1.2%≤2%On target Improving
Direct Hire conversions4≥2/moAbove target +1 vs Mar
Subscription churn0%≤5%On target No churn yet
NPS (clinics, n=18)+62≥+40Strong Stable

Referral fraud review queue

Soft-flagged referrals pending review. Auto-approves after 48 hours if no admin action taken. Hard rejections never appear here.

 Hard rejections are permanent and cannot be overridden. Only soft flags appear in this queue. Approving or rejecting a soft flag is logged to the audit trail with your admin ID.
Referring clinicReferred clinicFlag typeFlaggedAuto-approve inActions
Riverbend, Calgary Pending Clinic A
Signed up May 12
same_ip May 12 · 14:22 38h 14m
Gaetz Avenue, Red Deer Pending Clinic B
Signed up May 13
fast_conversion May 13 · 09:05 21h 53m
All actions are append-only logged to referral_fraud_queue. Approved referrals trigger credit issuance immediately. Rejected referrals are permanent — no credit is ever issued.
Posting lock Tier 3a+
Login: allowed
View records: allowed
Post new shifts: blocked
Existing shifts: protected
Use for: payment hold, cure breach, minor violation
Read-only Tier 2+
Login: allowed
View records: allowed
All actions: blocked
Shift posting: blocked
Use for: dispute investigation, compliance hold
Full suspension Tier 2 + co-sign
Login: blocked
All access: blocked
Confirmed shifts: reviewed
Lift: Tier 2 co-sign
Use for: ToS violation, fraud, non-payment 72h+
Active locks
Clinic Lock type Source Reason Applied Applied by Actions
Riverbend, Calgary
Calgary, AB · Pay-As-You-Go
Posting lock System Payment default — Stripe charge failed. 72h retry window open. May 12 · 09:14 System · auto
Gaetz Avenue, Red Deer
Red Deer, AB · Founding Clinic
Posting lock System Founding Clinic cure breach — below 3 shifts/quarter. 30-day cure window active. Day 15 of 30. Apr 28 · 00:00 System · auto
Maple Ridge, Calgary
Edmonton, AB · Clinic Pro
Full suspension Admin ToS violation — confirmed circumvention event. Pending NCA review and legal escalation. May 10 · 14:22 J. Roth (Tier 3a)
System trigger status
Automated locks — actor: system · append-only audit log
Payment default
Stripe charge fails → posting lock applied immediately
Retry at 24h and 48h automatically
72h unresolved → full suspension
Pro paid from $2,000 reserve fund at 72h
Founding Clinic cure breach
Below 3 shifts/quarter → posting lock
30-day cure window · D1, D15, D28 notifications
Cured → lock auto-lifts, rate preserved
Expired → rate reverts to PAYG permanently
PC lapse (pro-side)
PC registration lapsed → pro posting lock
72h resolution window · pro notified D1
Resolved → lock lifted, PC elections restored
Unresolved → auto Employee reclassification
Lock audit log
Append-only · no UPDATE or DELETE · 7-year retention
Timestamp Clinic Action Lock type Actor Reason (min 20 chars)
May 12 · 09:14 Riverbend, Calgary Lock applied Posting lock System · payment_default Stripe charge rejected for shift #4821. Automatic posting lock per payment default protocol.
May 10 · 14:22 Maple Ridge, Calgary Lock applied Full suspension J. Roth (Tier 3a) Confirmed circumvention event — pro R.H. contacted directly after interest-send. NCA clock confirmed running from Apr 30. Legal escalation initiated.
Apr 28 · 00:00 Gaetz Avenue, Red Deer Lock applied Posting lock System · cure_breach Founding Clinic activity below threshold — 1 completed shift in Q1 (minimum: 3). 30-day cure window started.
Apr 15 · 11:08 Parkland, Spruce Grove Lock lifted Posting lock S. Patel (Tier 1) Payment resolved — Stripe charge succeeded on retry. Clinic confirmed payment method updated. Posting access restored.
Apr 14 · 08:45 Parkland, Spruce Grove Lock applied Posting lock System · payment_default Stripe charge failed — insufficient funds. Posting lock applied per payment default protocol. 72h retry window open.
-->

Audit log export

Append-only audit log — every platform event, immutable. Filter by any dimension and export for support, legal, or reconciliation. All exports include a SHA-256 integrity hash.

Audit retention: 7 years
Export via: [email protected]
 Export scope is tier-gated: Single clinic date range = Tier 4+  ·  All clinics date range = Tier 3a/3b+  ·  Full platform export (all time) = Tier 1 only  ·  Forensic export = Tier 1 via [email protected] only
Export filters
Preview & export
Timestamp (MT) Event type Clinic Professional Shift ID Amount Status Audit row ID
2026-05-14 09:14:22posting_lockRiverbend, Calgarysystema4f82c19
2026-05-13 16:45:11shift_completedBower, Red DeerPRO-7F2K9MSH-4821$513.00paidb9e34d07
2026-05-13 09:00:00checkin_gpsBower, Red DeerPRO-7F2K9MSH-4821verifiedc2a17f44
2026-05-12 14:22:08full_suspensionMaple Ridge, Calgaryadmind5f90a88
2026-05-11 11:33:45interest_sentBower, Red DeerPRO-7F2K9MSH-4821pendinge1b62c31
 Every export includes a SHA-256 integrity hash in the footer row, computed from the full exported dataset. This hash can be verified against the live database to confirm the export has not been altered — making it legally defensible for dispute resolution or regulatory submission.
Scheduled exports
Auto-deliver recurring exports to up to 3 email recipients via [email protected]
ClinicFrequencyRecipientsLast sentAction
Bower, Red Deer Weekly (Monday) [email protected] May 12, 2026

Direct Hire invoice

Manual billing for permanent-hire conversions. Enter salary and shift count — the system calculates the correct tier fee automatically. One confirmation charges the clinic's saved payment method.

 Internal only — Tier 3a+. Fee schedule never shown on public pages or clinic-facing UI.
 Year 1 waiver — Owner (Tier 1) only. Non-owners see the checkbox but cannot confirm — system rejects on submit.
The formula
Shifts completed → determines rate tier
First-year salary × rate tier = raw fee
Fee = max($1,500, min($15,000, raw fee))

The floor and cap are hard — the formula never produces a number outside $1,500–$15,000 regardless of salary or tier.

Invoice inputs
$
Owner · Tier 1 only Admin-only — never visible to clinics
Eligibility check (all must pass): (1) Clinic is within 12 months of account creation. (2) This is their first Direct Hire conversion. (3) Professional was introduced on platform ≥90 days ago. (4) NCA Protected Period still active.
⚠ Counsel ToS amendment required before activating. Every waiver is logged to audit trail with Owner ID + timestamp.
Sliding scale — rate tiers
Shifts completedFee rateOn $85,000 salary
0–4 shifts12%$10,200
5–14 shifts8%$6,800
15–29 shifts5%$4,250
30+ shifts3%$2,550
Floor: $1,500 — fee never goes below this Cap: $15,000 — fee never exceeds this + GST: 5% added to final fee
Invoice preview
Enter inputs
Professional
Clinic
Shifts completed
First-year salary
Rate tier
Raw fee
Floor / cap applied
Direct Hire fee
GST (5%)
Total charged
Enter salary and shift count above to see calculation.
Payment method
Select a clinic to see saved payment method
One confirmation tap → Stripe charges saved payment method → Invoice generated → Audit log entry written
Recent Direct Hire invoices
DateClinicProfessionalShiftsFeeGSTTotal
Apr 24 Sunridge, Calgary PRO-3R9XBK 3 shifts $10,200 $510 $10,710
Mar 11 Bower, Red Deer PRO-7F2K9M 12 shifts $6,240 $312 $6,552

Late payment management

Three-strike retry protocol. Stripe auto-retries at 24h and 48h. Payment hold at first retry fail. Full suspension at 72h. Pro paid from reserve fund at suspension trigger.

1 suspended
2 on hold
1
Suspended
No access · 72h+
2
Payment hold
No new posts · 24–72h
0
First failure
Notified · <24h
$2,847
Reserve fund
Target: $3,200 (2× avg week)
Active cases
All state transitions append-only audit logged
Clinic Amount owed Shift Status Time in status Retries Pro paid? Action
Riverbend, Calgary
Visa ending 8391 — declined
$513.00 SH-4902 Suspended 76h 14min 2 / 2 ✓ Reserve paid
Gaetz Avenue, Red Deer
Mastercard ending 4471 — expired
$464.00 SH-4918 Payment hold 31h 02min 1 / 2 Shift not yet complete
Maple Ridge, Calgary
Visa ending 2281 — insufficient funds
$578.00 SH-4925 Payment hold 48h 55min 2 / 2 Shift complete — suspending at next check
Three-strike timeline
D0
Charge fails
Status → payment_failed. Email + in-app notification sent. No posting restriction yet.
D1
Stripe auto-retry 1 (24h)
Retry fails → status → payment_hold. No new shift posts. Confirmed shifts protected. Email + notification.
D2
Stripe auto-retry 2 (48h)
Retry fails → still payment_hold. Email + notification. 72h suspension window opens.
D3
Full suspension (72h unpaid)
Status → suspended. No post/browse/access. If shift complete: pro paid from reserve fund. Debt logged for collection.
Why confirmed shifts are protected: cancelling accepted shifts harms the pro regardless of clinic payment status. Platform absorbs short-term risk; clinic debt collected separately.
Lift suspension
Appends suspension_lifted entry to audit log. Immediate access restoration.
Reserve fund
Below target
$2,847
Current balance
$3,200
Target (2× avg week)
Target = 2× rolling 4-week average weekly pro payout. Recalculated monthly. Reserve held in ring-fenced Stripe balance. Replenished from platform fee revenue when clinic debt is collected.
$513 disbursed to PRO-7F2K9M from reserve (Riverbend, Calgary — SH-4902). Replenish when debt collected.
Resolved — last 30 days
ClinicAmountShiftDays to resolveReserve usedResolved
Bower, Red Deer $513.00 SH-4711 1.5 days No May 8, 2026
Northland, Edmonton $464.00 SH-4688 4.2 days Yes — $464 from reserve Apr 29, 2026

Reliability score appeals

Pro-submitted appeals on score deductions. 48-hour review SLA. Ops Admin (Tier 3a) only. Every decision logged to audit table. Decision is final — no second appeal per event.

2 pending · 48h SLA
2
Pending review
8
Upheld (reversed)
14
Rejected
36%
Uphold rate
Pending review
Oldest first · 48h SLA from submission
PRO-7F2K9M
31h remaining
Shift: SH-4821
Deduction: −5 pts
Event: Late cancellation (<24h)
Event date: May 10, 2026
Submitted: May 12, 2026
Score after: 94
Appeal reason: Genuine emergency
"Family medical emergency — had to leave immediately. Tried to call clinic but no answer. This was completely outside my control."
Shift record (SH-4821)
Clinic:
Bower, Red Deer
Shift date:
May 10, 2026
Cancellation time:
6h before start
Cancellation reason:
Family emergency (pro stated)
Clinic notified:
Yes — 6h before
Prior cancellations:
0 in 90 days
Decision logged to audit table (append-only) · Pro notified immediately
PRO-3R9XBK
4h remaining
Shift: SH-4688
Deduction: −2 pts
Event: Check-in latency (>15 min)
Event date: Apr 2, 2026
Submitted: Apr 7, 2026
Score after: 88
Appeal reason: Technical issue
"GPS app froze when I arrived at the clinic. I was physically there at 8:58am but couldn't check in until 9:16am when I restarted the app. Clinic can confirm."
Shift record (SH-4688)
Clinic:
Riverbend, Calgary
Scheduled start:
09:00
GPS check-in time:
09:16 (+16 min)
Clinic confirmed late?
Not recorded
App error logged?
Checking system logs
Prior latency events:
0 in 90 days
Decision logged to audit table (append-only) · Pro notified immediately
Resolved appeals — last 30 days
All decisions final · Append-only audit log
Pro IDShiftEventDeductionDecisionReviewerResolved
PRO-7F2K9M SH-4511 No-show −15 pts Upheld J. Roth (3a) Mar 16
PRO-5T2NQW SH-4201 Late cancellation −5 pts Rejected — Policy applies J. Roth (3a) Jan 30

Content moderation

In-app messaging moderation queue. Auto-filter catches contact info & profanity; ML flags circumvention & harassment. All actions audit-logged.

Flagged messages
8
Pending review
Warnings issued (30d)
14
Across 9 unique users
Active mutes
2
Users currently muted
Suspended accounts
1
Awaiting admin reactivation
Escalation policy tiers
Progressive enforcement per Playbook VI — Chat & Messaging Policy
Tier 1 — Auto-filter
Profanity regex + contact info regex (phone, email, social handles). Message blocked, user warned in-chat.
Tier 2 — Warning
2nd offense in 30 days. Yellow warning issued, admin notified.
Tier 3 — 24h Mute
3rd offense. User cannot send messages for 24 hours.
Tier 4 — 7-day Suspension
4th offense. Account restricted, all active engagements paused.
Tier 5 — Permanent Suspension
5th offense or severe violation. Account locked. Requires admin reactivation.
Flagged messages
Auto-detected or reported — requires admin review
TimeSenderRecipientEngagementMessageFlag typeOffense #
Jun 21 · 08:14 Marcus L.
RDA · PRO-3KM8VQ
Eastside, Calgary SH-5103 "Hey, just text me at 403-555-0172 to confirm tomorrow's shift" contact_info 1
Jun 21 · 07:52 Priya S.
RDH · PRO-9NF4XT
Mountain View, Banff SH-5098 "This is f***ing ridiculous, you changed the hours AGAIN" profanity 2
Jun 20 · 16:30 Daniel K.
RDA · PRO-2JL7WN
Heritage, Red Deer SH-5091 "Great working with you! If you ever need someone outside the platform, just let me know" circumvention_attempt 1
Jun 20 · 14:05 Anika T.
RDH · PRO-6QP1YR
Southgate, Calgary SH-5087 "You can reach me at [email protected] for the paperwork" contact_info 3
Jun 20 · 11:22 Olivia W.
CDA · PRO-8BH3ZK
Crowfoot, Calgary SH-5082 "Your office is a joke. Worst-run clinic I've ever worked at. Don't bother requesting me again." harassment 1
Jun 19 · 15:48 Chelsea N.
RDH · PRO-5TV2GQ
Aspen Care, Red Deer SH-5076 "Have you tried TempStaff? Their rates are way better for hygienists" circumvention_attempt 1
Jun 19 · 10:15 Sarah M.
RDH · PRO-1DG5HL
Bridgeland, Calgary SH-5069 "Follow me on IG @sarah_rdh_yyc for my availability updates!" contact_info 1
Jun 18 · 09:33 Tyler B.
RDA · PRO-7FW2KP
Northland, Edmonton SH-5061 "Maybe if you paid better you wouldn't have to beg for temps on an app" user_report 4
Active sanctions
Currently muted or suspended users
UserTypeSanctionReasonAppliedExpires
Anika T.
PRO-6QP1YR
Pro Muted 24h Contact info sharing (3rd offense) Jun 20 · 14:20 ~6h remaining
Jordan R.
PRO-4CV9BM
Pro Suspended 7d Repeated circumvention attempts (4th offense) Jun 16 · 09:00 ~2d remaining
Northland, Edmonton
CLN-5XR8TJ
Clinic Permanent Harassment pattern (5th offense — severe) Jun 10 · 11:45 Indefinite
Recent moderation actions
Last 30 days · All actions audit-logged
DateAdminUserActionReasonNotes
Jun 20 Jamie R. Anika T. (PRO) Mute 24h 3rd contact info offense in 30d window Auto-escalated from Tier 2
Jun 16 Jamie R. Jordan R. (PRO) Suspend 7d 4th offense — circumvention attempts All active engagements paused
Jun 14 Alex P. Marcus L. (PRO) Dismissed Phone number was for emergency contact context Legitimate use — no action
Jun 10 Jamie R. Northland, Edmonton (CLINIC) Permanent suspension 5th offense — persistent harassment of temp staff Account locked, engagements cancelled
Jun 7 Alex P. Priya S. (PRO) Warning Profanity in message to clinic — 2nd offense in 30d Tier 2 warning issued
May 29 Jamie R. Sarah M. (PRO) Mute lifted 24h mute completed, no further incidents Auto-lifted at expiry
Chat retention & clearing policy: After an engagement ends, chat history enters a 14-day dispute window (read-only). After 14 days, messages are permanently purged. During the dispute window, either party can flag a conversation for admin review, which preserves it until the dispute is resolved. Metadata (timestamps, flag counts) is retained permanently for compliance.

Settings

Admin team, system configuration, audit log access. Tier 4-5 admins only.

Admin team
6-role, 5-tier hierarchy (Tier 3a = Ops Admin · Tier 3b = Finance). Tier 1 = Owner. Dual approval required below $49 PAYG rate.
AdminTierCapabilitiesLast active2FA
JR
Jamie Roth (you)
Tier 3a · Ops Admin Customers, Pros, Disputes, Verification, Standard feature flags Now Active Cannot self-edit
LB
Tier 3b · Finance Billing, reconciliation, Stripe reporting, credit/bonus issuance. No operational controls. 1h ago Active
Tier 1 · Owner All capabilities · dual approval · Founding Clinic rate lock · below-floor pricing 2h ago Active
MK
Tier 4 · Support View-only + ticket response. No financial figures. Yesterday Active
EA
External auditor
Tier 5 · Auditor Read-only across everything incl. audit log. Zero write actions. 14 days ago Active
Province expansion state
Four-state model per Playbook III.
Alberta Active
British Columbia Waitlist · 12
Ontario Waitlist · 27
All others (8) Off
System config
Public pricing visibility Hidden (locked)
Compute residency Canada (OVHcloud QC)
Storage residency Canada (Cloudflare R2)
NCA clickwrap version v1.0
ToS version v1.0
Privacy Policy version v1.0
Audit log retention 7yr + relationship
Audit log access
Append-only ledger. Every admin action, override, approval, rejection, and configuration change.
TimestampAdminActionSubject
2026-04-25 11:32:14S. Pateloverride.createMaple, Edmonton · platform fee → $59
2026-04-25 09:18:02J. Rothsignup.approveReid, Red Deer Centre · clinic signup
2026-04-24 16:08:55S. Pateldirecthire.confirmSunridge, Calgary → PRO-3R9XBK · $10,200
2026-04-24 11:42:31J. Rothverification.approveOlivia Wong · CRDHA-12892 · manual
2026-04-23 14:20:08Systemcredential.lapseRobert Brown · CADA expired · read-only
2026-04-22 14:30:00Systempayment.failCottonwood, Lethbridge · $149 · card declined
2026-04-21 16:42:11J. Rothtimesheet.refundEastside ↔ Anika T. · $489 → refunded
Security: 2FA mandatory for all admin tiers. SSO via Google Workspace required for Tier 4-5. Audit log is append-only — no admin (including Owner) can edit or delete entries. Forensic export available on request via [email protected].