Skip to content

Conversation

einhverfr
Copy link
Contributor

This is a major.backwards-incompatible set of changes to this module Because there are opportunities to break things, I want to put here the reasons for the changes and an assessment of the possible problems.

Prior to these changes ordering of checks was assumed to be the responsibility of this module. However the ordering itself is business-specific (different businesses may weigh different criteria differently) and proved to be brittle. Since this is a public module, it is a bad idea to have business-specific logic in it.

So what this does is returns the full set of concerns from the report back to the calling application. This means that instead of an ordered series of checks with one key set, you now get a hashref woth all applicable keys set. If Experian thinks the individual is on a PEP and a terrorism list, and the age verification has failed, the application has to decide what to do about these three.

This also means that it is possible to get a full verification result along with a deny so code needs to be audited before upgrade regarding the handling of the order (not that the order didn't pose risks in the current version, but the problems are different here).

@frank-binary
Copy link

This all makes good sense!

einhverfr added a commit that referenced this pull request Jul 14, 2015
@einhverfr einhverfr merged commit 6a323ae into master Jul 14, 2015
@einhverfr einhverfr deleted the ct/2.0 branch July 14, 2015 03:32
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