freemyid 0.2.0.dev1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. freemyid/__init__.py +2 -0
  2. freemyid/_data/brokers/LICENSE-DATA.md +28 -0
  3. freemyid/_data/brokers/registry.sample.yaml +674 -0
  4. freemyid/_data/brokers/state_laws.yaml +448 -0
  5. freemyid/_data/schema/registry.schema.json +668 -0
  6. freemyid/_data/schema/setup-config.schema.json +538 -0
  7. freemyid/_data/schema/state_laws.schema.json +222 -0
  8. freemyid/cli.py +725 -0
  9. freemyid/cli_json.py +198 -0
  10. freemyid/config.py +43 -0
  11. freemyid/consent.py +82 -0
  12. freemyid/crypto.py +197 -0
  13. freemyid/doctor.py +374 -0
  14. freemyid/engine/__init__.py +0 -0
  15. freemyid/engine/_dev/__init__.py +101 -0
  16. freemyid/engine/_dev/devrun.py +101 -0
  17. freemyid/engine/_dev/inbox/devauto.eml +7 -0
  18. freemyid/engine/_dev/registry.yaml +106 -0
  19. freemyid/engine/_dev/site/devauto.example/confirm.html +1 -0
  20. freemyid/engine/_dev/site/devauto.example/name/jane-testperson/il.html +17 -0
  21. freemyid/engine/_dev/site/devauto.example/name/jane-testperson/nc.html +4 -0
  22. freemyid/engine/_dev/site/devauto.example/name/jane-testperson/oh.html +4 -0
  23. freemyid/engine/_dev/site/devauto.example/optout/done.html +1 -0
  24. freemyid/engine/_dev/site/devauto.example/optout.html +6 -0
  25. freemyid/engine/_dev/site/devblocked.example/name/jane-testperson/il.html +3 -0
  26. freemyid/engine/_dev/site/devblocked.example/optout.html +3 -0
  27. freemyid/engine/_dev/site/devfill.example/ajax.html +20 -0
  28. freemyid/engine/_dev/site/devfill.example/aria.html +16 -0
  29. freemyid/engine/_dev/site/devfill.example/consent.html +20 -0
  30. freemyid/engine/_dev/site/devfill.example/done.html +3 -0
  31. freemyid/engine/_dev/site/devfill.example/empty.html +1 -0
  32. freemyid/engine/_dev/site/devfill.example/fullname.html +12 -0
  33. freemyid/engine/_dev/site/devfill.example/labels.html +32 -0
  34. freemyid/engine/_dev/site/devfill.example/late.html +22 -0
  35. freemyid/engine/_dev/site/devfind.example/hostile.html +12 -0
  36. freemyid/engine/_dev/site/devfind.example/p/jane-testperson-shelbyville-il.html +6 -0
  37. freemyid/engine/_dev/site/devfind.example/p/jane-testperson-springfield-il.html +6 -0
  38. freemyid/engine/_dev/site/devfind.example/results.html +11 -0
  39. freemyid/engine/_dev/site/devfind.example/search.html +16 -0
  40. freemyid/engine/_dev/site/devweb.example/remove.html +1 -0
  41. freemyid/engine/browser.py +430 -0
  42. freemyid/engine/fill_for_me.py +630 -0
  43. freemyid/engine/filler.py +523 -0
  44. freemyid/engine/handoff.py +237 -0
  45. freemyid/engine/letters.py +125 -0
  46. freemyid/engine/listing_finder.py +538 -0
  47. freemyid/engine/mail.py +406 -0
  48. freemyid/engine/mail_tls.py +198 -0
  49. freemyid/engine/matcher.py +208 -0
  50. freemyid/engine/outbox.py +421 -0
  51. freemyid/engine/plugins.py +68 -0
  52. freemyid/engine/runner.py +791 -0
  53. freemyid/engine/tiers.py +107 -0
  54. freemyid/interfaces.py +164 -0
  55. freemyid/logging_setup.py +152 -0
  56. freemyid/models.py +700 -0
  57. freemyid/netpolicy.py +145 -0
  58. freemyid/notify.py +58 -0
  59. freemyid/paths.py +83 -0
  60. freemyid/registry.py +275 -0
  61. freemyid/scheduler/__init__.py +203 -0
  62. freemyid/scheduler/render.py +91 -0
  63. freemyid/secret_backends.py +562 -0
  64. freemyid/secrets.py +25 -0
  65. freemyid/setup_config.py +311 -0
  66. freemyid/state.py +151 -0
  67. freemyid/storage/__init__.py +3 -0
  68. freemyid/storage/db.py +394 -0
  69. freemyid/submitters/__init__.py +0 -0
  70. freemyid/submitters/assisted.py +171 -0
  71. freemyid/submitters/base.py +119 -0
  72. freemyid/submitters/email.py +40 -0
  73. freemyid/submitters/web_form.py +276 -0
  74. freemyid/templates/_identity.txt.j2 +19 -0
  75. freemyid/templates/_signature.txt.j2 +7 -0
  76. freemyid/templates/ccpa.txt.j2 +16 -0
  77. freemyid/templates/follow_up.txt.j2 +15 -0
  78. freemyid/templates/generic_removal.txt.j2 +12 -0
  79. freemyid/templates/legal_demand.txt.j2 +20 -0
  80. freemyid/templates/phone_script.txt.j2 +25 -0
  81. freemyid/templates/postal_letter.txt.j2 +20 -0
  82. freemyid/templates/state_privacy.txt.j2 +17 -0
  83. freemyid/wizard/__init__.py +0 -0
  84. freemyid/wizard/dashboard.py +401 -0
  85. freemyid/wizard/desktop.py +188 -0
  86. freemyid/wizard/draft.py +627 -0
  87. freemyid/wizard/firstrun.py +42 -0
  88. freemyid/wizard/flows.py +283 -0
  89. freemyid/wizard/report.py +86 -0
  90. freemyid/wizard/server.py +834 -0
  91. freemyid/wizard/static/__init__.py +0 -0
  92. freemyid/wizard/static/app.js +98 -0
  93. freemyid/wizard/static/freemyid.png +0 -0
  94. freemyid/wizard/static/style.css +85 -0
  95. freemyid/wizard/ui.py +343 -0
  96. freemyid-0.2.0.dev1.dist-info/METADATA +396 -0
  97. freemyid-0.2.0.dev1.dist-info/RECORD +100 -0
  98. freemyid-0.2.0.dev1.dist-info/WHEEL +4 -0
  99. freemyid-0.2.0.dev1.dist-info/entry_points.txt +2 -0
  100. freemyid-0.2.0.dev1.dist-info/licenses/LICENSE +661 -0
