Privacy Policy

Last updated 23 October 2026

This policy explains what AskOne stores, why, for how long, and what you can ask us to do about it. It is written to be checked: everything below describes what the software actually does.

Who is responsible

HURYN Sp. z o.o.
ul. Hoża 29, 00-521 Warszawa, Poland
KRS 0000893173 · NIP 7011027727 · REGON 388627882

Data protection enquiries: contact@askone.org

HURYN Sp. z o.o. is the controller for the data described here. We have not appointed a Data Protection Officer; we are not required to.

The people AskOne knows about

Administrators and moderators sign in and run rooms. Participants do not: they open a link on a phone, ask and vote, and never create an account. Hosts inside Zoom or Google Meet, and people using the AskOne plugin in ChatGPT, can also start a room without an AskOne account. We hold different things about each.

If you are a participant

We do not know who you are, and we have no way to find out. When you open a room that is accepting participation, your browser is given one cookie containing a random number. Nothing about you is written to our database at that moment. The first time you ask, vote, answer a survey or set a name, we store the SHA-256 hash of that number — never the number itself — as the only handle we have on you.

We do not store your email address, any name beyond the display name you choose, your IP address, or any identifier from your device. The hash cannot be reversed, so it connects you to no person and to nothing you do outside AskOne — not for us, and not for anyone who obtained a copy of our database.

It is, though, the same hash in every room you act in from that browser: one cookie covers every room you open on AskOne directly. That is deliberate — it is what lets a ban reach every room owned by the workspace that issued it, instead of being shrugged off by opening the next room. It also means the rooms you have acted in can be linked to one another by anyone reading the database directly — though a room you only read leaves no record of you at all. Clear the cookie and you are a new participant in every room you open that way; the meeting-app cookie described below is a separate identity, and clearing one does not touch the other.

Legal basis: our legitimate interest (Art. 6(1)(f) GDPR) in running a question queue that works — one vote per person, one survey answer per phone, questions that stay attached to whoever asked them, and moderation that can be enforced. This is the minimum that makes the feature possible.

If the room uses AI moderation, we send the question text together with the room’s name and description to OpenRouter, which passes it toTypeSafe for classification. We send no participant identifier, cookie or IP address with it. A question using a word on our short list of offensive words the AI is known to miss is sent nowhere and waits for a moderator instead. A person running the room can review and reverse a rejection.

If you choose a display name, we first compare it with a short list of offensive words our AI check is known to miss; a match is refused and sent nowhere. Otherwise we send that name by itself to OpenRouter and TypeSafe before it can appear. This check runs in every room, whatever question moderation the administrator selected. We send no room name, description, participant identifier, cookie or IP address with the name. A confident finding that a name is offensive or insulting removes your existing display names in that workspace and prevents naming there for 24 hours; a list match, an uncertain result or a provider failure only refuses that attempt.

If you are an administrator or a moderator

Your account — email address, name, password or social login, and your organization memberships — is held by Clerk, our authentication provider. Our own database stores only your Clerk user or organization identifier, so that rooms can belong to somebody; when you connect an AI assistant to AskOne by signing in, the API usage log described under Analytics records the same identifiers. We read your name and email from Clerk when a page needs to show them; we never copy them into our database.

When an administrator or a moderator bans a participant, we record who did it, as their Clerk identifier, together with the ban.

Legal basis: performance of a contract (Art. 6(1)(b) GDPR) — you asked us to run rooms for you.

If you start a room inside Zoom without an account

Zoom supplies an authenticated, encrypted app context. We use its user identifier to compute a keyed hash, so you can return to your rooms from a later meeting. We store that hash as the owner of an anonymous workspace, not the Zoom identifier itself. We request no email address, profile or meeting content, store no meeting identifier, and receive no Zoom access token.

To limit automated room creation, we also store daily keyed hashes of the start request’s IP address and host hash, with the date and a random request identifier. We never store the raw address in this ledger. These hashes change each UTC day; previous-day rows are removed by the next cleanup or room start. They are not attached to participant questions or votes.

These rooms always use AI moderation, with the same question and display-name screening described above. If classification cannot run, questions wait for the host to approve or hide them. Keeping rooms requires an AskOne account and your confirmation; we do not connect an anonymous Zoom workspace to your account just because you sign in.

