ArchĒ license control layer
Software License Center
Prepare AI tool sales so every paid customer can receive a controlled license key, activate the tool, and check out/check in floating access without exposing secrets in the browser.
Recommended first route
Stripe payment → Netlify webhook → Keygen license → email delivery → PyArmor-protected tool validation.
This page installs the structure for paid AI tools without claiming live checkout, active license delivery, or final provider pricing. Keygen is the first operational adapter. Cryptlex and LicenseSpring remain documented future adapters until you choose and configure them.
Do not paste secret keys, Stripe signing secrets, Keygen tokens, customer payment details, or private account credentials into ArchĒ chat.
Current status
- Public licensing page installed
- Stripe checkout function scaffold installed
- Stripe webhook license-delivery function installed
- Keygen license validation function installed
- Live operation requires Netlify Functions deployment and environment variables
Automation record
The license delivery path.
Checkout connection test
Use this only after Stripe environment variables are set. Until then, it will return setup instructions instead of pretending checkout is active.
License validation test
This tests the same kind of validation your PyArmor-protected Python tools can run at startup, using a license key and machine fingerprint.
Environment variables
Secrets required for the live version.
Set these in Netlify’s environment variables with Functions/runtime scope. Do not commit real values into the site files.
| Variable | Purpose | Required for |
|---|---|---|
| STRIPE_SECRET_KEY | Creates Stripe Checkout Sessions from the server-side function. | Checkout |
| STRIPE_WEBHOOK_SECRET | Verifies Stripe webhook signatures before fulfilling orders. | Webhook delivery |
| STRIPE_PRICE_AI_TOOL_LICENSE | Stripe Price ID for the first AI tool license product. | Checkout |
| SITE_URL | Canonical site URL for success/cancel redirects. | Checkout |
| LICENSE_PROVIDER | Use keygen first. Other provider adapters remain future work. | Webhook |
| KEYGEN_ACCOUNT_ID | Keygen account slug or ID. | Keygen |
| KEYGEN_POLICY_ID | Policy used to create the customer license. | Keygen |
| KEYGEN_API_TOKEN | Server-side token allowed to create licenses. Keep secret. | Keygen |
| POSTMARK_SERVER_TOKEN | Optional email delivery token for license emails. | Email delivery |
| LICENSE_FROM_EMAIL | Approved sender email for license delivery. | Email delivery |
Protected Python tools
PyArmor protects the code; the license service controls access.
Do not rely on PyArmor alone as the only licensing system. Obfuscate the tool, then make the startup path validate a customer license, machine fingerprint, and access state before the tool runs.