Performance Tenant Isolation
Summary
Global filters, child filtering, privileged context, and transition-tool exceptions.
Audience
Backend engineers, database reviewers, architects, QA, support, operations, security reviewers, and product owners.
Overview
Runtime business queries rely on context-level global filters. ReviewCycle, Appraisal, Goal, Review, Audit, and Timeline compare their tenant property with the current tenant unless privileged context is active.
Confirmed persistence behavior
- Child entities have their own tenant filters in addition to parent relationships.
- Compatibility repositories use the same runtime filters.
- Outbox and ProcessedIntegrationEvent have no tenant query filters.
- The compatibility identity unique index is global, not tenant-prefixed.
- Backfill and parity tooling deliberately bypass filters and add explicit tenant predicates where required.
- Design-time context is privileged for model tooling and is not a normal request context.
- Global filters are safeguards, not universal authorization assurance.
Classification
Implemented tenant filtering with operational exceptions and Requires-confirmation governance.
Requires confirmation
Privileged access, transition-tool controls, outbox/ledger tenant access, global uniqueness risk, and defense-in-depth testing require confirmation.
Diagram
Related Articles
See Also
Keywords
- Performance persistence
- Tenant Isolation
- Draft database documentation
Source References
microservices/src/performance-service/Infrastructure/PerformanceDbContext.csmicroservices/src/performance-service/Infrastructure/Persistence.csmicroservices/src/performance-service/Backfill/PerformanceGoalBackfill.csmicroservices/src/performance-service/Backfill/PerformanceBackfillValidator.cs
Revision Information
- Status: Draft
- Last reviewed: 2026-07-16
- Review cycle: Quarterly