Checkable, not just stated
The proof
This site states that no data you type leaves your device. You do not have to take our word for it: here is how to satisfy yourself, in three minutes, with the Network tab, aeroplane mode and a reading of the source code.
- Three tests
- Three minutes
- Nothing to install
Why check rather than believe
What you are going to see for yourself
The banner at the top of every page promises that no request goes anywhere other than odersa.org. A promise that cannot be checked stays a promise. This one can be checked: the three tests that follow need nothing beyond what is already in your browser.
Three tests follow: the Network tab during a calculation, aeroplane mode in the middle of typing, and a reading of the code that calculates. Do them in order or out of order. A computer suits this better than a phone: a browser’s developer tools open more easily there.
First test
The Network tab, during a calculation
This test shows what leaves your device, at the very moment you type a figure into a calculator.
- Open a calculator. For instance the cost of a loan, then your browser’s developer tools (right click on the page, or the F12 key on a computer), Network tab.
- Reload the page once. The list fills up: the page, the style sheets, the fonts, the scripts. Clear it if your browser offers to, otherwise leave it as it is.
- Fill in the fields. Change the amount, the rate, the term, several times over. Watch the result update in front of you, at every keystroke.
- See for yourself. No line is added to the list while you type. The result changes, the list of requests does not.
Look at the column showing the method of each request as well: they are all GET, the method that asks for a file. None is a POST, the one that sends a file: even the Calculate button cannot create one, because the code stops the form from submitting normally and does the calculation itself instead. The few requests you see on the very first load contradict nothing: those are the files of the site coming down to your device to be displayed, then kept in cache so it works offline. A copy coming down is not data going back up.
Second test
Aeroplane mode, in the middle of typing
This test removes any possibility of sending anything at all, then looks at whether the calculator still works.
- Open a calculator normally, connected. Type a first figure, note the result shown.
- Cut off every connection. Aeroplane mode, or wifi and mobile data both switched off.
- Change the figures. Another amount, another rate, another term, without reconnecting anything.
- See for yourself. The result updates immediately, exactly as before, without a single bar of network.
If this calculation depended on a server somewhere, cutting the network would stop it answering. Here nothing is waiting, because nothing goes out: the sum is done with the resources of your own device, not those of a distant server. What working offline makes possible for a whole page, in a room with no wifi or for printing, is explained on Offline and on paper: here, only what it proves about your own figures counts.
Third test
Reading the code that calculates
The first two tests show an effect. This one shows the cause: this site is entirely static, its code is neither compiled nor reduced to illegibility, and nothing stops you reading it.
- Open
/assets/js/calculateurs.js. Straight at that address, or through the Sources tab of the developer tools. That is the file that runs every calculator. - Read its header. It states, in French and in plain language, that it knows nothing of requests or of storage.
- Go down into the functions. The ones carrying the name of each calculator (budget, loan, interest, insurance, promise) do nothing but arithmetic on the figures they receive, and return them. Nothing else.
- Try it yourself. In the Console of the developer tools, type
CalculsODERSAand press enter: those same functions appear, callable directly. Nothing is hidden anywhere else.
A second file runs the rest of the site: /assets/js/socle.js. Reading it, you will find a genuine use of localStorage, the browser’s storage space. That is not a contradiction, and it is better said here than left to be discovered without explanation: that storage holds your display preferences only (the theme, the text size, the spacing, the contrast, the underlining of links, the reduction of motion), under a single key named after the service. No amount, no debt, no income ever passes through it: the calculators live in the previous file, and it alone handles your figures.
A third file, /sw.js, works in the background, independently of the page, for offline use. It stores a copy of the pages and files of the site in a space in the browser, to serve them again with no network. Precaching and serving from that cache is not sending data: it is the opposite movement, a copy coming down to your device, never content going back out. The detail of that mechanism is on Offline and on paper.
None of those three files is minified or scrambled by a build step: the file you read is exactly the one your browser runs, French comments included. This site knows neither accounts nor a database: there is therefore only one version of each file, the same for you as for any other reader.
The limits, said plainly
What these tests do not prove
- They show the code running in your browser, in front of you. Nothing more, nothing less: this is neither an audit nor a certification.
- They say nothing about the technical hosting. As with any address opened on the internet, a server may log basic information: the address requested and the time. That is true of every site, it is not specific to this one, and none of these three tests confirms or rules it out from a browser.
- That changes nothing about what is proved. An amount, a debt or an income typed into a calculator is never put into a request: there is therefore nothing to log anywhere, here or elsewhere.
- The code can change. This site is corrected and extended over time. Redo the test whenever you like: it takes three minutes, and it stays the same for everyone.
Anyone can write “no data leaves your device”. This page gives you three minutes to check it yourself, without believing us.
If a test does not go as described here, or if the code has changed since these lines, tell us: it gets corrected.
Content up to date as of .
To go further: the detail of offline use and printing is on Offline and on paper, what this site can prove in numbers is on /data/impact.json, and how the course itself is written and checked is on Our method.