ethyca-fides 2.72.3rc1__py2.py3-none-any.whl → 2.72.4b1__py2.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.

Potentially problematic release.


This version of ethyca-fides might be problematic. Click here for more details.

Files changed (293) hide show
  1. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.72.4b1.dist-info}/METADATA +2 -2
  2. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.72.4b1.dist-info}/RECORD +262 -252
  3. fides/_version.py +3 -3
  4. fides/api/alembic/migrations/versions/a55e12c2c2df_add_tagging_instructions_to_data_.py +29 -0
  5. fides/api/api/v1/endpoints/generic_overrides.py +70 -1
  6. fides/api/models/privacy_preference.py +1 -0
  7. fides/api/models/sql_models.py +3 -0
  8. fides/api/schemas/taxonomy_extensions.py +8 -0
  9. fides/api/service/connectors/query_configs/saas_query_config.py +141 -78
  10. fides/api/service/connectors/saas_connector.py +1 -1
  11. fides/ui-build/static/admin/404.html +1 -1
  12. fides/ui-build/static/admin/_next/static/KrreFSHeuO3A1ZudBtGj2/_buildManifest.js +1 -0
  13. fides/ui-build/static/admin/_next/static/chunks/{1437-4604a69888906ec0.js → 1437-c3c8f421fc8d9bf7.js} +1 -1
  14. fides/ui-build/static/admin/_next/static/chunks/155-17c9584d4944ce7e.js +1 -0
  15. fides/ui-build/static/admin/_next/static/chunks/{1817-bfe4139324aa0279.js → 1817-877489cf6bb7185c.js} +1 -1
  16. fides/ui-build/static/admin/_next/static/chunks/{2040-8eead9d29546a50f.js → 2040-b9e38ecc741148fc.js} +1 -1
  17. fides/ui-build/static/admin/_next/static/chunks/{2397-92f628c53688925b.js → 2397-39c59d3fdf13042e.js} +1 -1
  18. fides/ui-build/static/admin/_next/static/chunks/2962-342ad1b4ab402ded.js +1 -0
  19. fides/ui-build/static/admin/_next/static/chunks/3446-f40c352c43ac950c.js +1 -0
  20. fides/ui-build/static/admin/_next/static/chunks/{3696-e4abb6a922b954a2.js → 3696-84990aa1baa21fad.js} +1 -1
  21. fides/ui-build/static/admin/_next/static/chunks/{3700-1f9f6e5ebfa3ab0a.js → 3700-bde60c51fb2606a8.js} +1 -1
  22. fides/ui-build/static/admin/_next/static/chunks/{4496-8204168bae78092d.js → 4496-6ff88def38644170.js} +1 -1
  23. fides/ui-build/static/admin/_next/static/chunks/{5185-bf5655b5d697b714.js → 5185-e662084251450372.js} +1 -1
  24. fides/ui-build/static/admin/_next/static/chunks/{5258-63325c03319e87dc.js → 5258-004011f620451d36.js} +1 -1
  25. fides/ui-build/static/admin/_next/static/chunks/{5279-a05b93a8db6a3e79.js → 5279-28226a4eaaba9e56.js} +1 -1
  26. fides/ui-build/static/admin/_next/static/chunks/{5643-7800464c8df7a78e.js → 5643-fb6082b8ecb6c0d9.js} +1 -1
  27. fides/ui-build/static/admin/_next/static/chunks/{5783-7deeb7de5d2db4c4.js → 5783-0171fca3154d4812.js} +1 -1
  28. fides/ui-build/static/admin/_next/static/chunks/{6277-970bb31d9b0c0007.js → 6277-2d53a51b7727d7b1.js} +1 -1
  29. fides/ui-build/static/admin/_next/static/chunks/6315-08729296f49e6898.js +1 -0
  30. fides/ui-build/static/admin/_next/static/chunks/6419-11d67f7fd4e2f247.js +1 -0
  31. fides/ui-build/static/admin/_next/static/chunks/6468-f73d542ab5bcf746.js +1 -0
  32. fides/ui-build/static/admin/_next/static/chunks/{6853-6d64d627df6f8194.js → 6853-56c933239103eef6.js} +1 -1
  33. fides/ui-build/static/admin/_next/static/chunks/{6954-8b106311a3be35f4.js → 6954-d909264a2674ea4e.js} +1 -1
  34. fides/ui-build/static/admin/_next/static/chunks/7059-362b53ad2cbe480e.js +1 -0
  35. fides/ui-build/static/admin/_next/static/chunks/7245-305e4a8a8be70fad.js +1 -0
  36. fides/ui-build/static/admin/_next/static/chunks/{7476-08717f00da5f89ab.js → 7476-2e1176b163688789.js} +1 -1
  37. fides/ui-build/static/admin/_next/static/chunks/{7488-bad160a2bfd89871.js → 7488-502aeb16e3a27d42.js} +1 -1
  38. fides/ui-build/static/admin/_next/static/chunks/{8011-c23d609ed3f0efa5.js → 8011-866a514d483aaaac.js} +1 -1
  39. fides/ui-build/static/admin/_next/static/chunks/{8212-67ac884660ddb63a.js → 8212-334e971822270277.js} +1 -1
  40. fides/ui-build/static/admin/_next/static/chunks/{8373-43b6df89a2085d6b.js → 8373-9debd1f8d36cd013.js} +1 -1
  41. fides/ui-build/static/admin/_next/static/chunks/9046-aaba9b46ed37f1e2.js +1 -0
  42. fides/ui-build/static/admin/_next/static/chunks/{9330-6eb11127296c54c2.js → 9330-38845205515126c3.js} +1 -1
  43. fides/ui-build/static/admin/_next/static/chunks/{9682-65d253d54f84f6f2.js → 9682-0aab88e56ba618a3.js} +1 -1
  44. fides/ui-build/static/admin/_next/static/chunks/{9899-63998972698a49fb.js → 9899-ea04d345468691b3.js} +1 -1
  45. fides/ui-build/static/admin/_next/static/chunks/9965-bd9d95c187ddcda5.js +1 -0
  46. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-9de54d6135682f7b.js → _app-32ece8369a437df8.js} +9 -9
  47. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-02f6ef0e6a161961.js +1 -0
  48. fides/ui-build/static/admin/_next/static/chunks/pages/{add-systems-0058fe05f2d23d1a.js → add-systems-cfd6175cd093217c.js} +1 -1
  49. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-b6b2d50d894cefa5.js → privacy-experience-0311c558666456cc.js} +1 -1
  50. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-a7fe3925771bb6c3.js → privacy-notices-ca99b84429667b5f.js} +1 -1
  51. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-3b04a6d7447ae824.js +1 -0
  52. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-3c935e93208d2bdd.js → projects-04bb0d25beccc031.js} +1 -1
  53. fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-79d06a04698c47c0.js → data-catalog-04a493b26a5dfdaf.js} +1 -1
  54. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-b45b49ab68d15585.js +1 -0
  55. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-ee1cf6e7f60d46db.js +1 -0
  56. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/data-explorer/[monitorId]-1cebd59598196388.js +1 -0
  57. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/data-explorer-a725550fc25e45e2.js +1 -0
  58. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-f67b897b206d1156.js +1 -0
  59. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-6cc1ba1f102ae77d.js → activity-17887a476280c480.js} +1 -1
  60. fides/ui-build/static/admin/_next/static/chunks/pages/datamap-eaae94fb326cc676.js +1 -0
  61. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-5c20080cdb053b1d.js → new-b651d5f466e4019d.js} +1 -1
  62. fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-96355a68e8c28fe8.js → dataset-35be9dda6a1114ce.js} +1 -1
  63. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-448729ee9d1d78c3.js → [id]-3fcfe1430c11e0c7.js} +1 -1
  64. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-42c720ec5c941573.js → new-c967e9f37709c645.js} +1 -1
  65. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-a4abc6ee516b13d4.js +1 -0
  66. fides/ui-build/static/admin/_next/static/chunks/pages/{index-ca794e85c16cba67.js → index-37c1abb674e1aea6.js} +1 -1
  67. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-484063d65850e03e.js +1 -0
  68. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-514131e87ac65082.js +1 -0
  69. fides/ui-build/static/admin/_next/static/chunks/pages/new-privacy-requests-b0533759c1fe400c.js +1 -0
  70. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/{[id]-058125922d1eaeec.js → [id]-3306676f61000f3b.js} +1 -1
  71. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/{new-7a5f76708c79f714.js → new-798fb0ca1205e684.js} +1 -1
  72. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{digests-31bed1f86b89d1d8.js → digests-20c129ac4a57f2e5.js} +1 -1
  73. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{providers-40b9f1f70d27b660.js → providers-4ebdfd1e0e4bfbe6.js} +1 -1
  74. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{templates-4918f86f7300ac9b.js → templates-0e0ff3689c02c12e.js} +1 -1
  75. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-d9c3128f1c85ef06.js +1 -0
  76. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-27ff988967e9153d.js +1 -0
  77. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-24a8c2ab57625556.js → storage-a948294b5b2ff677.js} +1 -1
  78. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-cd94476ab282dd7f.js +1 -0
  79. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-e410d13a2b35cff4.js → datamap-9459019a37ffe8d8.js} +1 -1
  80. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-aec1bf8a409ec75f.js → [purpose_id]-260f460fea1bc187.js} +1 -1
  81. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{consent-4c20c08ca7ea8cff.js → consent-2c71096d348013aa.js} +1 -1
  82. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/{[id]-a270325109398f48.js → [id]-9b395e59fa62cbe5.js} +1 -1
  83. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/{new-2e0c8e249f286427.js → new-a0bb7928ac4a894e.js} +1 -1
  84. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-8e4a76376927afd5.js → custom-fields-72e6a6394b1c58c2.js} +1 -1
  85. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-20789aa0c84d544e.js → locations-06780a5a03c51fb0.js} +1 -1
  86. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-f84a13eb9688cb5f.js → organization-5e8af0aeb40cbadd.js} +1 -1
  87. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-5be9ce7a745ce908.js → test-datasets-4bfe49a2d99a905f.js} +1 -1
  88. fides/ui-build/static/admin/_next/static/chunks/pages/systems-ddb0121f14bc3b84.js +1 -0
  89. fides/ui-build/static/admin/_next/static/chunks/pages/{taxonomy-2589729c47976357.js → taxonomy-4d945ab1aab9be54.js} +1 -1
  90. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-6217433a26599521.js → [id]-9a920390f7f61e88.js} +1 -1
  91. fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-b6c4bf35c003965d.js → user-management-827f9bcad90d8856.js} +1 -1
  92. fides/ui-build/static/admin/_next/static/css/012b10627a654d5c.css +1 -0
  93. fides/ui-build/static/admin/_next/static/css/{f38242c11f7fea64.css → 05d05fc31d09638b.css} +1 -1
  94. fides/ui-build/static/admin/_next/static/css/0fd6e0884cfcc5f3.css +1 -0
  95. fides/ui-build/static/admin/_next/static/css/14ba79c49597d37a.css +1 -0
  96. fides/ui-build/static/admin/_next/static/css/{34a7eb08b86ddb57.css → 3d6582469f7d56e0.css} +1 -1
  97. fides/ui-build/static/admin/_next/static/css/4861ca3e088f2d05.css +1 -0
  98. fides/ui-build/static/admin/_next/static/css/4d3cb2ffee0cfa2c.css +1 -0
  99. fides/ui-build/static/admin/_next/static/css/a1800714b486e230.css +1 -0
  100. fides/ui-build/static/admin/_next/static/css/af32fcac7a177a0e.css +1 -0
  101. fides/ui-build/static/admin/_next/static/css/cb417f0587918f85.css +1 -0
  102. fides/ui-build/static/admin/_next/static/css/dd15c278b964de80.css +1 -0
  103. fides/ui-build/static/admin/_next/static/css/{5f393dea1c0d031c.css → f89607996ad54f4b.css} +1 -1
  104. fides/ui-build/static/admin/_next/static/css/f9a2a44d3d34c904.css +1 -0
  105. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  106. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  107. fides/ui-build/static/admin/add-systems.html +1 -1
  108. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  109. fides/ui-build/static/admin/consent/configure.html +1 -1
  110. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  111. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  112. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  113. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  114. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  115. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  116. fides/ui-build/static/admin/consent/properties.html +1 -1
  117. fides/ui-build/static/admin/consent/reporting.html +1 -1
  118. fides/ui-build/static/admin/consent.html +1 -1
  119. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  120. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  121. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  122. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  123. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  124. fides/ui-build/static/admin/data-catalog.html +1 -1
  125. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  126. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  127. fides/ui-build/static/admin/data-discovery/action-center/data-explorer/[monitorId].html +1 -0
  128. fides/ui-build/static/admin/data-discovery/action-center/data-explorer.html +1 -0
  129. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  130. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  131. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  132. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  133. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  134. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  135. fides/ui-build/static/admin/datamap.html +1 -1
  136. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  137. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  138. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  139. fides/ui-build/static/admin/dataset/new.html +1 -1
  140. fides/ui-build/static/admin/dataset.html +1 -1
  141. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  142. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  143. fides/ui-build/static/admin/datastore-connection.html +1 -1
  144. fides/ui-build/static/admin/index.html +1 -1
  145. fides/ui-build/static/admin/integrations/[id].html +1 -1
  146. fides/ui-build/static/admin/integrations.html +1 -1
  147. fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
  148. fides/ui-build/static/admin/lib/fides-headless.js +1 -1
  149. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  150. fides/ui-build/static/admin/lib/fides-tcf.js +2 -2
  151. fides/ui-build/static/admin/lib/fides.js +2 -2
  152. fides/ui-build/static/admin/login/[provider].html +1 -1
  153. fides/ui-build/static/admin/login.html +1 -1
  154. fides/ui-build/static/admin/new-privacy-requests.html +1 -0
  155. fides/ui-build/static/admin/notifications/digests/[id].html +1 -1
  156. fides/ui-build/static/admin/notifications/digests/new.html +1 -1
  157. fides/ui-build/static/admin/notifications/digests.html +1 -1
  158. fides/ui-build/static/admin/notifications/providers/[key].html +1 -1
  159. fides/ui-build/static/admin/notifications/providers/new.html +1 -1
  160. fides/ui-build/static/admin/notifications/providers.html +1 -1
  161. fides/ui-build/static/admin/notifications/templates/[id].html +1 -1
  162. fides/ui-build/static/admin/notifications/templates/add-template.html +1 -1
  163. fides/ui-build/static/admin/notifications/templates.html +1 -1
  164. fides/ui-build/static/admin/notifications.html +1 -1
  165. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  166. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  167. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  168. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  169. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  170. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  171. fides/ui-build/static/admin/poc/forms.html +1 -1
  172. fides/ui-build/static/admin/poc/table-migration.html +1 -1
  173. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  174. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  175. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  176. fides/ui-build/static/admin/privacy-requests.html +1 -1
  177. fides/ui-build/static/admin/properties/[id].html +1 -1
  178. fides/ui-build/static/admin/properties/add-property.html +1 -1
  179. fides/ui-build/static/admin/properties.html +1 -1
  180. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  181. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  182. fides/ui-build/static/admin/settings/about.html +1 -1
  183. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  184. fides/ui-build/static/admin/settings/consent.html +1 -1
  185. fides/ui-build/static/admin/settings/custom-fields/[id].html +1 -1
  186. fides/ui-build/static/admin/settings/custom-fields/new.html +1 -1
  187. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  188. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  189. fides/ui-build/static/admin/settings/domains.html +1 -1
  190. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  191. fides/ui-build/static/admin/settings/locations.html +1 -1
  192. fides/ui-build/static/admin/settings/organization.html +1 -1
  193. fides/ui-build/static/admin/settings/privacy-requests.html +1 -1
  194. fides/ui-build/static/admin/settings/regulations.html +1 -1
  195. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  196. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  197. fides/ui-build/static/admin/systems.html +1 -1
  198. fides/ui-build/static/admin/taxonomy.html +1 -1
  199. fides/ui-build/static/admin/user-management/new.html +1 -1
  200. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  201. fides/ui-build/static/admin/user-management.html +1 -1
  202. fides/ui-build/static/admin/_next/static/chunks/155-bf4e3ffb18f29226.js +0 -1
  203. fides/ui-build/static/admin/_next/static/chunks/1896-49010da5c2705fc5.js +0 -1
  204. fides/ui-build/static/admin/_next/static/chunks/2150-930ffaf2c4718edc.js +0 -1
  205. fides/ui-build/static/admin/_next/static/chunks/255-1bc0cbef7a59cdc6.js +0 -1
  206. fides/ui-build/static/admin/_next/static/chunks/2962-e92d525bf570a9a3.js +0 -1
  207. fides/ui-build/static/admin/_next/static/chunks/3550-83cb70e80cbe41ba.js +0 -1
  208. fides/ui-build/static/admin/_next/static/chunks/6315-4a2151f87c7eefb6.js +0 -1
  209. fides/ui-build/static/admin/_next/static/chunks/6419-9b3a86af57c86791.js +0 -1
  210. fides/ui-build/static/admin/_next/static/chunks/7245-53a20677c49b41c8.js +0 -1
  211. fides/ui-build/static/admin/_next/static/chunks/9046-3a08a09a598396ca.js +0 -1
  212. fides/ui-build/static/admin/_next/static/chunks/9070-6d3aaaf5aa5913ba.js +0 -1
  213. fides/ui-build/static/admin/_next/static/chunks/9965-4709f43bf62af9a9.js +0 -1
  214. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-055d058d16c02957.js +0 -1
  215. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-e9ec351281c54822.js +0 -1
  216. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-e50e9c8e11412b2a.js +0 -1
  217. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/data-explorer-09a3a992e564f971.js +0 -1
  218. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-878aa4ab0746df5b.js +0 -1
  219. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-a2e9c0bfa67c633d.js +0 -1
  220. fides/ui-build/static/admin/_next/static/chunks/pages/datamap-18f255a8bbeecaa4.js +0 -1
  221. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-a8fc95a46de38b35.js +0 -1
  222. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-2f1dc17eba11fb4e.js +0 -1
  223. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-bbec0140433a199b.js +0 -1
  224. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-39b5586d9c8b64aa.js +0 -1
  225. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-787621468b5a7619.js +0 -1
  226. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-da634187d8201ab3.js +0 -1
  227. fides/ui-build/static/admin/_next/static/chunks/pages/systems-86f5557384124f79.js +0 -1
  228. fides/ui-build/static/admin/_next/static/css/23cf870196941c9a.css +0 -1
  229. fides/ui-build/static/admin/_next/static/css/304c6f148886a8d4.css +0 -1
  230. fides/ui-build/static/admin/_next/static/css/de09ed8a0adf1ca2.css +0 -1
  231. fides/ui-build/static/admin/_next/static/hRLR7azkI57zC2PfdYodO/_buildManifest.js +0 -1
  232. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/data-explorer.html +0 -1
  233. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.72.4b1.dist-info}/WHEEL +0 -0
  234. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.72.4b1.dist-info}/entry_points.txt +0 -0
  235. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.72.4b1.dist-info}/licenses/LICENSE +0 -0
  236. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.72.4b1.dist-info}/top_level.txt +0 -0
  237. /fides/ui-build/static/admin/_next/static/{hRLR7azkI57zC2PfdYodO → KrreFSHeuO3A1ZudBtGj2}/_ssgManifest.js +0 -0
  238. /fides/ui-build/static/admin/_next/static/chunks/{1099-d1b22e891705eaf8.js → 1099-1959c2e271a9588d.js} +0 -0
  239. /fides/ui-build/static/admin/_next/static/chunks/{1115-584dac093cef6cc3.js → 1115-d8f2a0953960d648.js} +0 -0
  240. /fides/ui-build/static/admin/_next/static/chunks/{2921-9b596ba7f5267afc.js → 2921-bcd6a8741e98e7ce.js} +0 -0
  241. /fides/ui-build/static/admin/_next/static/chunks/{3377-80612c111e047cb6.js → 3377-6e7bdffc46ffe15d.js} +0 -0
  242. /fides/ui-build/static/admin/_next/static/chunks/{3772-b945c6839e43c753.js → 3772-3c849a72d0129ae4.js} +0 -0
  243. /fides/ui-build/static/admin/_next/static/chunks/{3923-c1e41661ebf57178.js → 3923-6e82c845722d09ce.js} +0 -0
  244. /fides/ui-build/static/admin/_next/static/chunks/{401-c2f1e4ea077f1f26.js → 401-63df8127ab5e8b1a.js} +0 -0
  245. /fides/ui-build/static/admin/_next/static/chunks/{4817-066598cef25d7e88.js → 4817-cb54f4a8ed82122f.js} +0 -0
  246. /fides/ui-build/static/admin/_next/static/chunks/{549-3e3b8d01bc984f96.js → 549-cb23e43b4fe4750e.js} +0 -0
  247. /fides/ui-build/static/admin/_next/static/chunks/{7630-775c578fa8109b0f.js → 7630-bb44ecce0b2146ed.js} +0 -0
  248. /fides/ui-build/static/admin/_next/static/chunks/{7773-24899908bf8ff659.js → 7773-1303b235272f3dbf.js} +0 -0
  249. /fides/ui-build/static/admin/_next/static/chunks/{796-6fe49d134f660156.js → 796-d30fca0fe341916b.js} +0 -0
  250. /fides/ui-build/static/admin/_next/static/chunks/{9826-1f42934a2863992e.js → 9826-fd27a5fd2ed44c3d.js} +0 -0
  251. /fides/ui-build/static/admin/_next/static/chunks/pages/{404-962d132471cd41ba.js → 404-5cffe00870fefd79.js} +0 -0
  252. /fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-e2a5c951347195e3.js → multiple-4458172cd75babb0.js} +0 -0
  253. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-7c829e58485fc821.js → add-vendors-1a821b298d86a22d.js} +0 -0
  254. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-5c58b69dd473cc06.js → configure-6f35d961da39f539.js} +0 -0
  255. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-58460ac9c1dface5.js → [id]-4caea1cb619aad01.js} +0 -0
  256. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-25ce8366e689363b.js → [id]-b062d2a4a8102ce1.js} +0 -0
  257. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-faa457089616711a.js → new-524a3e86b2568398.js} +0 -0
  258. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-45a2901a35edc8f7.js → properties-15dac492b739cf83.js} +0 -0
  259. /fides/ui-build/static/admin/_next/static/chunks/pages/{consent-a7a4e419e4086033.js → consent-7496b13734f49085.js} +0 -0
  260. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-3b59925f6c9a13a9.js → [resourceUrn]-313fc265356df659.js} +0 -0
  261. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-ffb6e0fe6712342e.js → [projectUrn]-96ec3aa63de556ec.js} +0 -0
  262. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-8d7d9152e215c3b6.js → [resourceUrn]-855eca0ddf47f4dc.js} +0 -0
  263. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-96be972a983616e3.js → resources-e436f291ccce41c7.js} +0 -0
  264. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-260f5deb68966b70.js → [resourceUrn]-67c9fb9b18cb17a0.js} +0 -0
  265. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-d735dab3d9f3adc5.js → detection-c9d69ae424e73377.js} +0 -0
  266. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-c7f055275a2c503f.js → [resourceUrn]-e5102013ec48b60c.js} +0 -0
  267. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-b1cfd55c7e127865.js → discovery-4094104544531055.js} +0 -0
  268. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-e04a4e16ccf32aef.js → [...subfieldNames]-d2af9a78b22a3b33.js} +0 -0
  269. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-a40c4febe16a0a6d.js → [collectionName]-4b711c3a257f4754.js} +0 -0
  270. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-f500a77eefb057e7.js → [datasetId]-cf0b5a30b3b37e20.js} +0 -0
  271. /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/{[key]-d08f3a7cd2d011ec.js → [key]-749898f45b528480.js} +0 -0
  272. /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/{new-cb2c7fbc26886052.js → new-2798b151240303c5.js} +0 -0
  273. /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/{[id]-a6ae72abe59ff830.js → [id]-40d9f4a82335cb5c.js} +0 -0
  274. /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/{add-template-a3e4b5b575b31be1.js → add-template-c38096d698ebfaa9.js} +0 -0
  275. /fides/ui-build/static/admin/_next/static/chunks/pages/{notifications-9644c0f088a01fea.js → notifications-9586f35322edb190.js} +0 -0
  276. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-5163f3213377bd35.js → AntForm-616164210b90485e.js} +0 -0
  277. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-0b1547cd9b114c6b.js → FormikAntFormItem-f462c200e6795276.js} +0 -0
  278. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-da562cba4cffd6bb.js → FormikControlled-891177e7bbd6a4a4.js} +0 -0
  279. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-3a587676869d2ef6.js → FormikField-cb6cd181c8ffbb9a.js} +0 -0
  280. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-defc3b917306a6d8.js → forms-540bf3af41cd40fb.js} +0 -0
  281. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-11a70bcfa672ce8f.js → table-migration-e58cac7ad960a847.js} +0 -0
  282. /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-1926359bdf5d6c30.js → configure-f9af184bf0a04729.js} +0 -0
  283. /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-47118b9976ad7212.js → [id]-7545993189dc1bb1.js} +0 -0
  284. /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-2e6b0d8b409ba1fd.js → add-property-8cc4b3170f7851f9.js} +0 -0
  285. /fides/ui-build/static/admin/_next/static/chunks/pages/{properties-32486c25255c9cb1.js → properties-83b4002f896071b3.js} +0 -0
  286. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-e3dcef1ec8cf8b9e.js → domain-records-b90fb07aa18a396b.js} +0 -0
  287. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-2e88cc7a6074a28b.js → domains-eea6685e7aa5953c.js} +0 -0
  288. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-7469d2f85396c693.js → email-templates-4a1985c24bf2dc90.js} +0 -0
  289. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{privacy-requests-b72df6f3d460125f.js → privacy-requests-b3156b0882717119.js} +0 -0
  290. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-aa02bc818e089c49.js → regulations-825f705fc04c9262.js} +0 -0
  291. /fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-2fc7c0d3988427b3.js → [id]-7f98c2d62b08265d.js} +0 -0
  292. /fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-e399005c3bb4db1b.js → new-6b3564b9ae9ee7dd.js} +0 -0
  293. /fides/ui-build/static/admin/_next/static/chunks/{webpack-8eac1ea5c825c8b4.js → webpack-3a17ce9d4ecac24a.js} +0 -0
