---
title: "Security and privacy"
url: "/organization/security-and-privacy"
description: "What KlicForge holds, how long it is kept, which AI providers see your conversations, and what you are responsible for as the workspace running the agent."
productArea: organization
audience: ["admin", "business-user"]
tags: ["security", "privacy", "compliance"]
lastReviewed: 2026-08-26
---

# Security and privacy (/organization/security-and-privacy)





This page is for the person running a workspace on KlicForge. It covers what the platform
holds on your behalf, how long it keeps it, and the settings that are yours to get right.

<Callout type="info">
  If you are reviewing KlicForge as a vendor rather than operating it, the [Trust
  Hub](https://klicforge.ai/trust-hub) is the authority on our security posture, and the
  [Subprocessor list](https://klicforge.ai/subprocessors) on who processes what.
</Callout>

## What KlicForge holds [#what-klicforge-holds]

Running an agent produces four kinds of data:

* **Conversations** — every message between a contact and your agent, on every channel.
* **[Contacts](/contacts)** — who your agent has spoken to, and whatever personal details they
  disclosed during a conversation.
* **[Data table](/data-tables) records** — anything your agent captured into a table you defined.
* **[Knowledge](/knowledge) and files** — the documents you uploaded to ground the agent, and any
  files a contact sent it.

If [memory](/memory) is on, the platform also stores facts extracted from ended conversations so
the agent can recall them later.

## Encryption and isolation [#encryption-and-isolation]

* Personal data in contacts and data tables is encrypted at rest, field by field. On a data
  table you choose which fields are encrypted, and
  [the choice is permanent](/data-tables#personal-data-and-encryption).
* Connections are encrypted in transit — to the API, to the dashboard, and to the database.
* Channel credentials, tool authentication headers and custom-model API keys are write-only.
  They are stored encrypted and never returned by any endpoint, including to you.
* Each workspace's data is isolated from every other workspace's, enforced both in the
  application and independently at the database.
* Actions on personal data are recorded in an audit log, with the personal data itself redacted.

## How long data is kept [#how-long-data-is-kept]

A conversation ends automatically once it has been idle for its channel's window:

| Channel        | Idle window |
| -------------- | ----------- |
| Web widget     | 1 hour      |
| Telegram       | 24 hours    |
| WhatsApp       | 24 hours    |
| Dashboard chat | 8 hours     |

Ending a conversation does not delete it — it closes the session, so the next message starts a
fresh conversation rather than resuming the old one. You can change the window per agent.

Everything else follows these windows:

| What                       | Kept for                                      |
| -------------------------- | --------------------------------------------- |
| Conversations and messages | Until you delete them or close the workspace  |
| Contacts and table records | Until you delete them or close the workspace  |
| Memory                     | Until the contact or the workspace is deleted |
| Knowledge files            | Until you delete them or close the workspace  |
| Data audit log             | 12 months                                     |
| Security audit log         | 24 months                                     |
| Billing records            | 7 years, as tax law requires                  |
| Database backups           | 7-day rolling window                          |

Closing the workspace removes your agents, contacts, conversations, memory and files. Deleted
data can persist in backups until the rotation window elapses.

## AI providers [#ai-providers]

Your conversations are sent to a third-party model provider to generate each reply. Which
provider depends on the model you selected for the agent — see the
[model settings](/agents) on the agent's detail page.

Every provider that can see conversation content is named on the
[Subprocessor list](https://klicforge.ai/subprocessors), along with what each one states about
retaining and training on the data it receives. That page is the authority; read it before
choosing a model for an agent that handles sensitive information.

[Revealing an encrypted field](/data-tables#revealing-an-encrypted-value) is handled differently:
the model is given a placeholder rather than the value, and KlicForge substitutes the real value
into the reply after the model has written it. The value is not sent to the provider at that
point. It does become part of that reply, so if the conversation carries on it is included in the
history sent with later messages.

## What you are responsible for [#what-you-are-responsible-for]

You decide what personal data your agent collects and why. KlicForge processes it on your
instructions. In practice that means:

* **Yours** — telling people they are talking to an AI agent, having a lawful reason to collect
  what you collect, answering requests from your own contacts, and configuring the agent so it
  cannot disclose one person's data to another.
* **Ours** — keeping the platform secure, encrypting what you store, honouring the retention
  windows above, and disclosing every subprocessor.

The full split is in the [Privacy Policy](https://klicforge.ai/privacy-policy), and the
[Data Processing Addendum](https://klicforge.ai/data-processing-addendum) is available for
business customers.

## Running a safe public-facing agent [#running-a-safe-public-facing-agent]

An agent on a public website talks to strangers. Before you publish one:

* Keep the answer mode at **grounded only** so it answers from your knowledge rather than from
  the model's general training. See [answer modes](/guardrails/answer-modes).
* Block the agent from **reading back** personal fields it is allowed to write, so nobody can
  ask it to recite someone else's details. See
  [protecting personal data from the agent](/data-tables#protecting-personal-data-from-the-agent).
* Set [allowed topics](/guardrails#what-you-can-change) so it stays inside its job.
* Restrict [allowed origins](/channels/web-widget#allowed-origins) to the domains you actually
  embed on.
* Give the agent only the [tools](/skills-and-tools/tools) it needs. Every tool is a capability
  a stranger can try to reach.

KlicForge checks public [web widget](/channels/web-widget) traffic for automated abuse before a
session is established. That runs on every widget with nothing to configure, and it limits
scripted traffic rather than replacing any of the controls above.

If the agent is not meant to be public at all, set its channel to **Restricted** and list who
may reach it — see [access control](/channels#access-control). Do this on Telegram or WhatsApp,
where the messaging platform confirms the sender. A web widget visitor arrives with whatever
identity the page supplies, so treat a widget allow list as a convenience and put anything
genuinely private behind your own login.

Some protections are always on and cannot be weakened — prompt-injection scanning, secret-leak
protection, and tool-output-as-data-only among them. See
[what you cannot turn off](/guardrails#what-you-cannot-turn-off).

## Cookies and analytics [#cookies-and-analytics]

**Settings → Privacy & Compliance → Cookie preferences** records whether KlicForge may use
analytics cookies while you work in the dashboard. The choice is stored once and honoured across
klicforge.ai, this documentation site and the dashboard, and you can change it at any time.

Refusing changes nothing about how KlicForge works — analytics cookies are not needed to use it.
For visitors in the EU, EEA, UK and Switzerland nothing analytics-related starts until consent is
recorded, and if the region cannot be determined none runs at all. The analytics library itself is
not even downloaded until a choice is made, and refusing discards anything recorded while the
choice was outstanding rather than sending it after the fact.

The [cookie policy](https://klicforge.ai/cookie-policy) lists every cookie with its purpose and
lifetime. This covers the dashboard and the KlicForge websites only — the chat widget you embed on
your own site sets no cookies, so it does not add a consent obligation of its own.

## Data requests [#data-requests]

When someone asks what you hold about them, export everything on their
[contact record](/contacts#data-requests). Deletion works from the same place.

<Callout type="warn">
  A contact export includes their conversation history and their memory. Review what it contains
  before sending it.
</Callout>

Requests about your own account, rather than about one of your contacts, go through the
[data request page](https://klicforge.ai/data-request).

Requests from your own contacts — a data access, export, correction, deletion, or opt-out
request they send you directly — are managed from **Settings → Privacy & Compliance** in the
dashboard. A
daily automated process fulfils approved requests; the default response time is 30 days, up to
45 for complex requests.

Deleting a contact is one exception: their WhatsApp marketing opt-out is kept even after the
rest of their record is gone, so KlicForge does not start marketing to someone who had
deliberately opted out. Transactional messages — appointment reminders, order updates, and the
like — are unaffected either way.

## Compliance and regulatory alignment [#compliance-and-regulatory-alignment]

KlicForge is designed to support alignment with GDPR, CCPA/CPRA, and Singapore PDPA, and to
build toward SOC 2 readiness. KlicForge does not currently hold a formal certification. If you
are assessing KlicForge against Singapore PDPA specifically, the
[PDPA and data processing overview](https://klicforge.ai/trust-hub/pdpa) covers the data
intermediary role, retention and deletion.

Where a breach notification is required, the regulatory timelines are:

| Regulation     | Notification window                                          |
| -------------- | ------------------------------------------------------------ |
| GDPR (Art. 33) | Supervisory authority notified within 72 hours of discovery  |
| CCPA / CPRA    | Affected consumers notified within 30 days                   |
| Singapore PDPA | PDPC notified within 3 calendar days for a notifiable breach |

The [Data Processing Addendum](https://klicforge.ai/data-processing-addendum) is published as a
draft for Business and Enterprise customers to review before signing up; it is not yet a
counsel-approved, binding agreement. For a countersigned copy, contact
[hello@klicforge.ai](mailto:hello@klicforge.ai). For a detailed look at
KlicForge's security controls and subprocessor list, see the
[Trust Hub](https://klicforge.ai/trust-hub) and the
[Subprocessor list](https://klicforge.ai/subprocessors).

## Related pages [#related-pages]

* [Workspace](/organization)
* [Guardrails](/guardrails)
* [Contacts](/contacts)
* [Data tables](/data-tables)
