# Cookie Policy

**Controller:** Keynodex LLC, Florida, USA (privacy@pingrep.com)
**Last updated:** 2026-09-18

This policy explains the cookies and similar browser storage PingRep uses, what each one is for,
and how to change your mind at any time.

## 1.0 The short version

- Nothing that tracks you runs until you say yes. Analytics and advertising storage are denied by
  default.
- Strictly necessary and functional storage is always on, because without it the site cannot work.
- If your browser sends a Global Privacy Control signal, we treat that as a no and do not ask again.
- Your choice lasts 6 months, then we ask you once more.
- You can change your choice at any time from the cookie controls on the site.

## 2.0 What cookies and similar storage are

A cookie is a small file a site stores in your browser. Similar technologies — `localStorage`,
`sessionStorage`, and pixels — do comparable things. This policy covers all of them, and uses
"storage" to mean any of them.

Storage set by us is first-party. Storage set by a provider we embed is third-party, and those
providers are named below.

## 3.0 Strictly necessary storage (always on)

This storage is required to deliver the site you asked for. It cannot be switched off, and it does
not require consent.

| What | Purpose |
|---|---|
| Session and sign-in state | Keeps you signed in and links your requests to your account |
| Security and anti-abuse | Cloudflare Turnstile tokens that tell humans from bots on our forms |
| Rate limiting | Prevents a single source from flooding our contact and application forms |
| Load balancing and routing | Directs your request to the right server |

## 4.0 Functional storage (always on)

This storage remembers choices you have made so the site behaves the way you left it. It stays
within our site and is not used to build an advertising profile.

| What | Purpose |
|---|---|
| Interface preferences | Theme, language, and layout choices |
| Consent record | Remembers what you chose so we do not ask on every page |

Two keys hold the consent record itself, both in `localStorage`:

| Key | Purpose |
|---|---|
| `knx-consent-prefs-v1` | Your category choices and where they came from |
| `knx-consent-v2` | Whether the banner has been answered |

## 5.0 Analytics — only with your consent

If you accept the performance category, we enable analytics storage and load Google Analytics
through Google Tag Manager. We use it to understand which pages are useful and where people get
stuck. Until you accept, `analytics_storage` is set to denied and no analytics identifiers are
written.

| Provider | What it does | Category |
|---|---|---|
| Google Analytics (via Google Tag Manager) | Measures page views, referrers, and site journeys | Performance |

If you decline, the site works exactly the same. You just become invisible in our counts.

## 6.0 Advertising — only with your consent

If you accept the targeting category, we enable advertising storage. Until you accept,
`ad_storage`, `ad_personalization`, and `ad_user_data` are all set to denied.

| Signal | What accepting it allows |
|---|---|
| `ad_storage` | Advertising cookies may be set |
| `ad_personalization` | Advertising may be tailored to you |
| `ad_user_data` | Advertising data may be associated with you |

We do not sell your personal information, and we do not share it for cross-context behavioural
advertising.

## 7.0 How consent is applied

We use Google Consent Mode. All four signals — `analytics_storage`, `ad_storage`,
`ad_personalization`, and `ad_user_data` — are set to denied before any tag loads, and are only
updated if you accept the matching category. The tag manager itself loads only when it is
configured for the environment you are visiting.

| Category | Signals it controls |
|---|---|
| Performance | `analytics_storage` |
| Targeting | `ad_storage`, `ad_personalization`, `ad_user_data` |
| Functional | None — handled entirely within our site |

## 8.0 Browser privacy signals

**Global Privacy Control — we honour it.** If your browser or extension sends
`navigator.globalPrivacyControl`, we set every optional category to off, record that the choice
came from the signal, and do not prompt you. You do not have to do anything else.

**Do Not Track — we do not respond to it.** The Do Not Track header was never implemented
consistently across browsers and carries no agreed meaning, so we do not act on it. This is not a
gap we are hiding: use Global Privacy Control, or the cookie controls below, and your choice will
be respected.

## 9.0 Managing your choices

- **On the site:** open the cookie controls to accept, refuse, or change any optional category.
  Your change takes effect immediately.
- **In your browser:** every major browser lets you block or delete cookies and clear site storage.
  Blocking strictly necessary storage will stop parts of the site from working.
- **Via Global Privacy Control:** turn it on in a browser or extension that supports it, and we will
  treat it as an opt-out automatically.

## 10.0 How long your choices last

Your consent choice is stored for **6 months**. After that the banner appears again so you can
confirm or change it. If you clear your browser storage, the choice is cleared too and you will be
asked again on your next visit.

## 11.0 Changes to this policy

When we change this policy we update the date at the top, and the previous versions remain in the
public history of this document. Material changes to what we collect, or to which providers are
involved, are reflected here before they take effect.

## 12.0 Contact

| Reason to contact us | Where to write |
|---|---|
| Questions about cookies and storage | privacy@pingrep.com |

The controller of the storage described in this policy is Keynodex LLC, Florida, USA.
