About the RIPA Stop Data
- About the RIPA Stop Data
- What is RIPA?
- Data collection
- How demographics are recorded
- Variable groups
- Identifiers and stop context
- Race and ethnicity (RAE_*)
- Gender (G_*)
- Sexual orientation (SOR_*)
- Age (AGE, AGE_GROUP)
- Disability (PD_*)
- Other demographics
- Stop type and circumstances (2024 only)
- Reason for stop (RFS_*)
- Actions taken during the stop
- Searches and seizures
- Result of stop (ROS_*)
- School-related fields
- Schema changes over time
- Additional resources
What is RIPA?
The Racial and Identity Profiling Act of 2015 (AB 953) requires California law enforcement agencies to collect and report data on every stop they conduct (California Penal Code 13519.4). Officers record who they stopped, why, what actions they took, and the outcome — all linked to the officer’s perception of the stopped person’s race, gender, age, and other identity characteristics.
The data is submitted to the California Department of Justice, which publishes it through the OpenJustice Data Portal. An independent RIPA Board, housed within the DOJ, analyzes the data and publishes annual reports with findings and policy recommendations.
This dataset covers 2018–2024 and contains approximately 26.3 million person-stop records from 555 law enforcement agencies across California.
Data collection
How agencies report
Agencies submit stop data to the DOJ’s Stop Data Collection System (SDCS) through one of three methods: a DOJ-hosted web application, a local database connected via web services or SFTP, or batch file upload. Records must pass logic checks (e.g. age is non-negative) before acceptance.
Phased rollout
Not all agencies reported from the start. RIPA required agencies to begin reporting based on their size:
| Wave | Agency size | Collection start | First report due | Agencies |
|---|---|---|---|---|
| 1 | 1,000+ officers | July 1, 2018 | April 1, 2019 | ~8 |
| 2 | 667–999 officers | January 1, 2019 | April 1, 2020 | ~7 |
| 3 | 334–666 officers | January 1, 2021 | April 1, 2022 | ~10 |
| 4 | 1–333 officers | January 1, 2022 | April 1, 2023 | ~500 |
The 2018 data covers only July through December and only the largest agencies. The 2019 data adds Wave 2. Wave 3 joined in 2021, and by 2022 all agencies were reporting. Comparisons across years must account for this expanding coverage.
Instances of data fabrication or intentional misreporting
In 2022, the Los Angeles Office of the Inspector General (OIG) published an investigation into the LA Sheriff’s Department, comparing stop data from CAD logs to data recorded in the Sheriff’s Automated Contact Reporting System (SACRS) that feeds into RIPA. They found the SACR system underreported stops by at least 50,731 stops, and underreported arrests by at least 71,462, between July 2018 and June 2019. They further found:
the practice of not entering data into the SACR system may be pervasive and widespread throughout all of the Sheriff’s Department’s patrol divisions. In addition, the Office of Inspector General found significant differences between CAD system and SACR system totals relating to backseat detentions, consent searches, and reasonable suspicion stops.
The Sacramento Observer reported on the story
In June of 2024, the San Francisco Department of Police Accountability found one of the department’s top ticket writers was systematically misreporting the race of the people he stopped, causing “irreparable harm to the integrity of SFPD’s RIPA reporting”. The story was covered in the SF Standard
Other known data quality issues
The 2018 report included a note that “a relatively small amount of data with errors that should have been identified and corrected reached completed status.” These errors included:
- 28,148 records in the 2018 data were coded as “consensual encounter resulting in search” but did not indicate a search occurred
- 5,404 cases where officers listed “incident to arrest” as the basis for search, and no arrest was indicated.
The readme reports additional errors in the 2018 data affecting small numbers of records.
Important limitations - what’s not collected
-
No fine-grained location: The statewide data includes only
LOC_CLOSEST_CITY— no address, latitude/longitude, or beat/district. Some jurisdictions publish more detailed location data through their own open data portals. -
No officer identifiers: The statewide data does not include officer badge numbers or other identifiers, preventing analysis of individual officer patterns
-
Complaint data limitations: The RIPA Board collects civilian complaint data alongside stop data, but the complaint system has significant limitations. The sustained rate for profiling complaints has been extremely low — reaching 0.19% in the 2024 data (3 out of 2,282 profiling complaints sustained). Until November 2025, Penal Code section 148.6 imposed criminal sanctions for filing a “false” complaint, which the California Supreme Court found unconstitutional. The Board documented this as a deterrent to filing complaints for years before the ruling.
Unit of observation
Each row in the dataset is a person-stop: one person involved in one stop.
A single stop event (identified by DOJ_RECORD_ID) can produce multiple rows
if the officer stopped more than one person. The composite key is
(DOJ_RECORD_ID, PERSON_NUMBER).
How demographics are recorded
All demographic data reflects the officer’s perception of the stopped person. From the RIPA Board’s 2018 report:
With respect to the person stopped, the officer must report his/her own perception, based upon personal observation only (and not through any other means, such as asking the person or referring to identification), regarding the following:
- Perceived race or ethnicity of the person stopped
- Perceived age of the person stopped
- Perceived gender of the person stopped
- Whether the person stopped is perceived to be lesbian, gay, bisexual or transgender
- Whether the person stopped is perceived to have limited or no English fluency
- Whether the person stopped is perceived or known to have a disability
Variable groups
The dataset contains 235 columns organized into the groups described below. Binary flag columns use 0/1 coding. Columns marked “2024 only” are NULL for earlier years. Columns marked “2018–2023 only” are NULL for 2024 data.
In some cases, columns were combined or renamed in order to facilitate cross-era analyses. All such transformations are recorded in this schema document, which is part of this project’s GitHub repository
Identifiers and stop context
| Column | Description |
|---|---|
DOJ_RECORD_ID |
Unique stop identifier |
PERSON_NUMBER |
Person within the stop (1, 2, …) |
AGENCY_ORI |
Agency ORI code (CJIS identifier) |
AGENCY_NAME |
Agency name |
DATE_OF_STOP |
Date of the stop |
TIME_OF_STOP |
Time of the stop (HH:MM) |
STOP_DURATION |
Duration in minutes |
LOC_CLOSEST_CITY |
Closest city to the stop location |
The statewide data does not include fine-grained location (latitude/longitude or address). Some jurisdictions publish more detailed location data through their own open data portals.
Race and ethnicity (RAE_*)
RAE_FULL is the primary race code. Individual race flags allow for
multiracial identification.
| Code | Label |
|---|---|
| 1 | Asian |
| 2 | Black/African American |
| 3 | Hispanic/Latino(a) |
| 4 | Middle Eastern/South Asian |
| 5 | Native American |
| 6 | Pacific Islander |
| 7 | White |
| 8 | Multiracial |
The RIPA Board has documented consistent racial disparities in stops across all seven years of data. Black individuals are stopped at roughly 2–2.5 times their share of California’s population. In the most recent report (2026, covering 2024 data), the Board found that Black individuals comprised 12.09% of stops but only about 5.4% of the state’s residential population—stopped approximately 128% more frequently than expected.
Gender (G_*)
G_FULL is the primary gender code.
| Code | Label |
|---|---|
| 1 | Cisgender Man |
| 2 | Cisgender Woman |
| 3 | Transgender Man |
| 4 | Transgender Woman |
| 5 | Nonbinary Person |
| 6 | Multigender |
Gender column names changed between schema eras. In the raw 2018–2023 data,
the columns were G_MALE, G_FEMALE, and G_GENDER_NONCONFORMING. In 2024,
they became G_CISGENDER_MAN, G_CISGENDER_WOMAN, and G_NONBINARY_PERSON.
The cleaned dataset uses the 2024 canonical names for all years.
The RIPA Board’s 2022 report (covering 2020 data) included the first detailed analysis of stops of transgender individuals. They found:
- transgeneder men/boys were searched in over 40% of stops, the highest rate among gender groups
- transgender women/girls were handcuffed (42%) and subjected to detention curbside or in a patrol car (35%) at higher rates than other groups
- transgender people who were stopped were subjected to force at higher rates than cisgender people
Sexual orientation (SOR_*)
| Column | Description |
|---|---|
SOR_LGB |
Perceived as lesbian, gay, or bisexual (0/1) |
SOR_STRAIGHT |
Perceived as straight (0/1) |
In 2018–2023, only a single LGBT flag was collected (renamed to SOR_LGB
in the cleaned data). SOR_STRAIGHT is derived as 1 - SOR_LGB for those
years. Starting in 2024, both fields are collected natively.
Age (AGE, AGE_GROUP)
AGE is the officer’s estimate of the person’s age in years. AGE_GROUP
provides standardized bins derived from AGE:
| Code | Ages |
|---|---|
| 1 | 1–9 |
| 2 | 10–14 |
| 3 | 15–17 |
| 4 | 18–24 |
| 5 | 25–34 |
| 6 | 35–44 |
| 7 | 45–54 |
| 8 | 55–64 |
| 9 | 65+ |
The raw age group bins changed across years (2023 used different breakpoints),
so AGE_GROUP is re-derived from AGE for consistency. The original
year-specific value is preserved in age_group_orig.
The RIPA Board’s 2025 and 2026 reports focused heavily on youth, finding that the youngest age groups (particularly ages 12–14) experienced the highest rates of searches, handcuffing, and curbside detention. Black youth ages 12–14 had limited force used against them at a rate of 42.3% (2023 data).
Disability (PD_*)
PD_FULL is the primary disability code. PD_MULTI indicates whether
multiple disabilities were perceived (0 = none, 1 = one, 2 = multiple).
| Code | Label |
|---|---|
| 1 | Deafness/Difficulty Hearing |
| 2 | Speech Impairment |
| 3 | Blind/Visual Impairment |
| 4 | Mental Health Condition |
| 5 | Intellectual/Developmental Disability |
| 6 | Hyperactivity Disorder |
| 7 | Other Disability |
| 8 | None |
The RIPA Board’s 2022 report found that officers used force against people perceived to have a mental health condition at 5.2 times the rate of people with no perceived disability, and searched them at 4.8 times the rate.
Other demographics
| Column | Description |
|---|---|
LIMITED_ENGLISH_FLUENCY |
Perceived limited English fluency (0/1) |
PERSON_UNHOUSED |
Perceived as unhoused (0/1; 2024 only) |
The 2026 report found that 64.8% of stops of unhoused individuals were initiated for reasonable suspicion, higher than for any other group. People perceived as unhoused were also subjected to search, force, and arrest at higher rates than other group.s
Stop type and circumstances (2024 only)
| Column | Description |
|---|---|
TOS_VEHICULAR |
Vehicular stop |
TOS_BICYCLE |
Bicycle stop |
TOS_PEDESTRIAN |
Pedestrian stop |
PASSENGER_IN_VEHICLE |
Person was a passenger |
INSIDE_RESIDENCE |
Stop occurred inside a residence |
CALL_FOR_SERVICE |
Stop initiated by a call for service |
WELFARE_WELLNESS_CHECK |
Welfare/wellness check |
Important limitation: Prior to 2024, the data does not distinguish among
vehicular, bicycle, and pedestrian stops. The TOS_* fields are NULL for
2018–2023. This means that analyses of pedestrian or bicycle stop patterns
are only possible using 2024 data.
Similarly, the CALL_FOR_SERVICE field is only available for 2024, though the
2020 report noted that approximately 95% of stops were officer-initiated
(not calls for service) in the early data.
Reason for stop (RFS_*)
REASON_FOR_STOP codes the primary reason the officer initiated the stop:
| Code | Label | Notes |
|---|---|---|
| 1 | Traffic violation | See RFS_TRAFFIC_VIOLATION_TYPE |
| 2 | Reasonable suspicion | See RFS_RS_* subcategories |
| 3 | Known to be on parole/probation/PRCS/mandatory supervision | |
| 4 | Knowledge of outstanding arrest warrant/wanted person | |
| 5 | Investigation of whether student violated school policy | |
| 6 | Consensual encounter resulting in a search | |
| 7 | Possible conduct warranting discipline under Education Code | |
| 8 | Determine whether to issue truancy-related document | |
| 9 | Probable cause to arrest | 2024 only |
| 10 | Welfare & Institutions Code 5150 | 2024 only |
Traffic violation subcategories
RFS_TRAFFIC_VIOLATION_TYPE further specifies the type of traffic violation
when REASON_FOR_STOP is 1:
| Code | Label |
|---|---|
| 1 | Moving violation |
| 2 | Equipment violation |
| 3 | Non-moving violation (including registration) |
Equipment violations (code 2) are a key indicator of pretextual stops — stops where the stated reason is minor but the officer’s actual intent is to investigate something else. The RIPA Board has documented significant racial disparities in equipment violation stops. In the 2022 report (covering 2020 data), non-moving and equipment violation accounted for 31.3% of stops of people perceived as Black, compared to 19.9% for people perceived as White.
The Board has called for eliminating pretextual stops since 2022 and has documented the effectiveness of pretextual stop bans:
- LAPD (Policy 240.06, March 2022): The 2026 report noted reductions in non-moving violations, decreases in searches, and increases in contraband discovery rates following the policy’s implementation.
- SFPD (Policy 9.07.04(a), adopted 2023): The 2026 report (covering 2024 data) noted that the policy was still very recent, and the effects were “difficult to ascertain.” A more recent analysis including data through September 2025 found reductions in stops of Black drivers following the policy’s going into effect.
Reasonable suspicion subcategories (RFS_RS_*)
When the reason for stop is reasonable suspicion (code 2), the officer
records which factors contributed: offense witnessed, matched suspect
description, witness identification, carrying a suspicious object, actions
indicative of crime, suspect appearance/demeanor, suspected drug transaction,
violent crime suspect, or other. A CJIS code (RFS_RS_CODE) may also be
recorded.
Probable cause subcategories (RFS_PC_*, 2024 only)
Added in 2024 for the new “probable cause to arrest” stop reason (code 9). Parallels the reasonable suspicion subcategories.
Reason given to person stopped (RFS_RG_*, 2024 only)
A major addition in 2024: the reason the officer communicated to the person
for the stop, which may differ from the officer’s actual recorded reason.
This includes 22 subcategories covering traffic violations (moving, equipment,
non-moving), investigative reasons, parole/warrant status, and notably
RFS_RG_NOT_COMMUNICATED — indicating that the officer did not tell the
person why they were being stopped.
Actions taken during the stop
The data records what the officer did during the stop. The structure differs significantly between schema eras.
2018–2023: Combined actions (ADS_*)
In the earlier era, force and non-force actions are recorded in a single set
of ADS_* (Actions During Stop) flags. Key columns:
Non-force actions:
ADS_ASKED_SEARCH_PER/PROP— asked to search person or propertyADS_SEARCH_PERSON/PROPERTY— conducted searchADS_SEARCH_PERS_CONSEN/PROP_CONSEN— search with consentADS_CURB_DETENT— curb detentionADS_PATCAR_DETENT— placed in patrol carADS_SOBRIETY_TEST— field sobriety testADS_PHOTO— photographedADS_WRITTEN_STATEMENT— written statement takenADS_VEHICLE_IMPOUND— vehicle impoundedADS_PROP_SEIZE— property seizedADS_NO_ACTIONS— no actions taken
Force actions:
ADS_HANDCUFFED— handcuffedADS_REMOVED_VEHICLE_ORDER/PHYCONTACT— removed from vehicle (by order / physical contact)ADS_FIREARM_POINT/DISCHARGE— firearm pointed or dischargedADS_ELECT_DEVICE— conducted energy device (combined)ADS_IMPACT_DISCHARGE— impact projectileADS_CANINE_SEARCH/BITE— canine usedADS_BATON— baton usedADS_CHEM_SPRAY— chemical sprayADS_OTHER_CONTACT— other physical contact
2024: Split into non-force (NFA_*) and force (OFA_*)
The 2024 schema separates actions into non-force actions (NFA) and officer force actions (OFA), with more granular subcategories.
Non-force actions (NFA_*) add:
NFA_TERRY_FRISK— Terry frisk (pat-down for weapons)NFA_ASKED_ID_PASSENGER— asked passenger for identificationNFA_ASKED_PAROLE— asked about parole statusNFA_RAN_NAME_PASSENGER— ran name check on passengerNFA_SEARCH_PERS_CONSENT/PROP_CONSENT— consent search of person or property
Force actions (OFA_*) split previously combined categories:
- Conducted energy device split into
OFA_ELECT_DEVICE_POINT,OFA_ELECT_DEVICE_STUN, andOFA_ELECT_DEVICE_DART - Baton split into
OFA_BATON_DRAWNandOFA_BATON_USED - Impact projectile split into
OFA_IMPACT_PROJECTILE_POINTandOFA_IMPACT_PROJECTILE_DISCHARGE - New categories:
OFA_FIREARM_UNHOLSTERED,OFA_PHYSICAL_COMPLIANCE,OFA_USE_VEHICLE,OFA_CANINE_COMPLIANCE
Cross-era analysis note: To compare actions across all years, you must
harmonize the ADS_* columns (2018–2023) with the NFA_* and OFA_*
columns (2024). For example, “was searched” for 2018–2023 is
GREATEST(ADS_SEARCH_PERSON, ADS_SEARCH_PROPERTY), while for 2024 it is
GREATEST(NFA_SEARCH_PERSON, NFA_SEARCH_PROPERTY, NFA_TERRY_FRISK).
Searches and seizures
Consent searches
Officers may ask for consent to search a person or their property. Consent search data is spread across several column groups:
- Request:
ADS_ASKED_SEARCH_PER/PROP(2018–2023) orNFA_ASKED_SEARCH_PER/PROP(2024) - Conducted with consent:
ADS_SEARCH_PERS_CONSEN/PROP_CONSEN(2018–2023) orNFA_SEARCH_PERS_CONSENT/PROP_CONSENT(2024) - Basis:
BFS_CONSENT_GIVENindicates consent as the basis for search - Consent type (2024 only):
CTP_VERBAL,CTP_WRITTEN,CTP_IMPLIED
The RIPA Board has documented that Black individuals are asked for consent to search at 2–4 times the rate of White individuals, depending on the year and context. Consent-only searches have lower contraband discovery rates than other search types, and the racial gap in discovery rates is even wider for consent searches.
The Board has questioned whether consent is truly voluntary given the power imbalance between officer and civilian. From the 2022 report:
While the data reflect that most people consent to a search when asked by an officer, research discussed in the Report reflects that this “consent” is not necessarily voluntarily because of the inherent power inequality between a law enforcement officer and a member of the public. The research shows that this inherent power inequality is particularly pronounced among vulnerable populations, such as people with mental health disabilities or youth, who may be more likely to succumb to authoritative pressure. Indeed, RIPA data reflects that for both people with mental health disabilities and youth, a larger proportion of their stops that began as consensual encounters resulted in searches, as compared to people without mental health disabilities or adults.
Starting with the 2022 report, the Board recommended severely limiting or ending consent searches. By the 2023 report (covering 2021 data), the recommendation strengthened to prohibiting consent and supervision searches entirely.
Basis for search (BFS_*)
When a search is conducted, the officer records the legal basis:
| Column | Basis |
|---|---|
BFS_CONSENT_GIVEN |
Consent given |
BFS_OFFICER_SAFETY |
Officer safety |
BFS_SEARCH_WARRANT |
Search warrant |
BFS_PAROLE |
Parole/probation condition |
BFS_SUSPECT_WEAPON |
Suspected weapon |
BFS_VISIBLE_CONTRABAND |
Visible contraband |
BFS_ODOR_CONTRABAND |
Odor of contraband |
BFS_CANINE_DETECT |
Canine detection |
BFS_EVIDENCE |
Evidence of a crime |
BFS_INCIDENT |
Incident to arrest |
BFS_EXIGENT_CIRCUM |
Exigent circumstances |
BFS_VEHICLE_INVENT |
Vehicle inventory |
BFS_SCHOOL_POLICY |
School policy |
Multiple bases can be indicated for a single search.
Contraband and evidence discovered (CED_*)
After a search, the officer records what was found:
| Column | Item |
|---|---|
CED_NONE_CONTRABAND |
Nothing found |
CED_FIREARM |
Firearm |
CED_AMMUNITION |
Ammunition |
CED_WEAPON |
Other weapon |
CED_DRUGS |
Drugs/narcotics |
CED_ALCOHOL |
Alcohol |
CED_MONEY |
Money |
CED_DRUG_PARAPHERNALIA |
Drug paraphernalia |
CED_STOLEN_PROP |
Stolen property |
CED_ELECT_DEVICE |
Electronic device |
CED_OTHER_CONTRABAND |
Other contraband |
The discovery rate (also called “hit rate”) — the proportion of searches that find contraband — is a critical metric for assessing whether search decisions are applied equitably across racial groups. From the 2020 report:
Yield rates were lower for all racial groups of color compared to White individuals (1.8 to 5.6 percentage points lower). This shows that officers were less successful at finding contraband or evidence of wrongdoing when searching individuals of color than White individuals.
Property seizure (BPS_*, TPS_*)
When property is seized, the officer records the legal basis for seizure
(BPS_*: safekeeping, contraband, evidence, vehicle impound, abandoned
property, school policy violation) and the type of property (TPS_*: firearm,
ammunition, weapon, drugs, alcohol, money, drug paraphernalia, stolen property,
cellphone, vehicle, other contraband).
Result of stop (ROS_*)
The outcome of the stop. Multiple results can apply.
| Column | Result |
|---|---|
ROS_NO_ACTION |
No action taken |
ROS_WARNING |
Warning (2018–2023; combined verbal and written) |
ROS_VERBAL_WARNING |
Verbal warning (2024 only) |
ROS_WRITTEN_WARNING |
Written warning (2024 only) |
ROS_CITATION |
Citation issued |
ROS_IN_FIELD_CITE_RELEASE |
In-field cite and release |
ROS_CUSTODIAL_WARRANT |
Custodial arrest (warrant) |
ROS_CUSTODIAL_WITHOUT_WARRANT |
Custodial arrest (no warrant) |
ROS_FIELD_INTERVIEW_CARD |
Field interview card completed |
ROS_NONCRIMINAL_TRANSPORT |
Noncriminal transport or caretaking |
ROS_CONTACT_LEGAL_GUARDIAN |
Contacted legal guardian or responsible adult |
ROS_PSYCH_HOLD |
Psychiatric hold (W&I Code 5150) |
ROS_US_HOMELAND |
Turned over to US Homeland Security |
ROS_REFERRAL_SCHOOL_ADMIN |
Referred to school administrator |
ROS_REFERRAL_SCHOOL_COUNSELOR |
Referred to school counselor |
Cross-era note: In 2018–2023, verbal and written warnings are combined
into ROS_WARNING. In 2024, they are separate (ROS_VERBAL_WARNING,
ROS_WRITTEN_WARNING). To compare warning rates across all years, combine
the two 2024 columns.
Some results have associated CJIS violation codes (ROS_*_CDS columns).
The RIPA Board found that Black individuals had “no action” taken during their stops at the highest rate of any group — 13.1% in 2020 data versus 5.6% for White individuals — suggesting that many stops of Black individuals lacked enforcement justification. The 2022 report found those who were perceived to be Transgender received field interview cards at 2–3 times the rate of perceived cisgender people. The 2024 report found that Black individuals received field interview cards at 4.4 times the statewide per-capita average and recommended prohibiting field interview cards absent arrest.
School-related fields
| Column | Description |
|---|---|
SCHOOL_CODE |
School identifier |
SCHOOL_NAME |
School name |
STOP_STUDENT |
Person is a student (0/1) |
K12_SCHOOL_GROUNDS |
Stop on K-12 school grounds (0/1) |
These fields capture stops involving students and stops on school property, relevant to the Board’s education-related recommendations.
Schema changes over time
The dataset schema has evolved across two major eras:
2018–2023 era (~142 raw columns)
The original schema used combined action flags (ADS_*), a single warning
result (ROS_WARNING), a single LGBT field, and did not include stop type,
call-for-service, or many of the demographic detail fields added later.
2024 era (~202 raw columns)
A major overhaul that:
- Split actions into non-force (
NFA_*) and force (OFA_*) with many new subcategories (e.g., Terry frisks, baton drawn vs. used, firearm unholstered) - Split warnings into verbal and written
- Added stop type fields (
TOS_VEHICULAR,TOS_BICYCLE,TOS_PEDESTRIAN) - Added “reason given” (
RFS_RG_*) columns capturing what was communicated to the person stopped - Added probable cause subcategories (
RFS_PC_*) - Added consent type (
CTP_VERBAL,CTP_WRITTEN,CTP_IMPLIED) - Added
CALL_FOR_SERVICE,PERSON_UNHOUSED,PASSENGER_IN_VEHICLE,INSIDE_RESIDENCE,WELFARE_WELLNESS_CHECK - Expanded
REASON_FOR_STOPfrom 8 to 10 values (added probable cause to arrest and W&I Code 5150) - Renamed demographic columns to more inclusive terminology
(e.g.,
G_MALEtoG_CISGENDER_MAN,RAE_HISPANIC_LATINOtoRAE_HISPANIC_LATINEX)
Additional resources
- RIPA Board: About the RIPA Board
- RIPA Board annual reports: Attorney General’s AB 953 page
- RIPA stop data downloads: CA DOJ OpenJustice Data Portal
- AB 953 statute: California Legislative Information
- California Penal Code 13519.4: CA Legislative Information