Privacy

Version 2026-09-05

What is stored about you, and why

Three things: the profile you write, the email you sign in with, and a record of which bots fetched your published page.

qa1-echopage.orkcom-tech.cc/en/privacy

01

What is stored

The profile you write. Display name, handle, headline, biography, services with their descriptions and prices, skills with levels and years, service area and languages. Every word of it is typed by you, and all of it is written in order to be published.

Your account. An email address and an interface language, plus a plan and its entitlements. Sign-in identity is Zitadel: EchoPage’s own database has no password column and never stores your password. When you sign in on our own form, what you type is passed straight to Zitadel to be checked and is not written down anywhere on the way. Interface language is stored on your EchoPage account row, not as IdP role metadata.

What you have published. Version numbers, publish jobs and the generated artifacts, so a page can be re-served, rolled forward and taken down.

Imports you start. If you ask EchoPage to import an existing page, the source URL you gave and the state of that job.

Crawl events — the record of bots fetching your page. Section 02, because it is the part people do not expect.

Payment details are held by Paddle, which sells as merchant of record: Paddle, not us, is the seller on your receipt, and your card number goes to Paddle rather than to EchoPage.


02

Crawl events are about bots, not readers

When a bot fetches your published page, that fetch is recorded. When a person reads the same page, nothing is recorded.

That is the unusual part, so here is the whole row. Each crawl event holds exactly these fields and no others:

profile_id
which of your profiles was fetched
bot_vendor
who operates the crawler, e.g. OpenAI, Anthropic, Perplexity
bot_agent
which of their crawlers, e.g. GPTBot, ClaudeBot, ChatGPT-User
bot_category
one of training, search, live
verification
whether the crawler could be proven to be who it claimed
locale
which language version was asked for
representation
which format was taken — the page, or its .md, .json, .jsonld
path
the URL path fetched
ts
when

There is no cookie involved, no identifier for the reader, no referrer, no user-agent string kept verbatim and no session. The row describes a machine, the address it asked for, and when. It is what the crawl counter on your dashboard counts.

The requesting address is not recorded at all. It is read at the edge, compared against the address ranges the AI vendors publish for their own crawlers, and discarded. What is written is the answer to that comparison — proven, contradicted, or unprovable — and never the address, hashed or otherwise.

03

Publishing is public on purpose

Your profile is not stored so it can be kept. It is stored so it can be published, in a form built to be read by machines.

When you publish, that version becomes:

  • a page at qa1-echopage.orkcom-tech.cc/{locale}/u/{handle}, one per content language you publish in;
  • the same content at its own machine addresses — .md, .json and .jsonld;
  • a JSON-LD graph inside the page itself, describing you, your services and your answers in a schema an AI can parse;
  • a set of canonical URLs submitted to IndexNow and listed in the sitemap, so retrieval indexes learn about the page rather than waiting to stumble on it.

Your consent for all of that is the act of publishing. Nothing leaves the draft until you press publish, and everything in the draft leaves when you do. There is no partial publish and no private field: if you typed it into the profile and published, write it off as read by a model.

Unpublishing takes the public page down. Copies an index or a model already made live in their systems, on their terms — see the Terms.

04

Two cookies, and no analytics at all

NEXT_LOCALE — a language code, so the site opens in the language you chose last time. Path /, one year, SameSite=Lax.

ep-consent — written when you agree to the cookie notice, so you are asked once instead of on every visit. Same path, same year, same SameSite.

Two further items live in your browser’s local storage rather than in cookies: echopage-ui-locale, the same language preference, and the browser auth session, held by oidc-client-ts. The tokens themselves live in session storage and are gone when you close the tab; local storage holds only the short-lived state of a sign-in handshake in progress. The session is what the app sends to the API as a bearer token; it never becomes a cookie.

That is the complete list. There is no analytics, no tracking pixel, no advertising tag, no session recorder and no third-party script anywhere in this application.

The application’s only runtime dependencies are Next.js, React, next-intl and oidc-client-ts; no page loads a script from another origin; the interface fonts are downloaded at build time and served from this domain.

Nothing is kept until you say so. Until you answer the notice at the foot of the page, your language arrives from your browser on every visit and the look you pick lasts for the page you are on. Agree and both cookies stay for a year. Decline and nothing is written; anything an earlier agreement stored is cleared, and you are asked again on your next visit.


05

Legal bases

Purpose of processing, the data it uses, and the legal basis that applies.
PurposeDataLegal basis
Running your accountemail, interface language, planPerformance of a contract
Publishing your profileeverything you type into the profilePerformance of a contract, and your own instruction to publish
Counting bot fetches of your pagecrawl eventsLegitimate interest — it is the measurement the product sells
Remembering the interface languageNEXT_LOCALE cookieStrictly necessary for a function you asked for

06

Sub-processors

These are the companies that handle any part of your data on the way to your published page.

Sub-processors and what each one handles.
ProviderWhat it handles
ZitadelIdentity provider (OIDC). EchoPage APIs validate access tokens via JWKS
PostgresApplication database — your profile, publish history and crawl events
CloudflareEdge delivery of published pages, and R2 object storage for the artifacts
HetznerApplication hosting and object storage for backups
PaddlePayments, as merchant of record — card details go to Paddle and are held there
IndexNow (api.indexnow.org)Independent recipient of canonical URLs you publish, and may pass them to Yandex among other participating engines (not a processor under EchoPage's instructions)

07

Your rights

Under the GDPR you have the right to access your data, to receive it in a portable form, to correct it, to have it erased, to restrict processing and to object to it.

Self-serve tooling

Access and erasure

What a request covers. Your account data is the id, email, interface language, plan and entitlements shown in your dashboard. Alongside it sit your profile, your publish history and your crawl events, all held in the application database.

Correction and takedown. Edit the profile and publish again, and the public page is replaced. Unpublish takes the page down. Both are in your dashboard.

Everything else is handled on request. Access, portability, erasure, restriction and objection are carried out when you ask for them. Write to [email protected] from the address you sign in with, and say which of those you want. A request is answered within one month.

08

Retention, security, changes

Retention. Your profile, publish history and crawl events are kept for as long as your account is open, so that a page can be re-served and the crawl counter can show you a history. If a subscription lapses, the published page is moved into storage that is not served to anyone and is kept for three months, so that paying brings it back at the same address; after three months it is deleted. Ask for it to be erased sooner and it is erased.

Who to write to. EchoPage is operated by ORKCOM. Anything about this notice, your data, or a page that should not be there goes to [email protected].

Security. Authentication is delegated to Zitadel. The API accepts a bearer access token and validates signature, issuer, audience and expiry against JWKS. No password is stored in EchoPage’s own database.

Changes. Material changes to this notice are told to account holders rather than quietly edited in.

Read the Terms