PostgreSQLOpen-source · Despliégalo donde quieras · Hecho para Postgres

El Postgres que ya tienes.El backend que siempre quisiste.

Apúntalo al Postgres que ya tienes en marcha. Aparecen REST, un SDK tipado, realtime y auth — y cada regla de acceso la aplica la propia base de datos.

zsh · ~/work

$ pnpm dlx @rebasepro/cli init

✔ Rebase inicializado en el directorio actual.

✔ Esquema aplicado a la base de datos. Tablas creadas.

✔ API, realtime y panel en marcha.

Las URLs de la API y del panel se imprimen al arrancar · rebase dev elige puertos libres por proyecto

$

Equipos que lanzan con nuestras herramientas — Rebase, y FireCMS, el CMS open source de más de 10.000 proyectos Firebase.

DearDoc LogoMedicalMotion LogoProton HealthWithUSocial Income

01·El código es la fuente de verdad

Una colección.
Todo generado.

Un único archivo TypeScript por colección es toda la entrada necesaria. El esquema de base de datos, la API REST, el SDK tipado, los formularios y cada vista de administración se generan a partir de él — y evolucionan con él.

Código de la app — products.ts
import type { PostgresCollectionConfig }
  from "@rebasepro/types";

export const products: PostgresCollectionConfig = {
  name: "Products",
  slug: "products",
  table: "products",
  properties: {
    name: {
      name: "Name",
      type: "string",
      validation: { required: true },
    },
    category: {
      name: "Category",
      type: "string",
      enum: {
        electronics: "Electronics",
        fashion: "Fashion",
        home: "Home & Garden",
      },
    },
    price:     { name: "Price", type: "number" },
    in_stock:  { name: "In Stock", type: "boolean" },
    image_url: { name: "Image", type: "string", url: true },
  },
};

→ genera esquema de BD · API REST · SDK Tipado · formularios de entidad · vistas de admin

02·Con lo que habla tu app

Todo el backend, ya en marcha.

Un SDK tipado para tus colecciones, REST sobre cada tabla y tiempo real mediante WebSocket — además de auth, storage y backups, ejecutándose contra tu base de datos desde el primer minuto.

app.ts — tipado desde tus collectionslive · try it
1
2
3
import { createRebaseClient } from '@rebasepro/client';
 
const data = await client.data.
TypeScriptUTF-8Ln 3, Col 1
REST, sobre cada tablalive · send a request
Endpoints
GET/api/data/users
POST/api/data/users
GET/api/data/posts
PUT/api/data/posts/:id
DEL/api/data/posts/:id
Ready
Response
Send a request...
Tiempo real — LISTEN/NOTIFYlive
your app — web
name
status
upd
Alice
pending
2m ago
Bob
active
5m ago
Carol
inactive
1h ago
Dave
active
12m ago
ws
live
admin panel
name
status
upd
Alice
pending
2m ago
Bob
active
5m ago
Carol
inactive
1h ago
Dave
active
12m ago
Both clients subscribed to users…ws://localhost:3000/realtime

Además: auth y roles, almacenamiento compatible con S3, trabajos programados, funciones serverless y backups — todo contra la base de datos que ya es tuya, bajo las mismas políticas.

Explorar el backend

03·Seguridad primero

Escrito en TypeScript. Aplicado por Postgres.

Seguridad a nivel de fila definida en el mismo archivo TypeScript que la colección, compilada en políticas reales de Postgres. Granular por colección, por campo, por rol — y aplicada por la propia base de datos, no por un middleware que alguien deba recordar invocar.

Dónde vive la regla hoycollections/orders.ts · una regla, en Postgres, en cada camino
routes/orders.tsif (order.ownerId !== req.user.id) return 403;✓ checks
jobs/nightly-report.tsdb.select().from(orders) // every row✗ no check
scripts/backfill.tsdb.update(orders).set(…) // run once, kept forever✗ no check
agents/tools.tsconnect(URL, SERVICE_ROLE_KEY)✗ bypasses RLS
the hosted dashboardselect * from orders -- as the owner✗ no policy
securityRules: [
  { operation: "select", using: "owner_id = rebase.uid()" },
  { operation: "update", using: "owner_id = rebase.uid()" },
]
-- compiled into Postgres; enforced on every statement, for every caller
CREATE POLICY orders_select ON orders FOR SELECT USING (owner_id = rebase.uid());
-- a table with no policy is not served at all
routes/orders.tsrebase_user→ policy applies
jobs/nightly-report.tsrebase_user→ policy applies
scripts/backfill.tsrebase_user→ policy applies
agents/tools.tsscoped key→ policy applies
the panelrebase_user→ policy applies

