PreviewRustaBase OSS is in review. Build with managed PostgreSQL, application hosting, edge delivery, and security.Read the product direction

Platform / Backend Engine

A complete backend built around PostgreSQL.

Model relational data, manage application users, store files, stream realtime changes, and run server-side logic without stitching separate services together.

Managed PostgreSQL Authentication and MFA Storage and realtime REST APIs and SDKs
POSTGRESQL01AUTHUSERS · MFA · OAUTH02STORAGEFILES · OBJECTS03REALTIMECHANGE STREAMS04FUNCTIONSHOOKS · JOBS

Backend capabilities

The services behind your product

Every Project brings data, identity, storage, logic, and operations into one isolated environment.

PostgreSQL, from schema to SQL

Build a relational model without giving up a visual way to work with your data. Data Studio and SQL Console offer two views of the same Project.

  • Create base, authentication and view tables with typed fields and validation.
  • Connect records through relations and add indexes for your queries.
  • Browse, filter, sort and edit records, or query PostgreSQL directly.
Explore the database

Authentication for your application

Manage the people using your product alongside the records they own. Configure sign-in methods and account flows around your application.

  • Email and password, OAuth and one-time password sign-in.
  • Email verification, password recovery and account email changes.
  • TOTP multi-factor authentication and session management.
Explore authentication

Files with a place in your data model

Attach files to records or manage standalone objects. Store the content and its metadata without maintaining a separate upload service.

  • Record attachments and standalone storage objects.
  • Authorized file access governed by your application's rules.
  • On-demand image thumbnails for the sizes your interface needs.
Explore storage

Generated REST APIs and official SDKs

Connect your frontend, mobile application or trusted service to the same Project. Your tables become accessible through generated record endpoints.

  • Create, read, update and delete records through REST.
  • Official JavaScript/TypeScript, Dart/Flutter and Go clients.
  • Inspect parameters and examples in the table's API Preview.
Explore APIs and SDKs

Realtime record changes

Keep live interfaces current without repeatedly fetching every record. Subscribe to the changes that matter to your application.

  • Subscribe to a table or an individual record.
  • React to create, update and delete events over server-sent events.
  • Read-access rules determine which changes a client can receive.
Explore realtime

JavaScript functions and integrations

Extend your backend with trusted server-side logic. Use functions to connect data changes, external services and custom application behavior.

  • Create custom HTTP endpoints and record lifecycle hooks.
  • Work with Project data and make outbound HTTP requests.
  • Keep secrets in environment settings and inspect execution logs.
Explore functions

Access controls at the record boundary

Decide who can read and change your data before connecting a public client. Table API rules and PostgreSQL row-level security serve distinct access paths.

  • Configure access for each table operation.
  • Use record-level conditions for user-owned or shared data.
  • Review rules and SQL policies together; do not assume a public table is safe.
Explore access rules

Operate, inspect and recover

See what is happening in your Project and plan how to recover it. Health, request logs and function logs help you investigate failures.

  • Inspect traffic, errors and resource usage in the console.
  • Use import and export when moving or reviewing your data.
  • Configure available backups for your plan and test the restore process.
Explore backups and recovery

One Project, every client

Read a record. Make a change. Listen live.

A task board, customer portal or internal tool can use the same generated API for its data and realtime updates. Start with a table, configure access, then connect your application.

This JavaScript example assumes an existing tasks table with a title field. Authenticate first when your rules require it. The Project address is a placeholder, not a working endpoint.

Read the SDK guide
JavaScript / illustrative client example
import { createClient } from 'rustabase';

// Use your own Project address.
const rb = createClient('https://YOUR_PROJECT_HOST');

// A tasks table with a title field.
// Access is governed by its API rules.
const page = await rb.from('tasks').list();

const task = await rb.from('tasks').create({
  title: 'Ship the first release',
});

// Subscribe only while the view needs updates.
const unsubscribe = await rb.from('tasks')
  .subscribe('*', (event) => {
    console.log(event.action, event.record);
  });

// Call await unsubscribe() when leaving the view.

RustaBase brings the services together.

Your Project connects PostgreSQL, identity, files, generated APIs and server-side logic in one environment. Use the console to manage the data model and inspect health and activity.

You define how your product uses them.

Choose the schema, access rules, sign-in settings and integration behavior. Keep privileged credentials out of browser code, verify incoming webhooks and test recovery before you depend on it.

Before you start

Is Backend Engine the same as Application Hosting?

No. Backend Engine manages your application's data, users, files and logic. Application Hosting deploys your frontend or server application. You can connect a RustaBase Project to an application hosted on RustaBase or elsewhere.

Do I need to write a separate CRUD API?

Generated REST endpoints and official SDKs cover record operations. Add JavaScript functions when you need custom logic or integrations. Configure table access rules before exposing endpoints to clients.

How do API rules relate to row-level security?

Table API rules govern generated record API operations. PostgreSQL row-level security governs database access under the relevant SQL role. Review both for the access paths your application uses rather than treating one as a replacement for the other.

Are every feature and backup option available on every plan?

Availability, resource limits and recovery options depend on your Project plan and configuration. Check pricing and the backup guide before choosing your production setup.

How it works

One model, every interface

Define the data and access rules once, then use the same Project from browsers, mobile apps, services, automation, and AI tools.

  1. 01 / Model

    Design data and rules

    Create tables, relations, indexes, constraints, and policies.

  2. 02 / Connect

    Use APIs or official SDKs

    Build with JavaScript and TypeScript, Go, Dart and Flutter, or direct REST calls.

  3. 03 / Extend

    Add trusted server logic

    Keep secrets in the Project and execute functions, hooks, and webhooks server-side.

  4. 04 / Operate

    Observe and recover

    Trace failures, review events, take backups, and restore through the same console.

One workspace, every layer

Build your backend. Ship faster. Stay in control.

Start free and add the platform capabilities your product needs as it grows.