KDPika Licensing Sign inStart free
API v1
Show all languages
Browse documentation

Choose a page in the navigation drawer.

KDPika Licensing · API v1 Intermediate

Validate when your app starts

Stage 8: validate when your app starts with a clear outcome, verification steps and one next action.

On this page
Updated 2026-10-20 UTCDownload Markdown
Complete Integration Guide

Before you start: Activate your first license, or bring the same completed Sandbox setup.

Stage 8 of 14 · 10 min
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14

Already completed this? Skip to the next stage →

What you will do

Check access before protected work, including on every app launch. Keep one stable client identity.

Python

Request a fresh check (the SDK may use signed offline grace after a network failure) with the same state directory:

bashbash
.venv/bin/python license-check.py validate

For normal launch policy, use:

bashbash
.venv/bin/python license-check.py check

The same file checks both validity and signature before reporting success.

JavaScript / Node.js

Request a fresh check (the SDK may use signed offline grace after a network failure) with the same state directory:

bashbash
node license-check.mjs validate

For normal launch policy, use:

bashbash
node license-check.mjs check

The same file checks both validity and signature before reporting success.

PHP

Request a fresh check (the SDK may use signed offline grace after a network failure) with the same state directory:

bashbash
php license-check.php validate

For normal launch policy, use:

bashbash
php license-check.php check

The same file checks both validity and signature before reporting success.

C# / .NET

Request a fresh check (the SDK may use signed offline grace after a network failure) with the same state directory:

bashbash
dotnet run --project Guide.csproj -- validate

For normal launch policy, use:

bashbash
dotnet run --project Guide.csproj -- check

The same file checks both validity and signature before reporting success.

cURL / other language

Use your REST project's validation method with its stored activation token. Verify the returned signature and bindings before granting access. Raw cURL only tests transport; it does not supply a safe allow/deny decision.

ResultYour app does
Valid, signature verified, required feature enabledAllow only that feature.
Expired, revoked, suspended or cancelledDeny protected work; explain how to contact the publisher.
Invalid signature or inconsistent bindingDeny access; collect a safe request ID for support.
Network failureFollow the verified, unexpired cache policy in Stage 10; never invent permission.

The sample prints an access decision. Replace that print with your protected action only after adding the feature check described on the SDK page. A valid license does not imply every feature is included.

Expected result

validate prints Sandbox license verified. while the license is valid. Deactivation is a release acknowledgement, never a grant.

If it does not work

Reusing a different state directory makes a different installation. Check the chosen product, environment, clock and current license status before asking the customer to reinstall.

Stage checklist

  • Every protected entry point checks access.
  • Required feature checks follow verified validity.

Next steps

Continue to Stage 9: Check the signed decision

You are here: Stage 8 of 14.

Was this page helpful?

Choose an answer

Do not include personal data, license keys or credentials. Retained for up to 30 days. This is not a support inbox.

Search documentation

Arrow keys to move, Enter to open, Escape to close. Search stays in your browser.

Cookie settings