No te fíes de nuestra palabra.

rls-check lee el propio catálogo de tu base de datos y reporta lo que está realmente expuesto — tablas servidas con la seguridad a nivel de fila desactivada, políticas que evalúan a verdadero para todo el mundo, vistas que leen esquivando la RLS de sus tablas base. Quince comprobaciones. Cualquier Postgres: Supabase, Neon, RDS, tu propio servidor. Es de solo lectura, no necesita cuenta y le da igual si usas Rebase.

Ver las 15 comprobaciones
npx @rebasepro/rls-check

SELECTs contra los catálogos del sistema y nada más. Sin telemetría, sin subidas, y nunca lee tus datos.

04·El panel que viene incluido

El back office de tu equipo, generado desde la misma definición.

El panel lee tus datos a través de la misma API y las mismas políticas que tu aplicación. Tu app habla con el backend, tu equipo trabaja en el panel y ambos ven el mismo conjunto de reglas.

admin.yourdomain.com

Con lo que habla tu app

Rebase Backend

REST, auth, storage, tiempo real y backups sobre tu base de datos. Sin UI, sin React en ningún lugar del árbol de dependencias.

@rebasepro/server

Donde trabaja tu equipo

Rebase CMS

Edición tipo hoja de cálculo, medios, relaciones, roles y flujos de trabajo — con tus propios componentes React integrados donde el campo por defecto no baste.

@rebasepro/cms

Herramientas de desarrollo, en el mismo panel

Rebase Studio

Editor SQL, visualizador de esquema, editor de políticas RLS, logs y explorador de API. Studio es el espacio de trabajo del desarrollador. Se registra dentro del mismo panel que CMS.

@rebasepro/app

Explora Rebase CMS

05·Diseñado para la era de los agentes

El backend que un agente no puede estropear.

Un agente de IA puede montar un backend en una hora. Lo que no puede decirte es si ese backend es seguro. Los agentes son excelentes produciendo backends plausibles — y célebremente malos produciendo backends seguros. Rebase hace que el resultado seguro sea el único resultado posible, por construcción.

Explorar las funciones de IA y agentes
agent · what it can reach

Vector similarity search

Native pgvector with cosine, L2 and inner-product distance. Query embeddings straight over REST — no separate vector database to run.

GET /api/data/docs
GET /api/data/docs
?vector_search=embedding
&vector=[0.12, 0.98, …]
&vector_distance=cosine
200 OK · 14ms
[{ "id": "d_91", "score": 0.94 }, …]
pgvectorcosine · L2 · inner productno extra service

06·Construido para productos reales

Los equipos lanzan más rápido con Rebase

Desde marketplaces hasta fidelización en retail, datos públicos y herramientas internas, Rebase elimina el código intermedio entre base de datos, API y UI.

07·Código abierto

Tu código. Tu infra.
Sin ataduras.

Licencia MIT. Despliégalo en Docker, Railway, Fly o bare metal. Tus datos se quedan en tu Postgres — sin vendor lock-in, sin sorpresas, sin precios por asiento.

Apúntalo a tu base de datos.

Ejecútalo en local

Un solo comando sobre el Postgres que ya tienes. Sin cuentas, sin descargar contenedores, sin registros.

pnpm dlx @rebasepro/cli init
Inicio rápido

Autoalójalo

Docker, Fly, Railway, Hetzner o bare metal. Tus datos se quedan en tu infraestructura y nunca llegan a nosotros.

docker compose up -d
Guías de despliegue

Rebase CloudBeta privada

Hosting gestionado en nuestra infraestructura. Hoy ejecuta clientes reales y se abre por tandas.

Solicitar acceso