Kiori Privacy Policy

Beta version, not yet reviewed by a lawyer. It describes what Kiori's code (version 2.0.0) actually does. We'll update it after a lawyer has reviewed it. The note in square brackets in section 10 is still to be completed with a lawyer.

Effective date: 2026-10-31

1. Who we are

Kiori is run by Aras Aktaş, an individual founder based in Turkey. Kiori isn't a company yet. In this policy, "Kiori", "we" and "us" mean Aras Aktaş.

Kiori is a brain service for character-AI products. Every AI character gets a brain: a JSON file with its memories, personality, relationships and who knows what. This policy covers our website (kiori.io), the API and console (api.kiori.io), the Kiori SDKs and the Kiori extension for SillyTavern. Kiori is in a free beta.

For the personal data described in section 3, we are the data controller under the EU's GDPR and Turkey's KVKK, where they apply. Section 7 explains when we act for a customer instead.

2. The short version

3. What we keep

When you ask for access

The form on kiori.io sends us your email address (required) and, if you fill them in, your name, your company or project and what you're building. We store these with the IP address the request came from and when you sent it.

A valid request is approved at once: it creates your project (below), and the page shows you a sign-in link to the console. If you send the form again with an email that already has a project, we don't store the new request and don't create a second project. While nobody has signed in to that project yet, the page shows a new sign-in link to it, and the earlier link stops working. Once someone has signed in, the form gives out no link for that email.

Requests sent before 2026-10-31 waited for us to approve or decline them. For those, we also keep whether and when we did.

Your project

When your request is approved (at once, as described above), we create a project for you and keep:

Your Kiori keys

A Kiori key (it starts with kio_) is shown once, when it's created. We keep only:

We can't recover a lost key. Revoking a key deletes its record.

The access form shows you a sign-in link to the console. If you ask us for a new one, we may also send it by email. A sign-in link holds no key: it holds a one-time token, which we keep only as a one-way hash and which works once, within 7 days. When the link opens, the console makes a new Kiori key for that browser in exchange for the token, and we delete the token. Making a new link for a project cancels its earlier ones. Signing out of the console revokes that browser's key.

Your model provider key (sealed)

Kiori does its model work with your own key from a model provider such as OpenRouter, OpenAI or Gemini.

If you call the chat endpoint with a provider key in a request header (X-Kiori-Upstream-Key), we use that key for that request only and don't store it.

Usage counts and costs

None of these records include what was said. We keep:

We also look at these numbers in aggregate, for example how many projects are active each week.

Notes about failed calls

When a call fails with a server error (status 500 or above), whether the problem is ours or your model provider's, we note the time, the project, the endpoint, the status and error code, and the model provider's status if the failure was theirs. Never the content of the call.

IP addresses

Server logs

The server writes one log line per failed call (time, status, endpoint, error code, the model provider's status). The line has no IP address and no content. When something breaks unexpectedly, the server also logs the technical error message and where in our code it happened. In rare cases, such an error message can include a few characters of the text being processed (for example the start of a model's malformed answer).

What your browser keeps

The console (api.kiori.io/console) keeps the Kiori keys you've signed in with in your browser's local storage, so you stay signed in. If an administrator signs in, their admin key is kept in session storage only, which the browser clears when the tab closes. Signing out removes the key from your browser. Our pages set no cookies.

4. What passes through but isn't stored

To do its work, Kiori receives, uses and hands back the following, without storing it:

These are held in our server's memory only while your call runs. Depending on the call, parts of them go to your model provider:

CallWhat goes to your model provider
Create a brainThe card or description. A full brain takes three model calls, and then its memories are turned into embeddings. A light brain needs no model call.
RecallThe latest messages (or your query), at most 2,000 characters, to your provider's embedding model. No other model call.
Organize (learning)Recent messages and parts of the brain. New memories go to the embedding model. In group chats, a call also works out who was in each scene, and a large brain occasionally gets a memory-upkeep call.
CheckThe draft reply, recent messages and the relevant memories.
Chat endpoint (/v1/chat/completions)Your whole chat request, with each character's mind added to the system prompt. The reply comes back through us, and a check may run on it first.

Nothing from these calls is written to our database. The rare error-message fragment described under "Server logs" is the only exception in our logs. We don't use any of it to train AI models.

With the SillyTavern extension, your brains stay in your own SillyTavern files: in each chat's file, plus a character's freshly built brain in that character's card. If you share a character card, its brain goes with it.

