Skip to content

Quickback Overview

Quickback is a backend compiler that transforms declarative resource definitions into a fully-featured, production-ready API. You define your database schema, security rules, and business logic in TypeScript—Quickback compiles it into optimized API endpoints, database queries, and middleware.

How It Works

  1. Define your database schema using Drizzle ORM
  2. Configure security layers (firewall, access, guards, masking) for each resource
  3. Compile your definitions into a deployable backend
  4. Deploy to Supabase, Cloudflare Workers, or your own infrastructure

The compiler analyzes your definitions at build time, catching configuration errors before deployment and generating efficient, type-safe code.

Security Philosophy: Locked Down by Default

Quickback is secure by default. Nothing is accessible until you explicitly open it up.

LayerDefault StateWhat You Must Do
FirewallON - all data isolatedDefine ownership scope OR explicitly mark as exception
GuardsLOCKED - no fields modifiableExplicitly list createable, updatable fields
AccessDENIED - no CRUD operationsExplicitly define access rules with roles
ActionsBLOCKED - no custom routesExplicitly define guard for each action

This means:

  • A resource with no definition = completely inaccessible
  • Forgot to add a field to createable? = 400 error on create
  • Forgot to add a field to updatable? = 400 error on update
  • No access rule? = 403 forbidden
  • No firewall ownership? = compilation error

You must deliberately open each door. This prevents accidental data exposure.

The Five Security Layers

Quickback provides five distinct layers of security that work together to protect your data:

1. Firewall - Data Isolation

The firewall automatically generates WHERE clauses to isolate data by user, organization, or team. This ensures users can only access data they own or have permission to see.

Learn more about Firewall →

2. Access - Role & Condition-Based Control

Define who can perform CRUD operations and under what conditions. Combine roles with record-level conditions for fine-grained access control.

Learn more about Access →

3. Guards - Field Modification Rules

Control which fields can be modified in CREATE vs UPDATE operations. Protect sensitive fields and ensure data integrity.

Learn more about Guards →

4. Masking - Field Redaction

Hide sensitive data from unauthorized users while showing it to those with permission. Built-in masks for common data types like email, phone, SSN.

Learn more about Masking →

5. Actions - Custom Routes

Create custom business logic endpoints beyond CRUD. Define access control, input validation, and handlers for your custom operations.

Learn more about Actions →

Database Schema

Before defining your resources, you'll need to define your database tables. Quickback uses Drizzle ORM for type-safe schema definitions.

Learn about Database Schema →

Next Steps

Ready to get started? Check out the Quick Start Guide to see how these layers work together in a complete example.

Backend security, simplified.