Back to Documentation

License Validation

Understanding how Shiro validates your theme license and protects your investment.

How License Validation Works

Shiro uses domain-locked licensing to ensure each theme license is used only on the authorized Shopify store. This protects both theme creators and legitimate customers.

Automatic Validation

Your theme automatically validates its license every time a page loads on your store. This happens in the background and doesn't affect your store's performance.

Domain Locking

Each license is permanently bound to a single Shopify store domain. This is set during purchase and cannot be changed.

Valid Domain Examples

  • yourstore.myshopify.com
  • shop.yourdomain.com (custom domain)
  • www.yourdomain.com (custom domain)

Domain Normalization

Shiro automatically normalizes domains to ensure consistent validation:

  • Removes http:// and https:// prefixes
  • Removes www. subdomain
  • Converts to lowercase
  • Removes trailing slashes and paths
Input: https://www.YourStore.myshopify.com/
Normalized: yourstore.myshopify.com

License States

Your license can be in one of several states:

Active

License is valid and authorized for your domain. Theme functions normally with all features enabled.

Suspended

License has been temporarily suspended. This may happen due to:

  • Payment issues or chargebacks
  • Terms of service violations
  • Manual suspension by administrator

Contact support to resolve suspension issues.

Expired

License has passed its expiration date. Renew your license to continue using the theme with full features.

Invalid

License validation failed. Common causes:

  • License key not found in system
  • Domain mismatch (theme installed on wrong store)
  • License has been revoked

What Happens When Validation Fails

If license validation fails, your theme will continue to function but with limitations:

  • A watermark may appear on your storefront
  • Some premium features may be disabled
  • Theme updates will not be available
  • Support access will be restricted

Important:

Your store will remain functional even with validation issues, but we strongly recommend resolving license problems promptly to ensure the best experience for your customers.

Validation API

The theme validates licenses by making API calls to Shiro's validation endpoint. This happens automatically and requires no configuration.

Validation Process

  1. Theme sends validation request with license key and domain
  2. Shiro API checks license status and domain match
  3. API returns validation result (valid/invalid/suspended/expired)
  4. Theme adjusts functionality based on validation result

Validation Frequency

Validation occurs:

  • On every page load (cached for performance)
  • When theme settings are updated
  • After theme installation or updates

Troubleshooting Validation Issues

License shows as invalid on correct domain

Possible solutions:

  • Clear your browser cache and reload the page
  • Verify the domain in your license dashboard matches exactly
  • Check if you're using a custom domain vs. myshopify.com domain
  • Contact support if the issue persists

Need to change licensed domain

Domain changes are not supported for security reasons. If you need to move your theme to a different store, you'll need to purchase a new license. Contact support for special circumstances.

Validation errors in development/staging

Development and staging stores require separate licenses. Contact support about development licenses if you need to test the theme on multiple stores.

Security & Privacy

Shiro takes license security seriously:

  • License keys are encrypted using Supabase Vault
  • Validation requests are logged for audit purposes
  • No customer data is collected during validation
  • All API communication uses HTTPS encryption
  • License keys are never exposed in client-side code