Rankiteo Logo
Rankiteo

The Rankiteo MCP server is now available.

Discover MCP
← Back to Desktop App

Changelog

Release notes and version history for Rankiteo Cyber Underwriting Desktop App

v1.0.7April 16, 2026

Version 1.0.7

Reinsurance Tower Designer, Portfolio Optimizer, Continuous Risk Monitor, Regulatory & War Exclusion Center, Emerging Risk Lab

Reinsurance Tower Designer (new page)

  • Drag-and-drop multi-layer tower builder: Quota Share, Working Layer XoL, Catastrophe XoL, and Aggregate Stop-Loss
  • Inuring waterfall engine — move layers up/down to test alternative inuring orders; each layer sees the net loss after all preceding layers
  • Per-layer parameters: cession %, ceding commission, attachment, limit, rate-on-line, reinstatements
  • Monte Carlo engine runs 1,500 to 10,000 simulated years against the selected portfolio source, returns gross + net EP curves, VaR99 / VaR99.5, and per-layer expected cession
  • Per-layer economics table: premium, expected cession, loss ratio, RoL, margin
  • Gross vs Net recovery table at 10 return periods (1-in-0.5 through 1-in-250)
  • Cession optimizer sweep — automatically iterates QS % from 0% to 70% and surfaces the capital-efficient cession point with $ saved per $ ceded ratio
  • Save / reload full tower configurations (Mongo-persisted)
  • Portfolio source picker: run tower against your in-force CRM portfolio OR any saved bordereau

Portfolio Optimizer (new page)

  • Severity-aware Monte Carlo engine pulls real incident history from the feed (count, max severity, severe count, ransomware history, leak-site hits)
  • Per-insured Euler/Shapley decomposition of portfolio AAL and TVaR — additive allocation, Solvency II standard
  • Concentration index (TVaR share ÷ fair share × N): > 1.2 = CONCENTRATOR, < 0.8 = DIVERSIFIER, else NEUTRAL
  • Recent-catastrophic OVERRIDE: any insured with max severity ≥ 75, ≥ 2 severe incidents in 180d, ransomware history, or leak-site hit is hard-flagged RECENT INCIDENTS and cannot be marked DIVERSIFIER regardless of the math
  • RAROC heatmap per insured: (premium − expected loss − expense) ÷ (TVaR × capital charge); green if above target, red if capital-destructive
  • Renewal Walk-Away engine — classifies every policy as RENEW / RE-RATE +X% / NON-RENEW with the exact rate change required to clear the hurdle
  • User-tunable assumptions (expense ratio, capital charge, target RAROC, target LR) persisted in localStorage
  • Per-insured incident columns (180d count, max severity) with 🔒 ransomware and 🚨 leak-site icons

Continuous Risk Monitor (new page) — powered by the real incident feed

  • Reads cyber_portfolio.blog_data (the same source as the Incidents page) in real time — no synthetic signals
  • Per-insured incident counts in 30 / 60 / 90 / 180 day windows with velocity Δ30d (heating vs cooling)
  • Severity sum 90d and max severity 90d derived from per-incident severity score
  • Threat actors observed from incident_details.threat_actor (handles both string and dict/list shapes)
  • Ransomware families observed from incident_details.ransomware.ransomware_strain (with fallback extraction)
  • MITRE ATT&CK techniques from incident_details.mitre_correlation with technique IDs and names
  • Leak-site radar: flags insureds appearing on ransomware leak sites (LockBit, Cl0p, Akira, ALPHV, RansomHub) before FNOL
  • Portfolio Loss-Ratio Leading Indicator: green / amber / red composite of velocity, severity intensity, leak hits, and distressed share — 60-90 day look-ahead
  • Per-insured drawer with full signal detail: latest incident with source URL, all actors, all ransomware families, all MITRE techniques, leak-site details
  • Portfolio Threat Intelligence panel: top threat actors, top ransomware families, top MITRE techniques, top incident types — ranked across the whole book
  • Severity classification: alert (leak hit OR ≥2 incidents in 30d OR max sev ≥ 75 OR velocity ≥ 2) → watch → ok

