Skip to content

STF-2255: Clarify minFraud verification input docs - #1808

Merged
oschwald merged 4 commits into
mainfrom
wstorey/stf-2255-clarify-minfraud-email-and-phone-verification-input
Nov 3, 2026
Merged

oschwald merged 4 commits into
mainfrom
wstorey/stf-2255-clarify-minfraud-email-and-phone-verification-input

Conversation

@horgh

@horgh horgh commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Clarifies the minFraud email and phone verification inputs, as agreed in the review of #1776 (see the STF-2006 discussion). Each commit covers one item:

  1. Pending verifications are not failures. The result, method, and time rows describe the most recent completed verification. A pending, abandoned, or expired verification is not complete and is not a failure. If no verification is complete, leave out the field.
  2. verification_time and phone_verification_time are the time the verification succeeded or failed, not the time the link or code was sent.
  3. The email and phone verification rows must reflect the state as of the time of the event. This matters when you score a stored event with /event/time.
  4. Leave out the time if no verification was attempted or no verification is complete.

The phone method rows also change in items 1 and 3, so that the method describes the same verification as the result and time. The release note descriptions change to match the new wording.

Follow-up changes to the OpenAPI spec and the client libraries are in separate PRs.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Clarified that email and phone verification inputs reflect the most recent completed verification and its state at the event time.
    • Specified that verification timestamps represent when verification succeeded or failed—not when a link or code was sent—and should be omitted when no verification is complete.
    • Documented that pending, abandoned, and expired checks are not completed verifications or failures.
    • Clarified timestamp format and valid range, handling of out-of-range times, and phone-method requirements.

horgh and others added 4 commits November 3, 2026 21:21
The verification result rows did not say what to send while a
verification is pending. A merchant could send false for a link that
the user has not clicked yet, and minFraud would see a failed check.

Define the result as that of the most recent completed verification.
A pending, abandoned, or expired verification is not complete and is
not a failure. If no verification is complete, leave out the field.

The phone method rows described the most recent verification attempt,
which can be pending. Make them describe the same completed
verification as the result rows, so that a merchant does not send a
method from a pending attempt next to a result from an earlier one.

Update the release note descriptions to match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
"The most recent date and time a verification was attempted" could
mean the time the merchant sent the link or code, or the time the user
used it. For email, these times can be days apart.

Define the time as the time the most recent completed verification
succeeded or failed. A pending verification is neutral, so the time a
link or code was sent is not a result time.

Update the release note descriptions to match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
You can score a stored event later with /event/time. The verification
rows did not say whether to send the state at the time of the event or
at the time of the request. If a merchant sends the current state, the
model sees information from after the event.

Say that the email and phone verification rows must reflect the state
as of the time of the event.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The time rows did not say to leave out the field when no verification
was attempted. An integration that always sends a value could send a
placeholder such as 1970-01-01T00:00:00Z. The web service accepts it
and records a verification that did not occur.

Say to leave out the time if no verification was attempted or no
verification is complete.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 3, 2026 21:46
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Walkthrough

The request documentation and release notes now describe email and phone verification inputs in terms of the most recent completed verification. The documentation clarifies event-time state, incomplete checks, and verification timestamps.

Changes: Verification input documentation

Layer / File(s) Summary
Completed verification definitions
content/minfraud/api-documentation/requests.md, content/minfraud/release-notes/2026-10-15-new-phone-verification-inputs.md, content/minfraud/release-notes/2026-10-26-new-email-verification-inputs.md
The request documentation and release-note tables now refer to the most recent completed verification. The request documentation also defines event-time state, incomplete-check handling, and timestamp rules.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Possibly related PRs

  • maxmind/dev-site#1776: Introduced the email verification fields that this change now describes using completed verification.

Suggested reviewers: oschwald

Merge Risk: Minimal · up to 56d08

The documentation updates are internally consistent and present no identified merge-blocking risk.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "STF-2255: Clarify minFraud verification input docs" matches the main change. The PR updates the minFraud email and phone verification input documentation and release notes so that verificat…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "STF-2255: Clarify minFraud verification input docs" matches the main change. The PR updates the minFraud email and phone verification input documentation and release notes so that verification fields describe the most recent completed verification. The title names the ticket, the product, and the kind of change (documentation clarification). It does not name the specific semantic change (completed verification, omission when incomplete), but it refers to a real and central part of the changeset.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (3 skipped: 3 unsupported.)

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

A rabbit checks the time with care,
The latest completed check is there.
Pending codes stay out of sight,
Success or failure marks the time right.
Clear notes hop into place,
With tidy rules for every case.

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: bb4c4df3-5411-430d-9763-e643567f66cb
Commits

Reviewing files that changed from the base of the PR and between 7a5b4dd and 56d0839.

Files selected for processing: 3
  • content/minfraud/api-documentation/requests.md
  • content/minfraud/release-notes/2026-10-15-new-phone-verification-inputs.md
  • content/minfraud/release-notes/2026-10-26-new-email-verification-inputs.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues are reported for the documentation-only clarification of verification outcomes and timestamps.

No open issues 🎉

What changed in this PR

Clarifies minFraud verification input documentation so integrations report completed verification outcomes as of the event time. This is a documentation-only follow-up to the email verification inputs introduced in #1776.

Changes:

  • Distinguishes completed verifications from pending, abandoned, or expired attempts and explains when to omit fields.
  • Defines verification timestamps as the time verification succeeded or failed, rather than when a link or code was sent.
  • Aligns phone verification method descriptions and existing release notes with the clarified semantics.
File Description
content/​minfraud/​release-notes/​2026-10-26-new-email-verification-inputs.md Updates email input descriptions to refer to completed verifications.
content/​minfraud/​release-notes/​2026-10-15-new-phone-verification-inputs.md Updates billing and shipping phone input descriptions to refer to completed verifications.
content/​minfraud/​api-documentation/​requests.md Clarifies verification outcomes, timestamps, event-time state, and field omission rules.

Review effort: Balanced

@oschwald
oschwald merged commit 7d944fa into main Nov 3, 2026
12 checks passed
@oschwald
oschwald deleted the wstorey/stf-2255-clarify-minfraud-email-and-phone-verification-input branch November 3, 2026 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants