Trust you can audit.
Every "Verified" badge on FlatLaws is earned through deterministic verification events. The algorithm is public. No badge can be purchased. No score can be inflated by payment or operator opinion.
The five trust buckets
Unverified0–24
Email Verified25–44
Verified45–69
Trusted70–84
FlatLaws Certified85–100
What earns points
Each verification event contributes a fixed number of points. Points decay linearly to 50% of value over the second half of their decay period, then are removed entirely. Self-attestation is worth ≤ 5 points; third-party-confirmed events dominate.
| Event kind | Points | Decay | Source |
|---|---|---|---|
| email_verified | +5 | 12 months | OTP code delivered to provider's email |
| phone_otp_verified | +5 | 12 months | OTP code via SMS to provider's phone |
| bar_lookup_passed | +25 | 12 months | Provincial bar's Find-a-Lawyer tool confirms current licensure |
| id_document_verified | +10 | 36 months | Government-issued photo ID confirmed by FlatLaws operator |
| business_registration_verified | +8 | 24 months | Provincial corporate registry confirms the firm name |
| liability_insurance_attested | +5 | 12 months | Provider attests to current professional liability insurance |
| address_verified | +5 | 36 months | Postal verification (postcard + token) |
| physical_office_visited | +10 | 60 months | Operator (or trusted partner) physically visited the office |
| peer_attestation_received | +5 | 24 months | Another bar-verified provider publicly attests (max 3 = +15) |
| media_appearance | +3 | — | Confirmed appearance in mainstream legal/news media (max 3 = +9) |
| published_practice_writing | +2 | — | Confirmed authored practice articles (max 3 = +6) |
| cle_completion_attested | +3 | 12 months | Provider attests to CPD/CLE compliance for current year |
What costs points
- bar_lookup_failed — automatic suspension, score → 0, account locked.
- dispute_upheld — −20 per upheld dispute, decays over 36 months.
- regulatory_discipline — −15 per public disciplinary record (auto-ingested from provincial regulators where feeds exist).
- stale_listing — −5 if no updates in 18 months and prices appear in past FlatLaws Pricing Index publications.
The pledge. No payment, partnership, or operator decision can inflate a provider's score. The full Postgres function that computes scores is published in our transparency repository and can be re-run on any provider's verification timeline to reproduce the score exactly.