new-site/docs/state-automation-status.md
justin f8cd37ac8c Initial commit — Performance West telecom compliance platform
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>
2026-04-27 06:54:22 -05:00

12 KiB

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)

  • Verify Colorado Socrata API (CONFIRMED WORKING)
  • Extract Delaware selectors from live HTML
  • Extract Texas login requirements
  • 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)