Regulatory & War Exclusion Center (new page) — now geography-aware

  • Regulatory heatmap: maps every insured to 9 applicable regimes based on BOTH industry AND jurisdiction (country code parsed from headquarters address)
  • DORA and NIS2 only apply to EU entities; SEC Item 1.05 only to US-listed; NY DFS Part 500 only to US financials; HIPAA only to US healthcare; GDPR to EU + UK; CCPA to US; PCI-DSS global; UK FCA to GB — no more false positives on jurisdictional scoping
  • Unknown-country warning banner when insureds lack headquarters data
  • Portfolio geography distribution card (country code chips with counts)
  • Expected regulatory fine tail per insured (max fine × score factor × 40% probability weight)
  • War Exclusion Engine — replays 5 named state-attributed scenarios (NotPetya, SolarWinds, Viasat, hypothetical grid attack, CrowdStrike-class state sabotage) against the portfolio under LMA 5567A/B wording
  • Geographic loss multipliers: primary impact countries take 100% of scenario loss (NotPetya → Ukraine), secondary take spillover (EU/US/GB 55%), outside take minimal (5%) — a US-only company isn't hit the same as a UA-based company by NotPetya
  • Per-insured geo tier badges: PRIMARY / SECONDARY / OUTSIDE with multiplier %
  • Exclusion efficacy %, gross loss, excluded loss, paid loss by scenario
  • OFAC Sanctions Audit Ledger — client-side immutable audit trail (timestamp, checker, result) for strict-liability defense

Emerging Risk Lab (new page)

  • Four-dimension classification for the 2025-2026 frontier risks that traditional cyber wordings handle poorly
  • AI-BOM Risk: per-insured AI/GenAI exposure score (model risk, prompt injection, training data poisoning, agentic AI, hallucination liability) with Low / Medium / High tier
  • Quantum HNDL (Harvest Now, Decrypt Later): Critical / Material / Low tier for sectors with long-life sensitive data (banking, health, defense, legal, pharma)
  • Deepfake / synthetic identity: High / Medium / Low for banking / financial / insurance / legal / executive operations (Arup $25M precedent)
  • Critical infrastructure dependency: Critical / Material / Low for energy, telecom, transport, water, health, government (CrowdStrike / Fastly / MOVEit / Change Healthcare pattern)
  • Aggregate Emerging Risk Index (ERI) 0-100 — average of the four dimensions, color-coded
  • 5 tabs: Overview with all 4 tiers / dedicated per-dimension views
  • Portfolio summary KPIs: AI High count, Quantum Critical count, Deepfake High count, Infra Critical count

Saved Loss Exceedance Scenarios — persistent across pages

  • New Save / Load dropdown on the Loss Exceedance page — persist a full scenario (coverage limit, retention, severity model, correlation factor, confidence levels, industry filter, reinsurance layer, supply chain contagion, cat bond selection) as a named snapshot
  • Mongo-persisted per-user in CRM.loss_exceedance_scenarios — survives across devices and sessions
  • Full CRUD endpoints: GET/POST/PUT/DELETE /api/company/crm/analytics/scenarios with two-step inline delete confirmation (no more window.confirm hangs in Electron)
  • Cat bond selection round-trips correctly: _selected_bond_id is persisted so reloading a scenario restores the exact bond from the dropdown, not just the underlying catbond_* parameters
  • Scenario picker on the What-If Simulator — apply any saved scenario's parameters as the baseline pricing assumptions for marginal analysis
  • Re-run button appears next to the loaded scenario — one click to re-simulate after any tweak
  • Fetch timeout (AbortController 15s) on all scenario operations prevents frozen save modals when the backend stalls
  • Active scenario chip is highlighted in blue on the LE page — clear which assumptions are currently loaded

Bordereaux Workbench — major upgrade

  • RFC-4180-ish CSV parser with auto-detected delimiter (, ; | tab), quoted fields, escaped quotes, BOM, CRLF
  • Drag-and-drop file upload + paste + Download example bordereau button (20 realistic policies with cedent-format columns)
  • Smart auto-mapping with ~50 column header aliases (Insured Name / Named Insured / DBA / GWP / SIR / Aggregate Limit …)
  • Cedent column-mapping templates: save once per cedent in localStorage, auto-apply on next quarter's upload — zero re-mapping
  • Validation engine: per-row warnings (missing fields, retention ≥ limit, premium > 50% of limit) with green/amber/red banner
  • Enrichment pipeline per row: insured resolution with match confidence, score + band, incident count, model premium, premium adequacy, rate-on-line
  • BIND / REVIEW / DECLINE decision engine with reason codes (e.g. 'Score 540 below floor · 3 historical incidents · Premium 65% of model')
  • Portfolio Impact panel: runs dual parallel Monte Carlo (in-force baseline vs in-force + bordereau) and shows AAL / VaR99 / diversification deltas
  • Save Bordereau (Mongo-persisted) — every saved bordereau becomes a selectable 'named portfolio' on Loss Exceedance, What-If, Reinsurance Tower, Portfolio Optimizer, and every analytics page
  • Annotated CSV export with all enrichment columns + decision + reason + warnings
  • Per-row drill-down: click any insured name → opens Premium Estimation prefilled with that linkedin_id

