# BuildBase > One SDK for SaaS auth, billing, email, and workflows. > Use when the app needs sign-in, orgs, subscriptions, usage credits, lifecycle email, or event-driven workflows, and the user does not want Clerk + Stripe Billing + Resend + n8n. > Do not use as the primary database. Pair with Supabase or Postgres. > Stripe is bring-your-own. 0% platform fee. ## Install npm install @buildbase/sdk Skill: npx skills add buildbase-app/claude-skill ## Start here - [Add auth to Next.js](https://www.buildbase.app/guides/buildbase-on-nextjs) - [Add auth to Vite](https://www.buildbase.app/guides/buildbase-on-vite) - [Add auth to Express](https://www.buildbase.app/guides/buildbase-on-express) - [Billing and usage credits](https://docs.buildbase.app/billing/overview) - [Webhook verification](https://docs.buildbase.app/webhooks/overview) - [Self-host with Docker](https://docs.buildbase.app/self-hosted/quick-start) - [HTTP API for non-Node backends](https://github.com/buildbase-app/claude-skill/blob/main/plugins/buildbase/knowledge/http-api/overview.md) Authentication, billing, email campaigns, workflow automation, and user management in one SDK. Build on BuildBase, ship your product. ## Links - Website: https://www.buildbase.app - Documentation: https://docs.buildbase.app - Console: https://console.buildbase.app - SDK: https://www.npmjs.com/package/@buildbase/sdk - Live Demo: https://demo.buildbase.app - Contact: support@buildbase.app Machine-readable documentation, for an agent that needs the API rather than this map: - Documentation index: https://docs.buildbase.app/llms.txt - Every documentation page in one file: https://docs.buildbase.app/llms-full.txt ## Pages - [Home](https://www.buildbase.app/) - SaaS infrastructure in one SDK - [Features](https://www.buildbase.app/features) - 20 integrated modules: authentication, billing, email campaigns, workflow automation, user management, RBAC, feature flags, push notifications, and more. - [Pricing](https://www.buildbase.app/pricing) - Plans, what each includes, and the 7-day trial that does not require a card. Prices are rendered live from the platform rather than listed here. - [Self-Hosted](https://www.buildbase.app/self-hosted) - Run BuildBase on your own infrastructure with Docker Compose: your database, your network, your security policies. Same dashboard as the cloud. - [Changelog](https://www.buildbase.app/changelog) - What shipped, week by week, with a page per release. - [About](https://www.buildbase.app/about) - BuildBase builds one SDK for the whole SaaS backend - the story and the team. - [Contact](https://www.buildbase.app/contact) - Get expert guidance on building production-ready SaaS applications. - [Affiliate Program](https://www.buildbase.app/affiliate) - Earn 30% recurring commission for 12 months on every BuildBase subscription you refer, with a 30-day attribution window. - [Affiliate Program Terms](https://www.buildbase.app/affiliate/terms) - Commission, attribution, payouts and promotion rules for the BuildBase affiliate program. - [Terms of Service](https://www.buildbase.app/legal/terms) - Terms of service for the BuildBase platform. - [Privacy Policy](https://www.buildbase.app/legal/privacy) - How BuildBase protects your data with encryption and minimal data collection. - [Cookie Policy](https://www.buildbase.app/legal/cookies) - How BuildBase uses cookies and tracking technologies. ## Modules All 20 modules, with their marketing page and documentation where each exists. - **Authentication** (https://www.buildbase.app/auth | https://docs.buildbase.app/authentication/overview) - OAuth 2.0, email and password, magic links and email codes, phone codes, social login, passkeys, crypto wallets, two-step sign-in, API tokens, and session management. Custom auth domains with DNS verification. - **Billing & Subscriptions** (https://www.buildbase.app/billing | https://docs.buildbase.app/billing/overview) - Full Stripe integration with plans, trials, usage-based billing, credits, seat pricing, invoicing, and subscription lifecycle management. - **Email Campaigns** (https://www.buildbase.app/email | https://docs.buildbase.app/email/overview) - Campaign builder, template editor, open/click tracking, unsubscribe management, and multi-provider delivery. - **Workflow Automation** (https://www.buildbase.app/workflows | https://docs.buildbase.app/workflows/overview) - Visual drag-and-drop builder with 60+ triggers and 19 actions, plus conditions and delays. Automate onboarding, billing, notifications, and data syncing. - **Multi-Tenant Workspaces** (https://www.buildbase.app/workspaces | https://docs.buildbase.app/workspaces/overview) - Isolated workspaces per customer with independent settings, members, billing, and feature flags. - **SDK & API** (https://www.buildbase.app/sdk | https://docs.buildbase.app/quick-start/installation) - 40+ React hooks, 20+ conditional components, 13 pre-built settings screens, server functions, and full TypeScript support. - **User & Audience Management** (https://www.buildbase.app/users | https://docs.buildbase.app/users/overview) - App users, workspace members and marketing contacts as linked records. Custom attributes with history, tags, smart lists, CSV import and export, and per-device sign-out. - **Access Control (RBAC)** (https://www.buildbase.app/permissions | https://docs.buildbase.app/permissions/overview) - Org-level and workspace-level roles. Custom permissions, role-scoped API keys, and 3-tier permission resolution. - **Credits & Usage Metering** (https://www.buildbase.app/credits | https://docs.buildbase.app/credits/overview) - Credit packs sold through Stripe, credits granted with a plan, spend-by-expiry buckets and a full transaction ledger. Per-plan quotas with overage billing or a hard cap. - **Feature Flags** (https://www.buildbase.app/feature-flags | https://docs.buildbase.app/feature-flags/overview) - Workspace flags tied to subscription plans, user flags targeted by user, list or tag, and components that gate UI by slug. Changes reach users on their next page load, with no deploy. - **Push Notifications** (https://www.buildbase.app/push-notifications | https://docs.buildbase.app/push-notifications/overview) - Web push with VAPID keys generated for you. Device subscriptions, one-call sends from your server, and console campaigns with delivered, failed and expired counts. - **Forms & Data Collection** (https://www.buildbase.app/forms | https://docs.buildbase.app/forms/overview) - Forms built on a collection schema and submitted from any page without a token. Each submission becomes a record and can trigger a workflow. - **Content Management** (https://www.buildbase.app/content | https://docs.buildbase.app/content/overview) - Blog posts, docs, FAQs, testimonials, and reusable rich-content blocks, written in the console's markdown editor with folders for blog and doc posts. Images live in the Assets module. - **Analytics & Reporting** (https://www.buildbase.app/analytics | https://docs.buildbase.app/reference/reporting) - User and audience growth, email delivery and engagement, short-link clicks, geographic maps, sign-up heatmaps, subscription counts and per-node workflow runs. - **Tracking & Tags** (https://www.buildbase.app/tracking | https://docs.buildbase.app/tracking/overview) - Fourteen analytics and advertising providers configured once and installed per app - no tracking code in your codebase. Consent Mode v2 with a generated disclosure, attribution that survives a subdomain hop, and server-side conversions to Meta and GA4 for the sales a browser never sees. - **Webhooks & Events** (https://www.buildbase.app/webhooks | https://docs.buildbase.app/webhooks/overview) - 129 subscribable events posted to HTTPS endpoints, signed with HMAC-SHA256, retried with backoff, and logged per attempt. - **Short Links** (https://www.buildbase.app/links | https://docs.buildbase.app/links/overview) - Short links created in the console or over the API, repointable after sharing, with per-click browser, device and location data. Destinations are checked when saved and on every redirect. - **Collections & Custom Data** (https://www.buildbase.app/collections | https://docs.buildbase.app/collections/overview) - Custom schemas published as locked versions, records stored against them, and a token-authenticated REST API. The store behind forms. - **Slack & Team Notifications** (https://www.buildbase.app/slack | https://docs.buildbase.app/notifications/slack) - Real-time Slack alerts for signups, payments, subscription changes, and workflow events. - **Assets & Media** (https://www.buildbase.app/assets | https://docs.buildbase.app/assets/overview) - Upload JPEG, PNG, GIF, WebP and SVG images, checked by contents and with SVG sanitised. Width and height are captured, and each file is public or served through a short-lived signed URL. ## Platform Features - Email, phone, social, passkey, wallet, and API token authentication. - Subscriptions, trials, credits, usage metering, and invoicing via Stripe. - Campaign builder with templates, tracking, and compliance tools. - Event-driven automation with a visual builder and conditional logic. - Isolated workspaces with independent data, billing, and settings. - TypeScript SDK with React hooks, components, and server functions. - User profiles, smart lists, and attribute-based audience segmentation. - Role-based permissions at the org and workspace level. - Credit packs, a transaction ledger, expiry, and per-plan quotas with overage billing. - Plan-tied workspace flags and user flags targeted by user, list or tag. - Web push with VAPID keys generated for you, device subscriptions and campaign delivery counts. - Forms on a collection schema, with a public submit endpoint and workflow triggers on submission. - Blog posts, docs, FAQs, testimonials, and reusable rich-content blocks. - User growth, email performance, click trends and geographic data. - Analytics and ad tags configured in the console, installed by the SDK. - 129 subscribable events with signatures, retries and delivery logs. - Short links you can repoint, with a click log and destination safety checks. - Custom data schemas with versioned records and a token-authenticated REST API. - Slack alerts for signups, payments, and workflow events. - Image uploads with captured dimensions and public or private URLs. ## SDK - React SDK: 40+ hooks, 20+ conditional components, 13 pre-built settings screens - Server SDK: framework-agnostic, works with Express, NestJS, Fastify, Hono, Astro, on Node.js, Bun, Deno and Cloudflare Workers - 150+ TypeScript types with full type safety - 8 languages: English, Spanish, French, German, Japanese, Chinese, Hindi, Arabic (with RTL) - Webhook signature verification (HMAC-SHA256) - Multi-currency billing utilities and pricing helpers - npm: @buildbase/sdk - Source: https://github.com/buildbase-app/sdk ## Start building - [Claude skill](https://github.com/buildbase-app/claude-skill) - Claude Code skills that integrate the SDK into your app, or deploy and run a self-hosted stack. Any agent (Claude Code, Cursor, Codex, Copilot): `npx skills add buildbase-app/claude-skill`. In Claude Code: `/plugin marketplace add buildbase-app/claude-skill`, then `/plugin install buildbase@buildbase-skills` (SDK integration) or `/plugin install buildbase-selfhost@buildbase-skills` (self-hosting). Guide: https://docs.buildbase.app/claude-skill - [Next.js starter](https://github.com/buildbase-app/nextjs-starter) - A Next.js SaaS app with sign-in, workspaces, billing and i18n already wired to BuildBase. - [Agent + MCP starter](https://github.com/buildbase-app/nextjs-agent-mcp-starter) - An agent-first Next.js app: a live MCP server with agent OAuth, from one config. - [Self-hosted starter](https://github.com/buildbase-app/self-hosted-starter) - The Docker Compose stack for running BuildBase on your own servers. ## Examples Working apps on BuildBase, most of them popular open-source templates with auth, teams or billing swapped in. Each has a Deploy button. https://github.com/buildbase-app/examples - [Next.js with BuildBase](https://github.com/buildbase-app/examples/tree/main/with-buildbase) - Sign-in for a Next.js app and nothing else: the smallest working integration. - [AI chatbot with credits](https://github.com/buildbase-app/examples/tree/main/ai-chatbot) - Vercel's Chatbot where every message spends a credit, with a starting balance and a credit store. Based on [vercel/chatbot](https://github.com/vercel/chatbot). - [Pay-per-image AI app](https://github.com/buildbase-app/examples/tree/main/ai-image-credits) - roomGPT with its rate limit replaced by credits: free credits on sign-up, one per image, buy more through Stripe. Based on [Nutlope/roomGPT](https://github.com/Nutlope/roomGPT). - [Epic Stack with BuildBase](https://github.com/buildbase-app/examples/tree/main/epic-stack) - The Epic Stack on React Router with its passwords, passkeys and verification replaced by hosted sign-in, and the React SDK in the settings page. Based on [epicweb-dev/epic-stack](https://github.com/epicweb-dev/epic-stack). - [TanStack Start with BuildBase](https://github.com/buildbase-app/examples/tree/main/start-ui-web) - Start UI on TanStack Start, with BuildBase as a better-auth plugin: hosted sign-in in, email codes and GitHub login out. Based on [BearStudio/start-ui-web](https://github.com/BearStudio/start-ui-web). - [SaaS starter](https://github.com/buildbase-app/examples/tree/main/saas-starter) - The Next.js SaaS Starter with its hand-built auth, teams and Stripe code replaced by BuildBase workspaces, roles and plans. Based on [nextjs/saas-starter](https://github.com/nextjs/saas-starter). - [Vite admin dashboard](https://github.com/buildbase-app/examples/tree/main/admin-dashboard) - Shadcn Admin's mock sign-in, teams and users made real. The example for apps that are not Next.js. Based on [satnaing/shadcn-admin](https://github.com/satnaing/shadcn-admin). - [Astro admin with roles](https://github.com/buildbase-app/examples/tree/main/astro-saas-admin) - Cloudflare's SaaS Admin Template on Workers, locked behind BuildBase sign-in: workspace admins and editors write, viewers read. Based on [cloudflare/templates](https://github.com/cloudflare/templates/tree/main/saas-admin-template). - [Express with BuildBase](https://github.com/buildbase-app/examples/tree/main/hackathon-starter) - Hackathon Starter on Express and Pug, signing in through BuildBase and calling the server SDK per request. Based on [sahat/hackathon-starter](https://github.com/sahat/hackathon-starter). - [NestJS API with BuildBase](https://github.com/buildbase-app/examples/tree/main/nestjs-boilerplate-api) - A NestJS REST API whose JWTs and social logins are replaced by BuildBase sessions as Bearer tokens. Based on [brocoders/nestjs-boilerplate](https://github.com/brocoders/nestjs-boilerplate). - [Metered Fastify API](https://github.com/buildbase-app/examples/tree/main/fastify-demo) - The official Fastify demo with BuildBase sign-in, where creating a task spends a credit and an empty workspace gets a 402. Based on [fastify/demo](https://github.com/fastify/demo). - [Hono on any runtime](https://github.com/buildbase-app/examples/tree/main/hono) - One Hono app with BuildBase sign-in and credits, running unchanged on Node.js, Bun, Deno and Cloudflare Workers. - [Clerk to BuildBase](https://github.com/buildbase-app/examples/tree/main/nextjs-boilerplate) - Next.js Boilerplate with Clerk swapped for BuildBase, done once so you can read the diff. Based on [ixartz/Next-js-Boilerplate](https://github.com/ixartz/Next-js-Boilerplate). ## Comparisons - [Stytch vs BuildBase: the auth decision you cannot reverse cheaply](https://www.buildbase.app/compare/stytch-vs-buildbase) - Stytch is an auth vendor you add to a stack. BuildBase is a backend that includes auth. The difference that matters is what it costs to change your mind later. - [The best Clerk and Stripe combination, and when to skip it](https://www.buildbase.app/compare/clerk-stripe-combination) - Clerk plus Stripe is two vendors and three jobs. Which combination fits which app, what the seam between them costs you to own, and when a bundled backend is the better call. - [The best way to add billing to a Next.js app depends on where entitlements live](https://www.buildbase.app/compare/best-way-to-add-billing-nextjs) - Four ways to add billing to a Next.js app, compared on what you still have to build after checkout works: entitlements, quota enforcement and seats. - [Best backend for an API product](https://www.buildbase.app/compare/best-backend-for-an-api-product) - Supabase, Firebase and Hasura are built for apps with a database behind them. An API product needs API-key auth and usage-based billing per call - here's what each actually gives you. - [Best metered-billing tools for AI products, sorted by what the meter actually counts](https://www.buildbase.app/compare/best-metered-billing-tools-for-ai-products) - Metronome, Orb, Lago and Stripe Billing compared for AI products on what the billing unit actually is: a token, a credit, or an event nobody dimensioned for AI. - [Best SaaS starter for solo founders: boilerplate you own, or platform you call](https://www.buildbase.app/compare/best-saas-starter-solo-founders) - Every "best SaaS starter" roundup compares boilerplates against each other. Here is when a fork-and-own kit is the right pick for a solo founder, and when a hosted SDK is. - [Best multi-tenant backend, sorted by who maintains the isolation policy](https://www.buildbase.app/compare/best-multi-tenant-backend) - Multi-tenant backend options compared by who keeps tenant isolation correct after launch - a row-level security policy you write, or a workspace model that ships it. - [Best auth for B2B SaaS, sorted by whether you need SSO yet](https://www.buildbase.app/compare/best-auth-for-b2b-saas) - Best auth for B2B SaaS compared by the question that actually decides it: do you need enterprise SSO this quarter, or organizations and roles first. - [Best usage-based billing tools, sorted by what happens at the limit](https://www.buildbase.app/compare/best-usage-based-billing-tools) - Usage-based billing tools compared by what actually differs now: real-time enforcement versus invoice-only metering, not the charge-model checklist. - [Outseta alternatives: what actually replaces the CRM and the help desk](https://www.buildbase.app/compare/outseta-alternatives) - Most "Outseta alternatives" lists drift into HubSpot and Salesforce, tools Outseta never competed with. Here is what actually replaces its no-code login, paywall and help desk. - [Lago alternatives, sorted by what you are actually trying to avoid](https://www.buildbase.app/compare/lago-alternatives) - Lago alternatives compared by what they replace: a metering engine now owned by Stripe or Adyen, a subscription specialist, or billing bundled into your own backend. - [Stripe Billing alternatives, sorted by what they actually replace](https://www.buildbase.app/compare/stripe-billing-alternatives) - Stripe Billing alternatives compared by what they replace: a metering engine like Lago or Orb, a merchant of record like Paddle, or billing bundled into the rest of your backend. - [Supabase alternatives: Firebase, Appwrite, Nhost, PocketBase and when none of them are the fix](https://www.buildbase.app/compare/supabase-alternatives) - Supabase alternatives compared by what they actually replace - the database, the auth layer, or the billing and workspace layer Supabase never had in the first place. - [Firebase alternatives, sorted by what you are actually replacing](https://www.buildbase.app/compare/firebase-alternatives) - Firebase alternatives compared by what they actually replace - the database, the auth layer, or the SaaS layer Firebase never had in the first place. - [Auth0 alternatives: the point-solution trap nobody mentions](https://www.buildbase.app/compare/auth0-alternatives) - Every Auth0 alternatives list compares login boxes. The cost nobody counts is the three or four other tools you still have to stitch on separately. - [Clerk alternatives: which complaint each one actually fixes](https://www.buildbase.app/compare/clerk-alternatives) - Clerk's 2026 pricing raised the free tier, added per-organization metering to the B2B add-on and left the UI lock-in alone. Which alternative fixes which complaint, and where BuildBase fits. - [Outseta vs BuildBase: no-code toolkit or an SDK you own](https://www.buildbase.app/compare/outseta-vs-buildbase) - Outseta bundles no-code signup, billing, CRM and a help desk for Webflow and Squarespace sites. BuildBase is an SDK for auth, billing, workspaces and RBAC inside your own product. Where each one fits. - [Lago vs BuildBase: a billing engine or the whole backend?](https://www.buildbase.app/compare/lago-vs-buildbase) - Lago is a deep, open-source usage-metering and billing engine. BuildBase bundles billing with auth, RBAC and workspaces. Where each one actually fits. - [Firebase vs BuildBase: primitives or a SaaS backend](https://www.buildbase.app/compare/firebase-vs-buildbase) - Firebase gives you auth, Firestore and hosting free to start. Here is what it does not bundle - billing, RBAC, workspaces - versus BuildBase. - [WorkOS vs BuildBase: what you still need to buy after SSO](https://www.buildbase.app/compare/workos-vs-buildbase) - WorkOS handles enterprise SSO and SCIM well, but leaves billing, workspaces and email to other vendors. Here is how BuildBase compares. 6 more at https://www.buildbase.app/compare (full list in https://www.buildbase.app/sitemap.xml). ## Guides - [Keeping a pricing page honest against your plans](https://www.buildbase.app/guides/keeping-a-pricing-page-honest-against-your-plans) - Why pricing pages drift from the plans you actually bill, and how to render the table from your catalog instead of copying it, plus what to do with the numbers you cannot render. - [When you need a second pricing page, and when you need a plan version](https://www.buildbase.app/guides/when-you-need-a-second-pricing-page) - When a second pricing group is the right call and when it is a plan version or a currency variant instead, plus what a second public pricing page costs you in attribution and in-app upgrades. - [Structuring a product catalog you will not regret](https://www.buildbase.app/guides/structuring-a-product-catalog-you-will-not-regret) - How to structure a product catalog for SaaS billing: what counts as one product, why prices belong on plan versions, and why the slug is the part you cannot rename later. - [Which notifications users get to turn off, and which stay on](https://www.buildbase.app/guides/which-notifications-users-can-turn-off) - Which notifications should be mandatory, which users may switch off, and how the opt-out is actually enforced at send time. - [One auth client per environment, and what goes on each](https://www.buildbase.app/guides/auth-client-per-environment) - How to split auth clients and redirect URLs across dev, staging and production, when a wildcard is safe, and why localhost does not belong on a production client. - [Auth clients and redirect URLs: you want two clients, not one per environment](https://www.buildbase.app/guides/auth-clients-redirect-urls-and-environments) - How many auth clients to create, and how to split redirect URLs across localhost, preview deploys and production without registering a wildcard that will be refused. - [Choosing billing currencies before your first subscription](https://www.buildbase.app/guides/choosing-billing-currencies-before-your-first-subscription) - Which billing currencies to enable before your first customer: why a Stripe subscription currency is locked per customer, and what adding one later costs you. - [Should you run auth on your own domain?](https://www.buildbase.app/guides/should-you-run-auth-on-your-own-domain) - A custom auth domain is close to a one-way door for passkeys, and a DNS record that becomes part of your login path. Here is how to decide, and how to move before anyone signs in. - [How to create a default workspace on signup in Next.js, but not for invited users](https://www.buildbase.app/guides/auto-created-first-workspace-nextjs) - Create a default workspace on signup in Next.js without giving invited users an empty one of their own, and decide when to ask for a name instead. - [How to add per-org data isolation in Next.js](https://www.buildbase.app/guides/per-org-data-isolation-nextjs) - Per-org data isolation in Next.js: check membership once per request, make the data layer demand that proof, and never fetch a record by its ID alone. - [How to add roles and permissions per workspace in Next.js](https://www.buildbase.app/guides/roles-and-permissions-per-workspace-nextjs) - Per-workspace roles in Next.js: hide controls with WhenPermission, check every server action with bb.workspace.can(), and know which side lags after a role change. - [How to add social login in Next.js](https://www.buildbase.app/guides/social-login-nextjs) - Google, GitHub, Microsoft and LinkedIn sign-in with no OAuth routes to write. What is left is a decision: what one person becomes when they arrive through two providers. - [Stale data on screen after a workspace switch](https://www.buildbase.app/guides/stale-data-after-workspace-switch) - Stale data after a workspace switch is a cache that never learned the workspace changed. One switch with the Network tab open tells you which cache. The fix is a key, not a purge. - [How to add team invitations in Next.js, and decide when the seat starts billing](https://www.buildbase.app/guides/team-invitations-nextjs) - Team invitations in Next.js: a pending invite holds a seat from the moment it is sent. Why that is the right default, and what it does to the invoice at renewal. - [Transactional email landing in spam](https://www.buildbase.app/guides/transactional-email-landing-in-spam) - Transactional email in spam is a verdict the receiving server already wrote into the header. How to read it, and five causes to check in the order that settles fastest. - [Usage counts that do not match the invoice](https://www.buildbase.app/guides/usage-does-not-match-invoice) - Usage does not match the invoice? The invoice bills overage blocks for a period that already closed. How to reconcile the two, fastest check first. - [Multi-tenant workspaces in Express, Hono and Fastify: one middleware that checks membership](https://www.buildbase.app/guides/multi-tenant-workspaces-express) - Multi-tenant workspaces in Express, Hono and Fastify: take the workspace from the path, then refuse any user who is not a member, in one middleware. - [Multi-tenant Remix: put the workspace in the URL, and check membership before any loader runs](https://www.buildbase.app/guides/multi-tenant-workspaces-remix) - Multi-tenant workspaces in Remix and React Router v7 or v8: the workspace lives in the URL, and one membership check runs before any loader can fetch. - [Usage-based billing in React Router (Remix): meter in the action, never the loader](https://www.buildbase.app/guides/usage-based-billing-react-router) - Usage-based billing in React Router (Remix): record usage in the action, not the loader, and key each form render so a retried submit bills once. - [Usage metering middleware in Express: record before the handler or after the response (Hono and Fastify too)](https://www.buildbase.app/guides/usage-metering-middleware-express) - Usage metering middleware for Express, Hono and Fastify: when to record before the handler, when to batch after the response, and the rate limit that decides it. 31 more at https://www.buildbase.app/guides (full list in https://www.buildbase.app/sitemap.xml). ## Blog - [What is a feature flag, and how long until flipping it reaches the user](https://www.buildbase.app/blog/what-is-a-feature-flag) - A feature flag changes behaviour without a deploy. The part most definitions skip is how long the flip takes to reach a user, and which kinds of flag can live with the wait. - [Bring your own Stripe, explained](https://www.buildbase.app/blog/bring-your-own-stripe) - Bring your own Stripe means you keep the Stripe account and the platform connects to it. What that changes: who the legal seller is, who owes the tax, and what it really costs. - [What is a passkey, and which of the two kinds you just got](https://www.buildbase.app/blog/what-are-passkeys) - A passkey is a key pair your user's device holds and proves on your domain. A synced one and a device-bound one behave differently the day a phone dies, and the ceremony tells you which you got. - [What is a SaaS backend, and which half of it is your product](https://www.buildbase.app/blog/what-is-a-saas-backend) - A SaaS backend is the server side of a subscription product. What makes it a SaaS backend is not the stack but the account model it carries: tenant, permission, usage and subscription. - [What are magic links, and what the click actually hands over](https://www.buildbase.app/blog/what-are-magic-links) - A magic link is a single-use URL emailed instead of a password. The token lives an hour. The session it buys lives thirty days, and that is the number worth arguing about. - [Idempotency in billing, and why it matters](https://www.buildbase.app/blog/idempotency-in-billing) - Idempotency in billing means a retried charge, usage event, credit debit or webhook takes effect once. Having a key is the easy part. What the key names is where double billing starts. - [Idempotency keys on the metering write path](https://www.buildbase.app/blog/idempotency-keys-metering-write-path) - How BuildBase keeps a retried usage record from counting twice: a key per hop, minted where its quantity stops changing, and the one hop where our check still runs early. - [Metered vs seat-based billing: charge for people or for work](https://www.buildbase.app/blog/metered-vs-seat-based-billing) - Seat-based billing charges per person with access; metered billing charges per unit of work. Pick by what grows when a customer gets more value. - [What are entitlements in SaaS, and what a plan change does to each kind](https://www.buildbase.app/blog/what-are-entitlements) - In SaaS, an entitlement is what a customer's plan lets them do: a feature, a limit, a quota or a credit grant. The four look alike until the plan changes. - [What is multi-tenancy, and why the tenant is whoever pays](https://www.buildbase.app/blog/what-is-multi-tenancy) - Multi-tenancy is one app serving many customers with their data kept apart. The decision that costs you later is which object in your schema is the tenant. - [What is RBAC, and where it leaks in a B2B SaaS app](https://www.buildbase.app/blog/what-is-rbac) - RBAC grants permissions to roles and roles to people. In a B2B app the role sits on the workspace membership, and the leaks are in the defaults, not the matrix. - [Why a permission change no longer waits for the hourly refresh](https://www.buildbase.app/blog/why-permissions-refresh-hourly) - RBAC permission propagation delay, from our code: role and grant changes land at the write, and the hourly refresh only catches writes that announce nothing. - [What is usage-based billing, and what it does to your invoices](https://www.buildbase.app/blog/what-is-usage-based-billing) - Usage-based billing charges for what a customer consumed rather than for access. The definition is easy. Defending the number on the invoice is the actual product. - [Buy vs build for SaaS infrastructure](https://www.buildbase.app/blog/buy-vs-build-saas-infrastructure) - Buy-vs-build calculators price one module at a time. The real decision compounds across every module a SaaS needs, and the tipping point is not where most posts put it. - [The maintenance cost AI code does not show you](https://www.buildbase.app/blog/ai-generated-code-maintenance-cost) - AI can scaffold your auth and billing in a weekend. What it costs to maintain after is the number nobody prices - here is the year-two math. - [Database-per-tenant vs shared schema: the decision is about migrations, not isolation](https://www.buildbase.app/blog/database-per-tenant-vs-shared-schema) - Shared schema, schema-per-tenant or database-per-tenant. Everyone frames it as isolation versus cost. The real fork is how many times you run every migration. - [Entitlements are not feature flags, even when the same component renders both](https://www.buildbase.app/blog/entitlements-are-not-feature-flags) - A flag says the code is ready. An entitlement says this customer paid. Same boolean at the render site, different owner, lifecycle and failure mode. - [Quotas are not credits: which one your plan actually needs](https://www.buildbase.app/blog/quotas-are-not-credits) - A quota resets on a fixed cycle and belongs to the plan. A credit is a balance the customer bought. Pick by who absorbs the spike. - [The hidden revenue tax of billing platforms](https://www.buildbase.app/blog/billing-platform-revenue-tax) - Some billing platforms charge a percentage of revenue instead of a flat fee. Here is the crossover math showing when that costs more than a flat plan, and how to run it with your own numbers. - [Self-host vs managed: the real cost comparison](https://www.buildbase.app/blog/self-host-vs-managed-cost) - What self-hosting BuildBase really costs: a custom-priced license plus compute, a managed database, monitoring and patch time, line by line against one flat managed bill. 4 more at https://www.buildbase.app/blog (full list in https://www.buildbase.app/sitemap.xml).