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,222 @@
1
+ {
2
+ "$defs": {
3
+ "StateLaw": {
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "state": {
7
+ "maxLength": 2,
8
+ "minLength": 2,
9
+ "title": "State",
10
+ "type": "string"
11
+ },
12
+ "statute_name": {
13
+ "anyOf": [
14
+ {
15
+ "type": "string"
16
+ },
17
+ {
18
+ "type": "null"
19
+ }
20
+ ],
21
+ "default": null,
22
+ "title": "Statute Name"
23
+ },
24
+ "citation": {
25
+ "anyOf": [
26
+ {
27
+ "type": "string"
28
+ },
29
+ {
30
+ "type": "null"
31
+ }
32
+ ],
33
+ "default": null,
34
+ "title": "Citation"
35
+ },
36
+ "effective_date": {
37
+ "anyOf": [
38
+ {
39
+ "format": "date",
40
+ "type": "string"
41
+ },
42
+ {
43
+ "type": "null"
44
+ }
45
+ ],
46
+ "default": null,
47
+ "title": "Effective Date"
48
+ },
49
+ "rights": {
50
+ "default": [],
51
+ "items": {
52
+ "type": "string"
53
+ },
54
+ "title": "Rights",
55
+ "type": "array"
56
+ },
57
+ "response_days": {
58
+ "anyOf": [
59
+ {
60
+ "type": "integer"
61
+ },
62
+ {
63
+ "type": "null"
64
+ }
65
+ ],
66
+ "default": null,
67
+ "title": "Response Days"
68
+ },
69
+ "extension_days": {
70
+ "anyOf": [
71
+ {
72
+ "type": "integer"
73
+ },
74
+ {
75
+ "type": "null"
76
+ }
77
+ ],
78
+ "default": null,
79
+ "title": "Extension Days"
80
+ },
81
+ "data_broker_law": {
82
+ "anyOf": [
83
+ {
84
+ "type": "string"
85
+ },
86
+ {
87
+ "type": "null"
88
+ }
89
+ ],
90
+ "default": null,
91
+ "title": "Data Broker Law"
92
+ },
93
+ "government_portal_url": {
94
+ "anyOf": [
95
+ {
96
+ "format": "uri",
97
+ "maxLength": 2083,
98
+ "minLength": 1,
99
+ "type": "string"
100
+ },
101
+ {
102
+ "type": "null"
103
+ }
104
+ ],
105
+ "default": null,
106
+ "title": "Government Portal Url"
107
+ },
108
+ "ag_complaint_url": {
109
+ "anyOf": [
110
+ {
111
+ "format": "uri",
112
+ "maxLength": 2083,
113
+ "minLength": 1,
114
+ "type": "string"
115
+ },
116
+ {
117
+ "type": "null"
118
+ }
119
+ ],
120
+ "default": null,
121
+ "title": "Ag Complaint Url"
122
+ },
123
+ "other_complaint_urls": {
124
+ "default": [],
125
+ "items": {
126
+ "format": "uri",
127
+ "maxLength": 2083,
128
+ "minLength": 1,
129
+ "type": "string"
130
+ },
131
+ "title": "Other Complaint Urls",
132
+ "type": "array"
133
+ },
134
+ "authorized_agent_allowed": {
135
+ "anyOf": [
136
+ {
137
+ "type": "boolean"
138
+ },
139
+ {
140
+ "type": "null"
141
+ }
142
+ ],
143
+ "default": null,
144
+ "title": "Authorized Agent Allowed"
145
+ },
146
+ "template": {
147
+ "default": "generic",
148
+ "description": "Template family to use",
149
+ "title": "Template",
150
+ "type": "string"
151
+ },
152
+ "notes": {
153
+ "anyOf": [
154
+ {
155
+ "type": "string"
156
+ },
157
+ {
158
+ "type": "null"
159
+ }
160
+ ],
161
+ "default": null,
162
+ "title": "Notes"
163
+ },
164
+ "source_urls": {
165
+ "default": [],
166
+ "items": {
167
+ "format": "uri",
168
+ "maxLength": 2083,
169
+ "minLength": 1,
170
+ "type": "string"
171
+ },
172
+ "title": "Source Urls",
173
+ "type": "array"
174
+ },
175
+ "last_verified": {
176
+ "anyOf": [
177
+ {
178
+ "format": "date",
179
+ "type": "string"
180
+ },
181
+ {
182
+ "type": "null"
183
+ }
184
+ ],
185
+ "default": null,
186
+ "title": "Last Verified"
187
+ }
188
+ },
189
+ "required": [
190
+ "state"
191
+ ],
192
+ "title": "StateLaw",
193
+ "type": "object"
194
+ }
195
+ },
196
+ "additionalProperties": false,
197
+ "properties": {
198
+ "version": {
199
+ "title": "Version",
200
+ "type": "string"
201
+ },
202
+ "updated": {
203
+ "format": "date",
204
+ "title": "Updated",
205
+ "type": "string"
206
+ },
207
+ "states": {
208
+ "items": {
209
+ "$ref": "#/$defs/StateLaw"
210
+ },
211
+ "title": "States",
212
+ "type": "array"
213
+ }
214
+ },
215
+ "required": [
216
+ "version",
217
+ "updated",
218
+ "states"
219
+ ],
220
+ "title": "StateLawRegistry",
221
+ "type": "object"
222
+ }