Billing & Subscriptions
MeshGuard offers tiered plans for individuals, teams, and enterprises. All paid plans include a 14-day free trial.
Plans
| Feature | Free | Team | Enterprise |
|---|---|---|---|
| Price (monthly) | $0 | $2,000/mo | $10,000/mo |
| Price (annual) | $0 | $19,200/yr | $96,000/yr |
| Agents | 5 | 100 | Unlimited |
| Policy checks/mo | 10,000 | 1,000,000 | Unlimited |
| Policies | 5 | Unlimited | Unlimited |
| Audit log retention | 7 days | 90 days | 1 year+ |
| Team members | 3 | 25 | Unlimited |
| Custom policies | ✗ | ✓ | ✓ |
| Webhook alerts | ✗ | ✓ | ✓ |
| Delegation chains | ✗ | ✓ | ✓ |
| SSO/SAML | ✗ | ✗ | ✓ |
| Self-hosted | ✗ | ✗ | ✓ |
| Dedicated support | ✗ | ✗ | ✓ |
| SLA | ✗ | 99.9% | 99.99% |
| Support | Community | Priority email | Dedicated Slack |
Annual billing saves 20% compared to monthly.
Feature Limits
Policy Checks
Each call to client.check(), client.enforce(), or the /proxy/* gateway endpoint counts as one policy check. Health checks and audit queries do not count.
When you reach your plan's limit, behavior depends on your configuration:
- Enforce mode: Additional checks return
allowby default (fail-open) and a warning is logged - Strict mode: Additional checks return
deny(fail-closed) — enable withMESHGUARD_STRICT_LIMITS=true
Usage resets on the 1st of each calendar month (UTC).
Agents
Each registered agent identity counts toward your agent limit. Revoked agents do not count. You can view active agents at any time:
meshguard agent listAudit Log Retention
Audit entries older than your plan's retention period are automatically purged. Export logs before they expire:
meshguard audit export --from 2026-01-01 --format json > audit-backup.jsonHow to Upgrade
Via the Pricing Page
Visit meshguard.app/pricing and select a plan. You'll be redirected to Stripe Checkout to complete payment.
Via the API
curl -X POST https://dashboard.meshguard.app/billing/checkout \
-H "Content-Type: application/json" \
-d '{
"email": "you@company.com",
"plan": "team",
"interval": "month"
}'Response:
{
"checkoutUrl": "https://checkout.stripe.com/c/pay/cs_live_...",
"sessionId": "cs_live_abc123"
}Open the checkoutUrl in a browser to complete checkout.
Via the Dashboard
Navigate to Settings → Billing in the MeshGuard dashboard and click Upgrade.
Stripe Checkout Flow
- You initiate checkout (pricing page, API, or dashboard)
- Stripe Checkout opens with your selected plan and interval
- Enter payment details and confirm
- Stripe processes payment and sends a
checkout.session.completedwebhook to MeshGuard - Your account is upgraded immediately
- A confirmation email is sent to your billing address
MeshGuard never stores credit card details. All payment processing is handled by Stripe.
Managing Subscriptions
Customer Portal
Access your Stripe customer portal to:
- Update payment method
- Change billing address
- View invoice history
- Download invoices (PDF)
- Cancel subscription
Via Dashboard
Navigate to Settings → Billing → Manage Subscription.
Via API
curl -X POST https://dashboard.meshguard.app/billing/portal \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ADMIN_TOKEN" \
-d '{
"customerId": "cus_abc123"
}'Response:
{
"portalUrl": "https://billing.stripe.com/p/session/..."
}Switching Plans
Upgrade or downgrade at any time through the customer portal. Changes take effect immediately:
- Upgrade: You're charged a prorated amount for the remainder of the billing cycle
- Downgrade: A credit is applied to your next invoice
Cancellation
Cancel anytime from the customer portal. Your plan remains active until the end of the current billing period — no partial refunds, but you keep access until the period ends.
Annual Billing
Annual plans are 20% cheaper than monthly. To switch:
- Open the customer portal
- Click Update plan
- Select the annual interval
Or via API, specify "interval": "year" when creating a checkout session.
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /billing/checkout | Create a Stripe Checkout session |
POST | /billing/portal | Create a customer portal session |
GET | /billing/plans | List available plans and pricing |
See the full Billing API Reference for request/response schemas.
Enterprise Custom Pricing
For organizations needing:
- Unlimited agents and policy checks
- Custom audit log retention
- SSO/SAML integration
- Dedicated support channel
- Custom SLA
- On-premises deployment support
- Volume discounts
Contact sales@meshguard.app or visit meshguard.app/enterprise.
FAQ
How does proration work?
When you upgrade mid-cycle, you're charged only for the remaining days at the new rate. A credit for unused time on the old plan is applied automatically. Stripe handles all proration calculations.
Can I cancel anytime?
Yes. Cancel through the customer portal. Your plan stays active until the end of the current billing period. There are no cancellation fees.
Do you offer refunds?
We do not offer partial refunds for unused time. If you cancel, you retain access until the end of your billing period. For exceptional circumstances, contact support@meshguard.app.
What happens when my trial ends?
After 14 days, you're automatically moved to the Free plan unless you've entered payment details. No charge is made without your consent.
Can I change plans mid-cycle?
Yes. Upgrades are effective immediately with prorated billing. Downgrades take effect at the next billing cycle.
Do you support invoicing?
Enterprise customers can pay by invoice with NET-30 terms. Contact sales for details.
What currency do you bill in?
All plans are billed in USD. Stripe handles currency conversion for international cards.
Is there a non-profit or education discount?
Yes. Contact support@meshguard.app with verification for 50% off any plan.
Related
- Billing API Reference — Full API documentation for billing endpoints
- Enterprise — Enterprise features and deployment
- Self-Hosted Deployment — Run MeshGuard on your own infrastructure
- Getting Started — Set up your first MeshGuard agent
