FAQ
Common questions about ObjectOS — getting started, databases and multi-tenancy, migrations, permissions, integrations, operations, pricing and licensing.
Getting started
What's the absolute fastest way to try ObjectOS?
Sign in to ObjectOS Cloud — hosted in the
browser, nothing to install. To run the open-source ObjectStack runtime on
your own machine instead, npm i -g @objectstack/cli && os start and open
http://localhost:3000. See Run ObjectOS Community locally.
Do I need Docker?
No. ObjectOS Cloud needs nothing installed. For the open runtime, Node 22+ and the CLI are enough; Docker is the recommended shape for a self-managed production deployment.
Do I need a database?
No, not to start — ObjectOS Cloud is managed for you, and the open runtime uses local SQLite by default. A self-managed deployment swaps in Postgres / MySQL / Turso / Mongo when it goes to production.
Do I need an account / cloud service?
ObjectOS Cloud is the account: sign in and build. ObjectOS Enterprise is self-managed and needs no cloud service to run — connecting it to a control plane is optional. The open-source ObjectStack runtime needs no account at all.
The ontology
What does ObjectOS mean by ontology?
Your app's definition: its objects and fields, relations, actions, permissions, flows, and agent and tool definitions, as one typed, versioned body of ObjectStack metadata that the runtime runs. Views, dashboards, apps and translations are projections of it, not part of it. It is executable — validated, then run — not a knowledge ontology with inheritance, axioms and a reasoner. See Your ontology in ObjectOS.
Is ObjectOS a semantic layer?
No. A semantic layer maps systems that already exist so they can be queried; it describes a business but does not run it. ObjectOS runs your ontology: the database, REST API, UI and agent tools are derived from it. You can connect a database you already run as an external datasource — read-only by default, and early — and that system of record stays where it is. See Extend Existing Systems, and How ObjectStack compares for the side-by-side.
Architecture
Can I use Postgres / MySQL / MongoDB?
Yes — Postgres, MySQL, SQLite, Turso/libSQL, and MongoDB are supported drivers. See Runtime Configuration.
Can I disable the UI / Account portals and use only the REST API?
Yes. Run os start --no-ui or set the corresponding flags. The
REST API is the same whether the UIs are mounted or not.
Can I use my own front-end instead of the generated UI?
Yes. The generated UI uses the same /api/v1/* endpoints you'd call from
your own code. Use @objectstack/client SDK or any HTTP client.
Does ObjectOS support GraphQL?
No. REST is the API surface. The GraphQL endpoint was removed in
ObjectStack 17.0 — it had never been implemented behind the route, and
/graphql now returns 404. Use the generated REST API with the
ObjectQL query language (over ?filter= /
?sort= / ?expand=), which covers the same ground. A third-party
system that speaks GraphQL is unaffected: graphql remains a valid
protocol for an external datasource, which is a client of someone
else's API rather than a surface ObjectOS serves.
How is multi-tenancy handled?
One deployment serves one app, against one database — see
Architecture. Several organizations can share that
deployment: a walled tenancy posture (OS_TENANCY_POSTURE) puts up the
per-organization isolation wall, and it is a licensed capability the runtime
refuses to start without. What the wall separates is the organizations' data
and memberships, not the metadata — schema is scoped to the deployment, not
to an organization, which is why a walled deployment must also declare which
AI agents are mounted. Isolation stronger than the wall is deployment
separation: a customer that must have its own database gets its own
deployment. See Multi-organization
deployments.
Can ObjectOS run in a serverless / Lambda environment?
The runtime is a long-lived Node process — designed for containers or VMs, not stateless functions. The kernel is built at startup and the process reports ready only afterwards; that warm in-process state, and the Better Auth session model, are what a per-invocation function cannot keep.
Does it scale horizontally?
Yes. Run multiple instances behind a load balancer. Sessions live in the database (not in-memory), so any instance can serve any request. Use Redis for shared rate limiting and queue if you enable those capabilities.
Data & migrations
How are schema migrations handled?
The driver syncs the database schema to your declared objects on
boot. For Postgres, that's CREATE TABLE / ALTER TABLE statements.
For controlled migrations in regulated environments, set
OS_SKIP_SCHEMA_SYNC=1 and manage DDL yourself.
What happens to data when I rename a field?
A rename is a destructive change at the data layer (it looks like
"drop old column, add new column"). Use os diff to detect this and
add a migration step (rename column in DB before deploying the new
artifact).
Can I import data from CSV / Excel / Salesforce?
CSV: yes, via os data create in a loop or the bulk upload in the UI.
Salesforce: best path today is to export to CSV and import. Native
connectors are on the roadmap.
Will upgrading ObjectOS lose my data?
No. Patch and minor upgrades are non-destructive. Major upgrades (e.g. 4 → 5) document required migrations explicitly. Back up first — Backup & DR.
Permissions & multi-tenancy
How do I do row-level security?
Declare a sharing rule (declarative, like Salesforce) or a CEL
predicate on an object's recordAccess config. The security plugin
injects the corresponding filter on every query. See
Permissions.
Can I make some fields invisible to certain users?
Yes — field-level security in permission sets. Hide or read-only, per field per permission set. Enforced uniformly across REST, ObjectQL, and the UI. See Permission Sets.
How do I integrate Okta / Entra / Keycloak?
OIDC. Configure the discovery URL + client id/secret in Setup →
Authentication (or via env). Provider callback URL is
/api/v1/auth/oauth2/callback/<provider-id>. See Authentication.
Integrations
Can I send webhooks?
Yes — enable webhooks in requires. ObjectOS uses a persistent
outbox with HMAC-SHA256 signing. See Webhooks.
Can I integrate with Zapier / Make / n8n?
Yes — webhooks for outbound and the REST API + API keys for inbound. Native connectors for popular iPaaS tools are on the roadmap.
Can AI agents call my ObjectOS?
Yes. Every ObjectOS deployment is an MCP server at /api/v1/mcp, on by
default: every object is a tool, and so is every action its author
exposed to AI (ai.exposed). Claude Code, Claude Desktop, IDEs or any
other MCP client connect as a user, and every call runs as that user,
under the same permissions and audit as a person. The open-source
ObjectStack runtime serves the same MCP surface, with your own model;
ObjectOS adds the in-product AI — the AI Builder and the assistants your
users chat with. See Connect AI Tools (MCP).
Customization
Can I write custom plugins?
Yes — plugins follow a simple DI + lifecycle pattern
(init → start → destroy). See @objectstack/plugin-* packages on
GitHub for examples.
Can I customize how ObjectOS looks?
Branding (logo, accent color, default theme) is in Setup →
System Settings. Deep UI customization means forking
@objectstack/client-react or building your own front-end against the
REST API.
Can I add languages other than English?
Yes — i18n is first-class. Use os i18n extract / os i18n check
and ship a translation bundle.
Operations
What's the recommended production deployment?
Docker (or Kubernetes for multi-pod) + managed Postgres + S3 or R2
for files + your secret manager for OS_AUTH_SECRET. See
Production Readiness.
Does ObjectOS have a status page?
For a self-managed (Enterprise) deployment, status is your concern — point
your monitor at /api/v1/health for liveness and /api/v1/ready for readiness,
the pair Docker and
Kubernetes wire up. For hosted services, see
status.objectos.ai.
What metrics should I monitor?
5xx rate, p95 latency, readiness (/api/v1/ready). There is
no auth-failure metric to monitor — review sign-in activity in Setup's
Auth audit view instead. Minimal Prometheus example in Observability.
How do I take a backup?
Back up the database and the storage bucket — those hold all customer data. ObjectOS itself is stateless. See Backup.
Pricing & legal
Is ObjectOS free?
ObjectOS Community is free: the open-source runtime and Console, built on the ObjectStack framework (Apache-2.0) — no seats, no usage tier, no license server — with AI over MCP (bring your own model). ObjectOS Cloud (which has a free tier to start on) and ObjectOS Enterprise add the embedded in-UI AI + governance and official operations, and you pay only for AI seats (viewers and non-AI users are free). See Editions.
Can I use it in a commercial product I sell?
The ObjectStack framework and ObjectOS Community — yes, Apache-2.0 allows commercial use with no royalty. Redistributing ObjectOS Cloud or Enterprise, or any build under the ObjectOS name, requires an OEM agreement. See License & Pricing.
Do you collect telemetry?
ObjectOS Community makes zero outbound calls unless you configure them (OIDC, email, AI, webhooks). ObjectOS Enterprise validates its license online; air-gapped Enterprise licenses validate offline. See Security & Compliance.
Is ObjectOS SOC 2 / ISO 27001 / HIPAA / GDPR compliant?
ObjectOS provides the primitives every framework requires (RBAC, audit, encryption-ready, residency). Certification is a property of your deployment, not the binary. Many ObjectOS deployments are certified. See Security & Compliance.
Getting unstuck
Something's broken — where do I start?
os doctor. It catches 80% of misconfigurations on its own. After
that, Troubleshooting.
Where do I report a bug?
GitHub Issues — the
one public issue tracker, for every ObjectOS edition.
Include os doctor output. Security issues:
security@objectstack.ai.
Where do I get help from humans?
GitHub Issues, the community Discord, or sales@objectos.ai for commercial support.