Skip to main content

Recruitment Database Tenant Isolation

Summary​

Sixteen persisted object types use tenant-aware global query filters; the processed-event and outbox stores do not.

Audience​

Developers, QA and support engineers, data reviewers, implementation partners, solution architects, and security reviewers.

Overview​

Global filters cover all Recruitment aggregate, child, audit, and timeline objects. A privileged role bypasses them. Public opening/token repositories and development seeding explicitly call IgnoreQueryFilters.

Processed-event and outbox objects have no global query filter. Their records can carry tenant/correlation evidence, but isolation is not enforced by the model filter. Several unique indexes are global rather than tenant-composite. Universal tenant isolation, database-level row security, and privileged-path governance are not proven.

Requires confirmation​

Production migration governance, rollback ownership, reconciliation, retention, privacy, performance, query optimization, concurrency, and operational ownership require confirmation.

Source References​

  • microservices/src/recruitment-service/Infrastructure/RecruitmentDbContext.cs
  • microservices/src/recruitment-service/Infrastructure/Persistence.cs
  • microservices/src/recruitment-service/Infrastructure/DevelopmentSeeder.cs

See Also​

Keywords​

  • Recruitment database
  • Tenant Isolation

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-16
  • Review cycle: Quarterly