Includes: API (Express/TypeScript), Astro site, Python workers, document generators, FCC compliance tools, Canada CRTC formation, Ansible infrastructure, and deployment scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
233 lines
12 KiB
Markdown
233 lines
12 KiB
Markdown
# State-by-State Automation Status — 52 Jurisdictions (50 States + DC + BC Canada)
|
|
|
|
**Last updated:** 2026-04-05
|
|
|
|
This document tracks the implementation status of name search and entity filing
|
|
automation for all 52 jurisdictions (50 states + DC + BC Canada).
|
|
|
|
## Status Legend
|
|
|
|
| Symbol | Meaning |
|
|
|--------|---------|
|
|
| WORKING | Tested and functional |
|
|
| READY | Selectors verified, needs Playwright testing |
|
|
| BLOCKED-CAPTCHA | Portal has CAPTCHA, needs solving service or manual step |
|
|
| BLOCKED-LOGIN | Portal requires account/login before search or filing |
|
|
| BLOCKED-WAF | Portal has Web Application Firewall blocking automation |
|
|
| BLOCKED-PAYMENT | Automation works up to payment step |
|
|
| NEEDS-RESEARCH | Portal not yet inspected |
|
|
| API | Uses REST API, no browser needed |
|
|
|
|
---
|
|
|
|
## Tier 1: API-Based Name Search (No Browser Needed)
|
|
|
|
| State | Code | Name Search | Filing | Portal | Notes |
|
|
|-------|------|-------------|--------|--------|-------|
|
|
| **Colorado** | CO | **WORKING (API)** | NEEDS-RESEARCH | data.colorado.gov | Socrata SODA API. Dataset 4ykn-tg5h. Free, no auth. Confirmed working with live test. |
|
|
|
|
### Other Potential Socrata States (Untested)
|
|
|
|
These states have open data portals that MAY have business entity datasets:
|
|
|
|
| State | Code | Socrata Domain | Dataset ID | Status |
|
|
|-------|------|---------------|------------|--------|
|
|
| Alaska | AK | data.alaska.gov | Unknown | NEEDS-RESEARCH |
|
|
| Connecticut | CT | data.ct.gov | Unknown | NEEDS-RESEARCH |
|
|
| Illinois | IL | data.illinois.gov | Unknown | NEEDS-RESEARCH |
|
|
| Iowa | IA | data.iowa.gov | Unknown | NEEDS-RESEARCH |
|
|
| Michigan | MI | data.michigan.gov | Unknown | NEEDS-RESEARCH |
|
|
| New York | NY | data.ny.gov | Unknown | NEEDS-RESEARCH |
|
|
| Oregon | OR | data.oregon.gov | Unknown | NEEDS-RESEARCH |
|
|
| Pennsylvania | PA | data.pa.gov | Unknown | NEEDS-RESEARCH |
|
|
| Vermont | VT | data.vermont.gov | Unknown | NEEDS-RESEARCH |
|
|
| Washington | WA | data.wa.gov | Unknown | NEEDS-RESEARCH |
|
|
|
|
**Action needed:** Search each Socrata domain for business entity datasets. If found, these states can use API-based name search like Colorado.
|
|
|
|
---
|
|
|
|
## Tier 2: Selectors Verified (Ready for Playwright Testing)
|
|
|
|
| State | Code | Name Search | Filing | Portal | Key Selectors | Barriers |
|
|
|-------|------|-------------|--------|--------|---------------|----------|
|
|
| **Wyoming** | WY | **READY** | NEEDS-RESEARCH | wyobiz.wyo.gov | Name: `#MainContent_txtFilingName`, Search: `#MainContent_cmdSearch`, Contains: `#MainContent_chkSearchIncludes` | ASP.NET WebForms postback. No CAPTCHA on name search. |
|
|
| **Delaware** | DE | **BLOCKED-CAPTCHA** | BLOCKED-CAPTCHA | icis.corp.delaware.gov | Name: `#ctl00_ContentPlaceHolder1_frmEntityName`, FileNo: `#ctl00_ContentPlaceHolder1_frmFileNumber`, Submit: `#ctl00_ContentPlaceHolder1_btnSubmit`, CAPTCHA panel: `#ctl00_ContentPlaceHolder1_pnlCaptcha` | **CAPTCHA on every search.** Anti-scraping warning: "Use of automated tools may result in suspension." CAPTCHA image at `/Ecorp/CaptchaHandler.ashx`. Solving service (2captcha/anticaptcha) needed. |
|
|
| **Utah** | UT | **READY** | BLOCKED-LOGIN | secure.utah.gov | Entity search at `/EntitySearch/OnlineEntitySearch` (no login). Name availability at `/NameAvailabilitySearch` (no login). Filing requires UtahID login (OAuth). | Name search accessible without login. Modern web app (not ASP.NET). Filing requires UtahID OAuth. |
|
|
|
|
---
|
|
|
|
## Tier 3: Portal Requires Account/Login
|
|
|
|
| State | Code | Portal | Login Type | What's Needed |
|
|
|-------|------|--------|------------|---------------|
|
|
| **Texas** | TX | direct.sos.state.tx.us | SOSDirect account (client_id + password) | Regular subscription for filing. Temporary login available for searches (credit card required). Need to create SOSDirect account. Password expires every 90 days. |
|
|
| **Utah** | UT | secure.utah.gov | UtahID (OAuth) | Filing requires creating a UtahID account. Name search works without login. |
|
|
|
|
---
|
|
|
|
## Tier 4: Portal Blocks Non-Browser Requests (Need Playwright)
|
|
|
|
These portals returned 403 or similar when fetched without a real browser.
|
|
Playwright with stealth settings should work for these.
|
|
|
|
| State | Code | Portal URL | HTTP Status | Notes |
|
|
|-------|------|-----------|-------------|-------|
|
|
| **Florida** | FL | search.sunbiz.org | 403 | Blocks curl/fetch. Playwright should work. |
|
|
| **Ohio** | OH | businesssearch.ohiosos.gov | 403 | Same — blocks non-browser requests. |
|
|
| **California** | CA | businesssearch.sos.ca.gov | Connection refused | URL may have changed. Try bizfileonline.sos.ca.gov. |
|
|
|
|
---
|
|
|
|
## Tier 5: WAF/Anti-Bot Protection
|
|
|
|
| State | Code | Portal | Protection | What's Needed |
|
|
|-------|------|--------|-----------|---------------|
|
|
| **Nevada** | NV | esos.nv.gov | Incapsula/Imperva WAF | Returns Incapsula challenge page. Need Playwright with advanced stealth (random delays, mouse movements, browser fingerprint randomization). May need residential proxy. |
|
|
|
|
---
|
|
|
|
## Tier 6: Not Yet Researched (37 States)
|
|
|
|
| State | Code | Known Portal URL | Priority |
|
|
|-------|------|-----------------|----------|
|
|
| Alabama | AL | sos.alabama.gov | Low |
|
|
| Alaska | AK | commerce.alaska.gov | Medium (check Socrata) |
|
|
| Arizona | AZ | ecorp.azcc.gov | Medium |
|
|
| Arkansas | AR | biz.sos.arkansas.gov | Low |
|
|
| Connecticut | CT | service.ct.gov | Medium (check Socrata) |
|
|
| Georgia | GA | ecorp.sos.ga.gov | Medium |
|
|
| Hawaii | HI | hbe.ehawaii.gov | Low |
|
|
| Idaho | ID | sosbiz.idaho.gov | Low |
|
|
| Illinois | IL | apps.ilsos.gov | Medium (check Socrata) |
|
|
| Indiana | IN | bsd.sos.in.gov | Low |
|
|
| Iowa | IA | sos.iowa.gov | Medium (check Socrata) |
|
|
| Kansas | KS | kansas.gov/bess | Low |
|
|
| Kentucky | KY | app.sos.ky.gov | Low |
|
|
| Louisiana | LA | coraweb.sos.la.gov | Low |
|
|
| Maine | ME | icrs.informe.org | Low |
|
|
| Maryland | MD | egov.maryland.gov | Low |
|
|
| Massachusetts | MA | corp.sec.state.ma.us | Low |
|
|
| Michigan | MI | cofs.lara.state.mi.us | Medium (check Socrata) |
|
|
| Minnesota | MN | mblsportal.sos.state.mn.us | Low |
|
|
| Mississippi | MS | corp.sos.ms.gov | Low |
|
|
| Missouri | MO | bsd.sos.mo.gov | Low |
|
|
| Montana | MT | biz.sosmt.gov | Low |
|
|
| Nebraska | NE | sos.nebraska.gov | Low |
|
|
| New Hampshire | NH | quickstart.sos.nh.gov | Low |
|
|
| New Jersey | NJ | njportal.com/dor | Low |
|
|
| New Mexico | NM | portal.sos.state.nm.us | Medium |
|
|
| New York | NY | appext20.dos.ny.gov | Medium (check Socrata) |
|
|
| North Carolina | NC | sosnc.gov | Low |
|
|
| North Dakota | ND | firststop.sos.nd.gov | Low |
|
|
| Oklahoma | OK | sos.ok.gov | Low |
|
|
| Oregon | OR | egov.sos.state.or.us | Medium (check Socrata) |
|
|
| Pennsylvania | PA | file.dos.pa.gov | Medium (check Socrata) |
|
|
| Rhode Island | RI | business.sos.ri.gov | Low |
|
|
| South Carolina | SC | businessfilings.sc.gov | Low |
|
|
| South Dakota | SD | sosenterprise.sd.gov | Low |
|
|
| Tennessee | TN | tnbear.tn.gov | Low |
|
|
| Vermont | VT | bizfilings.vermont.gov | Medium (check Socrata) |
|
|
| Virginia | VA | cis.scc.virginia.gov | Medium |
|
|
| Washington | WA | ccfs.sos.wa.gov | Medium (check Socrata) |
|
|
| West Virginia | WV | apps.wv.gov | Low |
|
|
| Wisconsin | WI | apps.dfi.wi.gov | Low |
|
|
| DC | DC | corponline.dcra.dc.gov | Low |
|
|
|
|
---
|
|
|
|
## BC (British Columbia, Canada)
|
|
|
|
| State | Code | Name Search | Filing | Portal | Notes |
|
|
|-------|------|-------------|--------|--------|-------|
|
|
| **BC** | BC | Stubbed | Stubbed | corporateonline.gov.bc.ca | Part of Canada CRTC Carrier Package ($3,899). BC Registry uses Corporate Online portal (anonymous — no login required). Name reservation via bcregistrynames.gov.bc.ca. COLIN selectors need live session verification (Steps 5-12). |
|
|
|
|
BC adapter also handles (14-step pipeline in `services/canada_crtc.py`):
|
|
- Anytime Mailbox setup (329 Howe St, Vancouver) — implemented (Playwright + IMAP OTP)
|
|
- .ca domain provisioning via HestiaCP (cp.carrierone.com) — implemented
|
|
- Canadian DID via Flowroute — implemented
|
|
- CRTC registration letter — implemented (DOCX → MinIO → DocServer PDF)
|
|
- eSign portal — implemented (canvas signature, JWT auth, 72h expiry)
|
|
- BITS registration — implemented (Step 11: GCKey provisioning + admin ToDo)
|
|
- CCTS membership — implemented (Step 12: admin ToDo + client obligations email)
|
|
- Compliance calendar — implemented (Step 13: 17 entries — regulatory + tax + ATS)
|
|
- Corporate binder compilation — implemented (pikepdf + reportlab)
|
|
- GCKey provisioning — implemented (Playwright 5-step wizard, hCaptcha handling)
|
|
- Renewal lifecycle — implemented (renewal_worker.py daily cron)
|
|
|
|
### GCKey Automation Details
|
|
|
|
| Step | Status | Notes |
|
|
|------|--------|-------|
|
|
| Step 1 — Terms | **Verified** | `input[name=_eventId_accept]`, no CAPTCHA |
|
|
| Step 2 — Username | **Verified** | `input[name=uid][id=userID]`, hCaptcha invisible (sitekey mapped) |
|
|
| Step 3 — Password | Inferred | `input[type=password]` fields, hCaptcha likely |
|
|
| Step 4 — Security Q&A | Inferred | `select` dropdowns + text answer fields |
|
|
| Step 5 — Email/Confirm | Inferred | email field + submit |
|
|
|
|
hCaptcha solver integration stubbed — needs 2captcha/CapSolver API key for production.
|
|
|
|
---
|
|
|
|
## Filing Barriers (Universal)
|
|
|
|
These barriers apply to ALL states once name search is working:
|
|
|
|
1. **Payment processing** — Every state requires payment for filing. Most accept credit card via web form. Automating credit card entry requires PCI considerations. Options:
|
|
- Pre-funded SOSDirect-style accounts (TX, some others)
|
|
- Credit card entry via Playwright (risky, PCI compliance concern)
|
|
- Manual payment step (admin enters card in browser, automation fills rest)
|
|
|
|
2. **Document upload** — Some states require uploading signed Articles of Organization as PDF. Others have online forms that generate the document.
|
|
|
|
3. **Registered agent acceptance** — Some states require the RA to accept/confirm before filing completes. NW RA may handle this automatically for their wholesale partners.
|
|
|
|
4. **Publication requirements** — AZ and NY require newspaper publication after filing. This is a manual/semi-manual step that cannot be fully automated.
|
|
|
|
---
|
|
|
|
## Priority Implementation Order
|
|
|
|
Based on formation volume and customer demand:
|
|
|
|
1. **Wyoming** (WY) — Selectors verified, highest priority. No CAPTCHA.
|
|
2. **Colorado** (CO) — API working for name search. Need filing automation.
|
|
3. **Delaware** (DE) — Selectors verified but CAPTCHA blocks automation. Need solving service.
|
|
4. **Florida** (FL) — High demand. Needs Playwright (403 from curl). No CAPTCHA expected.
|
|
5. **Texas** (TX) — High demand. Need SOSDirect account. Temporary login for searches.
|
|
6. **Nevada** (NV) — High demand for privacy. WAF blocks. Need stealth Playwright.
|
|
7. **Utah** (UT) — Name search without login. Cheapest state. Filing needs UtahID.
|
|
8. **New Mexico** (NM) — Cheap, no annual fees. Untested portal.
|
|
9. **Ohio** (OH) — No annual fees. Needs Playwright (403).
|
|
10. **Montana** (MT) — Cheapest LLC ($35). Untested portal.
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
### Immediate (this session)
|
|
- [x] Verify Colorado Socrata API (CONFIRMED WORKING)
|
|
- [x] Extract Delaware selectors from live HTML
|
|
- [x] Extract Texas login requirements
|
|
- [x] Document Utah portal structure
|
|
- [ ] Test Wyoming name search via Playwright
|
|
- [ ] Search Socrata domains for more API-accessible states
|
|
|
|
### Short-term (next session)
|
|
- [ ] Set up 2captcha or anticaptcha integration for Delaware
|
|
- [ ] Create SOSDirect account for Texas
|
|
- [ ] Create UtahID account for Utah
|
|
- [ ] Fetch and extract selectors for FL, NV, CA, OH via Playwright
|
|
- [ ] Test name search on WY, UT, FL, OH via Playwright
|
|
|
|
### Medium-term
|
|
- [ ] Implement filing automation for WY (first state to go live)
|
|
- [ ] Implement filing automation for CO (second, API head start)
|
|
- [ ] Set up CAPTCHA solving for DE
|
|
- [ ] Research and extract selectors for remaining 37 states
|
|
|
|
### Long-term
|
|
- [ ] Complete all 52 jurisdiction name search implementations (50 states + DC + BC)
|
|
- [ ] Complete all 52 jurisdiction filing implementations
|
|
- [ ] Handle payment step for each state
|
|
- [ ] Set up monitoring for portal changes (selectors break when states update their sites)
|