Legal basis: performance of a contract (Art. 6(1)(b) GDPR) for running the rooms you request, and our legitimate interest (Art. 6(1)(f) GDPR) in preventing abusive room creation for the daily counters. The Start screen links these terms and this policy before you create a room.

If you start a room from ChatGPT without an account

When you use the AskOne plugin, ChatGPT sends us an anonymized user identifier that OpenAI creates for AskOne; it is not your name, email address or OpenAI account. We use it to compute a keyed hash, so you can return to your rooms in a later conversation, and store that hash as the owner of an anonymous workspace, not the identifier itself. We do not receive your conversation. What the plugin needs from you is a room name, or a poll’s question and choices, when you ask for one. Each request also carries technical metadata from ChatGPT, such as request and session identifiers and your approximate location (your country, and sometimes your time zone). We keep none of it; the only use is that, when a time zone is sent, a room you do not name is named after its local start time.

We check that every request that uses the plugin (creating a room or a poll, reading results, closing a room or getting a host link) comes from OpenAI’s published server addresses. Only connecting to the plugin and reading its name, its instructions to ChatGPT and its list of tools, which hold nobody’s data, work from anywhere. Those are OpenAI’s servers, not your device, and we do not store them. The daily counters that limit automated room creation use daily keyed hashes of your ChatGPT identifier, not an IP address, and are removed as described above for Zoom.

What reaches OpenAI. The plugin returns to ChatGPT only what answers your request. Creating a room or a poll returns the room’s name and join code, a link to the room, a link to its projector and a one-time link to your host controls, and a poll’s question. If you already have an open room, it returns that room’s name, join code and number of questions, and how many new rooms you can still start today. Closing a room returns its name and join code. When you ask for results, it returns your latest room’s name, join code and whether it is open; each survey’s question, type, status and number of respondents, with each choice and how many picked it, a rating’s average and how many gave each score, and up to 30 of a word cloud’s words with how many gave each; and up to 40 of its answered and approved questions, with their text, vote counts, whether each is answered and any comment the host wrote on it. A refusal returns only its reason and, when you have to wait, for how long. Once returned, that content is handled by OpenAI under its own terms and privacy policy, as part of the conversation you are having with it. Nothing else is returned: not your ChatGPT identifier, not participants’ display names, hashes or identifiers, not waiting or hidden questions, and no internal IDs or timestamps.

These rooms work like rooms started in Zoom: always AI moderation, the same screening, the same lifetime and deletion, and the same choice to keep them in an account, which you make from the host controls. Legal basis: performance of a contract (Art. 6(1)(b) GDPR) for running the rooms you request, and our legitimate interest (Art. 6(1)(f) GDPR) in preventing abusive room creation for the daily counters.

If you use AskOne in Google Meet

The AskOne add-on for Google Meet runs in the meeting’s side panel and main stage. People who ask and vote there are participants as described above, recognised by the meeting-app cookie below, and never sign in.

Hosts who start a Q&A in Meet sign in with Google, because Meet does not tell an add-on who is using it. Until you have signed in, the add-on loads Google’s sign-in script and Sign in with Google button from Google, and Google may offer to sign you in with an account already signed in to your browser (Google’s One Tap prompt). The prompt and the button are Google’s own content, served by Google under Google’s Privacy Policy, and may use Google’s own cookies; we do not see what happens inside them.

When you sign in, Google gives the add-on a token signed by Google that contains your account’s identifier and, as every Google sign-in does, your email address and basic profile (name and picture). We use only the identifier: we check Google’s signature on the token, compute a keyed hash of the identifier and store that as the owner of an anonymous workspace, so you find your rooms in a later meeting. We discard your email address, name and picture as soon as the token is checked and never store them. Google gives us no access or refresh token, we call no Google API on your behalf, and we do not read your meetings, calendar or contacts. So that each sign-in works only once, we keep a hash of its one-time random code, which says nothing about you, until the sign-in could no longer be used anyway: at most 60 minutes, plus our 15-minute cleanup.

These rooms work like rooms started in Zoom: always AI moderation, the same screening, the same daily limits, the same lifetime and deletion, and the same choice to keep them in an account. Legal basis: performance of a contract (Art. 6(1)(b) GDPR) for signing you in and running the rooms you request.

