Dashboard

Reviewer Test Mode

Reviewer Test Mode allows the VerifyHuman Shopify app to be fully demonstrated during Shopify App Review without requiring real identity documents, selfies, or a live VerifyHuman API subscription.


How It Works

When Test Mode is active for a specific shop, all verification API calls use a pre-configured test API key instead of the merchant's real key. The test key produces simulated (mock) responses that always pass verification. No real biometric data is processed.

Key Behaviors in Test Mode


Configuration

Test Mode is controlled by three environment variables on the server:

Variable Description Example
VERIFYHUMAN_TEST_MODE Set to "true" to enable test mode true
TEST_SHOP_DOMAIN The .myshopify.com domain of the test/reviewer store reviewer-store.myshopify.com
VERIFYHUMAN_TEST_API_KEY A valid VerifyHuman API key designated for testing vhk_test_abc123...

All three must be set for test mode to activate. Test mode only applies to the specific shop domain specified in TEST_SHOP_DOMAIN.


Activation Logic

Test mode activates when all of the following conditions are met:

  1. VERIFYHUMAN_TEST_MODE is "true".
  2. TEST_SHOP_DOMAIN is set and matches the requesting shop's domain.
  3. VERIFYHUMAN_TEST_API_KEY is set (an error is thrown if test mode is enabled but this key is missing).

For any other shop domain, the app operates normally using the merchant's own API key.


Diagnostics Indicator

When test mode is active, the Diagnostics endpoint includes additional information:

This allows Shopify reviewers to confirm that the app is operating in a safe test environment.


What Reviewers See

During app review with test mode active:

  1. Age Gate: The overlay appears and can be completed. If selfie is required, any image submitted will result in a pass. The response will include test_mode: true.

  2. Identity Verification: The ID document upload and selfie capture flow works end-to-end. Submitted images are sent to the VerifyHuman API using the test key, which returns simulated success results.

  3. Human Check: Form protection activates normally. The selfie verification returns a pass with a simulated token.

  4. Dashboard: All features are functional. Logs show [TEST MODE] annotations. The diagnostics card shows a test mode indicator.


Security Considerations


Disabling Test Mode

After Shopify app review is complete:

  1. Set VERIFYHUMAN_TEST_MODE to "false" (or remove it).
  2. Optionally remove TEST_SHOP_DOMAIN and VERIFYHUMAN_TEST_API_KEY.
  3. Restart the application.

The app will resume normal operation, requiring merchants to use their own VerifyHuman API keys.


Summary

Aspect Normal Mode Test Mode
API Key Source Merchant's encrypted key Server environment variable
Verification Results Real API responses Simulated pass responses
Images Processed Sent to VerifyHuman API Sent to API with test key
Response Markers None test_mode: true, provider: "mock"
Log Annotations None [TEST MODE] suffix
Scope All shops Single shop domain only