← kika
Trust & security

You’re handing Kika your conversations.

Last updated: September 17, 2026

How we treat that
The recording never exists. The isolation is enforced, not promised.

Kika listens to private business conversations and remembers them. That is more sensitive than most software - a leak here isn’t a mailing list, it’s what someone said about a client, a salary, a deal, or a colleague.

So the two things that matter most are structural rather than procedural: your audio is discarded the moment it becomes text, and no account can reach another’s data even if our own code asks it to - unless you have added that person to an engagement yourself, which is the only way anything is ever shared. Everything below is written to be checked.

Kika listens to private business conversations and remembers them. That is more sensitive than most software. A leak here isn’t a mailing list - it’s what someone said about a client, a salary, a deal, or a colleague. We built for that, and this page is written to be checked rather than to reassure.

SOC 2 Type IIIn progress
Model trainingNever on your data
Call audioNever stored
IsolationEnforced in the data layer
HostingEuropean Union
Passwords & cardsWe hold neither

Your call audio is never stored

This is the most important fact on the page, so it goes first. Audio from your meetings is transcribed as it streams and then discarded. It is never written to disk, never placed in storage, never backed up. There is no recording of your call to leak, subpoena, or mislay - because none exists.

What we keep is the transcript text, the notes written from it, and the memory built on top. Those we do hold, and the rest of this page is about how.

What we hold, and what protects it

DataHow it is protected
Meeting audioNot retained at all - nothing to protect
TranscriptsStored in the EU, encrypted at rest, scoped to your account at the data layer
Notes & summariesSame protection as transcripts
Questions you ask KikaSame protection as transcripts
Your memory across meetingsHeld in a partitioned store where every lookup is bound to your account
Calendar accessRead-only, and the credential is separately encrypted with its own key
Your session on this deviceHeld in your operating system’s keychain, never in a readable file
Your identityName, email and picture from Google sign-in. No password - we never receive one

We hold no card data - our payment provider is the merchant of record, and card details never touch our systems - and no passwords, because sign-in is Google only.

Your data is reachable only by you, and by people you name

This is the guarantee the whole product rests on. So it does not depend on application code remembering to filter by user - it is enforced underneath the application, in the data layer itself, and then tested by attacking it.

By default an account is alone with its data. The one way anything is shared is that you add someone to an engagement by email, and only the engagement’s owner can do it. There is no other path: no link that grants access, no organisation-wide visibility, nothing readable by being on the same domain as you.

Enforced below the application

Every record that belongs to you carries your identity, and the database enforces that binding on every read and every write. The credentials our application runs under cannot switch off or step around that rule, and the identity is scoped to a single request, so one user’s session can never bleed into the next.

The practical consequence: if we ever shipped a bug that forgot to filter a query by user, the database would still return nothing. Your memory across meetings is partitioned the same way, and anything outside your partition answers “not found” rather than “forbidden” - so an identifier cannot be probed to learn whether it exists in someone else’s account.

Verified adversarially, not asserted

A suite of 19 automated tests takes the attacker’s side. Handed another account’s identifiers, they attempt to read, list, overwrite, delete and forge - through the same code paths our live API uses. They also confirm the application’s own credentials cannot opt out of the rules.

Two details make that meaningful rather than decorative. The tests include a positive control proving the target data really is there - without it, a setup that silently wrote nothing would make every “attacker sees nothing” result vacuously true. And the whole suite was validated against a deliberately broken configuration, with the isolation rules switched off: the same queries then did return the other account’s data. The tests fail when the protection is removed, which is the only way to know they test anything at all.

What someone you add can see, and what they cannot

An engagement is a shared memory, so a person you add reads what it knows: the decisions and their reasons, what is blocked, what was promised, what was already tried. That is the point of adding them. Two consequences are worth stating plainly rather than leaving to be discovered.

They can also see the record of how those facts arrived - which sessions the capture hook read, what it kept and what it discarded, including short excerpts of those turns. It is there so that when memory looks wrong, anyone on the engagement can tell whether a colleague’s sessions are dropping the decisions you both rely on. If that is not what you want shared, do not add people to that engagement.

They cannot act as you. Every record carries the identity of whoever created it, and the database refuses a write attributed to anyone else - so a fact always names the person and the branch it came from, and nobody can put words in your mouth. Your own conversations with Kika stay yours: the memory is shared, the asking is not. Only the owner may add or remove people, transfer the engagement or delete it.

Everything outside an engagement you are on answers “not found”, not “forbidden”, so an identifier cannot be probed to learn whether it exists in somebody else’s account.

AI and your data

For a product like this, this section matters as much as the infrastructure.

Where we say a provider does not retain or train on your data, that is a contractual commitment from that provider. We re-verify it against their current terms at each review, and this page carries the date of the last one.

Every company that touches your data

The complete list. If we add one, this table changes.

ProviderWhyWhat it sees
RailwayHosting and data storageStored data, in the EU
ElevenLabsSpeech-to-textMeeting audio, in flight only
AWSAnthropic models for notes and answersTranscript text - not retained, not trained on
GoogleSign-in, calendar, and Gemini modelsYour identity; calendar (read-only); transcript text
PolarSubscription billingBilling details only - never your meetings

We do not sell your data and we do not share it for advertising. No human at Kika reads your transcripts. There is no “review conversations to improve quality” programme, opt-in or otherwise.

Access, network and encryption

Deletion actually deletes

Delete a single meeting from inside the app, or your whole account from Settings. Deleting the account removes your meetings, transcripts, notes, question history and memory.

The order is deliberate. Your memory is purged first, because it is held apart from the rest and the handle to it is lost once your account is gone. We then revoke our access at Google, and only then delete the account itself. If the memory purge fails, the whole deletion stops and reports an error - so a partial delete can never be mistaken for a complete one.

One deliberate exception, which we would rather name than have you discover: so the free monthly allowance can’t be reset by deleting and re-creating an account, we keep a one-way cryptographic hash of your account identifier and a usage count. It holds no email, no name and no content, and cannot be reversed into an identity.

Compliance

In progressSOC 2 Type II. Compliance work is underway - we are implementing and documenting the controls now. If your process needs the report in hand, talk to us and we will share where we are and what our timeline looks like.
MetGDPR. Your data is hosted in the EU. We publish a privacy notice and the provider list above, and the rights that matter - access, export, erasure - are ones you exercise yourself in the app rather than by filing a request.
CommittedBreach notification. If your data is ever affected we will tell you without undue delay, and no later than 72 hours after we confirm it.
On requestData Processing Agreement. Email security@getkika.app and we will sign one.
Out of scopePCI DSS. Card data never reaches us - our payment provider is the merchant of record.

What we’re working on

These are the active workstreams, and most of them are inside the SOC 2 effort. We would rather tell you what is coming than let you assume it is already done.

Found a vulnerability?

We would rather hear it from you than from anyone else. Email security@getkika.app. We will acknowledge within three business days and keep you posted until it is closed.

Please don’t open a public issue, and please don’t test against other people’s accounts - if you need a second account to demonstrate something, ask and we’ll set one up for you. We will not pursue anyone who reports in good faith and gives us reasonable time to fix the problem.

Still evaluating us?

Security questionnaires, architecture questions and DPA requests go to security@getkika.app, and are answered by the person who wrote the code rather than a compliance desk. Also worth reading: our privacy policy and terms.