阅读导言
JingXi: Privacy-Centric Investment Analytics via Local-First Architecture
摘要
在数字经济时代,个人金融数据的保护已成为金融科技领域的核心命题。镜析(JingXi)作为一款面向个人投资者的专业分析工具,以"数据主权归用户"为核心理念,构建了业内领先的本地优先(Local-First)架构,从根本上重构了投资数据分析的隐私边界。本白皮书系统阐述镜析在数据处理架构、隐私计算技术、安全通信机制等方面的设计理念与实现路径,为用户理解产品隐私保护能力提供完整的技术视角。
1. 背景与命题
1.1 投资数据的敏感性与保护困境
投资对账单是投资者最敏感的个人金融资产档案。一份完整的券商对账单通常包含:
- 全量交易流水:买卖时点、成交价格、交易数量、手续费结构
- 实时持仓明细:标的名称、持仓成本、浮动盈亏、市值占比
- 资金流转轨迹:银证转账、分红派息、利息结算
- 账户身份标识:客户号、股东账号、资金账号
这些数据一旦脱离用户控制,即构成精准金融画像的全部要素,可能被用于:定向营销推送、投资行为分析、乃至更深层面的数据滥用。然而,当前市场上的主流投资分析工具普遍采用云端集中处理模式,用户不得不将包含完整资产信息的对账单上传至第三方服务器,隐私风险敞口极大。
1.2 传统云端模式的隐私悖论
| 维度 | 传统云端分析工具 | 镜析本地优先架构 |
|---|---|---|
| 数据流向 | 用户设备 → 云端服务器 → 返回结果 | 用户设备 → 本地处理 → 本地展示 |
| 原始文件留存 | 服务器长期存储用户原始对账单 | 原始文件仅在内存中瞬时读取,不落盘上传 |
| 解析结果存储 | 云端数据库存储结构化交易明细 | 仅本地加密存储,服务器无感知 |
| 网络依赖 | 解析过程必须联网,断网即不可用 | 解析完全离线,联网仅用于元数据同步 |
| 数据删除 | 依赖服务商承诺,用户无法验证 | 用户自主清除浏览器数据即可彻底销毁 |
| 第三方接触面 | 服务器运维、云服务商、可能的数据合作方 | 零第三方接触,数据全程不出设备 |
核心洞察:隐私保护不应建立在"信任承诺"之上,而应通过架构设计从根本上消除数据泄露的可能性。
2. 镜析本地优先架构(JingXi Local-First Architecture)
2.1 架构哲学
镜析的架构设计遵循隐私计算(Privacy-Preserving Computation)的三项基本原则:
原则一:数据不动,算法流动(Data Stays, Code Moves)
传统模式将数据上传至服务端进行处理;镜析反其道而行——将经过加密的计算模块下发至用户设备,在用户本地环境中完成全部数据处理。原始数据自始至终不会离开用户设备的可信执行边界。
原则二:最小信任假设(Minimal Trust Assumption)
系统不以"服务端可信"为前提假设。即使在极端场景下(如服务器被入侵、通信链路被窃听),攻击者也无法获取任何用户的对账单内容或交易明细,因为这些数据从未进入网络传输通道。
原则三:用户完全主权(User Data Sovereignty)
用户对自身数据拥有不可剥夺的完全控制权:随时查看、随时导出、随时销毁。不存在任何服务商保留的"后门副本"或"日志记录"。
2.2 分层架构总览
镜析的技术架构可抽象为五个垂直层次:
┌─────────────────────────────────────────────────────────────┐
│ Layer 5: 用户界面层 (Presentation Layer) │
│ · 可视化图表渲染 · 交互式诊断报告 · 数据导出接口 │
├─────────────────────────────────────────────────────────────┤
│ Layer 4: 本地分析引擎 (Local Analytics Engine) │
│ · 持仓盈亏计算 · 投资行为建模 · 多维度诊断指标 │
├─────────────────────────────────────────────────────────────┤
│ Layer 3: 数据持久化层 (Local Persistence Layer) │
│ · 加密数据库存储 · 会话级密钥管理 · 本地缓存策略 │
├─────────────────────────────────────────────────────────────┤
│ Layer 2: 文档解析引擎 (Document Parsing Engine) │
│ · 多格式文档识别 · 券商模板匹配 · 字段自动映射 │
├─────────────────────────────────────────────────────────────┤
│ Layer 1: 运行时环境 (Runtime Environment) │
│ · 浏览器沙箱容器 · Web Crypto API · 本地文件系统访问 │
└─────────────────────────────────────────────────────────────┘
│
▼ 唯一受控出口:仅传输非敏感元数据
┌─────────────────────────────────────────────────────────────┐
│ 服务端:券商模板库 / 行业分类字典 / 会员授权校验 │
└─────────────────────────────────────────────────────────────┘2.3 数据生命周期:从文件到洞察的全链路本地闭环
用户在镜析中完成一次完整的对账单分析,整个数据生命周期如下:
阶段一:文件摄入(File Ingestion)
用户通过浏览器文件选择器选取本地对账单文件(PDF 或 Excel 格式)。此时,文件仅由浏览器 File API 读取至内存,不会产生任何网络传输。文件选择是一个瞬时的本地操作,服务器对此完全无感知。
阶段二:格式识别与文档解析(Format Detection & Parsing)
镜析的文档解析引擎在用户设备的浏览器环境中运行,自动识别文件格式(PDF/Excel/CSV)、检测券商类型、匹配字段映射规则。解析过程完全在本地 CPU 上完成,提取出的结构化交易数据直接驻留于内存。
阶段三:数据加密与本地持久化(Encryption & Persistence)
解析得到的交易记录在写入本地存储前,首先通过 AES-256-GCM 认证加密算法进行加密。加密密钥基于用户当前会话在本地派生生成,采用 PBKDF2 密钥派生函数结合随机盐值,确保即使本地存储文件被物理获取,也无法在无明文密钥的情况下解密。
阶段四:本地分析与计算(Local Computation)
镜析的分析引擎在本地沙箱中执行全部计算任务,包括:基于先进先出(FIFO)原则的持仓成本计算、多维度盈亏分析、投资行为模式识别、行业分布统计等。所有中间计算结果同样仅存在于内存和加密本地存储中。
阶段五:结果渲染与展示(Result Rendering)
最终的分析结果在用户界面上以可视化图表和诊断报告的形式呈现。整个过程中,没有任何原始数据、中间计算值或分析结论离开用户的设备。
3. 隐私保护技术实现
3.1 浏览器原生安全沙箱
镜析的运行环境充分利用了现代浏览器提供的多层安全防护机制:
| 安全机制 | 保护作用 | 镜析的应用场景 |
|---|---|---|
| 同源策略(Same-Origin Policy) | 阻止跨域资源访问,隔离不同网站的本地存储 | 确保镜析的本地数据仅镜析页面可访问 |
| 内容安全策略(CSP) | 限制页面可加载的外部资源,防止 XSS 注入 | 禁止执行任何非授权脚本,防止第三方追踪 |
| Subresource Integrity | 验证加载的外部资源哈希,防止 CDN 劫持 | 确保从服务端获取的模块未被篡改 |
| Secure Context(HTTPS) | 启用 Web Crypto 等敏感 API 的前提条件 | 为本地加密功能提供基础安全上下文 |
| 进程隔离(Site Isolation) | 每个网站运行在独立浏览器进程中 | 防止其他恶意网页通过侧信道攻击窃取数据 |
3.2 本地存储加密体系
镜析采用分层加密策略保护本地存储数据:
第一层:传输加密(模块下发阶段)
核心分析模块从服务端下发至客户端时,采用基于会话的端到端加密机制。每个用户会话拥有独立的临时密钥,服务端在模块加密后即刻丢弃密钥副本,形成前向保密(Forward Secrecy)特性——即使未来服务端私钥泄露,历史会话的加密内容依然不可破解。
第二层:存储加密(本地持久化阶段)
用户交易数据在写入浏览器本地数据库(IndexedDB)前,使用 AES-256-GCM 算法加密。该算法同时提供机密性(数据不可读)和完整性(数据不可篡改)保护。加密密钥通过 PBKDF2-HMAC-SHA256 从用户会话令牌派生,迭代次数 100,000 次,有效抵抗暴力破解。
第三层:内存安全(运行阶段)
敏感数据在内存中以 JavaScript TypedArray 形式存在,不经过任何序列化日志或调试输出。分析完成后,敏感内存区域由垃圾回收机制自动清理,最大限度降低内存取证风险。
3.3 服务端最小化原则
镜析服务端的设计遵循"知道得越少,责任越轻"的安全哲学。服务端仅提供以下非敏感辅助服务:
| 服务类型 | 传输内容 | 数据敏感性 |
|---|---|---|
| 身份认证服务 | 手机号/密码的哈希校验 | 低(仅传输凭证哈希) |
| 券商模板更新 | 券商字段识别规则的元数据 | 无(通用格式模板) |
| 行业分类字典 | 股票代码与行业分类的映射表 | 无(公开数据) |
| 功能授权校验 | 会员等级与功能权限的对应关系 | 低(仅权限标识) |
服务端绝对不接触以下任何数据:对账单文件内容、交易明细、持仓信息、盈亏金额、用户资产总额。
4. 核心模块安全下发机制
4.1 设计动机
镜析的部分核心分析能力需要在保持技术保护的前提下向客户端交付。为此,我们设计了一套安全模块下发机制,在确保功能完整可用的同时,保护核心算法资产。
4.2 机制概述
核心模块以下发前加密、客户端解密、沙箱内执行的方式运行:
- 加密存储:核心模块在服务端以高强度加密形式静态存储
- 授权下发:仅通过身份验证与权限校验的合法用户可请求模块下发
- 会话绑定:下发内容使用会话级密钥加密,密钥生命周期与用户登录会话同步
- 沙箱执行:解密后的模块在浏览器受限执行环境中运行,仅暴露必要的白名单 API
- 内存驻留:模块执行后不留下持久化痕迹,刷新页面即重新拉取
这一机制在保护知识产权与保障用户隐私之间取得了平衡:服务端保护了核心算法,客户端确保了数据不出设备。
4.3 与传统 SaaS 的安全对比
传统 SaaS 模式: 镜析本地优先模式:
┌──────────┐ 原始对账单 ┌──────────┐
│ 用户设备 │ ───────────────────→ │ 用户设备 │
└──────────┘ └──────────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ 云端服务器│ ← 数据集中存储 │ 本地沙箱 │ ← 数据本地处理
│ (黑箱) │ 用户不可控 │ (透明) │ 用户完全可控
└──────────┘ └──────────┘5. 安全承诺与合规框架
5.1 不可触碰的红线
镜析团队向所有用户作出以下不可逾越的安全承诺:
| 承诺项 | 技术保障 | 违反后果 |
|---|---|---|
| 永不收集对账单原始内容 | 架构层面无上传通道 | 物理上不可能发生 |
| 永不收集解析后的交易明细 | 服务端无数据接收接口 | 技术上无法实现 |
| 永不将用户数据用于模型训练 | 数据从未进入服务端存储 | 无训练数据源 |
| 永不向第三方共享用户数据 | 数据从未离开用户设备 | 无数据可共享 |
| 服务端不保留任何用户金融数据副本 | 服务端仅存储非敏感元数据 | 即使服务器被攻破,攻击者也无法获取用户交易数据 |
5.2 用户数据权利清单
镜析赋予用户对其数据的完全主权,具体包括:
- 知情权:用户可随时查看已解析的全部交易记录与分析结果
- 导出权:支持将分析结果导出为标准 Excel 格式,便于本地备份与进一步处理
- 删除权:通过产品内的"清除全部数据"功能,或在浏览器设置中清除站点数据,即可彻底销毁本地存储
- 离线权:解析与历史分析查看功能支持完全离线使用
- 透明权:客户端数据处理逻辑完全透明,不存在隐藏的上传行为或追踪机制
5.3 最小权限与零追踪
镜析在产品设计中严格执行最小权限原则:
- 不请求任何超出功能必需的浏览器权限
- 不使用 Cookie 进行跨会话用户追踪
- 不集成任何第三方数据分析、广告追踪或行为监控 SDK
- 不记录用户的操作行为日志用于产品分析
6. 常见问题(FAQ)
Q1:镜析能否在完全离线的环境中使用?
核心解析与分析功能完全支持离线运行。首次加载页面和辅助数据(如券商模板、行业分类字典)需要网络连接。一旦加载完成,后续的对账单解析、历史记录查看、盈亏计算等全部操作均可在无网络环境下正常进行。
Q2:我的对账单文件在镜析系统中会被保留多久?
不会被保留任何时间。对账单文件仅在用户选择文件的瞬间由浏览器读取至内存,随即进入本地解析流程。文件本身及其内容不会上传至服务器,也不会在本地持久化存储——我们甚至不提供"保存原始文件"的选项,因为从设计之初就杜绝了这一可能性。
Q3:更换设备后,我之前解析的数据还能找回吗?
由于所有数据仅存储在本地,更换设备或清除浏览器数据后,已解析的交易记录需要重新导入对账单进行解析。我们建议用户在完成重要分析后,使用产品提供的导出功能将结果保存为 Excel 文件,以便跨设备查看。
Q4:镜析的开发团队能否看到我的投资收益情况?
完全不能。您的交易数据、持仓信息和盈亏计算结果仅存在于您设备上的加密本地存储中。这些数据从未通过网络传输到我们的服务器,因此我们的团队没有任何技术手段可以访问您的个人投资信息。
Q5:其他网站或浏览器插件能否读取镜析存储在我电脑上的数据?
不能。浏览器实施严格的同源策略(Same-Origin Policy)和存储分区(Storage Partitioning)机制,确保每个网站的本地数据完全隔离。其他网站、浏览器插件或本地应用程序均无法访问镜析存储的数据。此外,数据本身经过 AES-256-GCM 加密,即使通过极端手段绕过浏览器隔离获取到原始存储文件,也无法在无密钥情况下解密。
Q6:镜析的核心分析功能在本地运行,是否会降低分析精度或性能?
不会。镜析的本地分析引擎经过充分优化,在主流设备上可实现秒级解析、毫秒级计算响应。所有分析算法与云端版本完全等价,本地运行不等于功能降级,而是隐私级别的全面提升。
7. 结语
镜析相信,卓越的产品体验与极致的隐私保护并非对立关系,而是同一枚硬币的两面。通过本地优先架构的深度实践,我们将数据的控制权彻底交还给用户——这不是一项附加功能,而是产品的基石。
在金融数据安全形势日益复杂的今天,镜析愿以透明的架构、可验证的实现、不可违背的承诺,为每一位投资者提供一个值得信赖的分析环境。您的对账单,始终只属于您。
镜析团队
JingXi Product Team
白皮书版本:v1.0