| Site ID | Name | Features | Tests |
|---|---|---|---|
| site_v_slds_branching | Bayshore Utility Assistance | conditional_fields, slds_controls, submission_capture | SLDS-style label-interception choice controls + PG&E-shaped branching (BR-1 regression) |
| site_w_probe_lockout | Harborview Aid Network | probe_lockout, submission_capture | Choice group that defeats every click strategy — probe must fail loud, not conclude linear |
| site_x_hidden_choice | Crestline Community Fund | hidden_native_choice, submission_capture | Custom widget hides native radio group (display:none) — locators never resolve; probe must abort, not certify linear |
| site_ab_decoy_forms | Foothill Family Alliance | decoy_forms, submission_capture | Search/newsletter decoy forms precede the real intake form in document order — extraction must rank forms, not take the first two |
| site_z_interaction_gated | Sierra Vista Energy Fund | interaction_gated_js, submission_capture | Form hidden until first real user-interaction event (WP Rocket delay-JS pattern) — crawler must nudge, then crawl normally |
| site_y_readback_echo | Meadowbrook Housing Trust | readback_echo, submission_capture | Two-page form whose step 2 echoes the entered income as display text — echo masking must black it out in stored screenshots |
| site_a_shelter | Hope House Shelter | submission_capture | Baseline shelter intake form |
| site_b_legalaid | Community Legal Aid Society | session_token, submission_capture | Session tokens, replay model validation |
| site_c_veterans | Veterans Resource Center | conditional_fields, submission_capture | Branching/conditional field visibility |
| site_d_food | Food For All Community Pantry | malformed_html, submission_capture | Malformed HTML, locator stress testing |
| site_e_housing | Safe Harbor Housing Alliance | captcha, sensitive_fields, submission_capture | Sensitive fields, consent, CAPTCHA detection |
| site_f_veterans_required | Veterans Resource Center (Disability Benefits Unit) | conditional_fields, submission_capture | Required conditional field — locator unresolved, Runner pre-flight must block |
| site_g_sensitive_nocaptcha | Community Support Services | sensitive_fields, sections, file_upload, consent, submission_capture | Sensitive fields without CAPTCHA — Runner can run end-to-end; halt test for new required field. Also fieldset/legend sections, an optional multi-file upload (max 3, 10MB), and an unsectioned consent checkbox |
| site_h_multiservice | Pacific Community Services | nested_navigation, submission_capture | Two-layer navigation — top nav plus program sub-nav; simple flat intake form |
| site_i_dynamic_form | Northwest Family Resources | nested_navigation, dynamic_form_fields, submission_capture | Two-layer navigation plus intake form with dynamic fields revealed by select/checkbox |
| site_j_paginated | Riverside Community Services | pagination, file_upload, consent, sections, multiple_rows, admin_fields, submission_capture | 3-page paginated intake (Step N of 3) with Next traversal, optional file upload, required consent checkbox, a repeatable Household Members section (max 5 rows), and admin fields (assistance, referral source, signature, review confirmation); terminal submit on page 3 |
| site_k_conditional | Cascade Mobility Services | pagination, cross_page_branching, submission_capture | Page 2 questions are conditioned on page 1 answers ('Given that you selected that you do not drive...'). No same-page branching, so only cross-page dependency detection catches it — Builder must flag cross_page_branching and abort |
| site_l_gated | Summit Benefits Access | scroll_gated_consent, accordion, details, iframe, sections, consent, submission_capture | Consent checkbox stays disabled until a scrollable terms box is scrolled to the bottom; a collapsed accordion hides a REQUIRED field; a block hides another; a same-origin iframe holds a scrollable notice. Tests prepare_page scroll/expand/iframe handling on arrival |
| site_m_login_gate | Gateway Housing Network | login_required, submission_capture | Login/account-creation gate before intake — Builder halts with login_required; Runner pre-flight blocks |
| site_n_payment | Meridian Transitional Housing | payment_field, submission_capture | Application-fee credit-card fields — Builder raises payment_field (blocking red flag) |
| site_o_invisible_captcha | Harbor Point Outreach | invisible_captcha, submission_capture | reCAPTCHA-v3-style score-based badge (no challenge widget) — captcha_type=invisible, Builder PROCEEDS (no halt) |
| site_p_crosspage_echo | Riverbend Services | cross_page_branching, echo_false_positive, submission_capture | Page 2 echoes the page-1 last_name value ('Testerson') with no conditional phrasing → cross_page_branching (medium) → abort. Second flow (/intake_safe) echoes only short/numeric values → NO abort (echo false-positive resistance) |
| site_q_ambiguous_submit | Cornerstone Assistance | ambiguous_submit, submission_capture | Two type=submit buttons + a 'Continue' label + no progress indicator → ambiguous terminality → ambiguous_submit (LLM-variance; 2 attempts) |
| site_r_edgecases | Anchor Family Services | heading_sections, repeatable_false_positive, missing_options, failed_extract, unmappable_full_ssn, file_upload, submission_capture | Edge-case kitchen sink: h3 heading-fallback sections; fixed member_1/member_2 fields with no add-row (repeatable false-positive); empty |
| site_t_challenges | Northgate Relief Center | interactive_captcha, vision_escalation, submission_capture | Interactive human-verification challenges — detection & HALT only (never solve). /intake = text math challenge (DOM-readable); /intake_image = distorted-text CAPTCHA as a data: img with an unlabeled input (text extractor blind → must escalate to vision, then still halt). Both expect interactive_captcha + Runner pre-flight abort. |
| site_u_other_specify | Lakeside Community Resources | other_specify, submission_capture | 'Other, specify' reveal fields — a radio (How did you hear about us?) and a select (accommodations) each have an 'Other' option that reveals a single free-text 'please specify' box. Must be captured as conditional companion fields (revealed_by_key + reveal_values + is_specify_field), NOT treated as branching. Dry run selects Other, reveals the box, and fills it. |
| site_s_variants | Lakeshore Aid Society | drift_variants, submission_capture | Drift-variant host using the server variant switch. /intake serves v1 (base), v2 (+optional field → non-critical), v3 (+required field → critical halt), v4 (reorder → cosmetic, no version bump). Same URL → same lineage → real drift |
| site_ac_div_intake | Riverstone Family Center | div_form, ambiguous_submit, sensitive_fields, heading_sections, missing_options, failed_extract, unmappable_full_ssn, submission_capture | Application built entirely from divs (no |
| site_ad_wizard_links | Blue Spruce Employment Alliance | link_navigation, pagination, multiple_rows, repeatable_false_positive, admin_fields, echo_false_positive, submission_capture | Three-step wizard advancing via styled links (steps 1-2 have no |
| site_ae_deep_portal | Cedar Valley Community Portal | nested_navigation, decoy_forms, sections, file_upload, consent, submission_capture | Application reachable only through a four-level navigation chain; the page holds search/newsletter widget forms around the real application, fieldset sections, a 2-file/5MB upload, and a consent checkbox outside every fieldset |
| site_af_branch_cards | Harvest Hill Assistance Fund | conditional_fields, slds_controls, other_specify, submission_capture | SLDS-style card controls with three independent one-level reveals - housing radios reveal a required-when-visible field, a referral select's "Other" reveals a specify box, a children checkbox reveals two optional fields; completed submissions are captured and readable at /submissions/latest |
| site_ag_widget_maze | Foxglove Relief Collective | probe_lockout, hidden_native_choice, submission_capture | Two hostile radio groups on one page - an income-band group whose script suppresses all pointer events in the capture phase, and an aid-type group whose native radios are display:none behind pill-styled divs |
| site_ah_member_gate | Ironwood Veterans Outreach | login_required, session_token, div_form, submission_capture | Div-based modal sign-in dialog (no |
| site_ai_fee_verify | Sunrise Transitional Services | payment_field, invisible_captcha, interactive_captcha, vision_escalation, submission_capture | /intake asks for card number/expiry/CVC under a silent score-badge notice; /intake_challenge pairs a plain-text math question with a distorted-text image challenge (a data: URI img and an unlabeled input) |
| site_aj_patience_portal | Willowbrook Senior Aid | interaction_gated_js, table_layout, scroll_gated_consent, iframe, details, accordion, submission_capture | Form hidden until the first user-interaction event; fields laid out in table rows; terms in a same-origin iframe whose scroll unlocks the disabled consent box; a closed holds a required select; a fake expander link navigates away |
| site_ak_flow_dependent | Aspen Grove Housing Cooperative | malformed_html, cross_page_branching, echo_positive, submission_capture | /intake step 1 is malformed HTML and step 2 is phrased around the step-1 heating answer; /intake_echo step 2 repeats the distinctive step-1 last name verbatim with no conditional phrasing |
| site_al_ledger_drift | Maple Union Resource Exchange | drift_variants, readback_echo, sensitive_fields, pagination, submission_capture | Two-step flow whose step 2 repeats the entered income as display text (no pure-black styling); step 1 ships v1-v4 variant files at the same URL (v2 +optional field, v3 +required field, v4 reorder only) |