Overview

What's configurable

Where What you decide
BILLABLE_STATUSES, STRIPE_METER_EVENT_NAME in metering.ts Which event statuses get billed, and your Stripe meter event name
ANONYMOUS_RATE_LIMITS in anonymous-limits.ts Rate limits for unauthenticated traffic
Subscription status handling in webhooks.ts Which Stripe statuses map to canceled versus active access
SESSION_DURATION_SECONDS in session.ts How long a dashboard session lasts before re-login
Rotation grace period in api-key.ts How long an old API key stays valid after rotation
PLANS, PLAN_RATE_LIMITS in seed.ts Your actual plan quotas and limits
Email editing in dashboard settings Not implemented in v1, it needs a re-verification flow

Change these before you seed#

PLANS and PLAN_RATE_LIMITS are read by npm run db:seed. Editing them after seeding means migrating rows, so set your tiers first. See quickstart step 4.

Related: billing decisions, rate limiting.