Data Security
iKanban's AI features involve two sensitive things: the provider API keys you add, and the notification text those features send to an AI provider. Here's how each is protected.
Your provider keys are encrypted at rest
When you add an AI provider key (Settings → AI Provider Keys), it is encrypted before it's stored using industry-standard AES-256 encryption, with the encryption key managed by AWS KMS. The database holds only ciphertext — a database dump or backup never reveals a usable key.
Your iKanban API token (vk_…) is not involved in this — it authenticates your
requests to iKanban and can't decrypt anything. The encryption is anchored to a
server-side key you never see.
What's sent to an AI provider — minimized and redacted
When you turn on Prioritize in the Inbox, iKanban asks an AI provider to rank and summarize your notifications. Two safeguards apply:
- Only a little is sent. Just the notification title and a short snippet (up to 120 characters) per item — never full task descriptions, comment threads, or attachments.
- Secrets are stripped first. Before sending, the text is scrubbed of email addresses, phone numbers, and credential-like strings (things that look like API keys or tokens).
- It uses your key and your account. The request goes to the provider you configured, billed to your account. If you haven't added a key, nothing is sent to any AI provider — a built-in fallback ranks notifications locally instead.
Whatever is sent is then subject to your AI provider's own data policy. Review your provider's API data-usage terms.
Connections stay with the person who started them
When you connect GitHub, GitLab, Bitbucket or Slack, the provider sends you back to a page in iKanban. It names the iKanban account you are signed in to. Nothing is saved until you click Connect on that page, and only the person who started the connection can finish it.
- Someone else's link: if you approve a link another person sent you, nothing is saved on their account. Close the page, and tell your administrator if you did not expect the link.
- The wrong account on the page: close the page. Nothing is saved.
- Signed out: sign in to iKanban, then connect again from Agent settings → Git connections.
- Five-minute limit: the approval waits five minutes and works once. After that, connect again.
What happens to an approval that is not saved. iKanban deletes the token it held, and asks the provider to end it:
| Provider | The unsaved token |
|---|---|
| GitHub | iKanban revokes that one token. Your other tokens and connections stay. |
| GitLab | iKanban revokes that token. |
| Slack | iKanban revokes that token. If your Slack workspace is already connected, the token stays, because Slack can reuse it for that connection. |
| Bitbucket | Bitbucket has no way for an app to revoke one token. iKanban deletes its copy; the token stays valid at Bitbucket for up to an hour, and nobody holds a copy. To end it now, remove iKanban from the authorized apps in your Bitbucket account settings. |
Revoking is best effort: if the provider does not answer, that provider's own settings page ends the access.
In transit
Connections between your browser and iKanban, and between iKanban and your AI provider, use HTTPS/TLS. iKanban's databases run in a private, non-internet-facing network.
What you control
- Add or remove a key anytime in Settings → AI Provider Keys. Remove it and AI features stop sending data for you.
- AI is opt-in via your key. No key means no data leaves for AI; features fall back to non-AI behaviour.
Good to know
- Redaction matches common patterns (emails, phones, credential shapes) — it isn't a guarantee against every format, so avoid putting genuinely sensitive material in task titles and comments.
- At-rest encryption protects data stored in iKanban; it doesn't change how your AI provider handles data you send them.