Privacy Policy

Last updated: 13 August 2026

Ed Fringe Guide is a small, unofficial Edinburgh Fringe comedy guide. This policy explains what information we collect, why we collect it, and how to contact us.

What We Collect

If you browse the site without logging in, we collect very little directly. Our hosting provider may process technical information such as IP address, browser details, device information, pages requested, and timestamps so the site can be delivered, protected, and monitored.

If you create an account, we store your email address, a password hash, session information, saved shows, seen shows, and any planned or booked show statuses you choose to add. If you sign in with Google instead, we store your email address and your Google account identifier — we never see your Google password.

If you save a show without an account, we create a temporary guest profile — a database record plus a cookie in your browser — so your saves survive between visits. Guest profiles unused for 90 days are deleted automatically, and if you later register or log in, your guest saves are merged into your account.

If you use location features, your browser may ask for your location so the site can sort venues or shows near you. We use that in your browser for the feature and do not intentionally store your precise location in our database.

Some preferences — such as accessibility needs and show filters — are stored only in your browser and are never sent to us.

Why We Use It

We use this information to run the site, provide accounts and saved-show features, prevent abuse, understand whether the site is working, and respond when you contact us.

Usage Analytics

To understand how the site is used and improve it, we record activity events such as pages viewed, shows opened, saves, bookings, searches, and when shared plan links are opened. Each event is tagged with coarse context — your country, device type (mobile, tablet, or desktop), the family of browser (such as Safari or Chrome) and operating system (such as iOS or Windows) you used, and the site that referred you — plus a randomised session identifier. We record the family only, never the version and never the full browser identification string.

When you use the search box, we store what you typed alongside that event, so we can see what people are looking for and fix searches that come back empty. Please do not type anything private into it.

The session identifier is a random value kept in a cookie named __aid. It is not derived from anything about you, is never linked to your name or email, expires 90 days after your last visit, and exists only so that repeat activity from one browser can be counted once rather than as many separate people. Alongside it the cookie stores the date this browser was first seen — a date and nothing else — which is how we count first-time against returning visits without needing to know anything more about you.

We group visits by where they came from — a search engine, an AI assistant, a social network, an email link, another website, or none of those. That grouping is worked out from the referring site’s hostname, which we already record. If a link you followed carried campaign tags (utm_source, utm_medium, utm_campaign, or an advertising click parameter), we record those tag values for the first three and, for advertising parameters, only which one was present and never its value — that value identifies a single click, and the name alone tells us what we need. No other part of the web address you arrived on, including anything after a ?, is stored.

We also record when a visit starts and ends, which pathname it began on, whether it became engaged, how many pages it covered, roughly how long the page was actually in front of you, and how far down a page you read (in quarters, never a precise position). This lets us calculate aggregate bounce rates by landing page. A pathname never includes anything after a ? or #. These are counts about the visit, not about you, and they carry the same randomised identifier as everything above.

We do not store your IP address or precise location. Where we need to tell whether repeat activity comes from the same visitor (for example, counting how many people opened a shared plan), we use a one-way hash — never the raw address. This data is pseudonymous, used only in aggregate, and deleted on the 90-day schedule below.

The Developer Interfaces

We publish the programme through two machine-readable interfaces: an MCP server that connects the guide to AI assistants such as Claude or ChatGPT, and a public JSON API. Both are described at /developers. Both are read-only, and both serve the same public programme data you can see on this site — no account data, no saved shows, no plans.

They are anonymous by design. Neither reads your cookies nor asks for a login, so a request through them is not connected to any account, and connecting an assistant to this guide does not give it access to anything of yours here.

We record which tool or endpoint was called, whether it failed, how large the answer was, the visitor’s country, a broad software family (such as curl, Postman or a browser), and the referring site’s hostname when the caller sends one. We also record which filters were used — that someone searched by venue, or by price — but never what they searched for. Unlike the site’s own search box described above, free-text terms sent to these interfaces are never recorded at all. When an assistant connects, we record the name and version of that software (for example “claude-ai”), the negotiated MCP protocol version, and the names of the capabilities it declares. Capability contents are not retained. This tells us which clients and protocol features are in use without identifying the person behind them. No IP address and no user identifier are stored against any of this.

Rate Limiting

To stop one script from crowding out everyone else, we count recent requests per network address. That counter lives in short-lived storage and expires within a minute; it is never written to our database, never joined to your account or analytics, and is used for nothing but the count.

How Long We Keep It

Individual activity records — including the session identifier, the hashed address and anything you typed into the search box — are kept for 90 days and then deleted. That covers both halves of our analytics: our own database, which we sweep on a schedule, and our analytics provider, which deletes automatically after three months. The developer-interface records above are on the same 90-day clock.

Before those records are deleted we roll them up into daily totals — how many people used the site, how many visits arrived and from where, how many pages each covered, how many views and saves each show received, which sites sent visitors — and we keep those indefinitely, so one year’s festival can be compared with the next. The totals contain no session identifier, no hashed address, no account identifier and no search text. They are counts, and they identify nobody.

Account data, saved shows and planned shows are kept until you ask us to delete them. If you do, we remove your account together with its saved and planned shows; any remaining activity records that mention it fall off on the 90-day schedule above, and the daily totals that outlive them identify no one.

Sharing And Third Parties

We do not sell your personal information. We use service providers such as hosting, database, security, analytics, email, and external ticket/support links where needed to run the site. Those providers may process data according to their own policies.

Links to ticket pages, support pages, or other external sites take you away from Ed Fringe Guide. Their privacy practices are their own.

Your Choices

You can choose not to create an account, not to use location features, and not to follow external links. You can contact us to ask about your account data, request deletion, or raise a privacy question.

You can also switch analytics off completely for a device: visit /events/optout and nothing from that browser is recorded at all — not a pageview, not a click, not a search. The setting is stored in that browser and lasts until you clear its cookies. To turn it back on, visit /events/optout?on=0.

Contact: anotherfringeguide@gmail.com