本站是 ODERSA 的官方网站。如何确认这一点

官方域名

本站的网址以 odersa.org 结尾。协会的每一项服务都放在 odersa.org 的子域名下,别处一概没有。如果浏览器地址栏里的网址不是以 odersa.org 结尾,这个站点就不是我们的。

免费,也不用账号

所有内容一开始就全部开放:不用注册,不用账号,不用密码,不用订阅,也没有广告。没有什么是留给付费的人的,因为这里什么都不收费。

不收集任何数据

本站不跟踪您:没有跟踪代码,没有跟踪 cookie,这些页面里没有内嵌任何统计工具,也不在您的设备上测量任何东西。我们的主机会以汇总方式统计请求,就像任何会应答的服务器一样:只是一个总数,绝不是一份个人档案。您不必相信我们的话:打开浏览器的开发者工具,切到“网络”标签页,然后刷新页面。您会看到本站请求的完整清单。所有内容都来自 odersa.org,没有任何东西发往别处。

内容自由使用

内容以 CC BY 4.0 许可协议发布。您可以复制、翻译、打印并再分发,用于课堂或身边的人都可以,唯一的条件是署名 ODERSA。

可以核验,不只是声明

证据

本站声明,你输入的任何数据都不会离开你的设备。你不必相信我们:下面是你自己在三分钟内确认这件事的方法,用网络标签页、飞行模式,以及读一读源代码。

  • 三个测试
  • 三分钟
  • 不用装任何东西

为什么要核验,而不是相信

你将会亲眼确认的东西

每一页顶部的横幅承诺,除了 odersa.org 之外没有任何请求发往别处。一个无法核验的承诺仍然只是承诺。这一个可以核验:接下来的三个测试,除了你浏览器里已经有的东西,什么都不需要。

说明

下面有三个测试:计算过程中的网络标签页、输入途中打开飞行模式、读一读做计算的那段代码。按顺序做或者打乱顺序做都行。用电脑比用手机方便:浏览器的开发者工具在电脑上更容易打开。

第一个测试

计算过程中的网络标签页

这个测试展示的是:就在你把一个数字敲进计算器的那一刻,有什么东西会离开你的设备。

  • 打开一个计算器。比如一笔贷款的成本,然后打开浏览器的开发者工具(在页面上右键,或者在电脑上按 F12),切到网络标签页。
  • 刷新页面一次。列表会填满:页面、样式表、字体、脚本。如果你的浏览器提供清空按钮,就清空它;不提供就原样放着。
  • 把各个格子填上。连着改几次金额、利率、期限。看着结果在你眼前更新,每敲一下就更新一次。
  • 确认。你打字的整个过程里,列表里不会新增任何一行。结果在变,请求列表不变。

也看一看标明每个请求方法的那一列:全部是 GET,也就是索取一个文件的那种方法。没有一个是 POST,也就是发出内容的那种:连“计算”按钮都造不出一个来,因为代码阻止了表单按常规提交,而是自己在本地完成计算。最初一次加载时看到的那几个请求并不构成矛盾:那是本站的文件下行到你的设备上以便显示,随后被留在缓存里以便无网络时使用。一份下行的副本,不是一份上行的数据。

第二个测试

输入途中打开飞行模式

这个测试直接拿掉发送任何东西的可能性,然后看计算器是否照样能用。

  • 正常联网打开一个计算器。先敲一个数字,记下显示的结果。
  • 断开所有连接。飞行模式,或者把无线网和移动数据一起关掉。
  • 改数字。换一个金额、换一个利率、换一个期限,全程不要重新联网。
  • 确认。结果立刻更新,和之前完全一样,一格网络信号都没有。

如果这个计算依赖某处的一台服务器,断网就会让它无法回应。而这里什么都不用等,因为什么都没出去:这道加法用的是你自己设备的资源,不是一台远端服务器的资源。离线能力对一整页意味着什么、在没有无线网的教室里或者打印时意味着什么,说明在离线用,也能打印:在这里,只有它对你自己的数字所证明的那一点算数。

第三个测试

读一读做计算的那段代码

前两个测试展示的是一个结果。这一个展示的是原因:本站完全静态,它的代码既没有被编译,也没有被压缩到读不懂,没有任何东西阻止你去读它。

  • 打开 /assets/js/calculateurs.js。直接访问这个地址,或者通过开发者工具的源代码标签页。它就是让每个计算器跑起来的那个文件。
  • 读它的文件头。它用法语明明白白地写着,它既不知道什么请求,也不知道什么存储。
  • 往下看那些函数。以各个计算器命名的那些函数(预算、贷款、利息、保险、承诺)只对收到的数字做算术运算,然后把结果返回。别的什么都没有。
  • 自己动手试试。在开发者工具的控制台里输入 CalculsODERSA 并回车:这些函数会出现,可以直接调用。没有任何东西藏在别处。

还有第二个文件让网站的其余部分跑起来:/assets/js/socle.js。读它的时候,你会看到里面真的用到了 localStorage,也就是浏览器的存储空间。这不是矛盾,而且与其让人毫无解释地自己发现,不如在这里说明:这处存储只保存你的显示偏好(主题、文字大小、间距、对比度、链接下划线、减少动画),存在一个以本服务名称命名的键下面。任何金额、任何债务、任何收入都从不经过它:计算器就在前一个文件里,而只有它接触你的数字。

第三个文件 /sw.js 在后台工作,独立于页面,负责离线能力。它把本站的页面和文件复制一份存进浏览器的一个空间里,以便在没有网络时重新提供给你。预先缓存并从这个缓存提供内容,不是发送数据:它是相反方向的动作,一份下行到你设备上的副本,从来不是一份从设备上离开的内容。这套机制的细节在离线用,也能打印。

这三个文件都没有被任何构建步骤压缩或打乱:你读到的文件,正是你的浏览器执行的那个文件,连法语注释都在。本站既不认识账号也不认识数据库:所以每个文件只存在一个版本,对你和对任何其他读者都是同一个。

把界限说清楚

这些测试证明不了什么

  • 它们展示的是在你浏览器里、在你眼前执行的代码。不多也不少:这既不是一次审计,也不是一份认证。
  • 它们对技术托管什么都没说。和互联网上任何一个打开的地址一样,一台服务器可以记录一些基础信息:被请求的地址和时间。这对所有网站都成立,不是本站独有的,而这三个测试都无法从浏览器里确认或排除这一点。
  • 这一点不改变已被证明的东西。填进计算器的一个金额、一笔债务、一笔收入,从来不会被放进一个请求里:所以任何地方都没有东西可记录,这里没有,别处也没有。
  • 代码可能会变。本站会随时间被更正和补充。你随时可以重做这个测试:它只要三分钟,而且对所有人都是同一套。
谁都可以写下“没有任何数据离开你的设备”。这一页给你三分钟,让你不必相信我们,自己去核验。

如果某个测试的过程和这里描述的不一样,或者代码自这几行写下以来变了,请报告给我们:这是可以改的。

内容更新至 。

想再往前一步:离线与打印的细节在离线用,也能打印;本站能用数字证明什么在/data/impact.json;这门课本身怎么写、怎么核实在方法。