Terms and privacy
The whole of it, in plain words. Nothing here is written to be skimmed past.
What pkevnts is
A map of events happening in Islamabad, Lahore and Karachi. Listings are read automatically from public posts — mostly Instagram — by a program, not by a person. Nobody involved in running an event has to know this site exists for their event to end up on it.
It is free, there is nothing to sign up for, and there are no adverts. You can use the whole site without giving us anything.
What we store about you
We count pageviews ourselves, into our own database. Here is every field, and there is nothing else:
| Which page | The route you opened — /e/[id] rather than the exact URL — and, on an event page, which event. |
|---|---|
| A random browser id | A random number stored in your browser under pk_visitor. It survives closing the tab. This is the one thing here that could be called tracking, and it is what lets us count people rather than tabs. It is not derived from anything about you, it does not follow you to another browser or device, and clearing your site data ends it for good. |
| A random tab id | A second random number that is forgotten the moment you close the tab. It tells one person opening six events apart from six people opening one. |
| How long the page was open | Counted only while the tab is actually in front of you. It tells us whether a page was read or bounced off. |
| Which site sent you | The hostname only — instagram.com, never the full link, which can carry search terms and private query strings. |
| Phone, tablet or desktop | Worked out from your window width. Not your device model, not your browser’s user agent string. |
| Campaign tags | If you arrived through a link we tagged with utm_source and friends, those tags. |
What we do not store
- Your IP address. Not stored, not logged by us, not resolved to a location, and never written to the database beside anything else on this page. It is read on the way in and held in the server’s memory for up to a minute, only to count how many requests are arriving from one place so that a script cannot flood this counter with invented views. That count is a number per address and nothing else — no page, no event, no session — it is never joined to any of the rows above, and it is gone when the minute passes or the server restarts, whichever comes first.
- Your user agent string. It is read once, only to spot search engine crawlers so they are not counted as people, and then discarded.
- Your name, email or any account. There is no account. The one exception is the email digest, below — and only if you are on it.
- Cookies. The site sets none for visitors.
- Anything you type. Filters, searches and the city you pick never leave your browser. The one exception is the one-time question, below, and only what you write there and choose to send.
Switch it off
This is a real switch, not a preference we promise to respect. It stops the request being made at all.
If your browser sends Global Privacy Control, we honour it automatically and you are already opted out.
A tap on a sponsor’s tack on the map, and a tap on the link inside it once it opens, are counted exactly like a pageview — the same visitor and session ids, behind the same switch. That is what lets a sponsor be told how many people opened their tack. Turning counting off above turns this off too. After ninety days the ids come off a tap the same way a pageview is deleted; what stays is only that a tack was opened on that day, so a sponsor’s total still adds up.
How long it is kept
90 days, then deleted permanently by a scheduled job. Not archived — deleted.
Vercel Analytics
The site also runs Vercel Analytics, which is our hosting provider’s own counter. It exists as a cross-check: if our counting breaks, a quiet graph looks exactly like a quiet week, and a second independent number is what makes the difference visible.
It is a third party, so it is worth naming plainly: it counts pageviews and derives a coarse, non-identifying hash from request details. It is cookieless and Vercel states it does not build cross-site profiles. Their privacy terms govern it, not ours. Blocking it with an ad blocker breaks nothing on this site — and if you have switched our counting off above, that switch does not turn Vercel off, so use a blocker or GPC for that.
The email digest
If you get the weekly email, we hold your email address, the name you gave us if you gave one, and whether you are still subscribed. That is all: the emails carry no tracking pixel and no tracked links, so we do not know whether you opened one or what you clicked.
Every email has a one-click unsubscribe link. Unsubscribing stops the emails straight away. Your address stays on the list, marked unsubscribed, because that is what stops it being added back by mistake. If you want it deleted outright, ask and it will be.
The one-time question
If you come back a day or more after your first visit, the site asks you once, ever, whether you have been to an event you found here, and then what would make it better. If you answer, this is everything we keep:
| Your answer | Yes, or not yet. |
|---|---|
| What you write | Only if you write something and press Send, up to 1,000 characters. Say only what you are happy for us to read. |
| Which city’s map | Islamabad, Lahore or Karachi: whichever was open when you answered. |
| When | The date and time you answered. |
It is not linked to anything else: not to the browser id above, not to your tab, not to the pages you opened. Your browser makes a fresh random id for that one answer, only so that what you write can be attached to the yes or no you tapped. Closing the card sends nothing at all. As with the counter, your IP address is held in the server’s memory for up to a minute to stop a script flooding the answers, and is never stored.
To keep the promise to ask only once, your browser remembers when you first visited (pkevnts:first-seen) and that you have been asked (pkevnts:attended-asked). Both stay in your browser and are never sent to us.
Answers are kept until we delete them. They are how we decide what to fix, so they do not expire on a timer like the pageviews do. The switch above does not cover them, because nothing is sent unless you choose to answer. If you want an answer deleted, tell us roughly what it said and when, and it will be.
Who else gets your data
It is not sold, shared, or used for advertising. There is no advertising. But a website is loaded from more than one place, and each place your browser contacts sees your IP address and browser details, because that is how the internet delivers anything. Here is every one:
- Vercel hosts the site. Supabase holds the database and the flyer images. Both have to hold data to run the site, and we send neither of them anything for their own purposes.
- CARTO (
basemaps.cartocdn.com) serves the map itself: the streets, the labels and the map lettering. Your browser fetches these straight from CARTO, so CARTO sees your IP address and, from the map squares it is asked for, roughly which part of the map you are looking at. We send CARTO nothing. Their privacy terms govern it, and the switch above does not turn it off, because without it there is no map. - Some flyers are hosted elsewhere. Most event images are served from this site. A few were added as a link to another website, and your browser loads those from that website, which sees the request the same way.
- Tally (
tally.so) runs the feedback form in the menu. Your browser does not contact Tally unless you open the form. What you type there goes to Tally and from there to us, so say only what you are happy for both to read. Their privacy terms govern it.
Terms of use
Using this site means these apply to you. They are short because the site is small: there is no account, nothing to buy, and nothing you can owe us.
You are welcome to browse it, share links to it, screenshot it, and use what you find here to decide where to go. No permission needed and no attribution asked for.
Please do not run scripts that hammer the site, copy the listings wholesale to build a rival map, or present this map as an official source or as anything to do with the organisers. The first costs money to absorb, and the other two hand people a version of the data with none of the caveats on the rest of this page attached.
The site is offered as it is, with no promise that it is complete, correct, or available tomorrow. It is run by one person as a side project and it can change or stop. The section below is the important half of that, and it is the part worth reading before you rely on anything here.
About the listings
Check with the organiser before you go. Everything on this map is a machine’s reading of somebody else’s post, taken at the moment it was scraped. Dates move, venues change, prices are misread and events get called off, and none of that reaches us until the next scrape. The organiser’s own page is the only thing that is up to date, and every listing links to it.
We are not the organiser, we do not sell tickets, we take no cut, and we have no relationship with the events listed. If you are out of pocket because a listing here was wrong, we are sorry, and we cannot make it good.
Flyer images belong to whoever made them and are shown to identify the event they advertise.
Take something down
If you run an event or an account listed here and want it gone, ask and it will be removed — no reason needed, and it stays removed when the scraper finds it again. The same goes for a flyer image you own. Message the account in the corner of the map.
Changes
If what is collected changes, this page changes with it. It is written from the same constants the code uses, so it cannot quietly fall out of date.
pkevnts is run by one person, not a company. Questions about any of this are welcome through the Instagram account linked on the map.