Common options: database-per-tenant (strong isolation, higher cost), schema-per-tenant (good isolation, moderate complexity), or shared tables with `tenant_id` (cheapest, hardest to enforce correctly). No matter what, you must enforce tenant scoping everywhere and add the right indexes and security checks.