Why Fahren?
Fahren provides a set of tools built on well-known multi-tenant strategies — making it safer and faster to implement multi-tenant strategies.
- Sugar-coated clients
Use infrastructure clients for Postgres, Redis, and more — but with built-in multi-tenant logic, so you don’t have to handle it yourself and can skip common pitfalls.
- Automation
Provision and cleanup tenant-specific logical resources — like databases, schemas, or roles — using built-in multi-tenant strategies.
- Security Practices
Built with a security-first approach, Fahren keeps tenant access credentials isolated using secrets managers like AWS or Vault — when and where it matters.
Resources
We've been in your shoes. After years of wrestling with tenant boundaries, we've packaged our solutions into tools that just work with clear scopes of responsibilities. No more sleepless nights worrying about data leaks or sloppy onboarding.
- Postgres
Use RLS, schema and/or database isolation multi-tenant strategies.
- Redis
Use prefix and/or ACL isolation multi-tenant strategies.
import Postgres from "@fahren/postgres";
const postgres = new Postgres().withDatabaseIsolation()
const management = postgres.forManagement({ secrets })
await management.createTenant("acme_inc");
const tenants = postgres.forTenants({ secrets })
await tenants.queryAs("acme_inc", "SELECT * FROM orders");