fides/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-10-21T10:52:42-0300",
11
+ "date": "2025-10-21T10:47:49+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "9a96fc10ec86ded899e833ed49eabea81a1b04a2",
15
- "version": "2.72.3rc1"
14
+ "full-revisionid": "664ffb9eaabfdcedc21e6f000128628d02f062b3",
15
+ "version": "2.72.4b1"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -0,0 +1,29 @@
1
+ """add_tagging_instructions_to_data_category
2
+
3
+ Revision ID: a55e12c2c2df
4
+ Revises: 65a1bc82ae09
5
+ Create Date: 2025-10-13 21:14:00.723464
6
+
7
+ """
8
+
9
+ import sqlalchemy as sa
10
+ from alembic import op
11
+
12
+ # revision identifiers, used by Alembic.
13
+ revision = "a55e12c2c2df"
14
+ down_revision = "65a1bc82ae09"
15
+ branch_labels = None
16
+ depends_on = None
17
+
18
+
19
+ def upgrade():
20
+ """Add tagging_instructions column to ctl_data_categories table."""
21
+ op.add_column(
22
+ "ctl_data_categories",
23
+ sa.Column("tagging_instructions", sa.Text(), nullable=True),
24
+ )
25
+
26
+
27
+ def downgrade():
28
+ """Remove tagging_instructions column from ctl_data_categories table."""
29
+ op.drop_column("ctl_data_categories", "tagging_instructions")
@@ -1,7 +1,7 @@
1
1
  from functools import partial
