PeaceCabinet

Compliance-Grade Document Management Platform

New Product Multi-Database AI-Ready Roadmap

PeaceCabinet is a cloud-native, multi-tenant Document Management System (DMS) built by Peace Systems Limited on ASP.NET Core 10 and Angular, with a Flutter 3 mobile app. It gives compliance-sensitive organisations — banks, legal firms, healthcare providers, and government agencies — a single platform to securely upload, organise, search, preview, and control every document they hold, with role-based and attribute-based access control, immutable versioning, and a switchable PostgreSQL/Oracle data layer so it deploys on the database a client already runs.

12 Feature Areas
66 Functional Requirements
24 Non-Functional Requirements
4-Month MVP Timeline

Solution Architecture

PeaceCabinet is built on a layered, cloud-native architecture designed for tenant isolation, horizontal scale, and database portability.

Presentation Layer

Angular web application with role-aware UI (a *hasPermission structural directive shows/hides elements based on the user's effective permission), plus a Flutter 3 mobile app sharing a single codebase across iOS and Android for upload, browse, preview, and notifications.

API Layer

ASP.NET Core 10 REST API, fully versioned under /api/v1/, fronting all client and mobile traffic with JWT-based authentication and centralised permission checks on every document and folder operation.

Service Layer

Domain services for identity, tenancy, document lifecycle, permissions, search, and audit — built on Clean Architecture (Domain → Application → Infrastructure → API) with no inward dependency violations and zero raw SQL outside EF Core.

Storage & Search Layer

MinIO S3-compatible object storage holds every document version as an immutable object (versioning enabled at the bucket level); OpenSearch powers full-text metadata search and the append-only audit trail.

Data Layer

EF Core 8+ over a switchable PostgreSQL 16 / Oracle backend — every entity/column identifier is kept under 30 characters for Oracle compatibility, and every migration runs against both providers in CI before merge.

Messaging & Caching Layer

RabbitMQ via MassTransit drives background processing (antivirus scanning, thumbnail generation, indexing, permission recomputation) with automatic retry and dead-letter handling; Redis backs session state and refresh-token storage.

Security Layer

RS256-signed JWTs (public key served via /.well-known/jwks.json), TOTP-based MFA, AES-256 encryption at rest, TLS 1.3 in transit, and a materialised EffectivePermissions table enforced on every request.

Core Functional Modules

Twelve integrated modules covering the full document lifecycle, from first upload to permanent deletion.

Authentication & Identity

Secure sign-in built on ASP.NET Core Identity, with enterprise SSO and strong session controls.

  • Email/password login with bcrypt hashing (minimum cost factor 12)
  • Microsoft Entra ID (Azure AD) and Google Identity SSO via OpenID Connect
  • TOTP MFA, enforceable tenant-wide, compatible with standard authenticator apps
  • 15-minute JWT access tokens with Redis-backed, rotating 7-day refresh tokens
  • Rate-limited login (10 failed attempts / 15 min / IP) with progressive lockout

Multi-Tenancy & Organisation Management

A shared-schema architecture that keeps every tenant's data fully isolated while remaining cost-efficient to run.

  • OrganizationId-scoped EF Core global query filters on every table — no query can cross tenant boundaries
  • Per-tenant storage quotas enforced at upload time, plus custom domain mapping
  • Tenant admins manage their own users; a PSL super-admin console manages tenants, quotas, and global health

Document Upload

Large-file upload built for reliability, not just speed.

  • Resumable uploads up to 20 GiB via the tus v1.0.0 protocol (tusdotnet)
  • Antivirus scanning (ClamAV) on every file before it ever becomes visible to a user
  • Real-time progress with time-remaining estimates; up to 10 concurrent uploads per session
  • A seven-step background pipeline: scan → store → thumbnail → extract properties → index → record → notify

Folder & File Organisation

Hierarchical folders with unlimited nesting, virtual-scrolled for tenants with hundreds of top-level folders, including move, rename, and a recycle bin with configurable retention before permanent purge.

Document Preview

In-browser preview with no download required.

  • PDF.js rendering via pre-signed, 15-minute-expiry MinIO URLs
  • Server-side Office-to-PDF conversion (.docx, .xlsx, .pptx, and legacy formats) with cached derivatives
  • Native PDF viewer on mobile; automatic thumbnails for images and PDFs

RBAC + ABAC Permissions

Five built-in roles (Viewer, Editor, Owner, Auditor, Administrator) layered with attribute-based constraints — department scope, time-boxed access, and classification-level clearance — all resolved into a single materialised EffectivePermissions table that is the sole source of truth at request time, recomputed automatically whenever a folder moves or a permission changes.

Document Versioning

Every upload creates a new, immutable MinIO object — nothing is ever overwritten. Each version is checksummed (SHA-256), timestamped, and commentable; restoring an old version creates a new version record rather than deleting history.

Search

OpenSearch-powered full-text and metadata search, filtered at query time to each user's permission scope so results never leak across tenants or into documents a user can't see. Supports folder, file type, uploader, date range, tag, and custom-field filters with pagination.

Custom Metadata

Administrators define reusable DocumentTypeSchema templates (e.g. "Invoice", "Contract") with typed fields — text, number, date, boolean, dropdown, multi-select — stored as JSON on the document and automatically indexed for search.

Notifications

An in-app notification feed wired to real events: upload complete, antivirus rejection, document shared, new version uploaded, and (Phase 2) workflow assignment and completion — with unread counts delivered via response headers for real-time badges.

Audit Logging

An append-only, immutable audit trail in OpenSearch covering every authentication, document, folder, permission, and admin action — filterable by actor, action type, resource, and date range, and visible only to Auditor and Administrator roles.

Admin Console & Mobile App

A web admin console for user management, role assignment, quota tracking, and audit review, plus a Flutter 3 mobile app for upload, folder browsing, preview, and notifications on iOS and Android.

Technology Stack

Built on a modern, portable stack chosen for enterprise reliability and database flexibility.

Core Platform

ASP.NET Core 10 Backend on .NET 10, Clean Architecture
Angular Web frontend with a permission-aware directive layer
Flutter 3 Single codebase for iOS + Android
PostgreSQL 16 / Oracle Switchable primary database via EF Core

Storage, Search & Messaging

MinIO S3-compatible immutable object storage
OpenSearch Full-text search and audit-log indexing
RabbitMQ (MassTransit) Background processing with retry + dead-letter handling
Redis 7 Session cache and refresh-token store

Security & Auth

JWT (RS256) + MFA Asymmetric token signing, TOTP-based multi-factor auth
AES-256 + TLS 1.3 Encryption at rest and in transit
ClamAV Antivirus scanning on every upload

Infrastructure

docker-compose Single-VM deployment for the Phase 1 MVP
Kubernetes (Phase 3) Horizontal scaling and zero-downtime rollout
tus / tusdotnet Resumable upload protocol for files over 1 MB

Implementation Roadmap

A phased delivery plan that proves the core document lifecycle first, then layers in intelligence and enterprise scale.

Phase 1 — MVP

Core Document Lifecycle

Months 1 – 4

Secure auth, multi-tenancy, chunked upload with antivirus, RBAC/ABAC, versioning, folder organisation, preview, metadata search, custom metadata, audit logs, notifications, Flutter mobile, docker-compose deployment on PostgreSQL. Exit: first tenant onboarded, full lifecycle tested end-to-end, security penetration test passed.

Phase 2 — Growth

Intelligence & Workflow

Months 5 – 9

OCR pipeline (Tesseract + Azure Document Intelligence), AI metadata extraction, AI semantic search, multi-step workflow engine, mobile camera capture and offline upload queue, duplicate detection, Oracle CI validation. Exit: OCR + AI extraction live on two client tenants; an approval workflow in production.

Phase 3 — Scale

Enterprise Scale

Months 10 – 15

E-signature integration, AI document summarisation and chat, Kubernetes rollout with autoscaling, HIPAA and PCI DSS hardening, full Oracle production support, self-service tenant onboarding and billing. Exit: first healthcare/banking client live; cluster validated at 10,000+ concurrent users.

Compliance & Security

PeaceCabinet is designed compliance-first, for organisations that cannot treat document security as an afterthought.

Tenant Isolation by Design

Cross-tenant isolation is enforced at three independent layers — the EF Core global query filter, API middleware tenant resolution, and MinIO bucket path prefixing — so a bug in any single layer cannot expose another tenant's data.

Encryption Everywhere

AES-256 encryption at rest across the database and object storage; TLS 1.2 minimum (TLS 1.3 preferred) in transit; RS256-signed JWTs with keys published via a standard JWKS endpoint.

OWASP Top 10 Assessed

A full OWASP Top 10 assessment is required to pass before Phase 1 go-live, backed by a dedicated security penetration test ahead of the first tenant onboarding.

Immutable Audit Trail

Every authentication, document, folder, permission, and admin action is written to an append-only audit log that no API or admin function can modify or delete — accessible only to Auditor and Administrator roles.

No Permanent Public Links

All file downloads and previews are served through pre-signed MinIO URLs with a 15-minute expiry — documents are never exposed via permanent public URLs.

Enterprise Compliance Roadmap

HIPAA hardening (BAA-ready hosting, key management, audit controls) and PCI DSS scoping are targeted for Phase 3, alongside Oracle Enterprise production support for clients with existing Oracle licensing.

Ready to Modernise Your Document Operations?

Let's discuss how PeaceCabinet can bring secure, AI-ready document management to your organisation — on the database you already run.

Schedule a Demo