You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SpectraVault is a self-hosted, multi-tenant document management platform designed for organizations that need full control over their data. Upload, organize, version, share, and audit every document β all within a secure, role-based environment.
Whether you're a small team or a large enterprise, SpectraVault gives you:
π End-to-end security with encryption at rest, MFA, and granular permissions
π₯ Multi-organization support with per-tenant isolation
π Full document lifecycle β upload, version, tag, archive, trash, and permanent delete
π Controlled sharing with password protection, expiry dates, and download limits
π Real-time analytics and comprehensive audit trails
π‘οΈ GDPR-ready with data export and automatic data retention policies
π Key Features
π Document Management
Feature
Description
Upload & Organize
Drag-and-drop single or multi-file uploads into a folder hierarchy
File Versioning
Automatic version history with restore, compare, and version notes
Switch between list and grid views; customize visible columns with drag-and-drop ordering
Tags & Classification
Organize files with custom tags and classify as Public, Internal, Confidential, or PII
Bulk Operations
Select multiple files for batch download, move, tag, trash, or delete
Trash & Recovery
Soft-delete with restore capability; configurable retention before permanent deletion
File Locking
Lock files during editing to prevent conflicts
Image Compression
Optional client-side image compression before upload
Video Transcoding
Server-side video transcode after upload for optimized playback
Favorites
Star important files for quick access
Advanced Search
Filter files by name, type, tags, date, and more
Pagination
Configurable page sizes with persisted user preferences
π Collaboration & Sharing
Feature
Description
Share Links
Generate secure links for single or multiple files
Access Controls
Password protection, expiry dates, and download limits per link
Download Tracking
Monitor who downloaded what and when
File Comments
Add comments to files for team discussion
External Sharing
Share with external recipients β no account required
Organization Policies
Enforce sharing rules at the organization level
π₯ Team & Organization Management
Feature
Description
Role-Based Access
Built-in roles (Owner, Admin, Member) plus fully custom roles with granular permissions
User Groups
Create groups and assign file/folder permissions at the group level
Team Invitations
Invite members by email with automatic role assignment
Member Status
Activate/deactivate members; control MFA enforcement per user
Folder & File ACLs
Restrict visibility of folders and files to specific roles, users, or groups
Organization Settings
Per-org configuration for storage limits, retention, sharing policies, and alerts
π¬ Presentations & Media
Feature
Description
File Presentations
Turn documents into shareable presentations
Engagement Tracking
Track views, plays, likes, dislikes, and comments per presentation
Album Support
Group images into albums with individual reaction tracking
Poll Integration
Embed polls with questions, options, and real-time response collection
Statistics
Detailed analytics per presentation
π Analytics & Insights
Feature
Description
Dashboard
At-a-glance overview of organization activity and storage usage
Activity Heatmap
Visual heatmap of team activity over time
Download Analytics
Track download patterns across files and shared links
Storage Breakdown
Detailed view of storage consumption by file type
Audit Logs
Comprehensive, searchable audit trail for every user and system action
π Notifications & Activity
Feature
Description
In-App Notifications
Real-time notifications for file events, shares, comments, and system alerts
Email Notifications
Configurable email alerts for key events (uploads, shares, limit warnings)
Threshold Alerts
Automatic warnings when storage, users, or files approach configured limits
Activity Feed
Chronological feed of all organization activity
ποΈ Architecture
flowchart TB
subgraph Client["π₯οΈ Client Layer"]
SPA["React SPA<br/>Vite + TypeScript"]
end
subgraph Server["βοΈ Server Layer"]
API["Express REST API<br/>Node.js + TypeScript"]
Workers["Background Workers<br/>Limits Β· Retention Β· Backups Β· Licenses"]
end
subgraph Data["πΎ Data Layer"]
DB[("MySQL 8.0<br/>Multi-tenant")]
FS["π Local Storage<br/>Encrypted at Rest"]
end
subgraph External["π External Services"]
Email["π§ SendGrid<br/>Transactional Email"]
end
SPA -->|"HTTPS / REST API"| API
API -->|"SQL Queries"| DB
API -->|"File I/O"| FS
API -->|"SMTP API"| Email
Workers -->|"Scheduled Jobs"| DB
Workers -->|"Alerts & Reports"| Email
Loading
Multi-Tenant Data Isolation
Every organization operates in its own logical partition. Files, folders, settings, roles, audit logs, and all metadata are scoped to the organization. Platform admins can oversee all tenants from a centralized console without crossing data boundaries.
π How It Works
User Onboarding Journey
flowchart LR
A["π€ New User"] --> B{"Signup Method"}
B -->|"Direct Signup"| C["Create Account<br/>+ Organization"]
B -->|"Email Invitation"| D["Receive Invite Email"]
D --> E["Click Link β Set Password"]
E --> F["Auto-joined to<br/>Organization + Role"]
B -->|"Org Confirmation"| G["Submit Org Details"]
G --> H["Verify Email Token"]
H --> I["Complete Signup"]
C --> J["π Dashboard"]
F --> J
I --> J
Loading
Document Lifecycle
flowchart TD
Upload["π€ Upload"] --> Validate["Validate<br/>Size Β· Type Β· Limits"]
Validate --> Store["Store to Disk<br/>+ DB Record"]
Store --> Active["π Active File"]
Active --> Version["New Version"]
Active --> Share["π Share Link"]
Active --> Tag["π·οΈ Tag / Classify"]
Active --> Lock["π Lock for Edit"]
Active --> Comment["π¬ Comment"]
Active --> Trash["ποΈ Move to Trash"]
Trash --> Restore["β»οΈ Restore"]
Restore --> Active
Trash --> AutoDelete["β³ Retention Timer"]
AutoDelete --> Archive["π¦ Auto-Archive"]
Archive --> Permanent["ποΈ Permanent Delete"]
AutoDelete --> Permanent
Version --> Active
Loading
Secure Sharing Flow
sequenceDiagram
participant Owner as π€ File Owner
participant API as βοΈ SpectraVault
participant DB as πΎ Database
participant Recipient as π External Recipient
Owner->>API: Create share link (files, options)
API->>DB: Store link + restrictions
API-->>Owner: Share URL
Owner->>Recipient: Send link (email, chat, etc.)
Recipient->>API: Open share link
API->>DB: Validate: expiry, password, download limit
alt Valid Access
API->>DB: Log download event
API-->>Recipient: β File download
else Expired / Invalid
API-->>Recipient: β Access denied
end
Loading
Invitation & Team Growth
sequenceDiagram
participant Admin as π€ Admin / Owner
participant API as βοΈ SpectraVault
participant Email as π§ Email Service
participant Invitee as π§ Invited User
Admin->>API: Invite user (email + role)
API->>API: Create pending invitation + token
API->>Email: Send invitation email
Invitee->>API: Click invite link
API->>API: Verify token + show signup form
Invitee->>API: Set name + password
API->>API: Create profile β Join org β Assign role
API-->>Invitee: π Logged in to organization