Skip to content

[ENG-2185] Adding Consent#7174

Merged
JadeCara merged 93 commits intomainfrom
ENG-2185-add-consent-to-manual-tasks
Jan 13, 2026
Merged

[ENG-2185] Adding Consent#7174
JadeCara merged 93 commits intomainfrom
ENG-2185-add-consent-to-manual-tasks

Conversation

@JadeCara
Copy link
Copy Markdown
Contributor

@JadeCara JadeCara commented Dec 31, 2025

Ticket ENG-2185

Description Of Changes

🎯 Add Manual Tasks for Consent

This PR updates the Manual Tasks to use the Action Type of the associated Policy thus adding consent. It also allows conditions and users to be assigned to a full task (all things) or a specific field (text, attachment or checkbox). It is a clean up based on the first few rounds of customer use and learning actual usage patterns.

Note the consent task is being added here, but is tricky to test before it is added to the consent graph which happens in #7175 the lines that are not tested here are tested in that PR.

Past PRs:

  • The logging being used by manual tasks and front end data is entirely the general audit logs so the manual task log table and utilities are now redundant. ENG-2185 #7124
  • Update the Conditional Dependency table with a JSONB dictionary column. This will allow us to thoroughly test the migration without being destructive. [ENG-2185] #7133
  • Remove the extra columns and rows for conditional dependencies once the tree has been implemented and tested. Eng 2185 remove unused cols #7172

This PR:

  • Allow conditional dependencies to be assigned to a specific policy type or id
  • Allow users to be assigned to specific submissions rather than the whole task.
  • Adds consent to the types of manual tasks that exist in the manual task graph.

Future PRs:

Code Changes

  • .fides/db_dataset.yml - added new cols for tracking specific configs for conditions/users
  • src/fides/api/alembic/migrations/versions/ added new cols for tracking specific configs for conditions/users
  • src/fides/api/models/manual_task/conditional_dependency.py - added logic for assigning conditions to specific manual task configurations.
  • src/fides/api/models/manual_task/manual_task.py - Updated to use policy action types, added logic for conditional dependencies on specific configs
  • src/fides/api/models/privacy_request/privacy_request.py updated to use action types
  • src/fides/api/task/manual/manual_task_conditional_evaluation.py Added filtering functionality which will allow us to handle consent tasks with conditions.
  • src/fides/api/task/manual/manual_task_graph_task.py - Updated to use action types, added consent function call.
  • src/fides/api/task/manual/manual_task_utils.py - Updated to use action types
  • Updated all tests with condition/user assignments, action types and basic consent task creation

Steps to Confirm

For Manual Task flow:

  1. There should be NO change in functionality.
  2. Manual tasks, conditional dependencies etc should continue to function as before.
  3. Please test with FidesPlus 2952
  4. Run FidesPlus branch above pointed at this branch.
  5. Create a ManualTask with several submissions required and several conditions, both dataset and privacy request based.
  6. Assign users to complete tasks.
  7. Create privacy requests that meet and do not meet the requirements. Verify that they create/do not create as expected.
  8. Verify that you can complete the manual tasks with no errors.
  9. Verify that you can see the skipped logs and the manual task and manual task actions appear on the DSR activity log.
  10. Verify that you receive the access package with all expected manual task inclusions (attachments and text)
  11. Update the ManualTask submission types, delete one or more.
  12. Delete manual task integration

For new features not yet in the UI - all tests should pass.

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration This indicates that a change includes a database migration label to the entry if your change includes a DB migration
    • Add a high-risk This issue suggests changes that have a high-probability of breaking existing code label to the entry if your change includes a high-risk change (i.e. potential for performance impact or unexpected regression) that should be flagged
    • Updates unreleased work already in Changelog, no new entry necessary
  • UX feedback:
    • All UX related changes have been reviewed by a designer
    • No UX review needed
  • Followup issues:
    • Followup issues created
    • No followup issues
  • Database migrations:
    • Ensure that your downrev is up to date with the latest revision on main
    • Ensure that your downgrade() migration is correct and works
      • If a downgrade migration is not possible for this change, please call this out in the PR description!
    • No migrations
  • Documentation:
    • Documentation complete, PR opened in fidesdocs
    • Documentation issue created in fidesdocs
    • If there are any new client scopes created as part of the pull request, remember to update public-facing documentation that references our scope registry
    • No documentation updates required

@JadeCara
Copy link
Copy Markdown
Contributor Author

@greptile please review

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Jade Wibbels added 2 commits January 12, 2026 16:20
@JadeCara
Copy link
Copy Markdown
Contributor Author

@greptile please review

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@JadeCara
Copy link
Copy Markdown
Contributor Author

@greptile please review

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@JadeCara
Copy link
Copy Markdown
Contributor Author

@greptile please review

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@JadeCara
Copy link
Copy Markdown
Contributor Author

@greptile please review

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No files reviewed, no comments

Edit Code Review Agent Settings | Greptile

)
for action_type, has_rules in policy_rules.items()
if has_rules
action_type for action_type, has_rules in policy_rules.items() if has_rules
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! 👌

@JadeCara JadeCara enabled auto-merge January 13, 2026 20:28
@JadeCara JadeCara added this pull request to the merge queue Jan 13, 2026
Merged via the queue into main with commit 9db64bb Jan 13, 2026
51 of 52 checks passed
@JadeCara JadeCara deleted the ENG-2185-add-consent-to-manual-tasks branch January 13, 2026 21:25
JadeCara added a commit that referenced this pull request Jan 13, 2026
Co-authored-by: Jade Wibbels <jade@ethyca.com>
mfbrown pushed a commit that referenced this pull request Jan 27, 2026
Co-authored-by: Jade Wibbels <jade@ethyca.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants