People, not bots
Headless Chrome runs JavaScript and beacons exactly like a person, and the dashboard counts it as a visitor. Almanac splits human page loads from automation on every site and every day, and shows both, people first.
Cloudflare deletes your real-user data after seven days. Almanac writes down your web vitals, App Store downloads and Stripe payments every day, keeps them in your private iCloud, and tells you why any number is missing.
Past retention, Cloudflare answers from a one-in-ten sample, and a quiet site returns
zero rows, not fewer. The response still says
success: true. Almanac collects every day
while the data still exists, so the history is there when you need it.
The same account, collected daily and kept. Two identical requests minutes apart can land on either side of the boundary, so Almanac queries an hour inside it and refuses to write an estimate into the record.
What the dashboard can answer today. Everything older than the retention window is gone: not sparse, not estimated, gone. Measured on one quiet site: 5 page loads readable at seven days, 0 at eight.
Almanac writes a day down once it is final for that source, by rules that refuse estimates. Each source keeps its own name and its own units; nothing is blended into one number that none of them would recognise.
The vendor Deletes unsampled real-user data after seven days.
The vendor A first request reaches back about 120 days. The days before were never yours to fetch.
The vendor Keeps every transaction, and never adds up a day for you.
A history is only worth keeping if you can trust it. So Almanac never passes a gap off as a zero, never counts a headless browser as a person, and puts a reason behind every dash.
Headless Chrome runs JavaScript and beacons exactly like a person, and the dashboard counts it as a visitor. Almanac splits human page loads from automation on every site and every day, and shows both, people first.
A coverage strip marks each day collected, silent, refused or missed. Charts break at a gap instead of drawing across it, and sampled responses arrive as one quiet sentence, not a number you would mistake for a measurement.
With seven days of retention, eight days away is a permanent hole, so something has to keep running. Almanac stays in the menu bar with its window closed, collects on launch and every six hours, and can start at login.
Every site in the account in one table, with a health badge you can sort worst first. Open a badge to see which metric earned it.
A built-in MCP server on the Mac lets any MCP client query the history you have kept, read-only unless you allow more. Every number it hands over says where it came from.
CSV or JSON of everything you can see, with the collection record beside the rows so a gap in the file stays readable. Export is never locked.
Almanac on iPhone and iPad shows the history your Mac keeps, synced through your private iCloud database, and collects whenever you open it. Connect Cloudflare, App Store Connect or Stripe from either. The Mac is the one to keep running: it collects on its own.
Every one of these was measured against a live Cloudflare account. Each returns an ordinary success carrying less than the truth, which is why they are encoded in Almanac instead of being rediscovered by you.
Two identical calls minutes apart: 20 unsampled rows, then 4 rows at one-in-ten with every bot row gone and counts rounded to tens. Both ordinary successes. Almanac queries an hour inside the boundary and records the sampling it was given.
Every other timing is in microseconds. Dividing CLS by a million turns a genuinely poor 0.44 into a perfect-looking 0.0004: a bug that makes a broken page look flawless.
Zero means too few samples to compute; minus one means the metric was never recorded. Both are a dash, never a number, and Almanac tells you which kind of dash it is.
Truncation happens after sorting by volume, so what falls off is the quietest site on the quietest day. Measured: a capped query reported 39 page loads where the truth was 101, with no error.
One row measured count 10, LCP total 9, INP total 1. Any “N of M were good” has to divide by the metric’s own total, or a site with one interaction reads as ten.
Almanac collects no data about you. There is nothing of ours in the path between your device and your vendors. Read the privacy policy.
Pro gates the view, never the record. Nothing is hidden in the free tier, only shortened, so the upgrade shows you history you already own.
A real product, not a trial. Collection runs for everyone from the day you install, whether or not you ever pay.
Everything Almanac has kept, for every site, app and product, as far back as it goes. Those days are waiting when you upgrade, because they were collected all along.
The ones we get most. If yours isn't here, write to us.
Because nobody kept it. Cloudflare deletes unsampled Web Analytics data after seven days, and App Store Connect reaches back about 120 days on a first request. Almanac starts keeping from the day you install it and never lets go, so the history grows every day it runs. Anything older than what each vendor still serves is gone for everyone.
No. Almanac has no server and no account of its own. Every request goes straight from your device to Cloudflare, Apple or Stripe, your keys live in the Keychain, and your history stays on your devices and in your private iCloud database.
Almanac refuses a secret key, because a secret key can move money. A live restricted key with read permissions is enough. A key without the Checkout permission still collects your payments; only the checkout funnel is left out.
Yes, always. Collection runs for everyone from the day you install. The free tier shows the full live portfolio and the last 30 days of history for one subject per source; Pro shows everything that was kept, for every subject, as far back as it goes.
Nothing, as long as it runs again within six days. Every run re-reads every day Cloudflare still serves, so one run in any six-day span keeps the history gapless, and a Mac asleep over a weekend loses nothing. Longer than that leaves a gap, and Almanac marks it as a gap rather than drawing it as a zero. iPhone and iPad collect whenever you open them, too.
Yes. Almanac Pro is a one-time purchase that unlocks on Mac, iPhone and iPad signed in to the same Apple ID. There is no subscription.
Yes, and it is never locked. Export CSV or JSON of everything you can see, with the collection record alongside so a gap in the file stays readable. On the Mac, a built-in MCP server also lets an MCP client on the same machine read your history.
No. Almanac is an independent app by Magenta Creations, not affiliated with Cloudflare, Apple or Stripe. It needs a Cloudflare account with Web Analytics enabled to read web vitals.
Two more native Mac apps for your Cloudflare account.
Browse, query and edit Cloudflare D1 databases and local SQLite files in a native Mac client, instead of the wrangler CLI or the dashboard.
Browse, upload and manage Cloudflare R2 and any S3-compatible storage from a sandboxed, Keychain-secured Mac app.
Almanac can only keep what the vendors still hold, so the history starts the day you install it. Free to download, with a one-time $5.99 Pro unlock for everything it has kept.