Compliance-Grade Document Management Platform
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.
PeaceCabinet is built on a layered, cloud-native architecture designed for tenant isolation, horizontal scale, and database portability.
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.
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.
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.
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.
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.
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.
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.
Twelve integrated modules covering the full document lifecycle, from first upload to permanent deletion.
Secure sign-in built on ASP.NET Core Identity, with enterprise SSO and strong session controls.
A shared-schema architecture that keeps every tenant's data fully isolated while remaining cost-efficient to run.
Large-file upload built for reliability, not just speed.
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.
In-browser preview with no download required.
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.
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.
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.
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.
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.
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.
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.
Built on a modern, portable stack chosen for enterprise reliability and database flexibility.
A phased delivery plan that proves the core document lifecycle first, then layers in intelligence and enterprise scale.
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.
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.
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.
PeaceCabinet is designed compliance-first, for organisations that cannot treat document security as an afterthought.
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.
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.
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.
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.
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.
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.
Let's discuss how PeaceCabinet can bring secure, AI-ready document management to your organisation — on the database you already run.
Schedule a Demo