Backend — shared analytics engine

  • New severity-aware Monte Carlo engine (_simulate_gross_years) used by Reinsurance Tower, Portfolio Optimizer, and Loss Exceedance
  • New _fetch_incident_severity_stats helper returns per-insured count, max_severity, severe_count, severity_sum_90d, ransomware_history, leak_site_hit from cyber_portfolio.blog_data
  • Frequency calibration now factors in count × max_severity × severe_count; severity (lognormal mean) amplified ×2.5 for insureds with max_severity ≥ 80
  • _enrich_companies now parses country_code from the headquarters field (supports ISO-2 + common full-name mappings) and exposes is_eu / is_us / is_uk flags
  • New /reinsurance-towers CRUD collection for saving towers per user
  • bordereau_id and external_ids_merge query params added to /loss-exceedance so any bordereau becomes a usable portfolio source across every analytics endpoint
  • Defensive field extraction (_safe_str / _safe_str_list / _extract_named_field) — fixes the 'list object has no attribute strip' crash and correctly extracts ransomware_strain from dict-shaped ransomware fields

Cross-page integration

  • Every analytics page now accepts a saved bordereau as its portfolio source via a dropdown — run Loss Exceedance, What-If, Reinsurance Tower, Portfolio Optimizer, Continuous Risk Monitor, Regulatory Center, or Emerging Risk Lab against any saved cedent book without touching your in-force portfolio
  • Per-insured name clicks drill into Premium Estimation prefilled with the linkedin_id across every table
  • Saved Loss Exceedance scenarios (coverage limit, severity model, contagion settings, cat bond config) can be applied on the What-If page so marginal analysis uses the same pricing assumptions
v1.0.6April 9, 2026

Version 1.0.6

Claims Tracker & Bordereaux Upload

Claims Tracker

  • Full claims register with logging, filtering (by peril/status), and sorting
  • 8 demo claims with realistic data (ransomware, breach, BEC, cloud outage, supply chain)
  • New claim form: company, peril type, date, incurred/reserved/paid amounts, description, policy limit, retention
  • Loss development triangle with quarterly origin periods and development factors
  • Model accuracy tab: predicted AAL vs actual YTD incurred, annualized comparison, per-peril frequency validation
  • Analytics tab: claims by peril bar chart, claims by status, key metrics (avg severity, payment ratio, limit breaches, loss ratio)
  • Expandable claim detail view with policy utilization %

Bordereaux Upload (initial release)

  • Upload CSV of policies — batch-analyze the entire book in one run
  • 4-step wizard: Upload CSV → Map Columns → Analyze → Results
  • Demo data: 8 policies across Technology, Healthcare, Finance, Manufacturing, Education
  • Batch analysis: searches each company, fetches score, calculates model premium, compares to actual
  • Premium adequacy scoring: OK (within 10%), UNDER (>30% below model), OVER
  • Results summary: total premium, total limit, avg score, model premium, underpriced count
  • Progress indicator with per-policy analysis status
v1.0.5April 9, 2026

Version 1.0.5

What-If Simulator

What-If Simulator

  • New page — test how adding or removing a company impacts portfolio risk before committing
  • Dual Monte Carlo: runs baseline simulation + modified simulation, compares AAL, VaR99, claim count, diversification, and contagion
  • Add mode: search any company → simulate adding it to portfolio → see impact
  • Remove mode: select portfolio company → simulate removing it → see risk reduction
  • Impact verdict: HIGH / MODERATE / LOW with color-coded delta cards showing before → after
  • Automated recommendations: 'Caution: adding this company increases AAL by 18%' or 'Positive: diversification improves by 5pp'
  • Inspired by CyberCube Marginal Risk Analysis ($200K+/year) — included free in Rankiteo desktop
v1.0.4April 9, 2026

Version 1.0.4

Cyber Cat Bond Pricing & Real-World Bond Database

