gottrix 的安全性
gottrix.app 100% 在你的浏览器本地处理文件:转换代码无法访问任何外部服务器(由 Content-Security-Policy 强制实现),因此上传在技术上是不可能的。传输通过 TLS 1.2/1.3 配合 HSTS(2 年)、完整的安全响应头集合以及位于德国的 Hetzner 托管来完成。本页面的每一项主张你都可以自行验证。
零上传架构:通过消除实现安全
常见的在线转换工具会把你的文件上传到服务器,在那里处理后再把结果发回 - 这每一步都是攻击面。gottrix 彻底消除了这个关键步骤:引擎(用于图片、PDF、音频、视频等)以 WebAssembly 形式直接在你的浏览器中运行。从未传输的内容无法在途中被拦截,无法从任何服务器泄露,也无法被任何人索取。
这不是靠政策,而是靠架构来强制实现的,分为两个严格分离的区域:接触你文件字节的代码(引擎和 Web Worker)通过 Content-Security-Policy 被限制在自身来源内,且不包含任何网络调用 - 每次构建都会有自动化测试验证这一点。从不查看你文件的页面层,只能访问一份有据可查的分析白名单。
- 引擎和 Worker:0 个网络原语,无外部来源 - 每次构建都进行静态检查。
- 页面层:外部请求仅限于有据可查的分析白名单,绝不涉及文件字节。
- 没有上传备选方案:如果本地处理失败,你会收到一条诚实的错误信息 - 绝不会转而经由服务器处理。
- 离线证明:首次访问后,工具在飞行模式下仍能继续工作 - 这是没有任何内容被发送的最有力证据。
传输:TLS 与 HSTS
网站仅通过 HTTPS 提供服务 - 使用 TLS 1.2 和 1.3,配合现代加密套件及自动管理的证书。HTTP 严格传输安全(HSTS)设置为 max-age=63072000(2 年),并包含所有子域名:浏览器由此会在此后每次访问时自行强制使用 HTTPS。需要说明的是:你的文件内容从不经过这个连接,因为它们从不离开你的设备 - 传输加密保护的是网站本身的传输。
HTTP 安全响应头
服务器的每个响应都携带一套完整的安全响应头。这些值是配置,而非愿望:只要有一项缺失或不一致,自动化测试就会中止该次部署。
| 响应头及值 | 作用 |
|---|---|
| Strict-Transport-Security: max-age=63072000; includeSubDomains | 强制 HTTPS 持续 2 年,包括所有子域名。 |
| X-Frame-Options: DENY | 禁止在外部框架中嵌入本网站(防点击劫持,并通过 CSP 中的 frame-ancestors 双重保障)。 |
| X-Content-Type-Options: nosniff | 防止浏览器猜测内容类型并将文件作为脚本执行。 |
| Referrer-Policy: strict-origin-when-cross-origin | 向外部网站最多只传递来源,绝不传递完整 URL。 |
| Permissions-Policy: camera=(), microphone=(), geolocation=(), usb=(), ... | 禁用网站不需要的 12 个设备和传感器 API(摄像头、麦克风、位置、USB 等);仅全屏模式仍对自身来源开放。 |
| Cross-Origin-Opener-Policy: same-origin | 将浏览器窗口与打开它的外部网站隔离。 |
完整的 Content-Security-Policy
CSP 是零上传保证背后的技术锁。它由单一源文件生成,并在此处从该同一来源实时渲染 - 全部 15 条指令,未经删减:
default-src 'self'script-src 'self' 'wasm-unsafe-eval' 'sha256-CV3S3HJKkjkhiOy3jcZlYxFFZn1MxVO6SmmGkiwHFBA=' https://www.googletagmanager.com https://challenges.cloudflare.comstyle-src 'self' 'unsafe-inline'img-src 'self' data: blob: https://www.google-analytics.com https://*.google-analytics.com https://www.googletagmanager.commedia-src 'self' blob:font-src 'self'connect-src 'self' https://www.google-analytics.com https://*.google-analytics.com https://www.googletagmanager.comworker-src 'self' blob:frame-src 'self' blob: https://challenges.cloudflare.comchild-src 'self' blob:object-src 'none'base-uri 'none'form-action 'self'frame-ancestors 'none'upgrade-insecure-requests
Google CSP Evaluator(检查日期:2026-07-09):0 项高严重性发现。除自身来源外,connect-src 仅允许页面层有据可查的分析白名单 - 只有元数据,绝无文件内容。
独立验证
三项外部审查已确定计划,并将在公开上线时针对实际运行域名执行:SSL Labs(TLS 配置)、Mozilla Observatory(HTTP 安全态势)以及 securityheaders.com(响应头完整性)。结果只有在扫描实际执行后才会展示并附上链接 - gottrix 原则上不展示未经验证的标志或评分,每次构建的自动化测试都会强制执行这一点。
托管与数据所在地
源服务器由 Hetzner Online GmbH 在德国运营,受 GDPR 约束。服务器上只存放静态网站:没有用户账户,没有文件内容,没有内容数据库。服务器日志仅包含技术上必需的访问数据,且保留期很短;我们与 Hetzner 签有数据处理协议。由于文件处理在你的浏览器中本地进行,你的文件内容无论如何都不会到达这个所在地。
统计与同意
匿名使用统计(配合 Consent Mode v2 Advanced 的 Google Analytics 4)在启动时所有信号都默认为拒绝:未经你的同意,不会设置任何统计 Cookie,也不会创建任何标识符。在你同意后,最多只会测量页面浏览量以及所使用工具的标识符 - 绝不涉及文件名、文件大小或文件内容。所有详情和法律依据均见于隐私政策。
关于安全性的常见问题
gottrix.app 安全吗?
它的安全性基于架构而非承诺:文件仅在你的浏览器中本地处理,绝不会传输到任何服务器 - 严格的 Content-Security-Policy 禁止转换代码建立任何外部连接。此外还有配合 HSTS 的 TLS 1.2/1.3、完整的安全响应头集合以及德国的托管服务。以上每一点你都可以在源代码、网络面板或通过飞行模式测试自行验证。
我的文件会被上传或存储在某处吗?
不会。转换完全在你的浏览器内存中进行;不存在任何上传端点,也不存在针对文件内容的服务器端存储。Content-Security-Policy 拒绝引擎和 Worker 代码与任何外部服务器建立连接,每次构建都有自动化测试对此进行验证。关闭标签页,数据就会消失 - 服务器端没有任何需要删除的内容。
gottrix.app 使用什么加密方式?
网站仅通过 HTTPS 提供服务,使用配合现代加密套件的 TLS 1.2 和 1.3;HSTS 强制 HTTPS 持续两年,包括子域名。你的文件内容本身不会经过任何连接,因为它们从不离开你的设备 - 传输加密保护的是网站的传输,以及基于同意的可选使用元数据。
服务器托管在哪里?
源服务器由 Hetzner Online GmbH 在德国运营,受 GDPR 约束。服务器上只存放静态网站:没有用户账户,没有文件内容,没有内容数据库。由于处理在你的浏览器中本地进行,服务器所在地对你的文件内容而言无关紧要 - 它们从不会到达那里。
我如何自行验证这些安全性声明?
有三种无需专业知识的方法:飞行模式测试(打开一个工具,断开网络,进行转换 - 依然可以运行)、开发者工具的网络面板(F12:转换过程中没有任何文件请求),以及任何浏览器都能显示的响应头。分步指南见于验证页面;公开上线时还会加入 SSL Labs、Mozilla Observatory 和 securityheaders.com 的外部扫描结果。
gottrix 究竟收集哪些数据?
在未经你同意的情况下:没有统计 Cookie,也没有任何标识符,仅有技术上必需、保留期很短的服务器日志。在你同意后,Google Analytics 4 会测量聚合使用情况,例如页面浏览量和所使用工具的标识符;文件名、文件大小和文件内容绝不会被记录。完整的法律依据以及如何撤回同意,均见于隐私政策。