WhatWhyLegal basis
Access requestsTo create your project and to write to you about itSteps you asked for before a contract (GDPR Art. 6(1)(b); KVKK Art. 5(2)(c))
IP address on an access requestTo spot spam and abuseOur legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5(2)(f))
Project, keys, sealed model keyTo run the service you signed up forContract (GDPR Art. 6(1)(b); KVKK Art. 5(2)(c))
Usage counts and costsTo show you your usage, and to understand and improve KioriContract; our legitimate interests
Failed-call notes and server logsTo find and fix problemsOur legitimate interests
IP addresses for rate limitsTo protect the service and your keysOur legitimate interests
Brains, chats and cards passing throughTo do what each call asksFor platforms, on the platform's behalf (section 7). For individuals, contract
Fonts loaded from GoogleTo show the site's typefacesOur legitimate interests

We don't make decisions about you based only on automated processing.

6. Who else handles data

We don't sell personal data, and we don't share it for advertising.

WhoWhat forWhat they see
CloudflareServes kiori.io (Cloudflare Pages), and carries every request for api.kiori.io to our server through an encrypted tunnelAll traffic in transit, including IP addresses, keys, brains and chats (Cloudflare decrypts HTTPS at its network edge)
Your model provider (OpenRouter, OpenAI, Google Gemini, or another OpenAI-compatible provider you choose)The model work for your calls, under your own account and its termsThe text of each model call (section 4)
Our hosting provider, OVHcloud, in Beauharnois (Canada)Runs our server and database, and keeps a daily image of the server as a backupEverything we store, and content in memory while calls run
Google (Google Fonts)Fonts on kiori.io and the consoleYour IP address and browser details, when a page loads the fonts
Our email providers: Cloudflare (email routing), which passes mail on to Google (Gmail)Our mailbox (help@kiori.io): support, and sign-in links we send when you ask for a new oneYour email address and what we write to each other
AuthoritiesOnly when the law requires itWhat the law requires

About model providers:

7. Our role: controller or processor

8. How long we keep things

WhatHow long
Brains, chats, cards, player namesNot kept. They're only in memory while a call runs.
Access requests, including the IP addressUntil we delete them. Deletion is manual for now: ask us and we will.
Your project and its settingsWhile the project exists. Deletion is manual for now: ask us and we will.
Kiori key recordsUntil you revoke the key or the project is deleted
Your sealed model keyUntil you remove or replace it, or the project is deleted
Usage counts and costsNo automatic deletion yet. Kept until we delete them along with the project.
Notes about failed calls30 days. Notes older than that are deleted each time a new failure is noted.
Server logs14 days, in the server's system journal
Rate-limit countersIn memory only, until the server restarts
BackupsA backup of the database is made every night and kept on the server for 14 days. Our hosting provider also keeps a daily image of the whole server, each one replaced in turn. Something deleted from our database stays in the backups until they're replaced.
Keys in your browserUntil you sign out or clear your browser's storage

9. Security

No system is perfectly secure. If a breach affects your personal data, we'll tell you, and the authorities, as the law requires.

10. Where your data is handled

We run Kiori from Turkey. Our server is with OVHcloud, in Beauharnois (Canada). Cloudflare works through data centers around the world. Model providers such as OpenRouter, OpenAI and Google, and Google Fonts, are based mainly in the United States, and OpenRouter may pass calls to companies in other countries. So your data may be handled outside your own country. Where the law requires a safeguard for these transfers, we use [to be completed with a lawyer: the safeguards for these transfers, for example the European Commission's standard contractual clauses and the KVKK Board's standard contracts].

11. Your rights

Depending on where you live, data protection law (such as the GDPR or KVKK) gives you the right to:

Things you can do yourself:

Ask us at help@kiori.io for anything else, such as deleting your project and account data. We'll answer as soon as we can, within the deadline the law sets (one month under the GDPR, 30 days under KVKK). We may ask you to show that the request is yours, for example by writing from the project's contact email.

Complaints: you can complain to a data protection authority, in particular where you live or work. In Turkey, write to us first. If you're not satisfied with our answer, you can then complain to the Personal Data Protection Authority (KVKK).

If you're an end user of a platform that uses Kiori, the platform holds your brains and chats, so ask the platform first (section 7).

12. Children

Kiori is for businesses and developers, and you must be 18 or older to use it. We don't knowingly collect personal data from children. Platforms that use Kiori are responsible for their own users' ages and for any consent the law requires (see our Terms). If you think a child has sent us personal data, write to us and we'll delete it.

13. Changes

We'll update this policy as Kiori changes, for example when the beta ends or Kiori becomes a company. We'll post the new version here with a new effective date. For important changes, we'll email customers before the changes take effect.

14. Contact

Aras Aktaş · help@kiori.io

© 2026 kiori · brains for characters · terms · privacy