2
2
  from typing import Dict, List, Optional, Union
3
3
 
4
- from fastapi import Depends, HTTPException, Query, Response, Security
4
+ from fastapi import Body, Depends, HTTPException, Query, Response, Security
5
5
  from fastapi.concurrency import run_in_threadpool
6
6
  from fastapi.encoders import jsonable_encoder
7
7
  from fastapi.responses import JSONResponse
@@ -516,6 +516,75 @@ async def update_data_category(
516
516
  )
517
517
 
518
518
 
519
+ @data_category_router.patch(
520
+ "/data_category/{fides_key}/tagging_instructions",
521
+ dependencies=[Security(verify_oauth_client, scopes=[DATA_CATEGORY_UPDATE])],
522
+ response_model=DataCategory,
523
+ status_code=status.HTTP_200_OK,
524
+ name="Update tagging instructions",
525
+ )
526
+ async def update_data_category_tagging_instructions(
527
+ fides_key: str,
528
+ tagging_instructions: str = Body(..., embed=True),
529
+ taxonomy_service: TaxonomyService = Depends(get_taxonomy_service),
530
+ ) -> Dict:
531
+ """
532
+ Update or add tagging_instructions for a data category.
533
+ This is used by LLM-based classification to provide custom instructions for tagging.
534
+ """
535
+ try:
536
+ result = taxonomy_service.update_element(
537
+ "data_categories",
538
+ fides_key,
539
+ {"tagging_instructions": tagging_instructions},
540
+ )
541
+ if not result:
542
+ raise HTTPException(
543
+ status_code=HTTP_404_NOT_FOUND,
544
+ detail=f"Data category not found with key: {fides_key}",
545
+ )
546
+ return result
547
+ except (ValidationError, PydanticValidationError) as e:
548
+ raise HTTPException(
549
+ status_code=HTTP_422_UNPROCESSABLE_ENTITY,
550
+ detail=str(e),
551
+ )
552
+
553
+
554
+ @data_category_router.delete(
555
+ "/data_category/{fides_key}/tagging_instructions",
556
+ dependencies=[Security(verify_oauth_client, scopes=[DATA_CATEGORY_UPDATE])],
557
+ response_model=DataCategory,
558
+ status_code=status.HTTP_200_OK,
559
+ name="Delete tagging instructions",
560
+ )
561
+ async def delete_data_category_tagging_instructions(
562
+ fides_key: str,
563
+ taxonomy_service: TaxonomyService = Depends(get_taxonomy_service),
564
+ ) -> Dict:
565
+ """
566
+ Remove tagging_instructions from a data category.
567
+ Sets the tagging_instructions field to None.
568
+ """
569
+ try:
570
+ result = taxonomy_service.update_element(
571
+ "data_categories",
572
+ fides_key,
573
+ {"tagging_instructions": None},
574
+ )
575
+ if not result:
576
+ raise HTTPException(
577
+ status_code=HTTP_404_NOT_FOUND,
578
+ detail=f"Data category not found with key: {fides_key}",
579
+ )
580
+ return result
581
+ except (ValidationError, PydanticValidationError) as e:
582
+ raise HTTPException(
583
+ status_code=HTTP_422_UNPROCESSABLE_ENTITY,
584
+ detail=str(e),
585
+ )
586
+
587
+
519
588
  GENERIC_OVERRIDES_ROUTER = APIRouter()