Cat Bond Pricing Engine — 5 Sponsors, 14 Bonds, 3 Trigger Types

  • New 'Cat Bond' tab in Loss Exceedance with a database of 14 real-world cyber cat bonds from 5 sponsors (Hannover Re, Beazley, Chubb, Swiss Re, AXIS Capital)
  • Bond selector dropdown grouped by company — each bond has its own dedicated parameters based on its actual structure
  • Hannover Re (Cumulus Re × 3): Parametric trigger — Monte Carlo simulation with configurable cloud providers (AWS/Azure/GCP), downtime threshold (1–72h), 4-tier region model including Tier 0 Conflict Zone (1.5x)
  • Beazley (PoleStar Re × 6 + Cairney × 1): Indemnity per-occurrence — actual EL%, coupon%, attachment probability from Artemis. Layers from $300M–$1.4B
  • Chubb (East Lane Re × 2): Indemnity — includes first-ever annual aggregate cyber cat bond ($25M franchise deductible). Dual NA/Intl attachment
  • Swiss Re (Matterhorn Re × 1): Industry loss index — triggers on $9B–$11.5B US cyber industry losses via CyberAcuView/PERILS index
  • AXIS Capital (Long Walk Re × 1): Indemnity per-occurrence — first full 144A cyber cat bond, $510M–$650M layer
  • Controls adapt per trigger type: providers/region/trigger hours for parametric bonds, attachment/exhaustion/basis/franchise for indemnity bonds
  • Cost-benefit analysis for every bond: value score, annual premium, expected recovery, net cost, recovery ratio, break-even probability

14 Real-World Cyber Cat Bonds (Artemis Deal Directory)

  • Hannover Re — Cumulus Re 2026-1 ($35M), 2025-1 ($20M), 2024-1 ($13.75M, first-ever cloud outage cat bond) — Parametric, Parametrix modeler
  • Beazley — PoleStar Re 2026-1 Class A ($140M, 7%), B ($100M, 9%), C ($60M, 10.5%) — Indemnity per-occurrence, $500M–$1.4B tower, RMS modeler
  • Beazley — PoleStar Re 2024-3 ($210M, 10.5%), 2024-2 ($160M, 13.25%), 2024-1 ($140M, 13%) — Indemnity, $500M–$1.2B tower
  • Beazley — Cairney I/II/III ($81.5M combined) — Market's first cyber cat bond (private placement, 2023), $300M attachment
  • Chubb — East Lane Re VII 2026-1 ($150M, 8.5%) — First-ever annual aggregate cyber cat bond, $25M franchise deductible, CyberCube modeler
  • Chubb — East Lane Re VII 2024-1 ($150M, 9.25%) — Dual attachment: NA $600M / International $400M
  • Swiss Re — Matterhorn Re 2023-1 ($50M, 12%) — First industry loss trigger cyber cat bond, $9B–$11.5B US cyber industry loss index (CyberAcuView/PERILS)
  • AXIS Capital — Long Walk Re 2024-1 ($75M, 9.75%) — First full 144A cyber cat bond, $510M–$650M layer, CyberCube modeler

Loss Exceedance Model v2.1 — Algorithm Overhaul

  • Poisson frequency model replaces Bernoulli — companies can now have multiple events per peril per year, critical for tail risk accuracy
  • Absolute USD severity (NetDiligence 2024 calibration) replaces percentage-of-limit — ransomware mean $4.5M, breach $4.88M, supply chain $4.91M, BEC $250K
  • Coverage limit now caps losses instead of scaling them — a $4.5M ransomware event costs $4.5M whether your limit is $5M or $200M
  • 24 industry hazard groups (healthcare 1.6x, finance 1.4x, agriculture 0.7x) — aligned with premium engine
  • Company size multipliers (micro 0.05x → multinational 1.0x) — reuses catastrophe module factors
  • OEP now tracks max correlated peril event across portfolio (systemic event = single occurrence)
  • Diversification benefit computed from actual per-company VaR99 distributions (was ~0%, now shows real 15–30%)
  • Expected claim count per peril in output (annual events, avg severity per event)
  • Correlation sensitivity shows VaR99 impact at ρ=0.0, 0.10, 0.15, 0.30, 0.50
  • Coverage limit extended to $200M, retention to $10M
  • Cost-benefit analysis for cat bonds: value score, recovery ratio, break-even probability, verdict
  • Fuzzy industry matching (40+ keyword patterns) with NAICS 2-digit prefix fallback — no more missed matches on 'Healthcare Services' vs 'healthcare'
  • Regional severity adjustments: US 1.0x, UK 0.85x, EU 0.80x, APAC 0.70x, Middle East 0.90x, India 0.50x — calibrated to local cost structures
  • Expected claim count per peril displayed (annual events + avg severity per event)
  • Model info bar below metrics showing version, calibration source, and claim statistics
  • Supply Chain Contagion in Monte Carlo — shared vendor dependencies now propagate losses across portfolio companies. When a supply chain attack or cloud outage hits Company A, all companies sharing the same vendor are affected with decay-weighted losses (supply chain 60%, cloud outage 50%, ransomware 20%)
  • Contagion card shows: shared vendors count, contagion links, total contagion-driven losses, % of AAL from contagion
  • Automated backtesting: model outputs validated against NetDiligence 2025 (10,402 claims), IBM/Ponemon 2025, Chubb Claims 2026, Coalition 2024 — PASS/REVIEW indicator in model info bar
  • Backtest checks: frequency (3–20 claims/100 policies), severity ($100K–$12M avg), peril mix (ransomware 15–40%)
  • Methodology page v2.1: 19 sections including backtesting validation, cat bond engine, vendor comparison (vs CyberCube, RMS, Guidewire Cyence), regional severity table

