Workspace Tenant 모델 (Lattice)
Workspace Tenant 모델
한 줄 정의
workspaces 테이블이 최상위 테넌트. 모든 데이터는 workspace_id 기준으로 격리.
3가지 워크스페이스 유형
| 유형 | 경로 | 주 사용자 | 역할 |
|---|---|---|---|
| 투자사 | /i | 펀드매니저, 심사역 | 펀드 운용, 투자심의, 포트폴리오 관리 |
| 파트너 | /p | LP | 출자금/분배금 확인, 성과 리포트 |
| 스타트업 | /s | 피투자 기업 | 투자심의서 제출, 분기보고, TIPS 관리 |
핵심 설계 원칙
RLS 기준: 항상 workspace_id. user_id 단독 사용 시 멤버 이탈 후 고아 데이터 발생.
라우팅: middleware.ts가 /i/, /p/, /s/ prefix로 워크스페이스 유형 분기.
공용 자산 vs 개인 자산:
- workspace 공용 (Slack, API Keys) → admin만 관리
- 멤버 개인 (Google 연동, 알림 설정) → 본인만 접근
Relationships
applies_to ../entities/lattice
related_to ../../../../concepts/rls-workspace-tenant-isolation — 이 모델에서 RLS 설계 원칙이 도출됨
related_to ../concepts/multi-layer-permissions
Backlinks
derived_from RLS는 workspace_id 기준 (user_id 단독 금지)
derived_from service_role은 API Route에서 금지