← back to Lawyer Directory Builder
COMPLIANCE.md
109 lines
# Counsel & Bar — California Legal Compliance Notes
**Status:** Pre-launch internal notes. Not legal advice. Do not rely on this in lieu of consulting a CA-licensed business attorney before public marketing or paid acquisition.
**Last reviewed:** 2026-05-02 (Steve + Claude session)
---
## 1. Cal. Bus. & Prof. Code § 6155 — Lawyer Referral Service certification
### What it says
> "An individual, partnership, corporation, association, or any other entity shall not operate for the direct or indirect purpose, in whole or in part, of referring potential clients to attorneys… unless [it] holds a certificate from the State Bar."
### Why it matters here
The current `/find-a-lawyer` flow:
1. Consumer submits a case description, practice area, ZIP, urgency, budget
2. Server runs `match_firms.ts` (zip-centroid + haversine + bounding box)
3. Lead is routed to 3-5 matched firms in `leads.matched_firm_ids`
4. The page promises "we put it in front of three to five matched counsels within twenty-four hours"
That is **textbook §6155 referral activity**. The fee structure ($499 EZ Upgrade, $29/mo Lawyer Pro, data marketplace) doesn't change that — §6155 applies to **direct or indirect** referral, regardless of how the operator monetizes.
### What §6155 + Rule 3.830-3.836 actually require
- **LRS certification** by the State Bar of California
- **Tariff filed** disclosing referral fees
- **Annual operations report** to the State Bar
- **Geographic and practice-area panels** with non-discriminatory attorney admission criteria
- **Mandatory client-protection trust account**
- **Specific advertising disclosures** (must include cert number, must say "California Lawyer Referral Service")
- **No fee-splitting** between LRS and panel attorneys above a regulated cap
- Annual fees + setup costs (varies; budget several thousand dollars year 1)
### Three paths forward
**Path A — Get certified.** Apply for LRS certification. Roughly 6 months end-to-end. Required if the matching feature is the core value prop.
**Path B — Restructure to a directory.** Drop the active matching/routing. Become a passive **directory + claim/advertising** product:
- Lawyers list (free or paid)
- Consumers browse, filter, click direct contact
- No "we route you" promise
- No matched_firm_ids in leads — leads, if collected, go only to the user (consumer), not pushed to firms
This pattern is exempt from §6155 (Rule 3.830 cmt. 1: "directories are not LRSes"). Examples: Avvo (directory), Justia, Martindale.
**Path C — Hybrid.** Run as a directory, but offer attorney-tier subscribers a **shared inbox** of consumer-submitted leads they self-serve from. Avoid words like "match," "refer," "route." Position consumer submissions as "client-initiated direct contact requests, broadcast to firms whose self-listed practice areas match." This is grayer; needs the attorney's review.
### Recommendation
Until LRS certification is in hand, **change the lead flow** before any public marketing push:
- `/find-a-lawyer` form copy: drop "we put it in front of three to five matched counsels"
- Backend: stop populating `matched_firm_ids`, stop emailing leads to firms
- New flow: lead → admin queue → manual outreach (Steve), or → consumer self-serve directory results page
- Migration plan tracked in §3 below
---
## 2. Cal. Rules of Prof. Conduct 7.1 / 7.2 / 7.3 / 7.5 — attorney advertising
These rules apply to **attorneys** advertising their services. They reach Counsel & Bar **indirectly** because the platform displays attorney content and may be deemed to publish on attorneys' behalf.
### Concrete risks
| Issue | Where it shows up | Fix |
|---|---|---|
| **Misleading firm names** (Rule 7.5) | `/showcase` mockups invent firm taglines like "$184M recovered" — if displayed publicly with the real firm's name, that's a 7.5/7.1 false-statement-of-recovery violation | Either (a) the giant **MOCKUP** banner stays prominent and the page header makes 100% clear these are concept designs, OR (b) strip the placeholder stats from variants A/B/C and use only generic copy |
| **Comparative claims** | "Best California attorney" / "highest rated" — must be substantiated | Don't make subjective superlative claims without source data + footnote |
| **Schema.org structured data** | Adding `LegalService` / `Attorney` JSON-LD with placeholder ratings = false advertising for the firm | Don't inject schema until each firm's data is verified |
| **Mockup screenshot usage** | If a screenshot of a mockup goes into a sales email to the firm — the firm receives it and it's clearly a mockup. Low risk. | Continue requiring "Verify before publication" disclaimer on every mockup tile |
---
## 3. Brand-name risk
Adding the word **"Bar"** to a brand operating a referral service in California compounds §6155 risk by implying State Bar affiliation. The State Bar of California has historically pursued cease-and-desist against names creating that implication.
**Decision:** before public launch, choose a brand that does NOT contain "Bar," "Esq," "California State," or any term implying government/regulatory affiliation. Top alternates from the 2026-05-02 search:
- `counsel.law` (premium TLD, strongest brand)
- `briefandcounsel.com`
- `counselgrade.com`
Avoid: `counselandbar.com`, `lawyerbar.com`, anything with "Bar" or "California Bar."
---
## 4. CCPA / CPRA — consumer data
The lead form collects: name, email, phone, ZIP, case description, urgency, budget, practice area.
- Add a **privacy policy** before public launch describing what's collected, how it's used, and CCPA opt-out rights (sale of personal info).
- Consumer data must NEVER be sold via the data marketplace. Marketplace sells only **State Bar public-record attorney data** + publicly indexed firm contacts. Wall the two databases at the application layer (`leads` table is not a source for `data_orders`).
- Compliance footer on `/data` already covers this. Verify it stays there.
---
## 5. Action items before public launch
| # | Action | Owner | Status |
|---|---|---|---|
| 1 | Remove "we route to 3-5 matched counsels" copy from `/find-a-lawyer` | Steve | open |
| 2 | Decide §6155 path (A: cert / B: directory / C: hybrid) | Steve + CA-business-attorney consult | open |
| 3 | Pick non-"Bar" brand name (see §3 alternates) | Steve | open |
| 4 | Confirm mockup tiles always show MOCKUP banner before any external use | Done in `mockup_templates.ts` | ✓ |
| 5 | Privacy policy page | Steve | open |
| 6 | Wall leads table from data_orders queries | Steve / Claude | ✓ (already separate routers) |
| 7 | Have a CA business attorney review §6155 path before any paid acquisition | Steve | open |
---
**Bottom line:** the codebase is in good shape. The legal posture is not. None of these are tomorrow-emergencies, but they ARE before-public-marketing tasks. The §6155 question is the biggest one — it determines whether the matching feature stays as-is, gets replaced with a directory, or runs through a 6-month certification process.