What we store, why, and the optional extra protection you can turn on for your conversations.
This page explains what account and conversation data AI Chat Console collects, why, how it's used
to provide the service, who it's shared with, how long it's kept, and the privacy controls available to
you — including the optional chat encryption at rest feature described in detail below.
This is a general-purpose policy covering the platform as a whole, not just encryption.
Username, email address, and password (stored as a salted bcrypt hash — we never store or can
recover your plain-text password).
Billing/company details you provide for invoicing, and your subscription plan.
Conversation data
Your messages and the AI's replies, chat titles, and rolling context summaries generated to keep
long conversations efficient. Optionally encrypted at rest — see below.
Prompts and outputs for generated images, video, and audio, plus the generated files themselves
(stored on disk, referenced by the database).
Documents you upload for retrieval (RAG) and facts saved to long-term memory, if you use those
features.
Auto-memory (on by default — you can turn it off in Account → Preferences or
Account → Memory): after a chat exchange, a background AI call reviews the recent messages and
may save up to a few short, durable facts or standing instructions about you (e.g. stated
preferences), plus a persistent seed/style note for image or video generation so repeat generations
stay visually consistent. It never records one-off task content, and this background call is billed
to your own AI credits like any other message. These entries are stored alongside — and are
indistinguishable in storage from — memory facts you add yourself, and are used the same way (see
below).
Draw-mode follow-up detection: when you send a new image-generation request in a
chat that already has a generated image, a background AI call reviews a few recent messages and the
prior image's text prompt (never the image file itself) to decide whether your new request is a
follow-up edit (e.g. "make it blue") — if so, it rewrites your prompt to be self-contained and
automatically attaches the earlier image as a reference, the same as if you'd clicked "Use as Reference"
yourself. This call is not billed to your credits; the model that handles it is chosen by the site
administrator (either a dedicated low-cost model, or the same model generating your image), configurable
in Admin → Settings.
Chats you explicitly share via a public link, and any collaborators you invite into a shared
session.
Usage, billing & technical data
Credit balance, plan, and per-request metadata (provider, model, token/asset counts) needed to
meter usage fairly — see the Fair Usage Policy.
Payment records from our payment processor (Stripe, SSLCommerz, or manual/offline payment) —
we do not store your full card number; the processor handles that.
Standard request metadata such as IP address, browser/session identifiers, and timestamps, used
for rate-limiting, fraud/abuse prevention, and troubleshooting. Session cookies and a CSRF token
are used to keep you logged in and protect against cross-site request forgery — both are strictly
functional, not used for advertising or cross-site tracking.
Administrative action logs (an audit trail of admin panel actions like plan or setting changes)
for accountability — this does not include your conversation content.
API keys (BYOK)
If your plan allows "bring your own key" and you choose to add your own provider API key, it is
encrypted at rest (AES-256) using the same key-management approach described below, independent of
whether you've turned on chat encryption.
How we use your information
To operate the service — authenticate you, run your conversations through the AI provider/model
you select, generate media, and keep your history available across sessions and devices.
To meter and bill usage under your plan (credits, fair-use limits, subscription billing).
To maintain and improve reliability and security — error/warning logs, rate limiting, abuse
prevention. Error logs may include technical request metadata but are not a substitute for, or a
copy of, your encrypted conversation content.
To communicate with you about your account (billing receipts, security notices, support replies).
We do not sell your personal data, and we do not use your conversation content to serve
third-party advertising.
🔒 Chat encryption at rest
In Preferences → Privacy, you can turn on
"Encrypt my chats". It is off by default — nothing changes for your
account unless you explicitly enable it.
What it does
When enabled, your message content, chat titles, and image/video/audio generation prompts are
encrypted (AES-256) before being stored in the database. If someone were to gain unauthorized access
to a database backup or export — a stolen backup file, a leaked SQL dump, a compromised low-privilege
database credential — your conversations would appear as unreadable ciphertext rather than plain text.
What it does not do
This is server-side encryption, not end-to-end encryption. AI Chat Console's own
servers still process your messages in readable form while handling your request — that's how we're
able to send them to the AI model and generate a reply. This feature protects against a stolen
database copy; it does not hide messages from the operator of this service.
It does not stop AI Chat Console's server-side code from reading a message while actively
processing it (required to generate a response).
It does not stop someone with legitimate administrative access to this service from reading
messages the same way they always could.
It does not encrypt generated image/video/audio files themselves — only the associated
text (prompts, titles, captions) in the database.
It does not cover saved long-term memory facts, or documents you've uploaded for retrieval —
those are handled separately.
What you gain in exchange
Search still works. Since the database can't pattern-match encrypted text, search
is done by decrypting your own messages/titles at the moment you search — the same decryption the
server already performs whenever you open a chat — rather than matching stored ciphertext. Nothing
new is stored to make this work, so it doesn't add any new exposure. Very large histories (beyond a
few thousand messages) may not have their oldest content included in a single search.
Everything else keeps working normally: sending and receiving messages, sharing a chat via a
public link, exporting your history, auto-generated titles and summaries, image/video/audio
generation, and collaboration on shared chats.
Turning it on or off
Enabling it converts your existing chat history in the background (a progress bar shows how far
along it is — safe to close the page and come back, it resumes automatically). Disabling it reverses
the process and search comes back once decryption finishes.
⚠️ Software limits of this encryption feature
The technical constraints below apply regardless of your own
setting, so you know exactly what "encrypted" does and doesn't mean here.
One shared encryption key for the whole platform. All encrypted accounts on this
installation share a single AES-256 key (ENCRYPT_KEY, held by the server operator) —
there is no per-user key, and no password-derived key only you know. This is what makes server-side
processing (sending your message to the AI) possible at all; it also means the operator technically
holds the key that protects everyone's data, not just you.
Algorithm: AES-256-CBC with a random IV per value, implemented via PHP's OpenSSL
extension. This is a solid, industry-standard cipher, but this deployment is not run through a
hardware security module (HSM), is not FIPS-140 certified, and keys are not automatically rotated.
If the encryption key is ever lost, changed, or restored incorrectly (e.g. a
misconfigured server migration), every encrypted user's conversation history becomes permanently
unreadable — there is no recovery mechanism. This is a real operational risk you're trusting the
operator to manage correctly (regular, matched backups of both the database and the key).
Not applied everywhere. Only message content, chat titles, rolling summaries, and
image/video/audio prompts are encrypted. Generated media files on disk, uploaded RAG
documents, and long-term memory facts are stored as plain files/rows regardless of this setting.
Search trade-off. Search decrypts a capped batch of your own recent
messages/titles at query time instead of matching stored ciphertext — accurate, but bounded, so an
extremely large history's oldest content may not surface in a single search.
Guests cannot use it. The feature requires a registered account; anonymous/guest
trial sessions are never encrypted.
Administrator-controlled availability. The site operator can disable new opt-ins
for this feature platform-wide from their admin settings at any time. If they do, anyone already
encrypted keeps working normally (and can still turn it back off) — but new users/opt-ins are
blocked until it's re-enabled.
Not a substitute for end-to-end encryption. If you need guarantees that literally
no one operating the server can ever read your messages, this feature does not provide that — see
"What it does not do" above.
Third-party AI providers & Zero Data Retention
To generate a response, your message is sent to the AI provider/model you selected (OpenAI,
Anthropic, Google Gemini, xAI/Grok, Cloudflare Workers AI, Mistral, DeepSeek, Pruna AI, OpenRouter, or
others depending on what's configured on this instance). Each provider processes your request under
its own data-handling and retention terms, which are outside our control — please review the provider's
own policy if you have concerns about a specific model.
Some background features — auto-titling, rolling context summaries, auto-memory extraction,
search-query rewriting, prompt enhancement and Draw-mode follow-up detection — are not always sent to
the same provider/model you picked for your reply. The site administrator can configure these to use a
separate, typically lower-cost model instead; only a short excerpt of recent conversation (never full
history, and never raw generated image/audio/video files) is sent for these specific calls.
When ZDR mode applies to your chat, these background calls are re-routed to a zero-retention
model as well, or skipped entirely if none is available — they are never quietly sent to a
model outside the arrangement.
Zero Data Retention (ZDR)
Zero Data Retention is a contractual arrangement between this site's operator and the AI
provider, not something that can be switched on from a request. OpenAI grants it subject to
prior approval at the organisation level; Anthropic enables it per organisation through its sales team
and excludes certain designated models from it entirely. Accordingly, ZDR mode is only offered here for
providers where the operator has confirmed a signed agreement is in place — if none has been confirmed,
ZDR mode reports that it is unavailable rather than implying a guarantee that does not exist.
Where it is available, you can enable ZDR mode in
Preferences, and optionally restrict the model picker to
ZDR-covered models only. We additionally send each provider's available privacy controls on every such
request (for example OpenAI's store: false, and a routing preference on OpenRouter that
avoids providers which train on prompts). These controls are useful in their own right but are
not by themselves zero retention.
⚠️ What ZDR does not cover
Web search. If web search is enabled for a message, a query derived from what you
typed is sent to a third-party search provider (Tavily, Serper, Brave Search, Exa or Parallel, depending
on configuration) and the resulting pages are fetched. Those providers receive your query under their
own terms and retention policies, which are outside our control and outside any ZDR arrangement.
Voice input. Audio you record is sent to a third-party transcription provider to be
turned into text, under that provider's own terms.
Both features are opt-in. If a conversation must stay within a zero-retention boundary, leave web
search off and do not use voice input for it.
If you bring your own API key (BYOK) on a plan that allows it, your requests for that provider are
billed and rate-limited by your own account with that provider directly, not ours.
Payments
Subscription and pay-as-you-go payments are processed by a third-party payment gateway (Stripe,
SSLCommerz, or a manual/offline method the operator has configured) — we never see or store your full
card number. Only transaction metadata needed for billing records (amount, date, plan, status) is kept
on our side.
Data retention & deletion
Your account data and conversation history are retained for as long as your account is active, so
your chat history remains available to you.
You can permanently delete your account from Account settings. This
removes your account and associated data from active use; residual copies may briefly persist in
routine database backups until those backups age out on their normal retention schedule.
Individual chats can be deleted at any time from the sidebar, independent of deleting your whole
account.
Security measures
Passwords are hashed with bcrypt (never stored or logged in plain text).
All API keys — both the operator's pooled keys and any key you bring yourself (BYOK) — are
encrypted at rest, independent of the chat-encryption toggle.
Sessions use CSRF tokens on every state-changing request, and admin actions are recorded in an
audit log for accountability.
Requests are rate-limited to reduce abuse, and file uploads are validated and size-capped before
storage.
No security measure is perfect — see the encryption limits above for what this specific feature
does and does not protect against.
Your rights & choices
Access & export — your conversation history is always visible to you in the
app; administrators can also provide a data export on request.
Encryption opt-in/opt-out — turn "Encrypt my chats" on or off at any time in
Preferences → Privacy (subject to the operator allowing
the feature — see above).
Zero Data Retention — where the operator has confirmed a signed ZDR agreement
with a provider, enable ZDR mode to keep your chat (and every background call it causes) on
covered models only. See Third-party AI providers for what it does and
does not cover.
Deletion — delete individual chats or your entire account at any time from
Account settings.
Bring your own key — where your plan allows it, use your own provider API key
instead of the shared pool key.
Sensitive information & regulated Modules
Some Modules — the guided tools in the app — invite you to paste or upload material in areas that are
sensitive by nature: contracts, financial statements, health questions, CVs and candidate details. What
you put into them is treated exactly like any other chat content, which means the following is worth
knowing before you paste.
It is sent to an AI provider. The text of a Module run leaves our servers and goes
to whichever model provider you selected, under that provider's terms. See
Third-party AI providers above, including which providers we operate under
Zero Data Retention.
It is stored in your chat history unless you delete it. A contract you pasted last
month is still in that conversation. You can delete individual chats, or all of them, at any time from
Account → Chat History.
Project knowledge is stored as readable text. A file added to a Project's knowledge
base is kept on our servers in extracted form so it can be searched. Chat encryption does not cover it.
Keep material you need encrypted out of a Project's knowledge base.
Other people's personal data is your responsibility. If you paste a CV, a patient
note, a customer complaint or a signed agreement, you are processing someone else's information through
our service. You should have a lawful basis for doing so, and you should remove names and identifying
details where they are not needed for the task — the model rarely needs them to do the work.
Diagnostics captures the full text when you have switched it on. That is an opt-in
troubleshooting feature that lets administrators read the complete request and response for your
conversations. If you are working with confidential material, leave it off — see
Your rights & choices.
We do not use the content of your Module runs to train models, and we do not sell it. What the
Terms say about relying on that output — that it is a draft for a
qualified person to review — is separate from, and additional to, everything on this page.
Controlling what the AI remembers
Memory is how the assistant carries facts about you from one conversation to the next. It is
entirely under your control, at three levels:
Per conversation. Every chat has its own memory switch. Turned off, that
conversation neither reads your stored facts nor contributes anything new to them — enforced on
our servers, not merely hidden in the interface, so it holds regardless of which device or client you
are using.
For new conversations. You can set whether new chats begin with memory on or off,
so an account can be memory-free by default and enabled only where you want it.
Account-wide. Memory can be switched off entirely, and automatic learning can be
disabled separately if you prefer to add facts by hand.
Everything stored is listed in your account, where each item can be edited or deleted individually.
Deleting a memory removes it from all future conversations. Facts learned inside a project are stored
against that project and are not used in chats outside it.
Automatic extraction reads the conversation it runs on in order to identify durable
facts. Where it runs, it is subject to the same provider terms and Zero-Data-Retention settings as any
other message. It does not run for chats with the memory switch off.
Browser extension
The extension does not read pages in the background. No page content leaves your
browser until you explicitly capture it — the current page, another open tab, or a screenshot
— and send it as part of a message.
What you capture is then treated exactly like text you typed: stored with the conversation, and
passed to the AI provider you selected under that provider’s terms. Nothing about the extension
creates a separate data path or a separate retention rule.
Authentication. The extension holds a revocable access token rather than your
password, kept in the browser’s extension storage where ordinary web pages cannot reach it. You can
revoke it from your account at any time; doing so signs the extension out without affecting your
password or other sessions.
Browsing history is not collected. The extension has no access to pages you have not deliberately
handed to it.
Children's privacy
This service is not directed to children and is not knowingly used to collect personal information
from anyone under the minimum age required by applicable law in their jurisdiction.
Changes to this policy
We may update this page as the service evolves (for example, adding a new AI provider or a new
privacy control). The "Last updated" date at the top reflects the most recent revision. Continued use
of the service after a change constitutes acceptance of the updated policy.
Questions about privacy or data handling? Contact support.