520
589
  GENERIC_OVERRIDES_ROUTER.include_router(dataset_router)
521
590
  GENERIC_OVERRIDES_ROUTER.include_router(data_use_router)
@@ -58,6 +58,7 @@ class ConsentMethod(Enum):
58
58
  gpc = "gpc"
59
59
  individual_notice = "individual_notice"
60
60
  acknowledge = "acknowledge"
61
+ external_provider = "external_provider"
61
62
 
62
63
 
63
64
  class ServingComponent(Enum):
@@ -184,6 +184,9 @@ class DataCategory(Base, FidesBase):
184
184
  version_deprecated = Column(Text)
185
185
  replaced_by = Column(Text)
186
186
 
187
+ # LLM Classification
188
+ tagging_instructions = Column(Text, nullable=True)
189
+
187
190
  children: "RelationshipProperty[List[DataCategory]]" = relationship(
188
191
  "DataCategory",
189
192
  back_populates="parent",
@@ -23,6 +23,10 @@ class DataUse(BaseDataUse):
23
23
 
24
24
  class DataCategory(BaseDataCategory):
25
25
  active: bool = active_field
26
+ tagging_instructions: Optional[str] = Field(
27
+ default=None,
28
+ description="Instructions for LLM-based data classification tagging.",
29
+ )
26
30
 
27
31
 
28
32
  class DataSubject(BaseDataSubject):
@@ -44,6 +48,10 @@ class DataUseCreateOrUpdate(TaxonomyCreateOrUpdateBase):
44
48
 
45
49
  class DataCategoryCreateOrUpdate(TaxonomyCreateOrUpdateBase):
46
50
  parent_key: Optional[FidesKey] = None
51
+ tagging_instructions: Optional[str] = Field(
52
+ default=None,
53
+ description="Instructions for LLM-based data classification tagging.",
54
+ )
47
55
 
48
56
 
49
57
  class DataSubjectCreateOrUpdate(TaxonomyCreateOrUpdateBase):
@@ -83,12 +83,10 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
83
83
  """
84
84
  Returns the appropriate request configs based on the current collection and identity
85
85
  """
86
- collection_name = self.node.address.collection
87
-
88
86
  try:
89
- requests = self.endpoints[collection_name].requests
87
+ requests = self.endpoints[self.collection_name].requests
90
88
  except KeyError:
91
- logger.error("The '{}' endpoint is not defined", collection_name)
89
+ logger.error("The '{}' endpoint is not defined", self.collection_name)
92
90
  return []
93
91
 
94
92
  if not requests.read:
@@ -282,6 +280,111 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
282
280
  name: value for name, value in self.secrets.items() if name in param_names
283
281
  }
