Resources

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

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.

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.