AskOne’s use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

Cookies

AskOne uses essential cookies only. There is no cookie banner because there is nothing to consent to: we set no advertising, profiling or cross-site tracking cookies at all.

Analytics

We use Microsoft Clarity to see how the screens are used — where people hesitate, what they never find. It is configured to run without cookies: the Clarity project has cookie storage switched off and the page tells Clarity that both analytics and advertising storage are denied before it collects anything. In that mode Clarity assigns an identifier per page view and cannot follow you between visits or across sites.

Clarity records how pages are used, not what you typed: text you enter is masked before it leaves your browser. If Clarity is not configured on the deployment you are using, no analytics script loads at all. Clarity does not load inside our embedded meeting pages.

Legal basis: legitimate interest (Art. 6(1)(f) GDPR) in understanding and improving the product, weighed against a cookieless configuration that does not track individuals.

API and MCP usage log. When an AI assistant, a script or the AskOne plugin in ChatGPT calls our API or MCP server, we record one line per request, so we can see which tools are used and how often: the time, the endpoint and the method or tool called, whether it succeeded or why it was refused, how long it took, which software called (the client ID it signed in with, which is often a web address, or else the name and version it reports, or else its user-agent string, up to 200 characters), and the workspace it concerned. To tell callers apart we record an API token’s internal ID and its organization’s Clerk ID; for a signed-in call, your Clerk user and organization IDs (the identifiers our database already holds for members, never your email or name) and a keyed hash of the user ID; and for ChatGPT, a keyed hash of ChatGPT’s anonymized identifier, separate from the one that owns your rooms. We record no tool arguments, room content, questions, IP addresses or tokens. A line is deleted once it is 13 months old, by the cleanup that runs every 15 minutes. The identifiers in it are the same each time you call, so your calls can be counted together over that period. Legal basis: legitimate interest (Art. 6(1)(f) GDPR) in understanding how the API and its integrations are used and keeping them working.

Who else processes it

Each is a processor acting on our instructions under a data processing agreement. Where any of them processes data outside the European Economic Area, that transfer relies on the European Commission’s Standard Contractual Clauses.

How long we keep it

A room started without an AskOne account, in Zoom, Google Meet or ChatGPT, closes automatically 48 hours after it opens, unless you close it sooner. Its questions, votes, participant hashes and display names are deleted 7 days after it closes. Cleanup runs every 15 minutes; when no rooms remain, the anonymous workspace and its keyed user hash are deleted too. Before deletion, Sign up to keep your rooms lets you move all your remaining rooms into an organization after creating an account or signing in, and confirming. Their join codes stay the same, the anonymous workspace and its user hash are removed, and the rooms follow the organization retention policy.

Being straight with you about deletion: the 30-day date is recorded against every closed organization room, and deleting a workspace deletes everything under it immediately. The scheduled job that sweeps expired organization rooms is not running yet. This gap does not apply to the cleanup of anonymous Zoom, Google Meet and ChatGPT rooms described above. In the meantime we delete on request, promptly, and you should ask — see below.

Your rights

Under the GDPR you may ask us to:

There is no charge, and we answer within one month. Write to us at the address above or at contact@askone.org.

A limit worth knowing about, if you are a participant. We identify you only by a hash of a cookie we cannot read back. If you still have the cookie, tell us which room and when, and we can find your rows. If you have cleared it, we genuinely cannot — there is nothing linking those rows to you, which is the same property that protects you the rest of the time.

You also have the right to complain to a supervisory authority. Ours is the President of the Personal Data Protection Office (Prezes Urzędu Ochrony Danych Osobowych), ul. Stawki 2, 00-193 Warszawa, Poland — https://uodo.gov.pl.

Security

Only our server talks to the database; no key that could read it is ever sent to a browser. Row-level security is switched on for every table with no policies at all, so a leaked public key reads nothing. Participant cookies are signed, and only their hashes are stored. Every change to a room is checked against the workspace that owns it, on the server, on every request.

Children

AskOne is not directed at children under 16. Participants are never asked for personal details, so a child joining a room shares no more than an adult does: a question, a vote, a survey answer, and a name only if they type one.

Changes

If this policy changes we update the date at the top. Material changes affecting administrators and moderators are notified by email through Clerk.