Feature 01 / 04
Fondazione
Multi-tenant per progettazione, non per adattamento
Helpdash è stato costruito tenant-first. Ogni query porta un confine workspace a livello di dati; ogni workspace possiede le proprie righe, il proprio prefisso di archiviazione, i propri ruoli, il proprio registro di audit. Non c'è percorso — autenticato o no — in cui lo scope tenant sia opzionale. Per team di ingegneria e sicurezza: questa è l'architettura che chiederesti in una review di procurement.
Risultati
Le garanzie di isolamento che sopravvivono a un audit
Multi-tenant non è un feature flag che consegniamo. È il modello di dati: scope a livello di riga su ogni lettura e scrittura, RBAC consapevole del team, archiviazione confinata, registro di audit firmato. Procurement, SOC 2, ISO 27001 — le risposte sono le stesse su ogni modulo.
Feature 02 / 04
RBAC confinato al workspace
i ruoli vivono dentro un tenant, i permessi non sfondano mai il confine
Feature 03 / 04
Prefisso di archiviazione per workspace con URL di download firmati e a breve durata — nessun bucket condiviso, nessun path traversal cross-tenant
Feature 04 / 04
Registro di audit a prova di manomissione conservato oltre la cancellazione del workspace per soddisfare le finestre di retention regolatorie
Dentro il modello
Come Helpdash rende la multi-tenancy noiosa
Feature 01 / 03
Scope di query globale
Uno scope globale su ogni modello auto-filtra per chiave tenant. Dimenticare il confine nei call site è strutturalmente impossibile; il framework lo cabla a livello di dati.
Feature 02 / 03
RBAC a livello team
Ruoli e permessi sono tenant-aware — il ruolo di un agente nel workspace A è invisibile nel workspace B. Niente trasferimento accidentale di privilegi tra scrivanie.
Feature 03 / 03
Archiviazione per tenant
I prefissi del filesystem (tenants/{id}/) legano ogni upload al suo workspace. Gli URL di download sono firmati, a breve durata e verificati per tenant al momento dell'emissione.
FAQ
Frequently asked questions
Qual è il modello di dati?
Uno schema unico condiviso con una chiave tenant su ogni record di business. I modelli usano un trait BelongsToTenant che installa uno scope globale di query; le letture e scritture ereditano automaticamente il confine workspace. L'accesso cross-tenant richiede una sovrascrittura esplicita e auditata a livello applicativo.
Come viene risolto il tenant a ogni richiesta?
Le route autenticate ignorano gli header X-Tenant-Slug e host — il claim workspace dentro il JWT firmato è autoritativo, punto. Le route non autenticate (login, docs pubbliche) risolvono via header → sottodominio → query string, in quella priorità, con un elenco di nomi riservati (es. www, api, admin) che previene collisioni.
Cosa vede davvero un auditor?
Un registro di audit firmato, append-only per workspace, conservato oltre la cancellazione del tenant, esportabile nel tuo SIEM. Più lo scope ORM: una prova in una riga che ogni query è tenant-bound, che di solito basta per SOC 2 CC6.1 e ISO 27001 A.9.4.1.
Vedi il modello di isolamento nel tuo workspace
Avvia due workspace sotto un solo login e guarda come non si vedono mai — all'API, all'UI o a livello di archiviazione. Piano gratuito, nessuna carta di credito.