Skip to content

How to compare two faces with Myaza Trust

Compare two face photos when you need a 1:1 similarity verdict. This check is separate from liveness and from searching a customer book.

Charles Archibong

, Co-founder

· 3 min read

Myaza Trust editorial illustration: Two photos. One clear verdict.

Key takeaways

  • Sandbox match, review, no_match and no_result are handled separately.
  • Consent and photo-size requirements are enforced.
  • The application stores and re-reads the check ID.
  • A simulated verdict is never presented as a live engine result.

Compare two face photos when you need a 1:1 similarity verdict. This check is separate from liveness and from searching a customer book.

Before you begin

  • Two clear face photos

  • Permission and consent to compare the photos

Use a team member with permission for this control. Check the organisation and environment before changing a setting. Review the current price before a paid check or ongoing enrolment. Screenshots show an example workspace or the public integration reference; they do not show a real customer or a completed paid check.

Set up and use the capability

Step 1: Open Face match and choose the environment

In the dashboard, open Verification → Spot Checks → Face match. Choose Sandbox for your first test. Check that Spot Checks is available to your organisation and that your role can run the comparison. The standalone API uses the same engine and verdict history. Sandbox returns simulated outcomes; it cannot prove real-photo matching accuracy.

Integration reference: Sandbox behaviour

Integration reference: Sandbox behaviour

Step 2: Prepare two different, clear photos

Use two consented photos with a readable face in each. JPEG, PNG and WebP are supported. Do not send the identical photo twice. Upload each photo into its own side of the Face match form and confirm the consent requirement. Review the displayed organisation thresholds rather than expecting a per-request threshold to override the recorded policy.

Integration reference: Compare

Integration reference: Compare

Step 3: Review thresholds and run the comparison

Check your organisation’s match threshold and review floor before running a paid Production comparison. Run the two-photo check once and keep its check ID. A match is the engine’s similarity verdict at the recorded threshold; it does not prove the person is live or controls an account. Where manual review is required, compare the photos and record your policy decision separately.

Integration reference: The verdict

Integration reference: The verdict

Step 4: Integrate the same comparison on your backend

Call POST /api/kyc/face/compare using a secret key and consent: true. Supply exactly one photo source for each side: imageA or mediaAId, and imageB or mediaBId. An image can be a supported public URL, data URI or base64. For reusable files, upload them through POST /api/kyc/face/upload and pass the media IDs. Keep biometric inputs and secret keys server-side.

Integration reference: Uploading first (optional)

Integration reference: Uploading first (optional)

Step 5: Handle all four verdicts

Read faceCheck.verdict, confidence and the thresholds recorded with that check. match is at or above the pass mark; review lies between the floor and pass mark; no_match is below the floor. no_result means no comparison could be produced and carries no charge. Do not collapse review or a service failure into match. A completed no-match comparison can still be billed.

Integration reference: The verdict

Integration reference: The verdict

Step 6: Use history to reconcile and audit

Store the check ID against the intended application action. Retrieve GET /api/kyc/face/checks/{id} after a lost response or when reviewing a past comparison. The history endpoint filters by verdict and date and identifies API-initiated checks. Re-reading an existing result is different from running another comparison; do not blindly repeat a paid check to find its earlier outcome.

Integration reference: History

Integration reference: History

Get more from the capability

  • Choose review thresholds as an organisation policy and keep the thresholds recorded with every verdict.

  • Use upload IDs when you have a legitimate need to reuse an authorised photo, rather than repeatedly transmitting large inline files.

  • Combine this with subject binding and a live-person check when the action requires account-holder assurance.

Test before relying on it

Run the supported Sandbox or simulator scenarios for this product. Where a tool is Production only, check access and scope first, then use only a permitted, deliberately reviewed Production test. A documentation screenshot or a successful page load is not an end-to-end integration test.

  • Sandbox match, review, no_match and no_result are handled separately.

  • Consent and photo-size requirements are enforced.

  • The application stores and re-reads the check ID.

  • A simulated verdict is never presented as a live engine result.

Troubleshooting

The API rejects a photo URL

Check that it resolves to a permitted public address and serves readable supported bytes.

The result is no_result

Use the error explanation and improve the capture. This is not no_match and is not charged.

A publishable key is refused

The standalone face comparison is secret-key only. Call it on your backend.

Open the setup and integration references

Open the dashboard tool

Read the integration reference

Back to Solutions. Choose the capability you want to activate, then follow its own guide.

Sources

Charles Archibong

About the author

Charles Archibong

Co-founder

Charles Archibong co-founded Myaza Trust. He writes about identity verification, financial technology, and the practical work of building trusted digital services.

  • Myaza Trust editorial illustration: Know the company. Check who controls it.

    Identity Verification

    How to verify a business with Myaza Trust

    Verify a business against a supported registry and choose the additional evidence your onboarding policy needs. Company existence and authority to represent it are different questions.

Build your product.We'll handle the rest.

Identity and compliance, end to end, built to global standards, priced for founders.