284
282
 
283
+ def _safe_extract_value(self, value_list: Optional[List[Any]]) -> Optional[Any]:
284
+ """
285
+ Safely extract the first value from a list
286
+ """
287
+ return value_list[0] if value_list else None
288
+
289
+ def _process_param_values_for_query(
290
+ self,
291
+ request: SaaSRequest,
292
+ input_data: Dict[str, List[Any]],
293
+ param_values: Dict[str, Any],
294
+ ) -> None:
295
+ """
296
+ Process param_values for query generation on access requests.
297
+ """
298
+ for param_value in request.param_values or []:
299
+ if param_value.references or param_value.identity:
300
+ input_list = input_data.get(param_value.name)
301
+ if input_list:
302
+ param_values[param_value.name] = self._safe_extract_value(
303
+ input_list
304
+ )
305
+ elif param_value.connector_param:
306
+ connector_value = pydash.get(input_data, param_value.connector_param)
307
+ param_values[param_value.name] = self._safe_extract_value(
308
+ connector_value
309
+ )
310
+
311
+ def _process_param_values_for_update(
312
+ self,
313
+ request: SaaSRequest,
314
+ collection_values: Dict[str, Row],
315
+ identity_data: Dict[str, Any],
316
+ input_data: Optional[Dict[str, List[Any]]] = None,
317
+ param_values: Dict[str, Any] = {},
318
+ ) -> None:
319
+ """
320
+ Process param_values for update generation (erasure requests).
321
+ Modifies param_values in place.
322
+
323
+ Args:
324
+ request: The SaaS request configuration
325
+ collection_values: Collection data for reference resolution
326
+ identity_data: Identity data for parameter resolution
327
+ input_data: Optional upstream data from other collections
328
+ """
329
+ for param_value in request.param_values or []:
330
+ if param_value.references:
331
+ # we resolve the param reference here for consistency,
332
+ # i.e. as if it may be a pointer to an `external_reference`.
333
+ # Cross-collection references are now supported by looking up data
334
+ # from upstream collections passed via input_data.
335
+ reference: FidesDatasetReference = SaaSConfig.resolve_param_reference(
336
+ param_value.references[0], self.secrets
337
+ )
338
+ param_values[param_value.name] = pydash.get(
339
+ collection_values, reference.field
340
+ )
341
+ if param_values[param_value.name] is None and input_data:
342
+ logger.info(
343
+ "Reference not found in collection, checking input data from upstream tasks"
344
+ )
345
+ # If the reference is not found in the collection (None), check the input data from upstream tasks
346
+ input_list = input_data.get(param_value.name)
347
+ if input_list:
348
+ param_values[param_value.name] = self._safe_extract_value(
349
+ input_list
350
+ )
351
+
352
+ elif param_value.identity:
353
+ param_values[param_value.name] = pydash.get(
354
+ identity_data, param_value.identity
355
+ )
356
+ elif param_value.connector_param:
357
+ param_values[param_value.name] = pydash.get(
358
+ self.secrets, param_value.connector_param
359
+ )
360
+
361
+ def _add_standard_parameters(
362
+ self,
363
+ param_values: Dict[str, Any],
364
+ ) -> None:
365
+ """
366
+ Add standard parameters that are common across query and update operations.
367
+ """
368
+
369
+ # common parameters for read and update
370
+ if self.privacy_request:
371
+ param_values[PRIVACY_REQUEST_ID] = self.privacy_request.id
372
+ param_values[UUID] = str(uuid4())
373
+ param_values[ISO_8601_DATETIME] = datetime.now().strftime("%Y-%m-%dT%H:%M:%SZ")
374
+ param_values[FIELD_LIST] = ",".join(
375
+ [
376
+ field.name
377
+ for field in self.top_level_field_map().values()
378
+ if field.data_type() != "None"
379
+ ]
380
+ )
381
+
382
+ if self.request_task and self.request_task.id:
383
+ param_values[REPLY_TO_TOKEN] = generate_request_task_callback_jwe(
384
+ self.request_task
385
+ )
386
+ param_values[REPLY_TO] = V1_URL_PREFIX + REQUEST_TASK_CALLBACK
387
+
285
388
  @staticmethod
286
389
  def _generate_product_list(*args: Dict[str, Any]) -> List[Dict[str, Any]]:
287
390
  """
@@ -331,22 +434,11 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
331
434
  f"The 'read' action is not defined for the '{self.collection_name}' "
332
435
  f"endpoint in {self.node.connection_key}"
333
436
  )
334
-
335
- # create the source of param values to populate the various placeholders
336
- # in the path, headers, query_params, and body
337
437
  param_values: Dict[str, Any] = {}
338
- for param_value in self.current_request.param_values or []:
339
- if param_value.references or param_value.identity:
340
- input_list = input_data.get(param_value.name)
341
- if input_list:
342
- param_values[param_value.name] = input_list[0]
343
- elif param_value.connector_param:
344
- param_values[param_value.name] = pydash.get(
345
- input_data, param_value.connector_param
346
- )[0]
347
-
348
- if self.privacy_request:
349
- param_values[PRIVACY_REQUEST_ID] = self.privacy_request.id
438
+ # Process param values using utility method
439
+ self._process_param_values_for_query(
440
+ self.current_request, input_data, param_values
441
+ )
350
442
 
351
443
  privacy_request_object = input_data.get(PRIVACY_REQUEST_OBJECT)
352
444
  if (
@@ -365,21 +457,9 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
365
457
  0
366
458
  ]
367
459
 
368
- param_values[UUID] = str(uuid4())
369
- # Use full ISO-8601 timestamp including time component (UTC, seconds precision)
370
- param_values[ISO_8601_DATETIME] = datetime.now().strftime("%Y-%m-%dT%H:%M:%SZ")
371
- param_values[FIELD_LIST] = ",".join(
372
- [
373
- field.name
374
- for field in self.top_level_field_map().values()
375
- if field.data_type() != "None"
376
- ]
377
- )
378
- if self.request_task and self.request_task.id:
379
- param_values[REPLY_TO_TOKEN] = generate_request_task_callback_jwe(
380
- self.request_task
381
- )
382
- param_values[REPLY_TO] = V1_URL_PREFIX + REQUEST_TASK_CALLBACK
460
+ # Add standard parameters
461
+ # For generate_query, we don't have a PrivacyRequest object, so we use self.privacy_request
462
+ self._add_standard_parameters(param_values)
383
463
 
384
464
  # map param values to placeholders in path, headers, and query params
385
465
  saas_request_params: SaaSRequestParams = saas_util.map_param_values(
@@ -391,16 +471,26 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
391
471
  return saas_request_params
392
472
 
393
473
  def generate_update_stmt(
394
- self, row: Row, policy: Policy, request: PrivacyRequest
474
+ self,
475
+ row: Row,
476
+ policy: Policy,
477
+ request: PrivacyRequest,
478
+ input_data: Optional[Dict[str, List[Any]]] = None,
395
479
  ) -> SaaSRequestParams:
396
480
  """
397
481
  This returns the method, path, header, query, and body params needed to make an API call.
398
482
  The fields in the row are masked according to the policy and added to the request body
399
483
  if specified by the body field of the masking request.
484
+
485
+ Args:
486
+ row: The current row data from this collection
487
+ policy: The privacy policy being applied
488
+ request: The privacy request being processed
489
+ input_data: Optional upstream data from other collections for cross-collection references
400
490
  """
401
491
  current_request: SaaSRequest = self.get_masking_request() # type: ignore
402
492
  param_values: Dict[str, Any] = self.generate_update_param_values(
403
- row, policy, request, current_request
493
+ row, policy, request, current_request, input_data
404
494
  )
405
495
 
406
496
  return self.generate_update_request_params(param_values, current_request)
@@ -429,6 +519,7 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
429
519
  policy: Policy,
430
520
  privacy_request: PrivacyRequest,
431
521
  saas_request: SaaSRequest,
522
+ input_data: Optional[Dict[str, List[Any]]] = None,
432
523
  ) -> Dict[str, Any]:
433
524
  """
434
525
  A utility that generates the update request param values
@@ -439,10 +530,16 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
439
530
  the fields in the provided row that have been masked according
440
531
  to provided policy. The `all_object_fields` key maps to a JSON structure
441
532
  that holds all values, including those that have not been masked.
