flatlaws

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

Unverified024
Email Verified2544
Verified4569
Trusted7084
FlatLaws Certified85100

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 kindPointsDecaySource
email_verified+512 monthsOTP code delivered to provider's email
phone_otp_verified+512 monthsOTP code via SMS to provider's phone
bar_lookup_passed+2512 monthsProvincial bar's Find-a-Lawyer tool confirms current licensure
id_document_verified+1036 monthsGovernment-issued photo ID confirmed by FlatLaws operator
business_registration_verified+824 monthsProvincial corporate registry confirms the firm name
liability_insurance_attested+512 monthsProvider attests to current professional liability insurance
address_verified+536 monthsPostal verification (postcard + token)
physical_office_visited+1060 monthsOperator (or trusted partner) physically visited the office
peer_attestation_received+524 monthsAnother bar-verified provider publicly attests (max 3 = +15)
media_appearance+3Confirmed appearance in mainstream legal/news media (max 3 = +9)
published_practice_writing+2Confirmed authored practice articles (max 3 = +6)
cle_completion_attested+312 monthsProvider 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.