TempoLife › Features › Browser extension › privacy
Privacy
What a TempoLife extension would read, what would leave your browser and what would not — plus exactly what the bookmarklet sends, which is the only part that exists.
What it would and would not readBookmarklet: works todayChecked 2026-09-02
There is no TempoLife browser extension. It is not in the Chrome Web Store, not on addons.mozilla.org, and there is no unpacked build to sideload. Anything you find under that name is not ours. What is on this page is a description of what it would do, and a bookmarklet that does a useful slice of it today.
The part that exists: the bookmarklet
Everything about extension privacy below is conditional, because there is no extension. This part is not: the bookmarklet is real, and here is precisely what it does with your data.
| Question | Answer |
|---|---|
| What does it read? | The text currently selected on the page. Nothing else — not the URL, not the page content, not form fields. |
| What leaves your browser? | The selected text, as a query parameter in the URL of the new tab it opens. That is a normal HTTPS request to tempolife.app. |
| Is it tied to my account? | No. It sends no cookie and the endpoint requires no sign-in, so a lookup cannot be attributed to a TempoLife account. |
| Does it store anything? | No. No cookies, no localStorage, no IndexedDB, no state of any kind between clicks. |
| Does it load code from anywhere? | No. The entire program is the few hundred bytes printed on this page. |
| What does the server keep? | Ordinary web-server request logs, which include the query string. Select a food name, not a private sentence. |
Drag that button to your bookmarks bar. Do not click it here. This page sends a strict Content-Security-Policy that forbids inline script, so a click on this site is blocked by design — which is also a small demonstration that the page is not running it for you. Once the link lives in your bookmarks bar it runs against whatever page you are on instead.
What it does, in order
- Reads the text you have selected on the current page. Nothing else on the page is read.
- If you selected nothing, it asks you what to look up, pre-filled with an example.
- Collapses whitespace, trims, and cuts anything over 160 characters — the limit
/api/answerenforces, so a long selection returns an answer instead of an error. - Opens
https://tempolife.app/api/answer?q=…in a new tab withnoopener, so the new tab cannot reach back into the page you came from.
The source, in full
Read it before you install it. That is the point of a bookmarklet: it is small enough that you can.
javascript:(function () {
var q = '';
try {
q = String(window.getSelection ? window.getSelection() : '');
} catch (e) {
q = '';
}
q = q.replace(/\s+/g, ' ').trim();
if (!q) {
q = String(window.prompt('Ask TempoLife about a food', 'calories in banana') || '');
q = q.replace(/\s+/g, ' ').trim();
}
if (!q) { return; }
if (q.length > 160) { q = q.slice(0, 160); }
window.open('https://tempolife.app/api/answer?q=' + encodeURIComponent(q), '_blank', 'noopener');
})();There is no fetch, no XMLHttpRequest, no injected <script>, no cookie access, no localStorage, and no code loaded from anywhere. It reads a selection and opens a URL. The minified form in the link above is this and nothing more, percent-encoded so no quote or angle bracket ends up in an HTML attribute.
What it sends, and where
The text you selected is sent to tempolife.app in the URL of the new tab, because that is how a query parameter works. Select a food name, not a private sentence. The endpoint logs are ordinary web-server logs; nothing is attached to an account, because the bookmarklet sends no cookie and needs no sign-in.
Where it will not work
Sites with a strict Content-Security-Policy of their own can block bookmarklets — behaviour varies by browser and has changed more than once. Browser-internal pages such as chrome:// or about: never run one. And on mobile, bookmarks bars mostly do not exist; use the form below instead. When a bookmarklet fails it usually fails silently, so if nothing happens, that is why.
What an extension would and would not do
Extension privacy is decided almost entirely by the permission list, so the design constraints are worth writing down before the code exists rather than after.
| Would | Would not |
|---|---|
| Read the current page only after you click the button, using activeTab. | Run on every page you open. No all-sites access at install time. |
| Send ingredient names to the public food endpoint to resolve them. | Send the page URL, the page title, or the rest of the page content. |
| Store your unit preference in browser storage. | Store your browsing history, anywhere, for any reason. |
| Ask per site, the first time you use it there. | Include an analytics SDK. There is no third-party code in this design at all. |
| Ship its source readably to the Firefox reviewers. | Fetch logic after installation. Both stores forbid it and so does this design. |
One consequence is worth stating explicitly, because it is the part people usually want and cannot have both ways: an overlay that resolves ingredients has to send those ingredient names somewhere. That is the irreducible disclosure. It can be minimised — send the ingredient, not the recipe; send no cookie, so it is not linked to you — but it cannot be zero unless the whole food table ships inside the extension, which would be a multi-megabyte download that goes stale.
How to check any of this yourself
For the bookmarklet: read the source above, or edit the bookmark after you have saved it and read it there. For any extension, including a future one of ours, open your browser's network panel and watch what it sends while you use it. Claims on a privacy page are worth exactly as much as your ability to check them, which is the argument for keeping the useful thing small enough to audit in a minute.
The wider TempoLife privacy policy covers the account, the app and the website. This page covers only this surface. Where they disagree, the policy is authoritative — but they should not disagree, and if you find that they do, that is a bug worth reporting.
Frequently asked questions
What does the bookmarklet send?
Only the text you selected, as a query parameter to tempolife.app. No cookie, no page URL, no page content.
Can a lookup be linked to my account?
No. The endpoint needs no sign-in and the bookmarklet sends no cookie, so there is nothing to link it to.
Would the extension collect analytics?
No third-party code is in the design, including analytics. If that ever changed it would be a permission-visible change and it would be at the top of the changelog.
Source: TempoLife /api/answer endpoint — live, documented in the developer portal · checked 2026-09-02
Other pages
Chrome and Edge
Status, and what works today.
Firefox
Status, and what works today.
Changelog
Status, and what works today.
Extension overview · The API it would use · Embeddable widgets
The diary is the part that exists
Photograph a meal, get the macros, and watch the week rather than the plate. That is shipping today, in the app.