Application Preferences
Frontend Libraries
Every script, stylesheet and font the pages use is served from this app, not a CDN. Each file is checked against the copy that was vendored. "Check for updates" asks the npm registry for the latest versions.
| Library | Version | License | Files | Integrity | Latest |
|---|---|---|---|---|---|
| Loading… | |||||
SMTP Email Credentials
Each account is its own mailbox on the Mail page, and mail goes out from the account it belongs to. The default account is the one Mail opens on, and sends anything not tied to an account.
| Account Name | Username / Email | Servers | Mailbox | Actions |
|---|
Add Email Account
Email Signatures
Each email account keeps its own signatures and uses one at a time. The active one is appended to everything sent from that account — single sends and Outreach Center campaigns. Mail goes out from the account marked Sending.
Mailbox Preferences
Controls how many messages load per page on the Email Management screen.
Recordings Overview
How calls are recorded, transcribed and stored. Changes here are saved with Save All Changes and apply from the next recording or job; nothing already transcribed changes.
Transcription
Call Recorder
The recorder in the top bar starts with these. Picking something else there is remembered in that browser until these defaults are saved again.
Storage & Retention
Processing Queue
Transcriptions and speaker detection, newest first. One runs at a time, in the background.
| Recording | Work | Status | Model | Queued |
|---|---|---|---|---|
| Loading… | ||||
Firm Intelligence
The thresholds the dashboard raises its actions, risks and opportunities with, and the AI brief's grounding. How long the snapshot and briefs stay cached is on the Cache tab. None of this calls the model. Saved with Save All Changes; the next dashboard load uses the new values.
Views & Layout
Open calendarHow the calendar opens and looks. Saved with Save All Changes; open calendars pick it up on their next reload. Times show in each viewer's own time zone; reminders and planning use (General / App).
Working Hours & New Events
Hours outside these are shaded, Plan my week only books inside them, and "packed day" warnings count meetings within them.
Calendars
What shows on the calendar and in which colour. Hiding one here is the default; the switches in the calendar's sidebar override it in that browser.
Plan My Week & Heads-up
Plan my week finds free working time for open tasks and suggests focus blocks you keep or dismiss. Heads-up flags double bookings, packed days, deadline pile-ups, tasks due before what they wait on, and deal closes with open work. Neither uses AI. Meeting prep briefs do: switch them under Calendar assistant on the AI tab. Reconnect reminders, Plan reconnects and the relationship block in meeting prep are set on the Network tab.
Relationship Intelligence
Open NetworkNetwork works out who you know and how well from activity already in CapitalOS, and rebuilds on a schedule. Everything it uses is set here and saved with Save All Changes; a change that affects the scores starts a rebuild. AI reads on relationships are switched under Network analysis on the AI tab.
AI Overview
Every AI feature calls your Cloudflare Worker. Cloudflare's free plan gives 10,000 neurons a day, reset at 00:00 UTC. Changes here are saved with Save All Changes and apply from the next AI call.
Features
Switch a feature off and its buttons are dimmed across the app. Economy uses the small, fast models (Llama 3.2 3B first) at roughly a sixth of the cost, with plainer writing.
| Feature | On | Quality | Today |
|---|---|---|---|
| Loading… | |||
AI Chat
Daily Budget
Figures are estimates from this app's own calls, priced at Cloudflare's published rates. Anything else on the same Cloudflare account spends from the same allowance.
Worker Connection
The checks use what is on this form, saved or not. The connection check is free.
Third-Party API Keys
User Accounts
Manage who can access CapitalOS. Self-service sign-up is closed, so accounts are added here. Deactivating an account, resetting its password or signing it out takes effect on its next request.
| Username | Last Active | Status | Role | Actions | |
|---|---|---|---|---|---|
| Loading users… | |||||
Database Overview
| Database file path | — |
| Backups directory | — |
| Last modified | — |
| Table | Rows |
|---|
Backups
Snapshot the live database into a downloadable zip file.
| Filename | Created | Size | Type | Actions |
|---|---|---|---|---|
| Loading backups… | ||||
Storage Overview
Path Health
Files are stored by a key relative to the attachments
folder, and dataroom links as dataroom://<root>/<path>, so the
backend, its files and the datarooms can be moved or renamed without breaking links.
This checks every stored reference; Repair rewrites any machine-specific
path it can find the file for (a database backup is taken first; no file is moved
or deleted).
| Kind | Rows | OK | Repairable | Missing | Unknown root |
|---|---|---|---|---|---|
| Run a check. | |||||
| Status | Kind | File | Stored as | Detail |
|---|---|---|---|---|
| Run a check. | ||||
Datarooms
A dataroom is a folder whose files records link to where they
are (nothing is copied). Connect one here or from any deal's file picker, and say which
deal or company it belongs to; that deal's picker then opens it first. If a folder moves,
Edit it and browse to the new place: every link follows. Folders can only be
connected inside ….
| Name | Folder | Belongs to | Links | Status | |
|---|---|---|---|---|---|
| Loading… | |||||
Breakdown by Folder
| Folder | Files | Size |
|---|---|---|
| Loading… | ||
Attachments by Category
| Category | Files | Size |
|---|---|---|
| Loading… | ||
Response Cache
Expensive responses (the dashboard snapshot, storage totals, database stats, exchange rates, news, Network pulse and AI suggestions) are kept in a separate cache file. Flushing is always safe: anything removed is simply recomputed on its next request.
| Namespace | Entries | Size | Expired | Lifetime hits | Actions |
|---|---|---|---|---|---|
| Loading… | |||||
| Name | Entries | Capacity | TTL |
|---|
| Tag | Entries | Size | Actions |
|---|
Switch & Limits
Saved with Save All Changes and applied at once, no restart. Switching the cache off empties it; every response is then computed on each request.
CACHE_ENABLED=0, so the cache stays off whatever is chosen here.
How Long Each Response Is Kept
Upper limits: most entries are cleared sooner, as soon as the data behind them changes. 0 seconds means never cached. Changing a lifetime clears what is stored under the old one, except AI-written text, which costs AI budget to write again: it keeps its old expiry.
| Response | Keep for | Default | Entries now |
|---|
Data Retention
History and generated data that accumulates with no other way to remove it. Every clean-up is previewed first, needs you to type the exact count to confirm, and writes a downloadable record of every row it removes. Protected rows (baselines, pending items, the newest backups) are never offered.
| Dataset | Rows / files | Size | Oldest | Never deleted | Actions |
|---|---|---|---|---|---|
| Loading… | |||||
Clean Up
Choose what to remove, then preview it. Nothing is deleted from this form.
Preview
Clean-up History
Every clean-up attempt, including aborted ones. The record file lists every removed row and is the way to restore one by hand.
| When | Dataset | Scope | Matched | Deleted | Status | Record |
|---|---|---|---|---|---|---|
| Loading… | ||||||