533
+
534
+ Args:
535
+ row: The current row data from this collection
536
+ policy: The privacy policy being applied
537
+ privacy_request: The privacy request being processed
538
+ saas_request: The SaaS request configuration
539
+ input_data: Optional upstream data from other collections for cross-collection references
442
540
  """
443
541
 
444
- collection_name: str = self.node.address.collection
445
- collection_values: Dict[str, Row] = {collection_name: row}
542
+ collection_values: Dict[str, Row] = {self.collection_name: row}
446
543
  identity_data: Dict[str, Any] = privacy_request.get_cached_identity_data()
447
544
  custom_privacy_request_fields: Dict[str, Any] = (
448
545
  privacy_request.get_cached_custom_privacy_request_fields()
@@ -451,48 +548,15 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
451
548
  # create the source of param values to populate the various placeholders
452
549
  # in the path, headers, query_params, and body
453
550
  param_values: Dict[str, Any] = {}
454
- for param_value in saas_request.param_values or []:
455
- if param_value.references:
456
- # we resolve the param reference here for consistency,
457
- # i.e. as if it may be a pointer to an `external_reference`.
458
- # however, `references` in update requests can, currently, only reference
459
- # the same collection the same collection, and so it is highly unlikely
460
- # that this would be an external reference at this point.
461
- reference: FidesDatasetReference = SaaSConfig.resolve_param_reference(
462
- param_value.references[0], self.secrets
463
- )
464
- param_values[param_value.name] = pydash.get(
465
- collection_values, reference.field
466
- )
467
- elif param_value.identity:
468
- param_values[param_value.name] = pydash.get(
469
- identity_data, param_value.identity
470
- )
471
- elif param_value.connector_param:
472
- param_values[param_value.name] = pydash.get(
473
- self.secrets, param_value.connector_param
474
- )
475
-
476
- if self.privacy_request:
477
- param_values[PRIVACY_REQUEST_ID] = self.privacy_request.id
551
+ # Process param values using utility method
552
+ self._process_param_values_for_update(
553
+ saas_request, collection_values, identity_data, input_data, param_values
554
+ )
478
555
 
479
556
  param_values[PRIVACY_REQUEST_OBJECT] = privacy_request.to_safe_dict()
480
-
481
557
  param_values[CUSTOM_PRIVACY_REQUEST_FIELDS] = custom_privacy_request_fields
482
- param_values[UUID] = str(uuid4())
483
- param_values[ISO_8601_DATETIME] = datetime.now().strftime("%Y-%m-%dT%H:%M:%SZ")
484
- param_values[FIELD_LIST] = ",".join(
485
- [
486
- field.name
487
- for field in self.top_level_field_map().values()
488
- if field.data_type() != "None"
489
- ]
490
- )
491
- if self.request_task and self.request_task.id:
492
- param_values[REPLY_TO_TOKEN] = generate_request_task_callback_jwe(
493
- self.request_task
494
- )
495
- param_values[REPLY_TO] = V1_URL_PREFIX + REQUEST_TASK_CALLBACK
558
+ # Add standard parameters
559
+ self._add_standard_parameters(param_values)
496
560
  # remove any row values for fields marked as read-only, these will be omitted from all update maps
497
561
  for field_path, field in self.field_map().items():
498
562
  if field.read_only:
@@ -518,7 +582,6 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
518
582
 
519
583
  param_values[MASKED_OBJECT_FIELDS] = masked_object
520
584
  param_values[ALL_OBJECT_FIELDS] = complete_object
521
-
522
585
  return param_values
523
586
 
524
587
  def generate_update_request_params(
@@ -591,7 +591,7 @@ class SaaSConnector(BaseConnector[AuthenticatedClient], Contextualizable):
591
591
  for row in rows:
592
592
  try:
593
593
  prepared_request = query_config.generate_update_stmt(
594
- row, policy, privacy_request
594
+ row, policy, privacy_request, input_data
595
595
  )
596
596
  except ValueError as exc:
597
597
  if masking_request.skip_missing_param_values:
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/de09ed8a0adf1ca2.css" as="style"/><link rel="stylesheet" href="/_next/static/css/de09ed8a0adf1ca2.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-8eac1ea5c825c8b4.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-9de54d6135682f7b.js" defer=""></script><script src="/_next/static/chunks/pages/404-962d132471cd41ba.js" defer=""></script><script src="/_next/static/hRLR7azkI57zC2PfdYodO/_buildManifest.js" defer=""></script><script src="/_next/static/hRLR7azkI57zC2PfdYodO/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"hRLR7azkI57zC2PfdYodO","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/4d3cb2ffee0cfa2c.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4d3cb2ffee0cfa2c.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3a17ce9d4ecac24a.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-32ece8369a437df8.js" defer=""></script><script src="/_next/static/chunks/pages/404-5cffe00870fefd79.js" defer=""></script><script src="/_next/static/KrreFSHeuO3A1ZudBtGj2/_buildManifest.js" defer=""></script><script src="/_next/static/KrreFSHeuO3A1ZudBtGj2/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"KrreFSHeuO3A1ZudBtGj2","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(s,t,e,a,c,i,n,o,d,r,p,u,f,g,b,j,m,k,h,y,l,v,I,x,F,w,_,U,q,N,A,S,B,C,z,D,E,L,M,T,P,G,H,J,K,O,Q,R,V,W,X,Y,Z,$,ss,st,se,sa,sc,si,sn,so,sd,sr){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/css/972dc7eef106ee7c.css","static/chunks/pages/index-37c1abb674e1aea6.js"],"/404":["static/chunks/pages/404-5cffe00870fefd79.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[s,t,"static/css/dd15c278b964de80.css","static/chunks/pages/add-systems-cfd6175cd093217c.js"],"/add-systems/manual":[s,e,a,c,n,m,x,t,d,k,F,w,B,"static/css/af32fcac7a177a0e.css","static/chunks/pages/add-systems/manual-02f6ef0e6a161961.js"],"/add-systems/multiple":[d,h,C,"static/chunks/pages/add-systems/multiple-4458172cd75babb0.js"],"/consent":["static/chunks/pages/consent-7496b13734f49085.js"],"/consent/configure":[d,h,"static/chunks/pages/consent/configure-6f35d961da39f539.js"],"/consent/configure/add-vendors":[d,h,C,"static/chunks/pages/consent/configure/add-vendors-1a821b298d86a22d.js"],"/consent/privacy-experience":[m,z,"static/chunks/pages/consent/privacy-experience-0311c558666456cc.js"],"/consent/privacy-experience/new":[e,o,y,r,l,D,"static/chunks/pages/consent/privacy-experience/new-a5e738a234dadc7e.js"],"/consent/privacy-experience/[id]":[e,o,y,r,l,D,"static/chunks/pages/consent/privacy-experience/[id]-4caea1cb619aad01.js"],"/consent/privacy-notices":[z,"static/chunks/pages/consent/privacy-notices-ca99b84429667b5f.js"],"/consent/privacy-notices/new":[e,o,y,r,l,E,"static/chunks/pages/consent/privacy-notices/new-524a3e86b2568398.js"],"/consent/privacy-notices/[id]":[e,o,y,r,l,E,"static/chunks/pages/consent/privacy-notices/[id]-b062d2a4a8102ce1.js"],"/consent/properties":[v,L,"static/chunks/pages/consent/properties-15dac492b739cf83.js"],"/consent/reporting":[s,t,i,"static/chunks/pages/consent/reporting-3b04a6d7447ae824.js"],"/data-catalog":[e,a,c,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-04a493b26a5dfdaf.js"],"/data-catalog/[systemId]/projects":[e,a,c,f,g,_,"static/chunks/pages/data-catalog/[systemId]/projects-04bb0d25beccc031.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[f,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-96ec3aa63de556ec.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[s,e,a,c,t,f,g,M,T,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-313fc265356df659.js"],"/data-catalog/[systemId]/resources":[f,"static/chunks/pages/data-catalog/[systemId]/resources-e436f291ccce41c7.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[s,e,a,c,t,f,g,M,T,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-855eca0ddf47f4dc.js"],"/data-discovery/action-center":[s,t,I,"static/css/0fd6e0884cfcc5f3.css","static/chunks/pages/data-discovery/action-center-f67b897b206d1156.js"],"/data-discovery/action-center/data-explorer":["static/chunks/pages/data-discovery/action-center/data-explorer-a725550fc25e45e2.js"],"/data-discovery/action-center/data-explorer/[monitorId]":[s,e,a,c,t,I,b,"static/chunks/pages/data-discovery/action-center/data-explorer/[monitorId]-1cebd59598196388.js"],"/data-discovery/action-center/[monitorId]":[s,e,a,c,t,p,I,P,"static/css/cb417f0587918f85.css","static/chunks/pages/data-discovery/action-center/[monitorId]-ee1cf6e7f60d46db.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[s,e,a,c,x,t,d,I,F,"static/css/f9a2a44d3d34c904.css","static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-b45b49ab68d15585.js"],"/data-discovery/activity":[s,t,p,U,i,"static/chunks/pages/data-discovery/activity-17887a476280c480.js"],"/data-discovery/detection":[s,t,p,U,G,i,"static/chunks/pages/data-discovery/detection-c9d69ae424e73377.js"],"/data-discovery/detection/[resourceUrn]":[s,t,p,U,G,i,"static/chunks/pages/data-discovery/detection/[resourceUrn]-67c9fb9b18cb17a0.js"],"/data-discovery/discovery":[s,e,a,c,t,p,g,H,b,"static/chunks/pages/data-discovery/discovery-4094104544531055.js"],"/data-discovery/discovery/[resourceUrn]":[s,e,a,c,t,p,g,H,b,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-e5102013ec48b60c.js"],"/datamap":[s,c,t,k,J,i,"static/chunks/pages/datamap-eaae94fb326cc676.js"],"/dataset":[u,j,"static/chunks/pages/dataset-35be9dda6a1114ce.js"],"/dataset/new":[s,u,t,i,"static/chunks/pages/dataset/new-b651d5f466e4019d.js"],"/dataset/[datasetId]":["static/chunks/9729-fcf6ff4e3534e4a8.js",j,q,"static/chunks/pages/dataset/[datasetId]-cf0b5a30b3b37e20.js"],"/dataset/[datasetId]/[collectionName]":[e,a,c,n,j,q,K,_,"static/chunks/pages/dataset/[datasetId]/[collectionName]-4b711c3a257f4754.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[e,a,c,n,j,q,K,_,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-d2af9a78b22a3b33.js"],"/datastore-connection":["static/css/f89607996ad54f4b.css","static/chunks/pages/datastore-connection-a4abc6ee516b13d4.js"],"/datastore-connection/new":[s,e,n,u,m,O,t,w,Q,i,"static/chunks/pages/datastore-connection/new-c967e9f37709c645.js"],"/datastore-connection/[id]":[s,e,n,u,O,t,Q,i,"static/chunks/pages/datastore-connection/[id]-3fcfe1430c11e0c7.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",e,a,c,n,u,"static/chunks/5619-9b50cec521203989.js",R,"static/css/0b4b1b65cc874774.css","static/chunks/5596-29a7c8322530b7cf.js","static/chunks/pages/fides-js-docs-1f4335dca5c09860.js"],"/integrations":[s,e,a,c,n,o,V,t,W,b,"static/chunks/pages/integrations-514131e87ac65082.js"],"/integrations/[id]":[s,e,a,c,n,o,V,t,r,W,b,"static/chunks/pages/integrations/[id]-484063d65850e03e.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/new-privacy-requests":[s,e,X,t,N,Y,i,"static/chunks/pages/new-privacy-requests-b0533759c1fe400c.js"],"/notifications":["static/chunks/pages/notifications-9586f35322edb190.js"],"/notifications/digests":[A,"static/chunks/pages/notifications/digests-20c129ac4a57f2e5.js"],"/notifications/digests/new":[A,Z,"static/chunks/pages/notifications/digests/new-798fb0ca1205e684.js"],"/notifications/digests/[id]":[A,Z,"static/chunks/pages/notifications/digests/[id]-3306676f61000f3b.js"],"/notifications/providers":[s,t,i,"static/chunks/pages/notifications/providers-4ebdfd1e0e4bfbe6.js"],"/notifications/providers/new":[s,e,a,o,$,t,ss,i,"static/chunks/pages/notifications/providers/new-2798b151240303c5.js"],"/notifications/providers/[key]":[s,e,a,o,$,t,ss,i,"static/chunks/pages/notifications/providers/[key]-749898f45b528480.js"],"/notifications/templates":[e,a,"static/chunks/346-aa3b88efb85f2e28.js","static/chunks/pages/notifications/templates-0e0ff3689c02c12e.js"],"/notifications/templates/add-template":[st,"static/chunks/pages/notifications/templates/add-template-c38096d698ebfaa9.js"],"/notifications/templates/[id]":[st,"static/chunks/pages/notifications/templates/[id]-40d9f4a82335cb5c.js"],"/poc/ant-components":["static/chunks/pages/poc/ant-components-d9c3128f1c85ef06.js"],"/poc/form-experiments/AntForm":["static/chunks/pages/poc/form-experiments/AntForm-616164210b90485e.js"],"/poc/form-experiments/FormikAntFormItem":["static/chunks/pages/poc/form-experiments/FormikAntFormItem-f462c200e6795276.js"],"/poc/form-experiments/FormikControlled":["static/chunks/pages/poc/form-experiments/FormikControlled-891177e7bbd6a4a4.js"],"/poc/form-experiments/FormikField":["static/chunks/pages/poc/form-experiments/FormikField-cb6cd181c8ffbb9a.js"],"/poc/form-experiments/FormikSpreadField":[se,"static/chunks/pages/poc/form-experiments/FormikSpreadField-af097d661f6abcf4.js"],"/poc/forms":[se,"static/chunks/pages/poc/forms-540bf3af41cd40fb.js"],"/poc/table-migration":[d,h,"static/chunks/pages/poc/table-migration-e58cac7ad960a847.js"],"/privacy-requests":[s,e,X,t,N,Y,i,"static/chunks/pages/privacy-requests-cd94476ab282dd7f.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-f9af184bf0a04729.js"],"/privacy-requests/configure/storage":[s,t,i,"static/chunks/pages/privacy-requests/configure/storage-a948294b5b2ff677.js"],"/privacy-requests/[id]":[s,t,N,"static/css/05d05fc31d09638b.css","static/chunks/pages/privacy-requests/[id]-27ff988967e9153d.js"],"/properties":[v,L,"static/chunks/pages/properties-83b4002f896071b3.js"],"/properties/add-property":[v,sa,"static/chunks/pages/properties/add-property-8cc4b3170f7851f9.js"],"/properties/[id]":[v,sa,"static/chunks/pages/properties/[id]-7545993189dc1bb1.js"],"/reporting/datamap":[s,e,a,c,R,t,k,J,i,"static/chunks/pages/reporting/datamap-9459019a37ffe8d8.js"],"/settings/about":[sc,"static/chunks/pages/settings/about-6c4904c157477285.js"],"/settings/about/alpha":[sc,"static/chunks/pages/settings/about/alpha-68eaac2d79133679.js"],"/settings/consent":[r,"static/chunks/pages/settings/consent-2c71096d348013aa.js"],"/settings/consent/[configuration_id]/[purpose_id]":["static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-260f460fea1bc187.js"],"/settings/custom-fields":[s,t,i,"static/chunks/pages/settings/custom-fields-72e6a6394b1c58c2.js"],"/settings/custom-fields/new":[e,si,sn,"static/chunks/pages/settings/custom-fields/new-a0bb7928ac4a894e.js"],"/settings/custom-fields/[id]":[e,si,sn,"static/chunks/pages/settings/custom-fields/[id]-9b395e59fa62cbe5.js"],"/settings/domain-records":["static/chunks/pages/settings/domain-records-b90fb07aa18a396b.js"],"/settings/domains":["static/chunks/pages/settings/domains-eea6685e7aa5953c.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-4a1985c24bf2dc90.js"],"/settings/locations":[so,sd,"static/chunks/pages/settings/locations-06780a5a03c51fb0.js"],"/settings/organization":["static/chunks/pages/settings/organization-5e8af0aeb40cbadd.js"],"/settings/privacy-requests":[s,t,i,"static/chunks/pages/settings/privacy-requests-b3156b0882717119.js"],"/settings/regulations":[so,sd,"static/chunks/pages/settings/regulations-825f705fc04c9262.js"],"/systems":[s,e,a,c,t,P,i,"static/chunks/pages/systems-ddb0121f14bc3b84.js"],"/systems/configure/[id]":[s,e,a,c,n,m,x,t,d,k,F,w,B,"static/css/012b10627a654d5c.css","static/chunks/pages/systems/configure/[id]-7f98c2d62b08265d.js"],"/systems/configure/[id]/test-datasets":[u,"static/chunks/pages/systems/configure/[id]/test-datasets-4bfe49a2d99a905f.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",s,e,a,c,o,"static/chunks/6148-59a59d5c5925344f.js",t,j,"static/css/3d6582469f7d56e0.css","static/chunks/pages/taxonomy-4d945ab1aab9be54.js"],"/user-management":[S,"static/chunks/pages/user-management-827f9bcad90d8856.js"],"/user-management/new":[S,sr,"static/chunks/pages/user-management/new-6b3564b9ae9ee7dd.js"],"/user-management/profile/[id]":[S,sr,"static/chunks/pages/user-management/profile/[id]-9a920390f7f61e88.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/consent","/consent/configure","/consent/configure/add-vendors","/consent/privacy-experience","/consent/privacy-experience/new","/consent/privacy-experience/[id]","/consent/privacy-notices","/consent/privacy-notices/new","/consent/privacy-notices/[id]","/consent/properties","/consent/reporting","/data-catalog","/data-catalog/[systemId]/projects","/data-catalog/[systemId]/projects/[projectUrn]","/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]","/data-catalog/[systemId]/resources","/data-catalog/[systemId]/resources/[resourceUrn]","/data-discovery/action-center","/data-discovery/action-center/data-explorer","/data-discovery/action-center/data-explorer/[monitorId]","/data-discovery/action-center/[monitorId]","/data-discovery/action-center/[monitorId]/[systemId]","/data-discovery/activity","/data-discovery/detection","/data-discovery/detection/[resourceUrn]","/data-discovery/discovery","/data-discovery/discovery/[resourceUrn]","/datamap","/dataset","/dataset/new","/dataset/[datasetId]","/dataset/[datasetId]/[collectionName]","/dataset/[datasetId]/[collectionName]/[...subfieldNames]","/datastore-connection","/datastore-connection/new","/datastore-connection/[id]","/fides-js-docs","/integrations","/integrations/[id]","/login","/login/[provider]","/new-privacy-requests","/notifications","/notifications/digests","/notifications/digests/new","/notifications/digests/[id]","/notifications/providers","/notifications/providers/new","/notifications/providers/[key]","/notifications/templates","/notifications/templates/add-template","/notifications/templates/[id]","/poc/ant-components","/poc/form-experiments/AntForm","/poc/form-experiments/FormikAntFormItem","/poc/form-experiments/FormikControlled","/poc/form-experiments/FormikField","/poc/form-experiments/FormikSpreadField","/poc/forms","/poc/table-migration","/privacy-requests","/privacy-requests/configure","/privacy-requests/configure/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/settings/about","/settings/about/alpha","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/custom-fields/new","/settings/custom-fields/[id]","/settings/domain-records","/settings/domains","/settings/email-templates","/settings/locations","/settings/organization","/settings/privacy-requests","/settings/regulations","/systems","/systems/configure/[id]","/systems/configure/[id]/test-datasets","/taxonomy","/user-management","/user-management/new","/user-management/profile/[id]"]}}("static/chunks/431-e01ee730c8ad9ece.js","static/chunks/7245-305e4a8a8be70fad.js","static/chunks/8765-f622a35b40a7ec63.js","static/chunks/9278-08cc704317fe535e.js","static/chunks/5163-e682273cd76a7d07.js","static/css/14ba79c49597d37a.css","static/chunks/699-8ca44b0de9fa20f0.js","static/chunks/3662-f6a1ddca5ee42076.js","static/chunks/401-63df8127ab5e8b1a.js","static/chunks/5279-28226a4eaaba9e56.js","static/chunks/4817-cb54f4a8ed82122f.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/9682-0aab88e56ba618a3.js","static/chunks/1099-1959c2e271a9588d.js","static/css/a1800714b486e230.css","static/chunks/3772-3c849a72d0129ae4.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9899-ea04d345468691b3.js","static/chunks/3923-6e82c845722d09ce.js","static/chunks/6419-11d67f7fd4e2f247.js","static/chunks/6277-2d53a51b7727d7b1.js","static/chunks/2040-b9e38ecc741148fc.js","static/chunks/7059-362b53ad2cbe480e.js","static/chunks/6344-ca66a6e10d128179.js","static/chunks/1437-c3c8f421fc8d9bf7.js","static/chunks/7773-1303b235272f3dbf.js","static/css/d2d4e9a6923e6730.css","static/chunks/6315-08729296f49e6898.js","static/chunks/7488-502aeb16e3a27d42.js","static/chunks/8373-9debd1f8d36cd013.js","static/chunks/8212-334e971822270277.js","static/chunks/7476-2e1176b163688789.js","static/chunks/3700-bde60c51fb2606a8.js","static/chunks/796-d30fca0fe341916b.js","static/chunks/6853-56c933239103eef6.js","static/chunks/1817-877489cf6bb7185c.js","static/chunks/6954-d909264a2674ea4e.js","static/chunks/5783-0171fca3154d4812.js","static/chunks/9330-38845205515126c3.js","static/css/4861ca3e088f2d05.css","static/chunks/9965-bd9d95c187ddcda5.js","static/chunks/2397-39c59d3fdf13042e.js","static/chunks/9046-aaba9b46ed37f1e2.js","static/chunks/5258-004011f620451d36.js","static/chunks/549-cb23e43b4fe4750e.js","static/chunks/1467-8808ec8836e033f9.js","static/chunks/8011-866a514d483aaaac.js","static/chunks/9187-7438242f0d380bb0.js","static/chunks/1316-2606e19807c08aa5.js","static/chunks/155-17c9584d4944ce7e.js","static/chunks/2962-342ad1b4ab402ded.js","static/chunks/6468-f73d542ab5bcf746.js","static/chunks/4496-6ff88def38644170.js","static/chunks/9037-453224ba3ee65b13.js","static/chunks/3377-6e7bdffc46ffe15d.js","static/chunks/7630-bb44ecce0b2146ed.js","static/chunks/2921-bcd6a8741e98e7ce.js","static/chunks/5185-e662084251450372.js","static/chunks/1115-d8f2a0953960d648.js","static/chunks/3446-f40c352c43ac950c.js","static/chunks/5643-fb6082b8ecb6c0d9.js","static/chunks/9826-fd27a5fd2ed44c3d.js","static/css/10994e916bc9a00a.css","static/chunks/3696-84990aa1baa21fad.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();