Reference

v1.0.3April 9, 2026

Version 1.0.3

Coverage Reinstatement & Excess Layer Pricing

Coverage Reinstatement (inspired by Marsh Cyber ECHO expansion, Apr 2026)

  • Free 1st reinstatement toggle — restores full policy limit after a claim, with hazard-group-based uplift factor (1.05x–1.15x)
  • Paid 2nd reinstatement toggle — adds a second reinstatement at a configurable pre-agreed rate (default 33% of annual premium)
  • Effective aggregate display showing total coverage with reinstatements (e.g. 3× $5M = $15M)
  • Reinstatement factor chips in premium breakdown (Reinst 1 uplift, Reinst 2 additional cost)
  • Risk Management Bursary badge for policies with premiums exceeding $1M
  • Reinstatement parameters included in saved scenarios for what-if comparisons

Excess Layer Pricing

  • Price excess layers above the primary policy using the ILF difference method (e.g. $10M xs $5M)
  • Attachment point and excess limit selectors — excess limits up to $200M (matching Marsh Cyber ECHO capacity)
  • Coverage tower table showing Primary + Excess + Total with per-layer ROL (Rate-on-Line)
  • Excess premium cards (6m, 1y, 2y) displayed alongside primary premium
  • Excess factor chip in premium breakdown showing additional cost and ROL percentage
  • Excess at alternative limit tiers grid ($5M to $200M) with ROL comparison

Reference

  • Marsh expanded its Cyber ECHO excess facility to $200M capacity and introduced free 1st reinstatement plus paid 2nd reinstatement options (Insurance Business Mag, Apr 8, 2026) — marsh.com/en/services/cyber-risk/expertise/cyber-echo.html
  • Addresses the well-known aggregate exhaustion gap where a single ransomware event can consume the entire policy limit
  • Excess layer pricing enables underwriters to model full coverage towers (primary + excess) in a single view
v1.0.2March 31, 2026

Version 1.0.2

Offline Mode & AI Copilot

Offline Mode

  • SQLite local database for offline persistence — create, edit, score, and delete custom companies without internet
  • Background sync engine with automatic retry — all offline changes push to the server when reconnected
  • Smart API response cache for faster loading and offline fallback
  • Portfolio page shows offline-created companies with 'pending sync' indicator
  • Offline banner with pending sync count and 'Sync now' button
  • Auto-refresh on reconnect — portfolio and data reload automatically when internet returns (10s polling)

AI Copilot

  • Floating AI Copilot panel (bottom-right) with chat interface and streaming token display
  • Supports both local LLM (Phi-3 Mini GGUF) and external providers (ChatGPT, Claude, DeepSeek)
  • Portfolio Q&A — ask questions about your portfolio in natural language ('What is my industry concentration?')
  • Quick actions: Risk Summary, Weak Scores, Concentration analysis
  • Real-time context injection — API responses are captured as you browse and fed to the LLM automatically
  • AI token counter in sidebar showing context size and session usage
  • Clear conversation button to reset chat history
  • Provider badge shows active LLM (Claude, ChatGPT, DeepSeek, Local, Disabled)
  • Status updates instantly when provider is changed — no restart needed

