Tenant Isolation
Audience
Developers, QA and support engineers, data reviewers, implementation partners, solution architects, privacy reviewers and security reviewers.
Reference Content
Summary
Most lifecycle business objects use global tenant filters, but operational ledgers and intentional filter bypasses require explicit review.
Isolation model
Confirmed controls
- Recruitment filters 16 of its 18 full-context objects; processed-event and outbox ledgers are operational exceptions.
- Employee filters employee, organization and evidence models; its outbox is not globally filtered.
- Attendance, Leave and Asset filter their tenant business/evidence models and leave operational outbox/event ledgers unfiltered.
- Compatibility applies global filters broadly and stamps tenant-owned writes through its save pipeline.
- Notification tenant handling is model-specific and must be evaluated with its consumer authorization path.
Confirmed concern
The Recruitment active-onboarding-by-offer lookup bypasses query filters and lacks an explicit tenant predicate in that repository method. Public docs omit query details, but the boundary is material.
Assurance boundary
A global filter is defense in depth, not authorization. Background consumers, administrative reads, public-token paths and filter bypasses must establish tenant context explicitly.
Requires confirmation
Unless explicitly confirmed above, production migration governance, rollback, reconciliation, retention, privacy, performance, concurrency and operational ownership require confirmation.
Source References
microservices/src/recruitment-service/Infrastructure/RecruitmentDbContext.csmicroservices/src/recruitment-service/Infrastructure/Persistence.csData/AppDbContext.cs
Related Articles
See Also
Keywords
- Onboarding database
- Offboarding database
- Lifecycle persistence
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Review cycle: Quarterly