Amba

FAQ

Common questions about Amba — what it does, where your data lives, and how to integrate.

Is Amba ready for production?

Yes. The Amba API, SDKs, and MCP server run production traffic for live mobile apps today — auth, push, segments, content, streaks, gamification, and entitlements are all covered. Breaking changes follow semver and ship with migration notes; pin SDK versions in your manifest and watch the changelog.

Where is my data stored?

Every Amba project gets its own dedicated database. Today, all project databases live in us-east. If you need a different region for residency reasons, contact us.

Is my data separated from other customers'?

Yes. Each Amba project lives in its own dedicated database. Your data is never co-located with another customer's, even at the row level.

Does Amba support GDPR?

Amba supports the data-subject rights GDPR requires — per-project isolation makes data export, deletion, and access requests straightforward, and we'll sign a DPA. If you're serving EU users in production, contact us and we'll send the paperwork.

Can I export my data?

Yes. Email support@amba.dev and we'll send you a full export of your project, in the format you prefer, within one business day. The CLI also exposes streaming exports for users and events:

amba analytics export --type=users > users.csv
amba analytics export --type=events --since 2026-04-17T00:00:00Z --format=ndjson --out events.ndjson

Your data is yours.

How much does Amba cost?

Free while we onboard the first wave of customers. Paid plans will be usage-based — storage, events, and push deliveries — with a free tier sized for small apps. We'll give every project 30 days' notice before billing starts.

Which SDK should I use?

Pick the package that matches your runtime — they all share the same API surface and behave identically:

  • Expo: @layers/amba-expo (adds the Expo config plugin, push registration, and Apple / Google sign-in wrappers).
  • Bare React Native: @layers/amba-react-native.
  • Web (browser): @layers/amba-web. Add @layers/amba-react if you want hooks.
  • Node: @layers/amba-node.

Do I have to host the MCP server?

No. Amba hosts the MCP server at mcp.amba.dev. Your AI agent (Cursor, Claude Code, Windsurf) connects with a URL and a Bearer token — there's no subprocess to run and nothing to install on your machine. See MCP for the per-agent config.

Do I have to use AI agents?

No. The CLI and HTTP Admin API expose everything the MCP tools do. MCP is the intended agent-first surface, but nothing in Amba requires it — dashboards and CLIs are fully supported.

How does Amba compare to Firebase / Supabase?

Different scope. Firebase and Supabase are generic backends — any app, any data model. Amba is opinionated for consumer mobile apps: streaks, content libraries, segments, push campaigns, XP, entitlements, social. If your app needs those primitives, Amba has them built in. If you just need auth and a database, Supabase is simpler.

Can I self-host Amba?

Amba is a managed service today; self-hosting isn't supported. If self-hosting is a hard requirement for your environment, contact us and we'll work through the fit.

What happens when my subscription lapses?

Projects move through three states:

  • active — your app is live.
  • suspended — API keys stop working; nothing is deleted, and you can reactivate any time.
  • archived — your project's database is deleted permanently after the grace period.

Do I have to write SQL?

No. The Amba API and MCP tools cover every feature without SQL. If you need direct SQL access to your project's data, contact support for a read-only connection string.

Which platforms does Amba support?

Amba has native SDKs for iOS (Swift), Android (Kotlin), Flutter, Unity, React Native, Expo, the web, and Node. Every SDK exposes the same API — same methods, same return types — with the idioms of each language. See SDKs for installation per platform.

How do I report a bug or get help?

Email support@amba.dev, or open an issue on the Amba GitHub repo. For bug reports, include your projectId, the MCP tool or HTTP endpoint involved, and the full error response (error.code + error.message).