@@ -0,0 +1,674 @@
1
+ version: "2026.11.06-sample"
2
+ updated: 2026-11-06
3
+ # SAMPLE broker registry (public). A small, representative slice of the maintained Free My ID
4
+ # registry, licensed CC BY-NC 4.0 (see brokers/LICENSE-DATA.md). The full maintained registry
5
+ # (several hundred brokers, kept current) is not in the public repository; it ships with
6
+ # family/private builds and through the registry update feed (config registry_url).
7
+ # Each entry below is copied verbatim from the maintained registry; see brokers/SOURCES.md.
8
+ brokers:
9
+ - id: ca_drop
10
+ name: California DROP (Delete Request and Opt-out Platform)
11
+ url: https://privacy.ca.gov/drop/
12
+ category: other
13
+ domains: [privacy.ca.gov, consumer.drop.privacy.ca.gov]
14
+ opt_out_url: https://consumer.drop.privacy.ca.gov
15
+ method: account_required
16
+ required_fields: [full_name, street_address, city, state, zip, dob, email]
17
+ needs_email_verification: true
18
+ needs_id_upload: false
19
+ typical_processing_days: 90
20
+ recheck_interval_days: 90
21
+ ca_registered: false
22
+ legal_basis_notes: "California Delete Act (SB 362). From 2026-08-01 registered data brokers must check DROP at least every 45 days; status updates can take up to 90 days."
23
+ steps:
24
+ - "Only for people who live in California. Open the DROP web address."
25
+ - "Prove who you are with the State of California sign-in. You do this yourself."
26
+ - "Make a profile with only the details you choose to share."
27
+ - "Send one deletion request. It reaches 600+ registered data brokers and is free."
28
+ - "Come back in about 3 months to see the results."
29
+ source_urls: [https://privacy.ca.gov/drop/]
30
+ verification_status: verified
31
+ verification_notes: "privacy.ca.gov/drop page fetched 2026-11-05 and matched. The consumer.drop.privacy.ca.gov host is named on that page but was not itself fetched. Identity check happens on the state site; Free My ID must hand off to the human (TodoKind.GOVERNMENT_PORTAL)."
32
+ last_verified: 2026-11-07
33
+ priority: 95
34
+ - id: spokeo
35
+ name: Spokeo
36
+ success_text: ["We've received your request to remove the profile"]
37
+ listing_url_pattern: "^/[A-Za-z0-9-]+/[A-Za-z0-9-]+/[A-Za-z0-9-]+/p[0-9]+$"
38
+ url: https://www.spokeo.com/
39
+ category: people_search
40
+ domains: [www.spokeo.com, spokeo.com]
41
+ opt_out_url: https://www.spokeo.com/optout
42
+ method: web_form
43
+ alt_methods: [email, phone]
44
+ opt_out_email: CustomerCare@spokeo.com
45
+ phone: "1 (877) 864-0183"
46
+ required_fields: [listing_url, email]
47
+ needs_email_verification: true
48
+ confirmation_domains: [spokeo.com]
49
+ typical_processing_days: 3
50
+ ca_registered: true
51
+ steps:
52
+ - "Search for yourself on Spokeo and open your listing."
53
+ - "Copy the web address of that listing from the top of your browser."
54
+ - "Go to the opt-out page. Paste the web address and type your removal email."
55
+ - "Press the button to send."
56
+ - "Open the email Spokeo sends you and click its link."
57
+ source_urls: [&badbool https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List, https://www.spokeo.com/privacy-policy, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
58
+ verification_status: unverified
59
+ verification_notes: "Opt-out page /optout returned HTTP 403 (bot protection), so unverified. Email source: Spokeo's own privacy policy (fetched 2026-11-06) lists CustomerCare@spokeo.com for general privacy questions and says EEA users may email it to request erasure; deletion for others is via its web form or phone (877) 864-0183. privacy@spokeo.com is named there only for the Data Protection Officer and appeals; the CA registry primary contact is legal@spokeo.com. The registry also lists freepeopledirectory.com, peoplewin.com and thatsthem.com as Spokeo sites. BADBOOL warns paid accounts may keep removed data."
60
+ priority: 90
61
+ - id: freepeopledirectory
62
+ name: FreePeopleDirectory
63
+ url: https://www.freepeopledirectory.com/
64
+ category: people_search
65
+ domains: [www.freepeopledirectory.com, freepeopledirectory.com, www.spokeo.com]
66
+ opt_out_url: https://www.spokeo.com/optout
67
+ method: web_form
68
+ covered_by: spokeo
69
+ parent_company: Spokeo, Inc.
70
+ feeds_from: [spokeo]
71
+ steps:
72
+ - "Nothing extra to do. The Spokeo removal is meant to cover FreePeopleDirectory."
73
+ - "Do the Spokeo removal first, then check this site again in a week."
74
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
75
+ verification_status: unverified
76
+ verification_notes: "BADBOOL says to opt out of FreePeopleDirectory via the Spokeo opt-out. The CA registry (2026-11-06) lists freepeopledirectory.com among Spokeo, Inc.'s websites, which supports ownership; opt-out coverage itself is not confirmed from a primary source."
77
+ priority: 30
78
+ - id: whitepages
79
+ name: Whitepages
80
+ url: https://www.whitepages.com/
81
+ category: people_search
82
+ domains: [www.whitepages.com, whitepages.com, support.whitepages.com]
83
+ opt_out_url: https://www.whitepages.com/suppression_requests
84
+ method: web_form
85
+ alt_methods: [email]
86
+ opt_out_email: legal@whitepages.com
87
+ required_fields: [listing_url, phone]
88
+ needs_email_verification: false
89
+ typical_processing_days: 2
90
+ ca_registered: true
91
+ steps:
92
+ - "Search for yourself on Whitepages and open your listing."
93
+ - "Copy the web address of that listing."
94
+ - "Paste it on the removal page and press the button."
95
+ - "Whitepages phones you with a 4-digit code. This needs your OK to share a phone number."
96
+ - "Type the code. If you cannot, this one will need you to finish it yourself."
97
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
98
+ verification_status: unverified
99
+ verification_notes: "Fetch blocked by tool policy. BADBOOL gives suppression_requests (underscore); the legacy seed used suppression-requests (hyphen); confirm which is live. Phone verification means NEEDS_HUMAN unless allow_phone_disclosure is set. Email: legal@whitepages.com is the 'primary contact email' in the CA CPPA registry 2025 CSV (fetched 2026-11-06) and a search-result summary of Whitepages pages names it for written CCPA deletion requests; not confirmed on a Whitepages page. A separate search result mentioned privacyrequest@whitepages.com; not recorded (single weak source)."
100
+ priority: 90
101
+ - id: whitepages_411
102
+ name: 411.com
103
+ url: https://www.411.com/
104
+ category: people_search
105
+ domains: [www.411.com, 411.com, www.whitepages.com]
106
+ opt_out_url: https://www.whitepages.com/suppression_requests
107
+ method: web_form
108
+ covered_by: whitepages
109
+ parent_company: Whitepages
110
+ steps:
111
+ - "Nothing extra to do. Removing your listing from Whitepages also covers 411.com."
112
+ - "If you still see yourself on 411.com after a week, submit the Whitepages request again."
113
+ source_urls: [*badbool]
114
+ verification_status: unverified
115
+ verification_notes: "BADBOOL says 411.com is owned by Whitepages and uses the same opt-out. Coverage not confirmed from a primary source."
116
+ priority: 40
117
+ - id: beenverified
118
+ name: BeenVerified
119
+ success_text: ["Your optout request was submitted"]
120
+ url: https://www.beenverified.com/
121
+ category: people_search
122
+ domains: [www.beenverified.com, beenverified.com]
123
+ opt_out_url: https://www.beenverified.com/app/optout/search
124
+ method: web_form
125
+ required_fields: [full_name, state, email]
126
+ needs_email_verification: true
127
+ confirmation_domains: [beenverified.com]
128
+ typical_processing_days: 7
129
+ ca_registered: true
130
+ steps:
131
+ - "Open the opt-out page and type your name and state."
132
+ - "Find your record in the list and click it."
133
+ - "Type your removal email address."
134
+ - "Open the email BeenVerified sends and click its link."
135
+ - "You need to repeat this for each email address you use."
136
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
137
+ verification_status: unverified
138
+ verification_notes: "Fetch blocked by tool policy. URL from seed and BADBOOL. A separate property-record opt-out exists at /app/optout/address-search. The CA registry (fetched 2026-11-06) lists the CCPA request page as https://www.beenverified.com/svc/optout/search/comprehensive_optouts, a different path from /app/optout/search; neither was loadable, so confirm which is live. No email channel recorded: the registry primary contact is privacy@moneybot5000.com, which is not a BeenVerified domain (the schema only allows addresses on a broker's domains); see report."
139
+ priority: 90
140
+ - id: peoplelooker
141
+ name: PeopleLooker
142
+ url: https://www.peoplelooker.com/
143
+ category: people_search
144
+ domains: [www.peoplelooker.com, peoplelooker.com, www.beenverified.com]
145
+ opt_out_url: https://www.beenverified.com/app/optout/search
146
+ method: web_form
147
+ covered_by: beenverified
148
+ parent_company: BeenVerified, Inc.
149
+ feeds_from: [beenverified]
150
+ ca_registered: true
151
+ steps:
152
+ - "Nothing extra to do. The BeenVerified opt-out is meant to cover PeopleLooker."
153
+ - "If you still see yourself on PeopleLooker after a week, check the BeenVerified opt-out page again or ask BeenVerified for help."
154
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
155
+ verification_status: unverified
156
+ verification_notes: "The CA registry (2026-11-06) lists peoplelooker.com among BeenVerified, Inc.'s subsidiary sites, which supports common ownership. The legacy seed opt-out path /f/optout/search returned HTTP 404 on 2026-11-05. covered_by is an assumption from common ownership; if PeopleLooker still lists after the BeenVerified opt-out, remove covered_by and find the live form."
157
+ priority: 70
158
+ - id: peopleconnect
159
+ name: PeopleConnect Suppression Center (Intelius, Instant Checkmate, TruthFinder, US Search, ZabaSearch)
160
+ url: https://suppression.peopleconnect.us/
161
+ category: people_search
162
+ domains: [suppression.peopleconnect.us, peopleconnect.us]
163
+ opt_out_url: https://suppression.peopleconnect.us/login
164
+ method: web_form
165
+ required_fields: [full_name, email]
166
+ needs_email_verification: true
167
+ confirmation_domains: [peopleconnect.us]
168
+ typical_processing_days: 7
169
+ steps:
170
+ - "Open the Suppression Center page."
171
+ - "Type your name and removal email address, and find your record."
172
+ - "Select your record, then confirm."
173
+ - "Open the email they send and click its link."
174
+ - "This covers Intelius, Instant Checkmate, TruthFinder, US Search and ZabaSearch. It does not cover Classmates."
175
+ source_urls: [*badbool]
176
+ verification_status: unverified
177
+ verification_notes: "Page loaded 2026-11-05 but only the title 'PeopleConnect - Suppression Center' was returned (JS app), so the flow could not be confirmed. Coverage of the brands is stated by BADBOOL and several third-party guides, not by a primary page. DeleteMe help-center articles say PeopleConnect rejects requests submitted by third-party agents. No email recorded for this entry; see intelius, truthfinder, instantcheckmate."
178
+ priority: 90
179
+ - id: intelius
180
+ name: Intelius
181
+ url: https://www.intelius.com/
182
+ category: people_search
183
+ domains: [www.intelius.com, intelius.com, suppression.peopleconnect.us]
184
+ opt_out_url: https://suppression.peopleconnect.us/login
185
+ method: web_form
186
+ alt_methods: [email, phone]
187
+ opt_out_email: support@mailer.intelius.com
188
+ phone: "1-888-245-1655"
189
+ covered_by: peopleconnect
190
+ parent_company: PeopleConnect
191
+ ca_registered: true
192
+ steps:
193
+ - "Nothing extra to do. The PeopleConnect Suppression Center request covers Intelius."
194
+ - "Do the PeopleConnect Suppression Center request first, then check Intelius again in a week."
195
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
196
+ verification_status: unverified
197
+ verification_notes: "Fetch blocked by tool policy. Email support@mailer.intelius.com is the 'primary contact email' for Intelius, LLC in the CA CPPA registry 2025 CSV (fetched 2026-11-06; also BADBOOL). The registry lists US Search as an Intelius DBA. Phone is from BADBOOL only; a third-party profile could not confirm it. Registry contact, not a stated request intake."
198
+ priority: 80
199
+ - id: truthfinder
200
+ name: TruthFinder
201
+ url: https://www.truthfinder.com/
202
+ category: background_check
203
+ domains: [www.truthfinder.com, truthfinder.com, suppression.peopleconnect.us]
204
+ opt_out_url: https://suppression.peopleconnect.us/login
205
+ method: web_form
206
+ alt_methods: [email]
207
+ opt_out_email: help@truthfinder.com
208
+ covered_by: peopleconnect
209
+ parent_company: PeopleConnect
210
+ ca_registered: true
211
+ steps:
212
+ - "Nothing extra to do. The PeopleConnect Suppression Center request covers TruthFinder."
213
+ - "Do the PeopleConnect Suppression Center request first, then check this site again in a week."
214
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
215
+ verification_status: unverified
216
+ verification_notes: "truthfinder.com/opt-out returned HTTP 403. Covered by the PeopleConnect Suppression Center per BADBOOL; not confirmed from a primary page. help@truthfinder.com is the 'primary contact email' for TruthFinder, LLC in the CA CPPA registry 2025 CSV (2026-11-06)."
217
+ priority: 70
218
+ - id: peoplefinders
219
+ name: PeopleFinders
220
+ url: https://www.peoplefinders.com/
221
+ category: people_search
222
+ domains: [www.peoplefinders.com, peoplefinders.com]
223
+ opt_out_url: https://www.peoplefinders.com/opt-out
224
+ method: web_form
225
+ alt_methods: [email]
226
+ opt_out_email: customercare@peoplefinders.com
227
+ required_fields: [listing_url, email]
228
+ needs_email_verification: true
229
+ confirmation_domains: [peoplefinders.com]
230
+ ca_registered: true
231
+ steps:
232
+ - "Search for yourself on PeopleFinders and open your listing."
233
+ - "Copy the web address of that listing."
234
+ - "Paste it on the opt-out page and type your removal email."
235
+ - "Open the email they send and click its link within 24 hours."
236
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
237
+ verification_status: unverified
238
+ verification_notes: "HTTP 403 on fetch (opt-out and /about/privacy). URL from the legacy seed only. BADBOOL notes an opt-out at SmartBackgroundChecks likely also removes PeopleFinders. Email customercare@peoplefinders.com is the 'primary contact email' for Peoplefinders LLC in the CA CPPA registry 2025 CSV (2026-11-06), a customer-service mailbox. The registry says CCPA requests go through links in section V of peoplefinders.com/about/privacy. A search result (third party) mentions a 24-hour email verification link; sender domain assumed peoplefinders.com. privacy@peoplefinders.com appears only in a third-party guide; not recorded."
239
+ priority: 70
240
+ - id: truepeoplesearch
241
+ name: TruePeopleSearch
242
+ success_text: ["The following information was submitted to our system successfully", "Expect your information to be fully removed in 3 days or less"]
243
+ url: https://www.truepeoplesearch.com/
244
+ category: people_search
245
+ domains: [www.truepeoplesearch.com, truepeoplesearch.com]
246
+ opt_out_url: https://www.truepeoplesearch.com/removal
247
+ method: web_form
248
+ alt_methods: [email]
249
+ opt_out_email: support@truepeoplesearch.com
250
+ required_fields: [listing_url]
251
+ has_captcha: true
252
+ needs_email_verification: true
253
+ confirmation_domains: [truepeoplesearch.com]
254
+ typical_processing_days: 3
255
+ ca_registered: true
256
+ steps:
257
+ - "Search for yourself on TruePeopleSearch and open your listing."
258
+ - "Copy the web address of that listing."
259
+ - "Paste it on the removal page. A picture puzzle (captcha) appears; you must solve it."
260
+ - "Open the email they send and click its link within 24 hours."
261
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
262
+ verification_status: unverified
263
+ verification_notes: "Fetch blocked by tool policy. BADBOOL says captchas are required. Imitation sites exist (e.g. truepeoplesearch.net) and are not this operator. Email support@truepeoplesearch.com is the 'primary contact email' for Free Data Services, LLC (TruePeopleSearch) in the CA CPPA registry 2025 CSV (2026-11-06); a search result (third-party guide) says verification emails come from the same address."
264
+ priority: 85
265
+ - id: fastpeoplesearch
266
+ name: FastPeopleSearch
267
+ success_text: ["The following information was submitted to our system successfully", "Expect your information to be fully removed in 3 days or less"]
268
+ url: https://www.fastpeoplesearch.com/
269
+ category: people_search
270
+ domains: [www.fastpeoplesearch.com, fastpeoplesearch.com]
271
+ opt_out_url: https://www.fastpeoplesearch.com/removal
272
+ method: web_form
273
+ required_fields: [listing_url]
274
+ has_captcha: true
275
+ needs_email_verification: true
276
+ confirmation_domains: [fastpeoplesearch.com]
277
+ parent_company: Mississippi Tornado Alley LLC
278
+ ca_registered: true
279
+ steps:
280
+ - "Search for yourself on FastPeopleSearch and open your listing."
281
+ - "Copy the web address of that listing."
282
+ - "Paste it on the removal page and type your removal email. Solve the picture puzzle (captcha)."
283
+ - "Open the email they send and click its link within 24 hours."
284
+ - "Each listing needs its own request."
285
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
286
+ verification_status: unverified
287
+ verification_notes: "Fetch blocked by tool policy. Seed says /removal; BADBOOL says /optout. Confirm which is live. No email channel recorded: the CA registry lists the operator (Mississippi Tornado Alley LLC) contact as privacy@mtalley.zendesk.com, a host outside this broker's domains. A third-party guide says confirmation emails come from support@fastpeoplesearch.com (confirmation domain recorded from that)."
288
+ priority: 85
289
+ - id: radaris
290
+ name: Radaris
291
+ url: https://radaris.com/
292
+ category: people_search
293
+ domains: [radaris.com]
294
+ opt_out_url: https://radaris.com/control/privacy
295
+ method: web_form
296
+ steps:
297
+ - "Nothing to do here for now. The Radaris web address now belongs to a privacy company after a court order."
298
+ source_urls: [https://radaris.com/control/privacy]
299
+ verification_status: unverified
300
+ verification_notes: "Independently confirmed 2026-11-05 by fetching https://radaris.com/control/privacy: the page says the radaris.com domain was transferred to Atlas Data Privacy Corporation under an NJ Superior Court (Middlesex) judgment, with a default judgment dated 2026-08-27 under Daniel's Law (N.J.S.A. 56:8-166.1) against Radaris.com, Rehold.com and Trustoria.com, plus a permanent injunction covering affiliated domains. Contact shown: support@atlas.net (not a Radaris domain, so not recorded as opt_out_email). No removal flow. Disabled: nothing to automate on this domain. Re-enable for re-scan only if listings reappear under another domain (add that domain then)."
301
+ enabled: false
302
+ priority: 5
303
+ - id: mylife
304
+ name: MyLife
305
+ url: https://www.mylife.com/
306
+ category: people_search
307
+ domains: [www.mylife.com, mylife.com]
308
+ opt_out_url: https://www.mylife.com/privacyrequest
309
+ method: web_form
310
+ alt_methods: [email, phone]
311
+ opt_out_email: privacy@mylife.com
312
+ phone: "(888) 704-1900"
313
+ required_fields: [full_name, email, phone]
314
+ ca_registered: true
315
+ steps:
316
+ - "Open the privacy request page and fill in your name and removal email."
317
+ - "MyLife may ask for a phone number. Only give it if you are comfortable doing so."
318
+ - "MyLife may try to start an account or ask for ID. Stop if so. You do not need to do either."
319
+ - "If the page does not work, email privacy@mylife.com asking for your listing to be deleted."
320
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
321
+ verification_status: unverified
322
+ verification_notes: "Seed URL (/ccpa/index.pubview) returned HTTP 403; /privacy-policy also 403. URL, email privacy@mylife.com and phone are from BADBOOL only. The CA registry (2026-11-06) lists Insightbridge LLC (alt. name MyLife) with primary contact membersupport@mylife.com and request page https://www.mylife.com/privacy-policy; that address is not recorded because only one email field exists. BADBOOL reports MyLife may push an account and a phone call or driver's licence; treat as human-assisted."
323
+ priority: 70
324
+ - id: nuwber
325
+ name: Nuwber
326
+ url: https://nuwber.com/
327
+ category: people_search
328
+ domains: [nuwber.com]
329
+ opt_out_url: https://nuwber.com/removal/link
330
+ method: web_form
331
+ alt_methods: [email]
332
+ opt_out_email: support@nuwber.com
333
+ required_fields: [listing_url, email]
334
+ needs_email_verification: true
335
+ ca_registered: true
336
+ steps:
337
+ - "Search for yourself on Nuwber and open your listing."
338
+ - "Copy the web address of that listing."
339
+ - "Paste it on the removal page and type your removal email."
340
+ - "Open the email Nuwber sends and click its link."
341
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
342
+ verification_status: unverified
343
+ verification_notes: "HTTP 403 on fetch (removal page and /policy). URL from legacy seed only. Email support@nuwber.com is the 'primary contact email' for Nuwber Inc in the CA CPPA registry 2025 CSV (2026-11-06); request page listed there is https://www.nuwber.com/policy. Registry contact, not a stated request intake."
344
+ priority: 70
345
+ - id: thatsthem
346
+ name: That's Them
347
+ url: https://thatsthem.com/
348
+ category: people_search
349
+ domains: [thatsthem.com]
350
+ opt_out_url: https://thatsthem.com/optout
351
+ method: web_form
352
+ required_fields: [street_address]
353
+ parent_company: Spokeo, Inc.
354
+ ca_registered: true
355
+ steps:
356
+ - "Open the opt-out page."
357
+ - "Type the street address that shows on your listing."
358
+ - "Follow the on-screen buttons to finish."
359
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
360
+ verification_status: unverified
361
+ verification_notes: "HTTP 403 on fetch. URL from seed and BADBOOL. The CA registry (2026-11-06) lists thatsthem.com as a website of Spokeo, Inc., but its own opt-out form is separate, so covered_by is not set. No email: the registry contact legal@spokeo.com is not on this broker's domain."
362
+ priority: 70
363
+ - id: familytreenow
364
+ name: FamilyTreeNow
365
+ url: https://www.familytreenow.com/
366
+ category: family_tree
367
+ domains: [www.familytreenow.com, familytreenow.com]
368
+ opt_out_url: https://www.familytreenow.com/optout
369
+ method: web_form
370
+ alt_methods: [email]
371
+ opt_out_email: support@familytreenow.com
372
+ ca_registered: true
373
+ steps:
374
+ - "Open the opt-out page."
375
+ - "Type your name and find your record in the list."
376
+ - "Click your record and follow the buttons to ask for removal."
377
+ - "Check the site again in a week."
378
+ source_urls: [*badbool, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
379
+ verification_status: unverified
380
+ verification_notes: "HTTP 403 on fetch. URL from seed and BADBOOL. Email support@familytreenow.com is the 'primary contact email' for Family Tree Now, LLC in the CA CPPA registry 2025 CSV (2026-11-06); request page there: https://www.familytreenow.com/privacy. Registry contact, not a stated request intake."
381
+ priority: 70
382
+ - id: searchpeoplefree
383
+ name: SearchPeopleFree
384
+ success_text: ["Your record request has been received and accepted"]
385
+ url: https://www.searchpeoplefree.com/
386
+ category: people_search
387
+ domains: [www.searchpeoplefree.com, searchpeoplefree.com]
388
+ opt_out_url: https://www.searchpeoplefree.com/opt-out
389
+ method: web_form
390
+ required_fields: [full_name, email]
391
+ needs_email_verification: true
392
+ has_captcha: true
393
+ typical_processing_days: 3
394
+ parent_company: Mississippi Tornado Alley LLC
395
+ ca_registered: true
396
+ steps:
397
+ - "Open the opt-out page and type your first name, last name and removal email."
398
+ - "Solve the picture puzzle (captcha) and press Begin removal process."
399
+ - "Open the email within 24 hours and click its link. You have 30 minutes after that."
400
+ - "Fill in the record details exactly as the site shows them."
401
+ - "Allow up to 3 days. This removes you from this site only."
402
+ form:
403
+ - action: goto
404
+ url: https://www.searchpeoplefree.com/opt-out
405
+ - action: expect_text
406
+ value: "Begin removal process"
407
+ note: "Button text seen on the live page 2026-11-06. Selectors for the fields were not visible in the fetched text, so none are recorded."
408
+ - action: human
409
+ note: "A person fills first name, last name and the removal email, solves the captcha and presses Begin removal process, then clicks the emailed link."
410
+ source_urls: [https://www.searchpeoplefree.com/opt-out, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
411
+ verification_status: verified
412
+ verification_notes: "Page fetched 2026-11-05 and again 2026-11-06 and matched; visible fields: First Name*, Middle Name, Last Name*, Email*; button 'Begin removal process.'; the page reports the emailed link, captcha, and 3-day processing. Removes only this site. Confirmation link domain is presumed searchpeoplefree.com. The fetch returns rendered text only (no HTML), so no CSS selectors are recorded; the form block is a page check plus a human step. CA registry lists the site under Mississippi Tornado Alley LLC."
413
+ last_verified: 2026-11-07
414
+ confirmation_domains: [searchpeoplefree.com]
415
+ priority: 60
416
+ - id: peoplesearchnow
417
+ name: PeopleSearchNow
418
+ success_text: ["The following information was submitted to our system successfully", "Expect your information to be fully removed in 3 days or less"]
419
+ url: https://www.peoplesearchnow.com/
420
+ category: people_search
421
+ domains: [www.peoplesearchnow.com, peoplesearchnow.com]
422
+ opt_out_url: https://www.peoplesearchnow.com/opt-out
423
+ method: web_form
424
+ required_fields: [full_name, email]
425
+ needs_email_verification: true
426
+ has_captcha: true
427
+ typical_processing_days: 3
428
+ parent_company: Mississippi Tornado Alley LLC
429
+ ca_registered: true
430
+ steps:
431
+ - "Open the opt-out page. Choose 'The subject of the request' (that is you)."
432
+ - "Type your first name, last name and removal email."
433
+ - "Solve the picture puzzle (captcha) and press Begin Removal Process."
434
+ - "Open the email within 24 hours and click its link."
435
+ - "Enter the record details as the site shows them. Allow up to 3 days."
436
+ form:
437
+ - action: goto
438
+ url: https://www.peoplesearchnow.com/opt-out
439
+ - action: expect_text
440
+ value: "Begin Removal Process"
441
+ note: "Button text seen on the live page 2026-11-06. Selectors for the fields were not visible in the fetched text, so none are recorded."
442
+ - action: human
443
+ note: "A person chooses 'The subject of the request', fills first name, last name and the removal email, solves the captcha and presses Begin Removal Process, then clicks the emailed link."
444
+ source_urls: [https://www.peoplesearchnow.com/opt-out, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
445
+ verification_status: verified
446
+ verification_notes: "Page fetched 2026-11-05 and again 2026-11-06 and matched; visible: radio 'The subject of the request' / 'An authorized agent of the subject of the request', Subject First Name*, Middle Name, Last Name*, Email*, button 'Begin Removal Process'; a captcha is mentioned. Confirmation link domain is presumed peoplesearchnow.com. Rendered text only, so no CSS selectors recorded. CA registry lists the site under Mississippi Tornado Alley LLC."
447
+ last_verified: 2026-11-07
448
+ confirmation_domains: [peoplesearchnow.com]
449
+ priority: 50
450
+ - id: acxiom
451
+ name: Acxiom
452
+ success_text: ["Thank You for Submitting Your Opt Out Request to Acxiom"]
453
+ url: https://www.acxiom.com/
454
+ category: data_broker
455
+ domains: [www.acxiom.com, acxiom.com, enterpriseot-privacy.my.onetrust.com]
456
+ opt_out_url: https://www.acxiom.com/optout/
457
+ method: web_form
458
+ alt_methods: [phone, postal]
459
+ phone: "1-877-774-2094"
460
+ postal:
461
+ recipient: "Acxiom LLC, Consumer Care Advocate, Attn: Consumer Rights Requests"
462
+ lines: ["CWY0301-026", "P.O. Box 2000", "Conway, AR 72033"]
463
+ required_fields: [email]
464
+ needs_email_verification: true
465
+ confirmation_domains: [acxiom.com]
466
+ typical_processing_days: 14
467
+ recheck_interval_days: 90
468
+ ca_registered: true
469
+ steps:
470
+ - "Open the opt-out page and choose 'US individual - opt out request'."
471
+ - "Type your name and removal email, then send."
472
+ - "Open the email Acxiom sends and click its link."
473
+ - "To see or delete your data, use the form linked from their privacy page instead."
474
+ - "Opting out does not call back data already given to advertisers."
475
+ source_urls: [https://www.acxiom.com/optout/, https://www.acxiom.com/privacy/]
476
+ verification_status: verified
477
+ verification_notes: "Both pages fetched 2026-11-05 and matched (opt-out, phone, address, two-week processing); opt-out page re-fetched 2026-11-06 (the form itself is not in the fetched text). No email channel: the only registry contact is a named individual's address, not recorded."
478
+ last_verified: 2026-11-07
479
+ priority: 60
480
+ - id: oracle
481
+ name: Oracle Advertising (Oracle Data Cloud)
482
+ url: https://www.oracle.com/
483
+ category: data_broker
484
+ domains: [www.oracle.com, oracle.com]
485
+ method: email
486
+ opt_out_email: oracleadvertising-inquiries_mb@oracle.com
487
+ recheck_interval_days: 180
488
+ legal_basis_notes: "Oracle's advertising products reached end of life on 2024-09-30. Oracle's EOL FAQ says to keep using prior opt-out/DSAR/deletion practices during wind-down and names the contact above. Likely nothing left to remove; kept for completeness."
489
+ source_urls: [https://oracle.com/a/ocom/docs/oracle-advertising-end-of-life-faqs.pdf]
490
+ verification_status: unverified
491
+ verification_notes: "Found via search result only; PDF fetch returned HTTP 403 on 2026-11-06 and 2026-11-05. Address may no longer work. No current web opt-out page found. Disabled by default."
492
+ enabled: false
493
+ priority: 10
494
+ - id: liveramp
495
+ name: LiveRamp
496
+ success_text: ["Thank you for submitting your request. LiveRamp is reviewing your request"]
497
+ url: https://liveramp.com/
498
+ category: data_broker
499
+ domains: [liveramp.com, optout.liveramp.com]
500
+ opt_out_url: https://liveramp.com/privacy/my-privacy-choices
501
+ method: web_form
502
+ alt_methods: [email, phone]
503
+ opt_out_email: consumercare@liveramp.com
504
+ phone: "(844) 678-0045"
505
+ recheck_interval_days: 90
506
+ ca_registered: true
507
+ steps:
508
+ - "Open the privacy choices page."
509
+ - "Under 'Deletion Request', click 'As a consumer'."
510
+ - "Fill in the form on the page that opens and send it."
511
+ - "For ads on your phone or browser, use the separate links at the top of the page."
512
+ - "You can also call (844) 678-0045 and follow the spoken menu."
513
+ source_urls: [https://liveramp.com/privacy/my-privacy-choices, https://liveramp.com/opt_out/]
514
+ verification_status: verified
515
+ verification_notes: "https://liveramp.com/opt_out/ fetched 2026-11-05 and lists this portal URL. The portal page itself was fetched 2026-11-06: sections Opt Out, Access, Category Access, Correction and Deletion (consumer / parent / agent links to external TrustArc forms, not recorded), phone (844) 678-0045 with service codes (deletion = 4), and the email consumercare@liveramp.com for requests, all shown on the page. No form HTML visible."
516
+ last_verified: 2026-11-07
517
+ priority: 50
518
+ - id: cotality
519
+ name: Cotality (formerly CoreLogic)
520
+ url: https://www.cotality.com/
521
+ category: data_broker
522
+ domains: [www.cotality.com, cotality.com]
523
+ method: phone
524
+ alt_methods: [email]
525
+ opt_out_email: privacy@cotality.com
526
+ phone: "1-866-221-9291"
527
+ recheck_interval_days: 90
528
+ legal_basis_notes: "Opt-out (sale/sharing) and deletion are separate requests. Deletion covers only data Cotality holds; county property records are not covered."
529
+ steps:
530
+ - "Call 1-866-221-9291 (California residents) and ask to opt out or delete."
531
+ - "Or use the Online Privacy Portal linked from their privacy policy page."
532
+ - "Or email privacy@cotality.com asking to delete your data. They may ask for your name, address or phone to find you."
533
+ source_urls: [https://www.cotality.com/legal/privacy-policy]
534
+ verification_status: verified
535
+ verification_notes: "Privacy policy fetched 2026-11-06: deletion via the Online Privacy Portal (no web address given on the page) or by calling 1-866-221-9291 for California residents; privacy@cotality.com is named on the page for marketing opt-out requests and general questions (not explicitly for deletion). /privacy-center returned 404 earlier. Portal URL not recorded because it was not seen."
536
+ last_verified: 2026-11-07
537
+ priority: 30
538
+ - id: experian
539
+ name: Experian (marketing data opt-outs)
540
+ url: https://www.experian.com/
541
+ category: data_broker
542
+ domains: [www.experian.com, experian.com, consumerprivacy.experian.com]
543
+ opt_out_url: https://www.experian.com/privacy/opting_out
544
+ method: web_form
545
+ alt_methods: [email]
546
+ opt_out_email: privacyrequests@experian.com
547
+ recheck_interval_days: 180
548
+ ca_registered: true
549
+ steps:
550
+ - "Open the opting-out page."
551
+ - "Pick the choice you want, such as direct mail, phone calls, email or preapproved offers."
552
+ - "For other privacy choices, use the 'Your privacy choices' link on that page."
553
+ - "Follow the buttons and fill in your details."
554
+ source_urls: [https://www.experian.com/privacy/opting_out, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
555
+ verification_status: verified
556
+ verification_notes: "Fetched 2026-11-05. Required fields not visible from the index page. 'Your privacy choices' is at https://consumerprivacy.experian.com. privacyrequests@experian.com is the 'primary contact email' for Experian Marketing Solutions, LLC and Experian Information Solutions, Inc. in the CA CPPA registry 2025 CSV (2026-11-06); the registry's request page is https://www.experian.com/privacy/us-consumer-data-privacy-policy. Registry contact, not a stated request intake."
557
+ last_verified: 2026-11-05
558
+ priority: 40
559
+ - id: equifax
560
+ name: Equifax (marketing data opt-outs)
561
+ url: https://www.equifax.com/
562
+ category: data_broker
563
+ domains: [www.equifax.com, equifax.com, myprivacy.equifax.com]
564
+ opt_out_url: https://myprivacy.equifax.com/opt-in-opt-out/personal-info
565
+ method: web_form
566
+ alt_methods: [email, phone]
567
+ opt_out_email: usprivacy@equifax.com
568
+ phone: "1-866-295-6801"
569
+ recheck_interval_days: 180
570
+ ca_registered: true
571
+ steps:
572
+ - "Open the privacy portal page."
573
+ - "Fill in your name and address, then pick the choices you want."
574
+ - "Or call 1-866-295-6801."
575
+ source_urls: [https://www.equifax.com/privacy/privacy-statement/, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
576
+ verification_status: verified
577
+ verification_notes: "Privacy statement fetched 2026-11-05 and names this portal and phone; the portal was not loaded. usprivacy@equifax.com is the 'primary contact email' for Equifax Information Services LLC in the CA CPPA registry 2025 CSV (2026-11-06); registry request page https://www.equifax.com/personal/my-privacy/. Registry contact, not a stated request intake."
578
+ last_verified: 2026-11-05
579
+ priority: 40
580
+ - id: transunion
581
+ name: TransUnion (marketing data opt-outs)
582
+ url: https://www.transunion.com/
583
+ category: data_broker
584
+ domains: [www.transunion.com, transunion.com]
585
+ opt_out_url: https://www.transunion.com/consumer-privacy
586
+ method: web_form
587
+ alt_methods: [email, phone]
588
+ opt_out_email: usprivacy@transunion.com
589
+ phone: "866-310-8783"
590
+ recheck_interval_days: 180
591
+ ca_registered: true
592
+ steps:
593
+ - "Open the consumer privacy page."
594
+ - "Pick the request you want and fill in your details."
595
+ - "Or call 866-310-8783."
596
+ source_urls: [https://www.transunion.com/consumer-privacy, https://cppa.ca.gov/data_broker_registry/registry2025.csv]
597
+ verification_status: unverified
598
+ verification_notes: "HTTP 403 on fetch. URL and phone are from a search-result summary. usprivacy@transunion.com is the 'primary contact email' for several TransUnion entities in the CA CPPA registry 2025 CSV (2026-11-06), whose request page is the same URL. Registry contact, not a stated request intake."
599
+ priority: 40
600
+ - id: optoutprescreen
601
+ name: OptOutPrescreen (credit bureau prescreen opt-out, covers Equifax, Experian, TransUnion, Innovis)
602
+ url: https://www.optoutprescreen.com/
603
+ category: other
604
+ domains: [www.optoutprescreen.com]
605
+ opt_out_url: https://www.optoutprescreen.com/
606
+ method: web_form
607
+ required_fields: [full_name, street_address, zip, dob]
608
+ recheck_interval_days: 365
609
+ legal_basis_notes: "Five-year opt-out online; a permanent opt-out needs a signed mailed form. May ask for SSN: Free My ID must not supply it (human step)."
610
+ steps:
611
+ - "Open the OptOutPrescreen page."
612
+ - "Choose the 5-year opt-out and type your name, address and birth date."
613
+ - "If it asks for a Social Security number, type it yourself. Only do this on the official OptOutPrescreen site."
614
+ - "For a permanent opt-out, print, sign and mail the form it gives you."
615
+ source_urls: [https://www.innovis.com/personal/lc_optOut]
616
+ verification_status: unverified
617
+ verification_notes: "HTTP 403 on fetch. The URL is confirmed by the Innovis page; the form's field list is from general knowledge/search summaries and unconfirmed."
618
+ priority: 30
619
+ - id: google_results_about_you
620
+ name: Google Results about you (removes search results, not broker data)
621
+ url: https://myactivity.google.com/results-about-you
622
+ category: other
623
+ domains: [myactivity.google.com, support.google.com, www.google.com]
624
+ opt_out_url: https://myactivity.google.com/results-about-you
625
+ method: account_required
626
+ recheck_interval_days: 90
627
+ steps:
628
+ - "Sign in to your Google account."
629
+ - "Open the Results about you page."
630
+ - "Add your name, phone, home address and email so Google can look for them."
631
+ - "Ask Google to remove any results it finds. This hides search results; it does not delete the sites' data."
632
+ source_urls: [*badbool]
633
+ verification_status: unverified
634
+ verification_notes: "Seed URL; needs a Google account (allow_account_creation / human). Not fetched. BADBOOL cites https://support.google.com/websearch/answer/12719076 for the tool."
635
+ priority: 35
636
+ - id: explorium
637
+ name: Explorium Inc
638
+ url: https://www.explorium.ai/
639
+ category: data_broker
640
+ domains:
641
+ - explorium.ai
642
+ - www.explorium.ai
643
+ method: email
644
+ opt_out_email: privacy@explorium.ai
645
+ ca_registered: true
646
+ typical_processing_days: 45
647
+ recheck_interval_days: 90
648
+ source_urls:
649
+ - https://cppa.ca.gov/data_broker_registry/registry2025.csv
650
+ verification_status: unverified
651
+ verification_notes: CA data broker registry contact field, imported 2026-11-06 by tools/import_ca_registry.py;
652
+ not confirmed as a deletion-request address.
653
+ priority: 20
654
+ opt_out_url: https://www.explorium.ai/platform-privacy-policy/
655
+ - id: peopledatalabs
656
+ name: People Data Labs, Inc
657
+ url: https://www.peopledatalabs.com/
658
+ category: people_search
659
+ domains:
660
+ - peopledatalabs.com
661
+ - privacy.peopledatalabs.com
662
+ - www.peopledatalabs.com
663
+ method: email
664
+ opt_out_email: privacy@peopledatalabs.com
665
+ ca_registered: true
666
+ typical_processing_days: 45
667
+ recheck_interval_days: 90
668
+ source_urls:
669
+ - https://cppa.ca.gov/data_broker_registry/registry2025.csv
670
+ verification_status: unverified
671
+ verification_notes: CA data broker registry contact field, imported 2026-11-06 by tools/import_ca_registry.py;
672
+ not confirmed as a deletion-request address.
673
+ priority: 20
674
+ opt_out_url: https://privacy.peopledatalabs.com/policies?name=privacy-policy