Get Started with Aeion Executive

Set up your C-Suite command center in 5 steps. Live KPIs from Finance/CRM/Helpdesk, Vault with SHA-256 watermarking, Board Portal with quorum voting, Oracle AI briefings—all in under 30 minutes.

1

Configure Live KPI Connections

Metric KeyDescriptionThreshold Direction
`finance.mrr`Monthly Recurring Revenue from paid recurring invoicesHigher is better
`finance.arr`Annual Recurring Revenue (MRR × 12)Higher is better
`finance.burn`30-day expense totalLower is better
`finance.runway`Cash ÷ (Monthly Burn)Higher is better
`finance.gross_margin`(Revenue - COGS) / Revenue × 100Higher is better
`finance.cash`Sum of cash account balancesHigher is better
Metric KeyDescriptionThreshold Direction
-----------------------------------------------------------------------------
`crm.pipeline_value`Sum of open/proposal/negotiation dealsHigher is better
`crm.win_rate`won / (won + lost) × 100Higher is better
`crm.active_deals`Count of active dealsHigher is better
`crm.new_deals_30d`Deals created in last 30 daysHigher is better
Metric KeyDescriptionThreshold Direction
-------------------------------------------------------------------------------------
`helpdesk.csat`Average satisfaction score (0-5)Higher is better
`helpdesk.open_tickets`Count of open/pending/in_progress ticketsLower is better
`helpdesk.sla_compliance`% of resolved tickets without SLA breachHigher is better
2

Set Up the Risk Register

Go to Executive → Risk Register → Add Risk.

Create Risk (API):

bash POST /executive/risks { "title": "Supply chain disruption - key supplier single-source", "description": "We rely on a single supplier for component X. Any disruption would halt production.", "category": "operational", "likelihood": 4, "impact": 4 }

Risk Score Calculation:

```typescript // Score = likelihood × impact (both 1-5) // Max score = 25

// Risk levels: // >= 20: critical // >= 12: high // >= 6: medium // < 6: low

const score = 4 * 4; // likelihood × impact // score = 16 → "high" ```

Get Heat Map (API):

bash GET /executive/risks/heat-map

Response:

typescript { "matrix": [ [ /* 5x5 grid of cells */ ], ], "summary": { "totalRisks": 12, "criticalCount": 1, "highCount": 4, "mediumCount": 5, "lowCount": 2 } }

Heat Map Cell Structure:

Each cell in the matrix represents one likelihood/impact combination (both 1-5) and lists the risks that fall into it — each with its id, title, and score.

Create Mitigation (API):

bash POST /executive/risks/{riskId}/mitigation { "title": "Identify backup supplier for component X", "ownerId": "user-xxx", "dueDate": "2026-06-01", "status": "in_progress" }

3

Configure the Vault (Virtual Data Room)

Go to Executive → Vault → Create Folder.

Create Vault Folder (API):

bash POST /executive/vault/documents { "name": "Series B Due Diligence", "description": "Board materials and financials for investor review", "allowedRoles": ["exec_board", "c_suite"], "allowedUserIds": ["investor-xxx", "lawyer-xxx"], "ndaRequired": true, "canaryMode": true, "expiresAt": "2026-12-31T23:59:59Z" }

NDA Configuration:

typescript { "ndaRequired": true, "ndaDocumentId": "doc-xxx", // Upload signed NDA "ndaExpiryDays": 365 }

Canary Mode (Leak Detection):

typescript { "canaryMode": true // Each recipient receives a unique copy // Unique copy = unique 64-hex canary token embedded in PDF // If document leaks → extract token → identify source }

Check Vault Access (API):

bash GET /executive/vault/documents/{docId}/access-log

Response:

typescript { "canAccess": true, "watermarkId": "a1b2c3d4e5f67890", "watermarkText": "CONFIDENTIAL | investor@vc.com | 2026-05-11 | IP: 192.168.1.1 | REF: a1b2c3d4e5f67890" }

View/Download with Watermark Logging (API):

bash GET /executive/vault/documents/{docId}

Every read against a vault document is logged automatically — the access-log entry includes the actor's identity, IP, document version, and the per-user canary watermark ID. The response includes the watermarked download URL and a short-lived expiration.

typescript { "granted": true, "watermarkId": "a1b2c3d4e5f67890", "documentUrl": "https://...", "expiresAt": "2026-05-11T12:00:00Z" }

Vault Access Logs (Immutable):

bash GET /executive/vault/access-logs?documentId={docId}

Response:

typescript { "logs": [ { "id": "log-xxx", "documentId": "doc-xxx", "userId": "user-xxx", "action": "download", "ipAddress": "192.168.1.1", "watermarkId": "a1b2c3d4e5f67890", "timestamp": "2026-05-11T09:30:00Z" } ] }

Lock Vault Downloads (API):

bash PATCH /executive/vault/settings { "vaultDownloadsLocked": true }

4

Organize the Board Portal

Go to Executive → Board → Committees.

Create Committee (API):

bash POST /executive/board/committees { "name": "Audit Committee", "type": "audit", "members": ["director-xxx", "director-yyy"], "chairperson": "director-xxx" }

Schedule Board Meeting (API):

bash POST /executive/board/meetings { "title": "Q2 2026 Board Meeting", "meetingDate": "2026-06-15T10:00:00Z", "meetingType": "quarterly", "location": "HQ - Board Room A", "videoUrl": "https://zoom.us/j/...", "quorumRequired": 5, "agendaItems": [ { "title": "Q1 Financial Review", "duration": 30 }, { "title": "Series B Update", "duration": 20 }, { "title": "OKR Review", "duration": 25 } ] }

Response:

typescript { "id": "meeting-xxx", "title": "Q2 2026 Board Meeting", "status": "scheduled", "quorumMet": false, "resolutionNumber": "RES-2026-001" // Generated automatically }

Record Attendance (API):

bash POST /executive/board/meetings/{meetingId}/attendance { "directorId": "director-xxx", "attendanceType": "in_person" }

Start Meeting & Check Quorum (API):

bash POST /executive/board/meetings/{meetingId}/start { "callerId": "director-xxx" }

Response:

typescript { "quorumMet": true, "presentCount": 7 }

Create Resolution (API):

bash POST /executive/board/resolutions { "meetingId": "meeting-xxx", "title": "Approve Series B Term Sheet", "description": "Resolution to approve the Series B financing terms as discussed...", "proposedBy": "director-xxx" }

Response:

typescript { "id": "res-xxx", "number": "RES-2026-001", "status": "pending" }

Cast Vote (API):

bash POST /executive/board/resolutions/{resolutionId}/vote { "directorId": "director-xxx", "vote": "yes", "signatureData": "base64-encoded-signature" }

Response:

typescript { "votesCast": 4, "yesVotes": 4, "noVotes": 0, "abstentions": 0, "quorumMet": true }

Generate Board Deck (AI) (API):

bash POST /executive/board/deck/generate { "meetingId": "meeting-xxx" }

Response:

typescript { "meetingId": "meeting-xxx", "title": "Q2 2026 Board Meeting", "slides": [ { "title": "Q2 2026 Board Meeting", "type": "title", "content": {}, "talkingPoints": ["Welcome directors...", "Review agenda..."] }, { "title": "Financial Performance", "type": "kpi", "content": { kpis: [...] }, "talkingPoints": ["MRR grew 5.9% QoQ...", "Gross margin stable at 68%..."] }, { "title": "Key Risks", "type": "risk", "content": { risks: [...] }, "talkingPoints": ["Supply chain risk is HIGH...", "Mitigation underway..."] } ], "generatedAt": "2026-05-11T09:00:00Z" }

5

Activate Oracle AI

Go to Executive → Settings → Oracle.

Enable Oracle (API):

bash PATCH /executive/settings { "oracleEnabled": true }

Check Oracle Status (API):

bash GET /executive/oracle/status

Response:

typescript { "enabled": true, "lastBriefingAt": "2026-05-11T07:00:00Z", "cacheExpiryAt": "2026-05-11T11:00:00Z" }

Generate Daily Briefing (API):

bash POST /executive/oracle/briefing/generate

Response:

typescript { "headline": "MRR grew 5.9% to $125K; Supply chain risk elevated to HIGH", "insights": [ { "title": "MRR Growth Acceleration", "body": "MRR reached $125K this month, a 5.9% increase from $118K last month. This is the fastest growth rate in 6 quarters.", "priority": "high" }, { "title": "New Logo Win Rate Improved", "body": "Win rate increased to 28%, up from 24% last quarter, likely due to improved sales coaching.", "priority": "medium" } ], "risks": [ { "title": "Supply Chain Concentration Risk", "body": "Single-source supplier for Component X poses HIGH risk. Mitigation deadline is June 1." } ], "opportunities": [ { "title": "Enterprise Pipeline Expansion", "body": "Enterprise deal pipeline is $2.3M, up 40% QoQ. Focus on closing top 3 accounts." } ], "actions": [ { "title": "Approve backup supplier identification", "owner": "COO" }, { "title": "Review Series B term sheet", "owner": "CEO" } ], "confidenceScore": 0.92, "audioUrl": "https://...", "generatedAt": "2026-05-11T07:00:00Z" }

Ask Oracle a Question (API):

bash POST /executive/oracle/ask { "question": "What is our current runway and how does it compare to last quarter?" }

With Conversation History (API):

bash POST /executive/oracle/ask { "question": "How does that compare to the industry benchmark?", "conversationHistory": [ { "role": "user", "content": "What is our current runway?" }, { "role": "assistant", "content": "Your runway is 18 months based on current cash of $4.2M and monthly burn of $233K." } ] }

Response:

typescript { "answer": "Your runway is 18 months, compared to the SaaS industry median of 24 months. While you're below the median, your burn rate has decreased by 12% this quarter due to improved unit economics. The $3M Series B round would extend your runway to approximately 30 months at current burn rates.", "sources": [ { "module": "finance", "metric": "finance.runway", "value": 18 }, { "module": "finance", "metric": "finance.burn", "value": 233000 }, { "module": "finance", "metric": "finance.cash", "value": 4200000 } ], "confidenceScore": 0.95, "caveats": [] }

Analyze Market Intelligence (AI) (API):

bash POST /executive/oracle/intel/analyze { "intelId": "intel-xxx" }

Response:

typescript { "analysis": "Competitor X's new pricing strategy suggests they are targeting the mid-market segment. Their recent product release focuses on features you also offer, which may increase competitive pressure in your core segment.", "oracleConfidence": 0.88, "competitorUpdates": { "strengthsToAdd": ["Full-featured product"], "weaknessesToAdd": ["Premium pricing", "Complex onboarding"] }, "oracleAnalyzedAt": "2026-05-11T09:30:00Z" }

Generate Board Prep Document (API):

bash POST /executive/oracle/board-prep { "meetingId": "meeting-xxx" }

Response:

typescript { "meetingId": "meeting-xxx", "executiveSummary": "Company performance is strong with 5.9% MRR growth. Key risks: supply chain concentration (HIGH). Q2 board meeting includes Series B approval and OKR review.", "keyMetricsToPresent": [ { "name": "MRR", "value": 125000, "trend": "up 5.9%" }, { "name": "Win Rate", "value": 28, "trend": "up 4pp" }, { "name": "Runway", "value": 18, "trend": "down 3mo" } ], "anticipatedQuestions": [ "How will the Series B affect dilution?", "What is the backup plan for the supply chain risk?", "What are the key OKRs for Q3?" ], "recommendedPositions": [ "Present Series B as necessary for growth acceleration", "Emphasize supply chain mitigation underway" ], "generatedAt": "2026-05-11T09:00:00Z" }

Quick Reference

KPI API:

```bash # List connections GET /executive/kpis

# Create connection POST /executive/kpis

# Refresh all POST /executive/kpis/{kpiId}/refresh

# Get single KPI GET /executive/kpis/{kpiId}

# Get heat map GET /executive/risks/heat-map ```

Vault API:

```bash # Create folder POST /executive/vault/documents

# Check access GET /executive/vault/documents/{docId}/access-log

# Log view/download POST /executive/vault/documents/{docId}/access-log

# Get immutable logs GET /executive/vault/access-logs?documentId=xxx

# Lock downloads PATCH /executive/vault/settings ```

Board API:

```bash # Create committee POST /executive/board/committees

# Schedule meeting POST /executive/board/meetings

# Start meeting (check quorum) POST /executive/board/meetings/{meetingId}/start

# Record attendance POST /executive/board/meetings/{meetingId}/attendance

# Create resolution POST /executive/board/resolutions

# Cast vote POST /executive/board/resolutions/{resolutionId}/vote

# Generate AI deck POST /executive/board/deck/generate ```

Oracle API:

```bash # Get status GET /executive/oracle/status

# Generate briefing POST /executive/oracle/briefing/generate

# Ask question POST /executive/oracle/ask

# Analyze intel POST /executive/oracle/intel/analyze

# Board prep POST /executive/oracle/board-prep ```

Risk API:

```bash # Create risk POST /executive/risks

# Get heat map GET /executive/risks/heat-map

# Add mitigation POST /executive/risks/{riskId}/mitigation ```

Investor API:

```bash # Compute ownership POST /executive/investors/compute-ownership

# Cap table summary GET /executive/investors/cap-table

# Liquidation waterfall POST /executive/investors/liquidation-waterfall

# Generate investor update POST /executive/investors/{id}/generate-update ```

Initiative API:

```bash # Create initiative POST /executive/initiatives

# Update progress PATCH /executive/initiatives/{id}/progress

# Get at-risk GET /executive/initiatives?status=at_risk ```

Crisis API:

```bash # Get DEFCON level GET /executive/crisis/defcon

# Set DEFCON level POST /executive/crisis/defcon { "level": 3, "actorId": "xxx", "reason": "Supply chain alert" }

# Activate protocol POST /executive/crisis/protocols/{protocolId}/activate

# Activate kill switch POST /executive/crisis/kill-switch { "scope": "all", "actorId": "xxx", "actorIp": "..." }

# Lift kill switch POST /executive/crisis/kill-switch/lift { "scope": "all", "actorId": "xxx" } ```

FAQ

All enabled KPI connections refresh in parallel, so one slow or failed source never blocks the others. Finance, CRM, and Helpdesk metrics run through native SQL aggregation, with an automatic fallback for custom connections. Each metric keeps a 90-point rolling history with a 60-second cache.

A 5-level DEFCON system. DEFCON 1 revokes every active API token across the tenant (each key's status flipped to revoked with a forensic reason). Dual control prevents the same actor from activating and lifting the kill switch. Immutable war room logs capture every action.

A unique SHA-256-based watermark is generated per document view, embedding the viewer's email, date, IP address, and a reference code directly into the PDF. Immutable access logs track every view and download.

Each recipient gets a unique PDF copy with its own 64-character hex token embedded. If the document leaks, extracting the token identifies the exact recipient.

Oracle builds a business context from your live KPIs, risks, initiatives, market intel, and upcoming meetings, then generates a headline, insights, risks, opportunities, and actions with confidence scores. Results are cached for 4 hours.

No. Strict role-based access ensures board members only see the Board Portal, Resolutions, and Vault categories. They cannot access Finance, CRM, or other operational modules.

The system checks who activated the kill switch and refuses to let that same actor lift it — a different authorized actor must lift it.

Oracle extracts strategic implications and competitor strengths/weaknesses from incoming intel and automatically updates the relevant battlecard, firing an audit-trail event for every update.

Pulls at-risk KPIs (yellow/red), high-severity risks, and off-track initiatives, then passes them to AI with meeting context. Returns structured slides with talking points.

The score starts from percent complete, then adjusts for schedule: initiatives that fall behind lose points daily (capped), while initiatives running ahead of schedule earn a bonus.

Models participating vs. non-participating preferred shares, preference multiples, and cap multiples — calculating each investor's payout, preference amount, and participation amount.

Based on data completeness, on a 0.0-1.0 scale. Oracle cites specific data sources (module, metric, value) for every answer.

Votes are appended to the resolution's tally, and a director can update their vote during the voting window. Once quorum is met and the resolution passes, the vote tally locks permanently.

Oracle runs on Aeion's AI gateway using a frontier large language model, framed with a system prompt establishing it as your organization's AI executive advisor.

Pulls each investor's cap table position, current KPIs, and recently completed initiatives, then drafts a personalized quarterly update.

Open the Executive Dashboard