From 445f31f52d9367154fc978fe05c1f57a2f7dda64 Mon Sep 17 00:00:00 2001 From: Scott Cranfill Date: Tue, 28 Jul 2026 17:11:41 -0400 Subject: [PATCH 1/6] fix: typo --- .github/workflows/pylock-install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pylock-install.yml b/.github/workflows/pylock-install.yml index ab32ab2..025ed65 100644 --- a/.github/workflows/pylock-install.yml +++ b/.github/workflows/pylock-install.yml @@ -24,7 +24,7 @@ jobs: run: | pip install --upgrade pip pip lock . - - name: Diff vs. previously checked-in pylock.tomlgit diff + - name: Diff vs. previously checked-in pylock.toml run: git diff # - name: Install Python dependencies From a9181cc5d96bd66310cdf47a7217a9e86cded3bd Mon Sep 17 00:00:00 2001 From: Scott Cranfill Date: Tue, 28 Jul 2026 17:24:02 -0400 Subject: [PATCH 2/6] Insert a definitely bad link that the checker should catch --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 9963260..21db7f7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,7 +13,7 @@ The development of this publicly-accessible client is being managed by Caltrans' > > We worked with state partners on this product launch, and next we're working to bring youth, lower-income riders, veterans, people with disabilities, and others the same instant access to free or reduced fares across all California transit providers, without having to prove eligibility to each agency. -Cal-ITP Benefits is open-source software that is designed, developed, and maintained by Compiler LLC on behalf of Caltrans, Cal-ITP, and our agency partners. +Cal-ITP Benefits is open-source software that is designed, developed, and maintained by Compiler LLC on behalf of Caltrans, Cal-ITP, and our agency partners. ## Current work From 7c9c87542e98c95b96b61f006efa54be3a71ea85 Mon Sep 17 00:00:00 2001 From: Scott Cranfill Date: Tue, 28 Jul 2026 18:04:24 -0400 Subject: [PATCH 3/6] Trigger another run --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 21db7f7..22a8a7d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,7 +3,7 @@ This website provides technical documentation for the [`benefits`][benefits-repo] application from the [California Integrated Travel Project (Cal-ITP)][calitp]. -![Cal-ITP Benefits Mockup1200x900](https://github.com/user-attachments/assets/d3cc462b-c2f3-42dd-b1f6-5d50c8efea85) +![Cal-ITP Benefits shown on a browser on both a laptop and a phone](https://github.com/user-attachments/assets/d3cc462b-c2f3-42dd-b1f6-5d50c8efea85) [Cal-ITP Benefits](https://benefits.calitp.org) is a web application that enables digital eligibility verification and enrollment for transit benefits onto transit riders’ existing contactless debit and credit cards. From bf0de315eeaeca71ee6889998c439353cb204290 Mon Sep 17 00:00:00 2001 From: Scott Cranfill Date: Wed, 29 Jul 2026 15:54:57 -0400 Subject: [PATCH 4/6] This one should succeed N.B.: the calitp.org link will 301 to www.calitp.org, which results in a warning, but should count as a success. --- docs/index.md | 192 -------------------------------------------------- 1 file changed, 192 deletions(-) diff --git a/docs/index.md b/docs/index.md index 22a8a7d..e1b3ff7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,197 +3,5 @@ This website provides technical documentation for the [`benefits`][benefits-repo] application from the [California Integrated Travel Project (Cal-ITP)][calitp]. -![Cal-ITP Benefits shown on a browser on both a laptop and a phone](https://github.com/user-attachments/assets/d3cc462b-c2f3-42dd-b1f6-5d50c8efea85) - -[Cal-ITP Benefits](https://benefits.calitp.org) is a web application that enables digital eligibility verification and enrollment for transit benefits onto transit riders’ existing contactless debit and credit cards. - -The development of this publicly-accessible client is being managed by Caltrans' California Integrated Travel Project (Cal-ITP), in partnership with the California Department of Technology (CDT). From the [Cal-ITP site](https://www.calitp.org/): - -> Our Cal-ITP Benefits web application streamlines the process for transit riders to instantly qualify for and receive discounts, starting with Monterey-Salinas Transit (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to electronically verify their identity are able to access MST's reduced fares without the hassle of paperwork. -> -> We worked with state partners on this product launch, and next we're working to bring youth, lower-income riders, veterans, people with disabilities, and others the same instant access to free or reduced fares across all California transit providers, without having to prove eligibility to each agency. - -Cal-ITP Benefits is open-source software that is designed, developed, and maintained by Compiler LLC on behalf of Caltrans, Cal-ITP, and our agency partners. - -## Current work - -We do sprint planning and track day-to-day work on our [Project Board][board]. - -## Product roadmap - -Our product roadmap captures what we're currently building, what we've built, and what we plan to build in the future. We update it at the end of each quarter or when priorities change. - -```mermaid -timeline - title Cal-ITP Benefits Product Roadmap -%% Cal-ITP Benefits Epics (2024) - section 2024 - - Q1
Complete - : Benefits admin tool (foundation) - : Deploy SBMTD Reduced Fare Mobility ID enrollment pathway - : Migrate to Littlepay Backoffice API - - Q2
Complete - : Support for expiring benefits (low-income) - : Improved UX for agency card enrollment - : Improved UX for application error states - - Q3
Complete - : Deploy low-income riders enrollment pathway - : Benefits admin tool (agency users) - : Benefits admin tool (in-person eligibility verification) - - Q4
Complete - : Deploy Medicare cardholder enrollment pathway - : Support for multiple identity providers (Medicare.gov) - -%% Cal-ITP Benefits Epics (2025) - section 2025 - - Q1
Complete - : Front-end enhancements and optimization - : Deploy in-person enrollments - : Utilize CDT Identity Gateway connection library - - Q2
Complete - : Support for Discover and American Express cards - - Q3
Now - : Support for multiple transit processors (Enghouse) - : UI enhancements to help the application scale - : Benefits admin tool (user management) - - Q4
Projected - : Enhanced Veteran eligibility checks (disability status) - : Support for additional identity provider (Socure) - : Single eligibility check across multiple benefit options - : Eligibility check for individuals with disabilities (CA DMV) - -%%{ - init: { - 'logLevel': 'debug', - 'theme': 'default' , - 'themeVariables': { - 'cScale0': 'orange', - 'cScaleLabel0': 'black', - 'cScale1': 'yellow', - 'cScaleLabel1': 'black' - } - } -}%% -``` - -## Adoption by transit providers - -The following California transit providers have adopted Cal-ITP Benefits. The benefit options available to eligible riders are denoted by a green checkmark. - -| Transit provider | Initial launch date | Older adults | Medicare cardholders | U.S. Veterans | Agency card | Low-income | -| --------------------------------------------------- | ------------------- | ------------ | -------------------- | ------------- | ----------- | ---------- | -| **Monterey-Salinas Transit** | 12/2021 | ✅ | ✅ | ✅ | ✅ | ― | -| **Santa Barbara Metropolitan Transit District** | 10/2023 | ✅ | ✅ | ― | ✅ | ― | -| **Sacramento Regional Transit District** | 10/2024 | ✅ | ✅ | ✅ | ― | ― | -| **Nevada County Connects** | 03/2025 | ✅ | ✅ | ✅ | ― | ― | -| **Ventura County Transportation Commission** | 10/2025 | ✅ | ✅ | ― | ― | ― | -| **San Luis Obispo Regional Transit** | 12/2025 | ✅ | ✅ | ― | ― | ― | -| **El Dorado Transit Authority** | 01/2026 | ✅ | ✅ | ― | ― | ― | -| **Redding Area Bus Authority** | 02/2026 (target) | \* | \* | \* | \* | \* | -| **City of Roseville** | 07/2026 (target) | \* | \* | \* | \* | \* | -| **Santa Cruz Metropolitan Transit District** | Planned | \* | \* | \* | \* | \* | -| **Santa Barbara County Association of Governments** | Planned | \* | \* | \* | \* | \* | - -## Supported enrollment pathways - -The Cal-ITP Benefits app supports the following enrollment pathways that use the corresponding eligibility verification methods: - -| Enrollment pathway | Eligibility verification | Status | Launch | -| ------------------------------------ | ------------------------------------------------------------------------------------- | ------ | -------------------- | -| [**Older adults**][older-adults] | [Login.gov ID Proofed](https://developers.login.gov/attributes/) | Live | [08/2022][2022.08.1] | -| [**Agency cards**][agency-cards] | [Eligibility API](https://docs.calitp.org/eligibility-api/specification/) | Live | [11/2022][2022.11.1] | -| [**Veterans**][veterans] | [Veteran Confirmation API](https://developer.va.gov/explore/api/veteran-confirmation) | Live | [09/2023][2023.09.1] | -| [**Low-income**][low-income] | CalFresh Confirm API | Live | [07/2024][2024.07.1] | -| [**Medicare cardholders**][medicare] | [Blue Button API](https://bluebutton.cms.gov/developers/#overview) | Live | [09/2024][2024.09.3] | - -## Technical and security details - -`benefits` is a [Django 5][django] web application. The application talks to one or more [Eligibility Verification APIs](https://docs.calitp.org/eligibility-api/specification) or claims providers. These APIs and the application itself are -designed for privacy and security of user information: - -- The API communicates with signed and encrypted JSON Web Tokens containing only the most necessary of user data for the purpose of eligibility verification -- The application requires no user accounts and stores no information about the user -- Interaction with the application is anonymous, with only minimal event tracking for usage and problem analysis - -Running the application locally is possible with [Docker and Docker Compose][docker]. [Hosting information.][hosting] - -The user interface and content is available in both English and Spanish. Additional language support is possible via Django's -[i18n and l10n features][i18n]. - -The application communicates with external [transit processor vendors](#transit-processors) via API calls and others like the [Identity Gateway](https://digitalidstrategy.cdt.ca.gov/primary-elements.html) via redirects, both over the public internet. See [all the system interconnections][interconnections]. - -### Infrastructure - -The Benefits application is deployed to Microsoft Azure. Traffic is encrypted between the user and the application, as well as between the application and external systems. - -The network is managed by the [California Department of Technology (CDT)](https://cdt.ca.gov/), who provide a firewall and [distributed denial-of-service (DDoS)](https://www.cloudflare.com/learning/ddos/what-is-a-ddos-attack/) protection. - -You can find more technical details on [our infrastructure page](explanation/infrastructure.md). - -### Data storage - -The Benefits application doesn't collect or store any user data directly, and we minimize the information exchanged between systems. The following information is temporarily stored in an encrypted session in the user's browser: - -- The user's progress through an enrollment pathway -- Credentials for interacting with the eligibility verification services - -Sensitive user information exists in the following places: - -- To enroll for reduced fares as an older adult, U.S. Veteran, or Calfresh cardholder, riders need to [provide personal information to Login.gov](https://benefits.calitp.org/help#login-gov-verify). -- To enroll for reduced fares as a Medicare cardholder, riders need to [provide personal information to Medicare.gov](https://www.medicare.gov/basics/get-started-with-medicare). -- Eligible riders need to provide their contactless credit or debit card information to one of our [transit processors](#transit-processors), to register their card for reduced fares. - -None of that information is accessible to the Benefits system/team. - -Learn more about the security/privacy practices of some of our third-party integrations: - -- [Amplitude](https://amplitude.com/amplitude-security-and-privacy) -- [Littlepay](https://littlepay.com/privacy-policy/) -- [Switchio](https://switchio.com/privacy-policy/) -- [Login.gov](https://www.login.gov/policy/) - -Benefits collects analytics on usage, without any identifying information. You can find more details on [our analytics page](reference/analytics.md). - -### Transit processors - -The Benefits application integrates with transit processors to securely register credit or debit cards. This application currently supports the following transit processors: - -- [Littlepay][littlepay] -- [Switchio][switchio] - -### Practices - -[Dependabot](https://github.com/features/security/software-supply-chain) immediately notifies the team of vulnerabilities in application dependencies. - -Upon doing new major integrations, features, or architectural changes, the Benefits team has a penetration test performed by a third party to ensure the security of the system. - -All code changes are reviewed by at least one other member of the engineering team, which is enforced through [branch protections](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches). - -[2022.08.1]: https://github.com/cal-itp/benefits/releases/tag/2022.08.1 -[2022.11.1]: https://github.com/cal-itp/benefits/releases/tag/2022.11.1 -[2023.09.1]: https://github.com/cal-itp/benefits/releases/tag/2023.09.1 -[2024.07.1]: https://github.com/cal-itp/benefits/releases/tag/2024.07.1 -[2024.09.3]: https://github.com/cal-itp/benefits/releases/tag/2024.09.3 -[older-adults]: explanation/enrollment-pathways/older-adults.md -[agency-cards]: explanation/enrollment-pathways/agency-cards.md -[veterans]: explanation/enrollment-pathways/veterans.md -[low-income]: explanation/enrollment-pathways/low-income.md -[medicare]: explanation/enrollment-pathways/medicare-cardholders.md [benefits-repo]: https://github.com/cal-itp/benefits -[board]: https://github.com/orgs/compilerla/projects/6/views/8 [calitp]: https://calitp.org -[django]: https://docs.djangoproject.com/en/ -[docker]: https://www.docker.com/products/docker-desktop -[interconnections]: explanation/infrastructure.md#system-interconnections -[hosting]: explanation/deployment.md -[littlepay]: https://littlepay.com/ -[switchio]: https://switchio.com/transport/ -[i18n]: https://docs.djangoproject.com/en/5.0/topics/i18n/ From d35d92abe02166b95aeccdaaee925af626de774d Mon Sep 17 00:00:00 2001 From: Scott Cranfill Date: Wed, 29 Jul 2026 16:11:59 -0400 Subject: [PATCH 5/6] JK, looks like warnings result in an exit code of 1, too --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index e1b3ff7..22c1871 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,4 +4,4 @@ This website provides technical documentation for the [`benefits`][benefits-repo [California Integrated Travel Project (Cal-ITP)][calitp]. [benefits-repo]: https://github.com/cal-itp/benefits -[calitp]: https://calitp.org +[calitp]: https://www.calitp.org From 6ad1bc4d65ec5465d21e940e700c631e967b2318 Mon Sep 17 00:00:00 2001 From: Scott Cranfill Date: Wed, 29 Jul 2026 17:15:04 -0400 Subject: [PATCH 6/6] Check with config file to ignore redirect warnings and check anchors --- .github/workflows/check-links.yml | 3 ++- docs/index.md | 6 +++++- linkcheckerrc | 6 ++++++ 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 linkcheckerrc diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 16fb82a..157b69d 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -28,7 +28,8 @@ jobs: run: pip install linkchecker - name: Run linkchecker - run: linkchecker --check-extern -v http://localhost:8080 + id: linkchecker + run: linkchecker --config=linkcheckerrc --check-extern -v http://localhost:8080 - name: Stop 11ty cancel: server diff --git a/docs/index.md b/docs/index.md index 22c1871..df26be0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,5 +3,9 @@ This website provides technical documentation for the [`benefits`][benefits-repo] application from the [California Integrated Travel Project (Cal-ITP)][calitp]. +[Link to heading below](#example-heading) + +

Example heading

+ [benefits-repo]: https://github.com/cal-itp/benefits -[calitp]: https://www.calitp.org +[calitp]: https://calitp.org diff --git a/linkcheckerrc b/linkcheckerrc new file mode 100644 index 0000000..92ff982 --- /dev/null +++ b/linkcheckerrc @@ -0,0 +1,6 @@ +[filtering] +ignore= + /cdn-cgi/l/email-protection +ignorewarnings=http-redirected + +[AnchorCheck]