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
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
- Theme sends validation request with license key and domain
- Shiro API checks license status and domain match
- API returns validation result (valid/invalid/suspended/expired)
- 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