Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update biometric comparison language #11296

Merged
merged 13 commits into from
Oct 1, 2024

Conversation

Sgtpluck
Copy link
Member

🎫 Ticket

Link to the relevant ticket:
https://gitlab.login.gov/lg-people/Melba/backlog-fy24/-/issues/116

🛠 Summary of changes

This change is a first pass at removing most of the "biometric comparison" phrasing that is found in our code base. Since we are moving away from using that terminology, it will help if our code base isn't littered with references to it!

This change includes many things, but highlights are:

  • updating the components to have facial_match as a requirement rather than biometric_comparison?
  • updating the authn_context_resolver result object to have a facial_match? method rather than biometric_comparison?
    • this has a side effect of changing the sp_request data bundle for analytics. i have confirmed that this will not have an effect on the fraud team's work, and am trying to make sure it will also not affect the data enablement team
  • updating authn context constants

Things that were not changed, because it's not worth it or they need more specific PRs:

  • The interim facial match acr_values that include bio=preferred and bio=required.
    • These are hopefully going away soon, and since the word bio is in them in a way that we can't extract, it seemed fine to keep it that way
  • the IdentityConfig values (those will be going away november 7th, when facial match enters GA)
  • locales/*.yml files (i wasn't sure if there were any considerations i should be aware of before changing those files)
  • the SpUpgradedBiometricProfile model -- was curious about people's thought about this new model. matt hinz suggetsted renaming the model and using self.table_name = :sp_upgraded_biometric_profiles but wanted to hear if anyone had strong opinions for or against.

More work that is out of scope but related:

  • Some of the test helpers are assuming vtr, a la idv_helper. this needs to be updated, since going forward we are deprecating vectors of trust.

Feedback wanted!

  • Is this a good idea? (I think it is, but open to people thinking it is not, since it's a fairly big change)
  • Am I missing anything obvious or not obvious?
  • Any concerns?

Thank you for your time and attention 🙏 If/when it gets approved, I will definitely alert folks in app-dev before and after, to try to minimize horrible merge conflicts.

Copy link
Contributor

@zachmargolis zachmargolis left a comment

Choose a reason for hiding this comment

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

LGTM! you made this look too easy!

Comment on lines +379 to +380
def identity_verified_with_facial_match?
FACIAL_MATCH_IDV_LEVELS.include?(active_profile&.idv_level)
Copy link
Contributor

Choose a reason for hiding this comment

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

just while I'm here, maybe for a future PR, wondering if if we could have moved this constant to the Profile class, and then delegate via something like active_profile&.verified_with_facial_match?

Copy link
Member Author

Choose a reason for hiding this comment

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

i added it as a task -- will take care of this in a future PR!

@@ -78,7 +78,7 @@ def formatted_ipp_due_date
I18n.l(user.pending_in_person_enrollment.due_date, format: :event_date)
end

def formatted_nonbiometric_idv_date
def formatted_nonfacial_match_idv_date
Copy link
Contributor

Choose a reason for hiding this comment

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

in other parts of the project we call this "legacy IDV", do you think that would be a good rename here too?

Copy link
Member Author

Choose a reason for hiding this comment

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

hm i agree that nonfacial_match is not great!

but i am a bit torn about what to call about our original idv offering. i think the term "legacy" isn't great because a lot of existing integrations are not going to update. in other circumstances i have used "base idv" (rather than defining it as a negation of a facial match). i am happy to update this to legacy to be more in line with what we currently have, but am curious if you (and others) have an opinion about updating that language overall

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't feel too strongly, but since it looks to me like this is an internal method used for rendering in a view, the choices partner make shouldn't affect it too much? But "Base IDV" makes sense too, I was just trying to match the descriptions we got from Product with "Legacy IDV"

Copy link
Member Author

Choose a reason for hiding this comment

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

ah okay, didn't realize there was direct guidance on this from product, thanks! will update to legacy

Copy link
Member Author

Choose a reason for hiding this comment

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

updated in b1b77c3 -- thanks for flagging!

@@ -47,7 +47,7 @@ def show
end
end

context 'SP does not require biometric_comparison' do
context 'SP does not require facial_match' do
Copy link
Contributor

Choose a reason for hiding this comment

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

❤️ appreciate you updating the spec descriptions as well!

spec/controllers/idv_controller_spec.rb Show resolved Hide resolved
@Sgtpluck Sgtpluck force-pushed the dmm/update-biometric-comparison-language branch from 5a89cb4 to bcb4474 Compare September 30, 2024 16:25
@Sgtpluck Sgtpluck force-pushed the dmm/update-biometric-comparison-language branch from b1b77c3 to 9c390d5 Compare October 1, 2024 12:36
@Sgtpluck Sgtpluck merged commit a937016 into main Oct 1, 2024
2 checks passed
@Sgtpluck Sgtpluck deleted the dmm/update-biometric-comparison-language branch October 1, 2024 12:52
@MrNagoo
Copy link
Contributor

MrNagoo commented Oct 1, 2024

I know I'm late to the party here but if you wanted to change the SpBiometricUpgradedProfile class you can go ahead and rename it and create a new table and remove the old one. There are currently no records in it. There is an accompanied report that would need adjusted. idv-legacy-conversion-report. Up to you.

@Sgtpluck
Copy link
Member Author

Sgtpluck commented Oct 1, 2024

@MrNagoo oh thanks for those details, that's great to hear! i will try to get that done asap.

MrNagoo pushed a commit that referenced this pull request Oct 3, 2024
* changelog: Internal, Identity Proofing, Update code to reflect program language
colter-nattrass pushed a commit that referenced this pull request Oct 23, 2024
* changelog: Internal, Identity Proofing, Update code to reflect program language
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.

4 participants