California Privacy Protection Agency
Complaint Form

If you believe your privacy rights have been violated, you can submit a complaint using this form.

The California Privacy Protection Agency (Agency) enforces the California Consumer Privacy Act (CCPA) and its implementing regulations. Your complaint may be used to broadly monitor industry compliance or to inform an enforcement action. The Agency does not represent individual consumers and cannot act as your attorney.

If you have a consumer complaint related to something other than consumer privacy, please report your issue using the California Department of Justice's complaint system.

NOTE: Any personal information that you provide may be used and disclosed to enforce the CCPA, including in an administrative or judicial proceeding. To learn what may happen after you submit a complaint, visit our FAQs.

Notice Regarding Information Collected

Thank you for submitting a complaint to the California Privacy Protection Agency (“Agency”).

Complaints are important for our enforcement efforts. We will retain the information you provided in our files and if you provided contact information, we may contact you if we need additional information, for example to request additional facts about the complaint. No further action is needed from you at this time. Investigations are generally confidential unless and until a matter becomes public through an enforcement action. See Cal. Gov. Code 11183. For more information about the law and answers to frequently asked questions, please see https://cppa.ca.gov/faq.html.

Please note that we cannot represent you, advocate for you with the business, or force the business to satisfy individual requests for relief. If you would like to consult an attorney, you can obtain a referral to a certified lawyer referral service through the California State Bar at (866) 442-2529 (toll-free in California) or (415) 538-2250 (from outside California), or online at https://www.calbar.ca.gov. If you cannot afford to pay an attorney, contact your local legal aid office to see if you qualify for free or reduced-rate legal assistance. For a referral to local legal aid offices, visit https://lawhelpca.org/ and click on the Search for Legal Help tab.

Thank you again for contacting the Agency about this matter.

"},{"expression":"{complainant_email_address} notempty","html":"

Thank you for submitting a complaint with the California Privacy Protection Agency.

You will be sent an email with a link to verify your email address and confirm your complaint submission. If needed, the Agency may reach out to request additional information using the contact information provided in your complaint.

Consult our FAQs for more information about what happens next.

