- Secured the Django admin to white‑label boundaries. Admin users can now view or edit only the programs, documents and translations that belong to the white labels they manage. A shared SecureAdmin base class enforces the rule across all admin views, further tightening data‑access controls.
- Clearer health‑insurance option. The screener answer that formerly read “Private health insurance” now says “Private (student or non‑employer) health insurance” everywhere, helping users choose the correct option.
- New Playwright test: language attributes & Google‑Translate blocking. A front‑end test suite now verifies that the <html lang=””> attribute changes correctly, translation persistence works across pages, and our “do‑not‑translate” rules remain intact on both desktop and mobile.
- Migrated Colorado outreach to the new HubSpot. All CO sign‑ups are now sent to an updated HubSpot workflow; the deprecated Brevo integration and legacy HubSpot code were removed.
- Added UTM tracking to external energy‑rebate links. Outbound links for energy programs now carry utm_source=myfriendben_energy so the analytics team can see exactly how many users click through.