AI Auto-Fill for Custom Company

  • Upload up to 30 PDF broker submissions for automatic data extraction
  • Paste text mode for emails, proposals, and application forms
  • Full PDF text extraction via pdfjs-dist (digital PDFs, all pages)
  • 8-step schema mapping with field descriptions, enum values, and example output
  • Token estimation display before sending (content + prompt + total)
  • Works with all configured LLM providers (local and external)
  • Auto-populates all wizard steps: company profile, infrastructure, security controls, compliance, data handling, incidents

First-Launch Setup Wizard

  • 4-step guided setup: Offline Mode → AI Copilot → AI Provider → Installation
  • Progress bar with step indicators and animated transitions
  • Offline Mode step explains SQLite, Auto Sync, and API Cache with feature cards
  • AI Copilot step explains Portfolio Q&A and Document Auto-Fill
  • AI Provider selection: Local Model vs External LLM with SVG logos for OpenAI, Claude, DeepSeek
  • API key input with 'Load Models' button that fetches available models from the provider API
  • Model selector dropdown populated from the provider's model list
  • Rankiteo icon in wizard header (loaded from resources)
  • Maximize/restore and close buttons for window control
  • Real AI model download from HuggingFace (Phi-3 Mini 4K Instruct Q4_K_M, 2.3 GB)

Settings Menu

  • File → Offline Mode: enable/disable offline with status display (DB ready, pending sync count)
  • File → AI Copilot: configure/change/disable AI provider with model selection
  • Tabbed settings modal with Offline Mode and AI Copilot tabs
  • Enable/Disable buttons with confirmation dialogs
  • Changes apply immediately — copilot, banner, and sidebar update without restart
  • API key stored locally in encrypted SQLite database

Performance & Packaging

  • Installer reduced from 381 MB to 82 MB — heavy AI deps (node-llama-cpp GPU binaries) filtered by platform
  • node-llama-cpp bundled for Windows CPU only (78 MB vs 712 MB for all platforms)
  • pdfjs-dist, tesseract.js moved to on-demand download to keep installer small
  • ESM module compatibility for node-llama-cpp via dynamic import() workaround
  • Fresh context per LLM request — no more 'No sequences left' errors on consecutive queries
  • 8192 token context window for local model (doubled from 4096)
v1.0.0March 28, 2026

Version 1.0.0

Initial Release

Core Features

  • Split-view dashboard, Portfolio and Companies side by side with draggable divider
  • Premium estimation across 21 coverage lines with AI-generated underwriting summary
  • Catastrophe modeling with stress-test scenarios (cloud outage, ransomware, supply chain attack)
  • Submission triage with ACCEPT / REVIEW / DECLINE decisions and confidence scoring
  • Interactive supply chain graph with company logos, score overlays, and multi-depth mapping
  • Portfolio management with score tracking, tags, notes, and CSV export
  • Industry benchmarks and benchmark reports with peer comparison
  • Accumulation risk heatmaps and concentration analysis
  • Loss exceedance curves with Monte Carlo simulation
  • Claims correlation analytics
  • MCP AI tools: company risk summary, side-by-side comparison, exposure check
  • Lead generation with email drafting and LinkedIn outreach

Desktop Experience

  • Native Windows, macOS, and Linux application
  • Split-view panels with maximize/restore and page selector dropdowns
  • Collapsible sidebar with pin favorites (right-click to pin/unpin)
  • Dark mode support (Light / Dark / System, follows OS preference)
  • Global search with Ctrl+K spotlight (searches pages and companies)
  • Breadcrumb navigation with back/forward buttons
  • Print and PDF export from any page
  • Drag & drop CSV import to bulk-add companies to portfolio
  • System tray with quick-access menu and minimize-to-tray
  • Session persistence, remembers window position, size, and maximized state
  • Keyboard shortcuts: Ctrl+1/2/3 navigation, Ctrl+D dashboard, Ctrl+P print, Ctrl+Shift+R reinitialize
  • Native notifications for session timeout and tray events

Security & Access

  • Secure authentication via Rankiteo website (browser-based login flow)
  • Plan-based feature gating (Basic / Pro / Expert) with upgrade prompts
  • Guest demo mode with full feature preview using sample data
  • Encrypted token storage via OS-level secure storage
  • Session timeout detection with automatic re-login prompt

Installer

  • Windows NSIS installer with license agreement, directory selection, and auto-launch option
  • macOS DMG with Intel and Apple Silicon support
  • Linux AppImage for Ubuntu, Fedora, and Debian
  • Desktop and Start Menu shortcuts
  • Launch at Windows startup (optional, togglable from File menu)
  • Clean uninstall with registry cleanup