"}],"pages":[{"name":"page1","elements":[{"type":"checkbox","name":"complaint_subject","title":"What is the complaint about? Check all that apply.","description":"For more information on these rights and requirements, visit our FAQ.","isRequired":true,"choices":[{"value":"RTD","text":"Right to Delete "},{"value":"RTC","text":"Right to Correct"},{"value":"RTK","text":"Right to Know"},{"value":"OOSS","text":"Right to Opt-out of Sale/Sharing"},{"value":"RTL","text":"Right to Limit the Use of My Sensitive Personal Information"},{"value":"PL","text":"A business’s collection, use, storing or sharing of my personal information"},{"value":"DP","text":"A business is trying to get my consent unlawfully (such as using confusing or tricky language or dark patterns)"},{"value":"REQ","text":"It’s unclear how to submit a privacy request to a business"},{"value":"CP","text":"Children's privacy"},{"value":"FIN","text":"Financial incentive or loyalty programs"},{"value":"DK","text":"Don’t know/not sure"}],"hasOther":true,"otherText":"Other","otherErrorText":"please enter description for 'other'","otherRegEx":[{"type":"function","text":"Invalid character(s) in 'Other' field","function":"isValidChars"}]},{"type":"comment","name":"business_name","title":"What are the name(s) of the business(es), service provider(s), contractor(s), or people that you believe violated the California Consumer Privacy Act?","isRequired":true,"maxLength":600,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_name})"}]},{"type":"radiogroup","name":"ca_resident","title":"Are you a California resident?","description":"You are not required to reside in California to submit a complaint. Temporary time out of the state does not change whether you reside in California.","isRequired":true,"choices":["Yes","No","Don't know/not sure"]},{"type":"comment","name":"complaint_descript","title":"Please describe the complaint.","description":"Include as many details as possible, such as the date(s), name of business(es) and people involved, and what happened. See the FAQs for more information on privacy rights and how to write a complaint. 4000 characters max.","isRequired":true,"maxLength":4000,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complaint_descript})"}]},{"type":"comment","name":"complaint_supportdocs","title":"Please describe any materials you have supporting the complaint.","description":"Example: \"I have a screen shot of the business’s consent interface, and an email I sent to the business.\" You will not be asked to submit materials in this form, but we may request these later via email (if you provide your email address). If you have no materials, skip this question. 1000 characters max.","maxLength":1000,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complaint_supportdocs})"}]},{"type":"radiogroup","name":"contact_business","title":"Have you already contacted the business(es), service provider(s), contractor(s), or people about the complaint?","isRequired":true,"choices":["Yes","No / Not applicable"]},{"type":"radiogroup","name":"complaint_sworn","title":"Do you wish to submit this complaint as an unsworn complaint, or a sworn complaint?","description":"Firsthand knowledge. A sworn complaint means that you are attesting to the truth of the allegations under penalty of perjury in a court of law, and that you are authorizing the Agency to contact the business(es) or person(s) mentioned. See Cal. Code Regs. tit. 11, § 7300.","isRequired":true,"choices":[{"value":"No","text":"Unsworn complaint"},{"value":"Yes","text":"Sworn complaint"}]},{"type":"panel","name":"panel3","elements":[{"type":"html","name":"contact_info","html":"You are not required to provide contact information for an unsworn complaint. However, if you choose not to include contact information, we will have no way of contacting you to ask about the complaint or get further information. If you prefer to submit your complaint by mail, click here for the paper complaint form and instructions."},{"type":"text","name":"complainant_first_name","title":"First Name: [{optReq}]","requiredIf":"{complaint_sworn} = 'Yes'","maxLength":64,"validators":[{"type":"regex","text":"Please verify your first name","regex":"^[a-zA-Z\\s]+$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complainant_first_name})"}]},{"type":"text","name":"complainant_last_name","startWithNewLine":false,"title":"Last Name: [{optReq}]","requiredIf":"{complaint_sworn} = 'Yes'","maxLength":64,"validators":[{"type":"regex","text":"Please verify your last name","regex":"^[a-zA-Z\\s]+$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complainant_last_name})"}]},{"type":"text","name":"complainant_email_address","title":"Email address: [{optReq}]","description":"Example: john.doe@example.com. This email address will be verified before you can submit the complaint.","requiredIf":"{complaint_sworn} = 'Yes'","inputType":"email","maxLength":64,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complainant_email_address})"}]},{"type":"text","name":"complainant_telephone","startWithNewLine":false,"title":"Phone number: [{optReq}]","description":"(123)456-7890 | +9(123)456-7890","requiredIf":"{complaint_sworn} = 'Yes'","validators":[{"type":"regex","text":"Please use one of the following formats: (123)456-7890 | +9(123)456-7890","regex":"^(\\+?[0-9]{1,3})?( |-)?(((\\([0-9]{3}\\) ?|[0-9]{3}-)[0-9]{3}-[0-9]{4})|([0-9]{10,15}))$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complainant_telephone})"}],"maxLength":16}],"title":"Contact Information:","description":""},{"type":"panel","name":"panel2","elements":[{"type":"text","name":"complainant_address1","title":"Street address: [{optReq}]","requiredIf":"{complaint_sworn} = 'Yes'","hideNumber":true,"maxLength":64,"validators":[{"type":"regex","text":"Please verify the street address","regex":"^[a-zA-Z\\s#.,0-9]+$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complainant_address1})"}]},{"type":"text","name":"complainant_address2","title":"City: [{optReq}]","requiredIf":"{complaint_sworn} = 'Yes'","hideNumber":true,"maxLength":64,"validators":[{"type":"regex","text":"Please verify the city","regex":"^[a-zA-Z\\s]+$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complainant_address2})"}]},{"type":"dropdown","name":"complainant_address3","startWithNewLine":false,"requiredIf":"{complaint_sworn} = 'Yes'","title":"Country: [{optReq}]","hideNumber":true,"defaultValue":"US","choicesOrder":"asc","choicesByUrl":{"url":"https://www.dca.ca.gov/webapplications/gis-api/api/gis/countries","path":"countries","valueName":"code","titleName":"name"}},{"type":"dropdown","name":"complainant_address4","visibleIf":"{complainant_address3} = 'US'","title":"State or Province: [{optReq}]","requiredIf":"{complaint_sworn} = 'Yes'","hideNumber":true,"defaultValue":"CA","choicesOrder":"asc","choicesByUrl":{"url":"https://www.dca.ca.gov/webapplications/gis-api/api/gis/states","path":"states","valueName":"code","titleName":"name"}},{"type":"text","name":"notUS","visibleIf":"{complainant_address3} notempty and {complainant_address3} <> 'US'","startWithNewLine":false,"requiredIf":"{complaint_sworn} = 'Yes'","title":"State or Province: [{optReq}]","hideNumber":true,"valueName":"complainant_address4","maxLength":64,"validators":[{"type":"regex","text":"Please verify the state or province","regex":"^[a-zA-Z\\s]+$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({notUS})"}]},{"type":"text","name":"complainant_address5","startWithNewLine":false,"requiredIf":"{complaint_sworn} = 'Yes' and {complainant_address3} = 'US'","visibleIf":"{complainant_address3} = 'US'","title":"Zip: [{optReq}]","hideNumber":true,"validators":[{"type":"regex","text":"Please verify the zip code","regex":"^[a-z0-9][a-z0-9\\- ]{0,10}[a-z0-9]$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complainant_address5})"}],"maxLength":10},{"type":"text","name":"notUSzip","startWithNewLine":false,"visibleIf":"{complainant_address3} notempty and {complainant_address3} <> 'US'","requiredIf":"{complaint_sworn} = 'Yes'","valueName":"complainant_address5","title":"Zip: [{optReq}]","hideNumber":true,"validators":[{"type":"regex","text":"Please verify the zip code","regex":"^[a-zA-Z0-9][a-zA-Z0-9\\- ]{0,10}[a-zA-Z0-9]$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({notUSzip})"}]}],"title":"Address:","showNumber":true},{"type":"panel","name":"panel1","elements":[{"type":"text","name":"business_contactinfo_website","visibleIf":"{complaint_sworn} = 'Yes'","title":"Website, if applicable:","description":"www.google.com","hideNumber":true,"inputType":"url","maxLength":255,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_contactinfo_website})"}]},{"type":"text","name":"business_contactinfo_telephone","visibleIf":"{complaint_sworn} = 'Yes'","startWithNewLine":false,"title":"Phone number:","description":"(123)456-7890 | +9(123)456-7890","hideNumber":true,"validators":[{"type":"regex","text":"Please use one of the following formats: (123)456-7890 | +9(123)456-7890","regex":"^(\\+?[0-9]{1,3})?( |-)?(((\\([0-9]{3}\\) ?|[0-9]{3}-)[0-9]{3}-[0-9]{4})|([0-9]{10,15}))$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_contactinfo_telephone})"}],"maxLength":16},{"type":"text","name":"business_contactinfo_address1","visibleIf":"{complaint_sworn} = 'Yes'","title":"Address:","hideNumber":true,"maxLength":64,"validators":[{"type":"regex","text":"Please verify the address","regex":"^[a-zA-Z\\s#.,0-9]+$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_contactinfo_address1})"}]},{"type":"text","name":"business_contactinfo_address2","visibleIf":"{complaint_sworn} = 'Yes'","title":"City:","hideNumber":true,"maxLength":64,"validators":[{"type":"regex","text":"Please verify the city","regex":"^[a-zA-Z\\s]+$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_contactinfo_address2})"}]},{"type":"dropdown","name":"business_contactinfo_address3","visibleIf":"{complaint_sworn} = 'Yes'","startWithNewLine":false,"title":"Country:","hideNumber":true,"defaultValue":"US","choicesOrder":"asc","choicesByUrl":{"url":"https://www.dca.ca.gov/webapplications/gis-api/api/gis/countries","path":"countries","valueName":"code","titleName":"name"}},{"type":"dropdown","name":"business_contactinfo_address4","visibleIf":"{complaint_sworn} = 'Yes' and {business_contactinfo_address3} = 'US'","title":"State or Province:","hideNumber":true,"defaultValue":"CA","choicesOrder":"asc","choicesByUrl":{"url":"https://www.dca.ca.gov/webapplications/gis-api/api/gis/states","path":"states","valueName":"code","titleName":"name"}},{"type":"text","name":"notUS2","visibleIf":"{business_contactinfo_address3} notempty and {business_contactinfo_address3} <> 'US'","startWithNewLine":false,"title":"State or Province:","hideNumber":true,"valueName":"business_contactinfo_address4","maxLength":64,"validators":[{"type":"regex","text":"Please verify the state or province","regex":"^[a-zA-Z\\s]+$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({notUS2})"}]},{"type":"text","name":"business_contactinfo_address5","visibleIf":"{complaint_sworn} = 'Yes' and {business_contactinfo_address3} = 'US'","startWithNewLine":false,"title":"Zip:","hideNumber":true,"validators":[{"type":"regex","text":"Please verify the zip code","regex":"^[a-z0-9][a-z0-9\\- ]{0,10}[a-z0-9]$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_contactinfo_address5})"}],"maxLength":10},{"type":"text","name":"notUSzip2","visibleIf":"{complaint_sworn} = 'Yes' and {business_contactinfo_address3} notempty and {business_contactinfo_address3} <> 'US'","startWithNewLine":false,"title":"Zip:","valueName":"business_contactinfo_address5","hideNumber":true,"validators":[{"type":"regex","text":"Please verify the zip code","regex":"^[a-zA-Z0-9][a-zA-Z0-9\\- ]{0,10}[a-zA-Z0-9]$"},{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({notUSzip2})"}]},{"type":"text","name":"business_contactinfo_owner","visibleIf":"{complaint_sworn} = 'Yes'","title":"Owner name:","description":"John Doe","hideNumber":true,"maxLength":64,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_contactinfo_owner})"},{"type":"regex","text":"Please verify the Owner name","regex":"^[a-zA-Z\\s]+$"}]},{"type":"text","name":"business_contactinfo_email","visibleIf":"{complaint_sworn} = 'Yes'","startWithNewLine":false,"title":"Contact email:","description":"Example: john.doe@gmail.com","hideNumber":true,"inputType":"email","maxLength":64,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_contactinfo_email})"}]},{"type":"text","name":"business_contactinfo_dpo","visibleIf":"{complaint_sworn} = 'Yes'","title":"Data Privacy Officer contact:","hideNumber":true,"maxLength":64,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({business_contactinfo_dpo})"},{"type":"regex","text":"Please verify the Data Privacy Officer contact","regex":"^[a-zA-Z@._0-9\\-\\s]+$"}]}],"visibleIf":"{complaint_sworn} = 'Yes'","title":"If known, please identify the following information for the business, service provider, contractor or person who allegedly violated the California Consumer Privacy Act :","showNumber":true},{"type":"text","name":"complainant_sign","visibleIf":"{complaint_sworn} = 'Yes'","title":"Signature box [required]","description":"By typing your name as an electronic signature, you attest to the following:
\n
\nI declare under penalty of perjury under the laws of California that the information I have provided on this form is true and correct.","isRequired":true,"maxLength":128,"validators":[{"type":"expression","text":"Invalid character(s)","expression":"isValidChars({complainant_sign})"},{"type":"regex","text":"Please verify your name","regex":"^[a-zA-Z\\s]+$"}]},{"type":"text","name":"complaint_date","startWithNewLine":false,"title":"Date:","titleLocation":"top","hideNumber":true,"defaultValueExpression":"today()","readOnly":true,"inputType":"date"}]}],"triggers":[{"type":"setvalue","expression":"{complaint_date} notempty","setToName":"optReq","setValue":"optional","isVariable":true},{"type":"setvalue","expression":"{complaint_date} notempty and {complaint_sworn} = 'Yes'","setToName":"optReq","setValue":"required","isVariable":true},{"type":"setvalue","expression":"{complaint_date} notempty and {complaint_sworn} = 'No'","setToName":"optReq","setValue":"optional","isVariable":true}],"clearInvisibleValues":"onHidden","checkErrorsMode":"onValueChanged","textUpdateMode":"onTyping","maxOthersLength":255}); // Dont store other option as comment // Specify if we show a confirmation page before submit // Show that form is saving webForm.surveyShowDataSaving = true // Check for field error on value change webForm.checkErrorsMode = "onValueChanged"; webForm.onValidateQuestion.add((sender, options) => { const otherRegEx = options.question.otherRegEx; if(typeof otherRegEx == "undefined" || otherRegEx.length < 1) return; const otherValue = options.question.comment; if(!otherValue) return; for(let i=0; i str = str.substring(3); str = str.substring(0, str.length - 4); //set html options.html = str; }); $("#webFormElement").Survey({ model: webForm });