KlaritiQKlaritiQ
Integrations

How KlaritiQ Integrations Work

KlaritiQ Team·October 2026·6 min read

KlaritiQ connects to the tools your team already runs. Every connection follows the same rules: it asks for the least access that does the job, it shows you exactly what it can do, and you can switch it off yourself at any time. This page describes what each integration does today, not what is planned.

What is connected today

IntegrationWho connects itWhat KlaritiQ can doSetup
HubSpotAn owner or admin, for the organizationReads company and deal records once and keeps an aggregate summary. Read-only, for a 10-minute window.Approve HubSpot's own consent screen. No code.
Google CalendarEach person, for their own calendarAdds, updates and removes the calendar events KlaritiQ itself created for that person's own deadlines. One way, from KlaritiQ to the calendar.Approve Google's own consent screen. No code.
Confluence CloudAn owner or admin, for the organization, then per pageOne way, read only. Pages labelled klaritiq and linked to an initiative are checked about every 15 minutes, and every change is recorded. A person pins the versions they approved. Nothing is written to Confluence.Approve Atlassian's own consent screen, label a page klaritiq, then link it from the initiative's Knowledge card. No code.
Jira CloudAn owner or admin, for the organization, then per initiativeTwo ways. Tasks and risks on a linked initiative become Jira issues, and their title, due date, priority, assignee and status are kept in step in both directions. Jira can never complete a task that needs evidence, or resolve a risk, on its own.Approve Atlassian's own consent screen, then link an initiative to a Jira project. No code.
Microsoft Entra IDAn owner or admin, for the organizationAdds, updates and removes people automatically from your Microsoft directory, as Light or Member only. Never an admin or owner, and it never removes your owner or last admin.Prove your email domain with a DNS record, create a token and paste it into Entra. No code.
SlackAn owner or admin, for the organization, then each person for themselvesSends a person's own tasks and sign-off requests to them as a direct message, and urgent alerts to one channel you choose. A person can mark their own task in progress from a message. It never records a sign-off, completes a task or resolves a risk.Approve Slack's own consent screen, then each person links their own Slack account. No code.
GitHubAn owner or admin, per initiativeYour GitHub Actions workflow records the commit, pull request and run behind each AI system version, and can ask whether that version is signed off. KlaritiQ is never given access to your GitHub account or code.Save a key as a repository secret and add one step to your workflow.
Deploy pipeline (any CI tool)An owner or admin, per initiativeRecords a new AI system version after each deploy and can ask whether it is signed off. Cannot read evidence or any other data.Create a key and add one step to your deploy workflow.
Repository manifest (klaritiq.yml)An owner or admin, per initiativeYour deploy step reads a klaritiq.yml file in your repository and reports the model id, prompt files (hashed), datasets and vendors it lists, plus the commit, and can ask whether the version is signed off. It detects nothing the file does not say.Save a key as a CI secret, commit klaritiq.yml and add one step to your deploy workflow.
Microsoft Entra permissionsAn owner or admin, for the organization, then per initiativeOne way, read only. Reads the member count and a hash of the members of the Entra groups you pick for an AI system, about every 6 hours, and records each as a Permissions part. Member names and emails are never stored.An Entra administrator approves Microsoft's own consent screen, then an admin picks groups. No code.
Coding agents (MCP)An owner or admin, per initiativeA coding agent such as Claude Code or Cursor can read an AI system's current version and sign-off status, record a part, and run the release check. It cannot sign anything off or read evidence.Create a key and add KlaritiQ's MCP endpoint to the agent.
Breach alerts (webhook)An owner or adminSends a signed event to a URL you choose when a compliance flag fires.Paste a URL and keep the signing secret.
HRIS or Active Directory (webhook)An owner or adminReceives a signed departure event from your system and opens a risk for anything that person owned.Point your offboarding workflow at a URL and sign the request with the secret.
API tokensAn owner or adminReads your organization's governance data. The one thing it can write is a new assessment.Generate a token and send it as a Bearer header.

You manage connections in one place: Integrations in the admin menu, in three tabs. Connections is for connecting a tool and seeing its status, Webhooks is for events going out of and into KlaritiQ, and API access is for tokens. Each connection on the Connections tab is a short row: choose Show details to open it. Deploy pipeline keys are listed there too, but they are created and revoked on the initiative they belong to, under AI system versions.

The rules every integration follows

Least access

Each connection asks only for what its feature needs. HubSpot is asked for read access to companies and deals, plus the basic details HubSpot always shows about the installing account. A pipeline key can record versions and ask one yes-or-no question about the current version, and reads nothing else. Where the permission a provider displays is broader than what KlaritiQ does with it, this page says so.

You decide who can connect it

Organization connections (HubSpot, Jira, Slack, Microsoft Entra ID, deploy pipelines, webhooks and API tokens) can only be set up by an owner or admin. A personal connection, such as Google Calendar or a person's own Slack link, belongs to the one person who connects it. Nobody else in the organization, including admins, can use another person's calendar connection.

How credentials are stored

  • API tokens and pipeline keys are shown once, when you create them. KlaritiQ stores only a one-way hash, so a lost key cannot be looked up, only replaced.
  • Webhook signing secrets are also shown once, at creation. They have to be stored so KlaritiQ can check or create signatures.
  • A Google Calendar refresh token is encrypted at rest with AES-256-GCM. KlaritiQ does not store Google access tokens at all. It requests a fresh one for each sync.
  • A Jira refresh token is encrypted at rest with AES-256-GCM, the same way as Google's. Atlassian replaces the refresh token each time it is used, so KlaritiQ saves the new one every time. Access tokens are kept in memory for up to an hour and are not stored.
  • A Slack bot token is encrypted at rest with AES-256-GCM too. Slack tokens do not expire by default, so removing the app from Slack, or revoking its token there, makes KlaritiQ delete the token at once. A person's own Slack link stores only their Slack user ID and workspace, never a token.
  • HubSpot access is held in KlaritiQ's database for the connection window and is not encrypted at rest. KlaritiQ stops using it after a single pull or after 10 minutes, whichever comes first, and asks HubSpot to revoke it. That request is best-effort, and the expired record stays in the database.

Webhooks are signed

Every webhook request, in either direction, carries an HMAC-SHA256 signature of the request body in the X-KlaritiQ-Signature header, so the receiving side can confirm it came from the expected sender. An incoming request with a missing or wrong signature is refused. Jira's own change notifications are accepted only with the signed token Atlassian attaches, and they only prompt a normal sync: what they say is never applied directly, because the sync reads the current state from Jira itself. Slack's requests to KlaritiQ are accepted only with Slack's own signature over the exact request, and only when they are less than five minutes old.

You can disconnect at any time

Each connection can be switched off by the person or admin who set it up. Disconnecting Google Calendar removes the events KlaritiQ added and revokes access, as long as KlaritiQ still has working access to that calendar. If the access was already withdrawn from the Google account side, or has expired, KlaritiQ cannot reach the calendar: the connection is still deleted, but the events already on the calendar have to be deleted by the person themselves. Their titles begin with "KlaritiQ". Disconnecting Slack stops sending, asks Slack to drop its access and deletes the connection and every person's link; nothing is deleted in Slack or in KlaritiQ. Disconnecting Jira, or unlinking one initiative, only stops the sync: nothing is deleted in Jira or in KlaritiQ, and the Jira issues keep their labels. To withdraw Atlassian's access completely, also remove KlaritiQ from the connected apps in your Atlassian account. Revoking an API token or pipeline key stops it working immediately. When a KlaritiQ account is erased, the same applies: its calendar events are removed and the Google access revoked wherever KlaritiQ can still reach the calendar.

Changes are logged

For organization connections, setting them up and removing them is written to your organization's audit log, along with HubSpot data pulls. That includes connecting HubSpot, pulling its data and revoking it, connecting and disconnecting Jira, linking and unlinking an initiative to a Jira project, connecting and disconnecting Slack, changing its settings, a person linking their own Slack account, every change Jira makes in KlaritiQ (recorded as an integration change that names the Jira issue), creating and revoking API tokens, setting up and removing the breach-alert webhook, setting up and removing the HRIS webhook, and creating and revoking pipeline keys. What a token or key does after that is not logged call by call: each card shows when it was last used. A personal calendar connection belongs to a person rather than the organization, so it is not part of the organization's audit log.

What each integration actually does

HubSpot

An owner or admin approves HubSpot's own consent screen, which asks for read access to companies and deals and shows the basic details of the installing account. KlaritiQ gets a 10-minute window, reads a small sample once, and the access closes. Only an aggregate summary is kept: the company count, the deal count, the deal-stage breakdown and a small sample of company names. KlaritiQ does not store your contacts, your marketing data or anything you write in HubSpot. The full walkthrough is in Connecting HubSpot to KlaritiQ.

Google Calendar

Each person connects their own Google account from Integrations. KlaritiQ then adds that person's open tasks and milestones, the ones assigned to them and due in the next 90 days by default, to their primary calendar as private, all-day events marked free, so they never block anyone's availability. Each event contains the task or milestone title, the initiative name, the priority, the evidence the task requires if it has one, and a link back to KlaritiQ. It runs once an hour, and on demand with Sync now.

Google describes the permission as "View and edit events on all your calendars". KlaritiQ only creates, updates and deletes the events it created itself, each tagged so it can find its own. It never lists or reads any other event on the calendar. Nothing flows back from the calendar into KlaritiQ.

Jira Cloud

The step-by-step guide is Connecting Jira to KlaritiQ. An owner or admin approves Atlassian's own consent screen once for the organization. It asks to read and write Jira work, read Jira users, manage Jira change notifications and stay connected. Then, on an initiative, an owner or admin picks a Jira project and the issue type for new issues. Only Jira Cloud is supported.

From then on the tasks and risks on that initiative are created in Jira as issues, labelled klaritiq (risks also klaritiq-risk), each with a link back to KlaritiQ. Going the other way, a Jira issue in that project that you label klaritiq becomes a KlaritiQ task, unless an admin turns that off. Their title, due date (tasks), priority (a risk's severity), assignee and status are kept in step in both directions. People are matched by email address, and anyone KlaritiQ cannot match is simply left alone. The description is copied once, when the issue or task is first created.

Status uses Jira's three fixed categories, To Do, In Progress and Done, so there is nothing to map by hand, whatever your workflow is called. If your workflow refuses a move, for example because a field is required, the item shows that it will retry. When both sides changed the same field, the more recent change wins.

Two rules protect the record. A task that needs evidence is not completed because Jira says Done: it stays open here, a comment tells the Jira issue why, and it completes by itself once the evidence is verified. A risk is never resolved from Jira: it waits until an owner or admin approves it in KlaritiQ, which records the decision as usual. A risk or task reopened in Jira is reopened here. Neither side ever deletes the other's records: if an issue is deleted in Jira, or an item is removed in KlaritiQ, the link is dropped and the other side is left as it was. Each issue KlaritiQ creates ends with a "KlaritiQ ID" line in its description. That is how KlaritiQ recognises its own issues again after a disconnect or a project change, instead of creating them twice, so please leave that line in place. If two organizations on the same Jira site link the same project, a Jira issue belongs to the first organization to link it, and the other never imports it.

Jira tells KlaritiQ when something changes, so updates usually arrive within a few minutes, and a full check also runs every hour or when an admin chooses Sync now. Atlassian describes the permission as reading and writing Jira work. KlaritiQ only touches the issues it created and the labelled issues in the linked projects, and it reads project names and issue types so you can choose from a list. To match people it looks up users by email address. It sends the task or risk title, description, due date, priority, status and owner's account, plus a link back and, when it holds a Done back, a comment.

Confluence Cloud

The step-by-step guide is Connecting Confluence to KlaritiQ. An owner or admin approves Atlassian's own consent screen once for the organization. KlaritiQ only reads: it writes nothing to Confluence. A page is looked at only when it carries the Confluence label klaritiq and an owner or admin has linked it to an initiative, from the Knowledge card on the initiative's Governance tab. Up to 20 pages can be linked to an initiative and 200 to an organization. Only Confluence Cloud is supported.

Every new version of a linked page is recorded with its number, who changed it, when, a SHA-256 hash of the text and, for owners and admins, what changed. Linking a page checks it right away when possible, and otherwise checks run about every 15 minutes, not instantly. A person approves by pinning the current versions, which keeps the full text of those versions. When a page moves on, it shows as Changed since approval. A wiki edit does not undo any other sign-off. A page with restrictions in Confluence keeps its history but no text. Unlinking a page or disconnecting Confluence deletes nothing in Confluence, and KlaritiQ keeps the recorded versions, evidence, approvals and stored text. The one exception is people's names: Atlassian requires that a disconnected site's page authors are erased, so after 3 days the names and Atlassian account ids of authors on that site are removed from the recorded history and shown as a neutral marker. Reconnecting within 3 days prevents that.

Microsoft Entra ID

The step-by-step guide is Connecting Microsoft Entra ID to KlaritiQ. An owner or admin first proves the organization owns its email domain with a DNS TXT record, then creates a token and pastes it, with a Tenant URL, into Entra's Provisioning settings. Entra then pushes people and groups to KlaritiQ over SCIM. A person Entra adds gets a pending invitation, with no email sent, and accepts it themselves after signing in. People join as Light (read-only) or Member, decided by group rules the admin sets, and never as admin or owner. When Entra turns someone off they are removed from the organization, except an owner or the last admin, which are refused and reported to the admins. KlaritiQ keeps only the person's Entra ID, work email, name, active state, department and groups. The token is shown once and only a one-way hash of it is stored. Disconnecting removes nobody.

Slack

An owner or admin adds KlaritiQ to your Slack workspace through Slack's own consent screen. KlaritiQ asks to post messages, to see the list of channels so an admin can choose one, and to offer the /klaritiq command. It does not read what people write in Slack: it does not subscribe to messages. The one message it can receive is a message an owner or admin deliberately saves with the Save to KlaritiQ shortcut.

Each person then links their own Slack account, once. They sign in with Slack, so KlaritiQ knows which Slack account belongs to which KlaritiQ person, and KlaritiQ receives only that Slack user ID and the workspace. An email address shown in Slack is not used for this, because a Slack workspace admin controls it. The step-by-step guide is Connecting Slack to KlaritiQ.

What is sent: the alerts about a person's own work, such as tasks assigned or overdue and sign-off requests, go to that person as a direct message. Every alert except the daily brief can. For the groups an admin switches on, urgent organization-wide alerts go to one channel the admin chooses: compliance flags and regulatory deadlines, risks reopened or left open too long, and sign-offs waiting too long. A message carries a title and a link back, and an admin can choose to add a short reason. That reason can include a colleague's email address, for example the person who asked for a sign-off. Evidence text and AI-written text are never sent. KlaritiQ refuses to post to a channel that is shared with another organization, or one it is not a member of.

What a person can do from Slack: choose I'm on it on a task alert, which marks their task in progress as themselves. It works only for the task's owner or an admin, only on a task that has not been started, and it never completes anything. Completing a task, signing off and resolving a risk are not offered in Slack at all, because they need evidence and a review that a button cannot show. A person's Home tab in Slack lists their own open tasks and any sign-off requests waiting for them, and it is cleared if they unlink or are removed from the organization.

Two more things a person can do. Typing /klaritiq with tasks, signoffs, risks, deadlines or help shows them their own items in a message only they see, and it never changes anything. And an owner or admin can choose Save to KlaritiQ on a Slack message, say which initiative it supports and what it shows, and keep it in the Evidence Locker as an unverified note. The note holds the message text, its author's name, the channel, when it was sent and a link to the original. That is the only message KlaritiQ receives from Slack, and a person has to verify it in KlaritiQ.

Every request Slack sends to KlaritiQ is checked against Slack's signature and refused if it is older than five minutes. Removing the app from Slack, or revoking its token there, disconnects it at once and deletes the token. When a member is removed from the organization, or their account is erased, their Slack link is deleted too.

Deploy pipeline

A pipeline key belongs to one initiative's AI system. It can record a new version, and it can ask whether the current version has the sign-offs it needs (the release check, which also reports any release-blocking guardrail that is failing). It cannot read evidence, decisions or any other data. A request with a wrong key is refused, and repeated failed attempts from one address are rate-limited. See Track AI system versions and sign-offs.

GitHub

KlaritiQ does not connect to GitHub with OAuth and is never given access to your GitHub account, your repositories or your code. Instead, a step in your own GitHub Actions workflow uses a pipeline key to send KlaritiQ the AI system parts you list, together with where they came from: the repository name, the commit, the branch, the pull request number, the workflow run number and the GitHub username that triggered the run. Each version in KlaritiQ then links to that exact commit, pull request and run on github.com. The links are rebuilt from those validated parts, so a workflow cannot point a link anywhere else.

The same key can ask the release check, so a workflow can fail a release whose current version has no sign-off. If the check cannot be reached or gives anything other than a clear yes, the step should fail rather than treat the silence as approval. A repository appears on the GitHub card in Integrations once one of its commits has been recorded, so the card shows what is really reporting, not a setting someone typed. Setup is a repository secret and one workflow step, which is a small amount of code in your own workflow, not a connection you approve on a consent screen. The steps are in Track AI system versions and sign-offs.

Repository manifest (klaritiq.yml)

The step-by-step guide is Report your AI system from your build with klaritiq.yml. A klaritiq.yml file at the root of your repository names the model id, the prompt files, the datasets and, if you wish, the vendors your AI system uses. A script in your own deploy workflow reads it and sends KlaritiQ what it says, with the commit, using a pipeline key. Prompt and data files named by path are hashed, so editing one records a new version, and a file that is a link out of the repository is refused. KlaritiQ is never given access to your repository, and the script detects nothing the file does not say. The example deployment workflow records only a successful production deployment of a commit already on the default branch, and the key belongs in a secret of a protected environment.

Microsoft Entra permissions

The step-by-step guide is Report who has access with Microsoft Entra. This is separate from the SCIM provisioning above. An owner or admin sends an Entra administrator to Microsoft's consent screen once, for two read-only permissions: reading groups and reading group members. The person who connects must hold the Global Administrator, Privileged Role Administrator, Cloud Application Administrator or Application Administrator role, and a tenant can be connected to only one KlaritiQ organization. An admin then picks up to 10 Entra groups for each AI system and says whether each can use or administer it. KlaritiQ stores the group's name, the role, the number of members and a hash of the members' object ids, and never a member's name or email. About every 6 hours each group is recorded as a Permissions part of the AI system, so a change in who has access becomes a new version. Nothing is written to Entra. Disconnecting stops the checks and keeps the picked groups and the versions already recorded.

Coding agents (MCP)

The step-by-step guide is Connect coding agents with MCP. KlaritiQ's MCP server at /api/mcp accepts a pipeline key, so an agent has one initiative's AI system and the part types the key allows, and no more. It has four tools: read the current status, record one part, run the release check and list the sign-offs still needed. Each key has its own allowance of 600 requests an hour for MCP, apart from its deploy pipeline calls. It cannot sign anything off and never reads evidence, decisions or anyone's details.

Vendor register

A vendor that an owner or admin has linked to an initiative in KlaritiQ's vendor register is reported as a Vendor part of that initiative's AI system, with the register itself as the source. Its version is what the register says: the vendor's status and its relationship to the initiative, for example active, supplier. The category is shown as a note on the part and is not part of the version, so a category-only edit creates no version and asks for no sign-off. Owners and admins manage the links with Manage vendors on the Vendor part card of the AI system card, and members see them with View vendors. The feed is switched on for your KlaritiQ workspace by KlaritiQ. Once it is on, a sweep runs every hour and a vendor edit, removal or link change updates the system right after it. Until then the vendor panel says the vendor feed is not switched on and that changes are saved in the register but do not reach the Vendor part. Nothing is recorded when nothing moved. Vendor parts reported by another tool or typed by hand are left alone. A deploy push of any kind never removes the parts the vendor register or Microsoft Entra report: to drop a register vendor, unlink it in the register, and to override one the push must name the same vendor.

Webhooks

Breach alerts send a signed JSON event to a URL you choose when a compliance flag fires. If no webhook is set up, your organization's owners and admins are emailed instead.

HRIS or Active Directory departures work in the other direction. Your system sends the email address of the person leaving. KlaritiQ checks whether that person owns an open risk or a recorded decision, and if so creates a risk, owned by the admin who set the webhook up and reassignable like any other risk. A repeated delivery does not create a duplicate.

API tokens

A token can read your organization's readiness, actions, initiatives, risks, evidence, decisions, vendors, policies and assurance statement. For evidence it returns titles, types and trust level, never the document content. The one thing a token can write is a new assessment. Each token is limited to 200 requests per hour.

What an outside system can write into KlaritiQ

Through these integrations, an outside system can create four kinds of record: an assessment (with an API token), a new AI system version (with a pipeline key, optionally with its GitHub commit, pull request and run), a risk (through the HRIS departure webhook) and a task (from a Jira issue labelled klaritiq). A connected Jira can also change the title, due date, priority, owner and status of the tasks and risks on the initiatives an admin linked to it, with two limits: it cannot complete a task whose required evidence is not verified, and it cannot resolve a risk. Every such change is recorded in the audit log as an integration change. From Slack, a person can mark their own task that has not been started as in progress, as themselves, and nothing else. Everything else is read-only or leaves KlaritiQ.

Questions security teams ask

Does KlaritiQ store my HubSpot or Google credentials?

Yes, in different ways. For Slack, KlaritiQ keeps the bot token encrypted at rest (AES-256-GCM) and deletes it when the app is removed from Slack. For Jira, KlaritiQ keeps a refresh token encrypted at rest (AES-256-GCM), saves Atlassian's replacement each time it is used, and stores no access tokens. For HubSpot, KlaritiQ holds the access token in its database for the 10-minute window, not encrypted at rest, then stops using it after one pull or when the window ends and asks HubSpot to revoke it. That request is best-effort and the expired record stays. For Google Calendar, KlaritiQ keeps a refresh token encrypted at rest (AES-256-GCM) and stores no access tokens. API tokens and pipeline keys you generate are stored only as one-way hashes. Webhook signing secrets are stored so signatures can be checked.

Does KlaritiQ get access to my GitHub repositories?

No. There is no GitHub login or permission to approve. A step in your own workflow sends KlaritiQ only the AI system parts you list and the repository name, commit, branch, pull request number, run number and triggering username. KlaritiQ never reads your code, and the one key it uses can only record versions and ask whether the current version is signed off.

Can an integration change data in my HubSpot, Google or Jira account?

Not in HubSpot, where access is read-only. In Google Calendar, KlaritiQ only creates, updates and deletes the events it created itself and does not touch any other event on the calendar. In Jira, KlaritiQ creates issues, edits the title, due date, priority, assignee and status of the issues it syncs, adds a link back, and adds a comment when it holds a Done back. It never deletes a Jira issue.

Can Jira complete a task or resolve a risk without anyone approving it?

No. If a task needs evidence, marking it Done in Jira does not complete it in KlaritiQ: it stays open, the Jira issue gets a comment saying why, and it completes once the evidence is verified. A risk is never resolved from Jira: it waits until an owner or admin approves it in KlaritiQ, and that approval is recorded as a decision.

Can someone sign off or complete a task from Slack?

No. Slack can tell a person that a sign-off is waiting and take them to it, but the sign-off is made in KlaritiQ, where the current AI system version is reviewed and evidence is cited. The only action in Slack is marking your own task in progress. Completing a task and resolving a risk are not offered there at all.

What happens to the data when I disconnect?

Disconnecting Google Calendar removes the events KlaritiQ added, revokes the access and deletes the connection, as long as KlaritiQ still has working access to the calendar. If access was already withdrawn on the Google side, the connection is deleted but the events must be removed by hand, and their titles begin with "KlaritiQ". A HubSpot pull leaves only its aggregate summary against your report. Disconnecting Jira stops the sync and deletes the connection and its links, and nothing is deleted in Jira or in KlaritiQ. Revoked API tokens and pipeline keys stop working immediately.

Who in my organization can see or change an integration?

Owners and admins manage the organization-wide connections, webhooks, API tokens and pipeline keys. A personal connection such as Google Calendar can only be used by the person who connected it. Owners and admins link and manage initiatives from the Jira card on the Integrations page.

Can I see what an integration has been doing?

Yes. Each card shows its own status: when the calendar or Jira last synced, when a webhook last received a call and when a key was last used. Each linked initiative lists its synced items and whether each one is in sync. Setting up and removing the organization connections, and pulling HubSpot data, are also recorded in your audit log. Individual calls made with an API token or pipeline key are not logged one by one.

See where your own organization's evidence gaps actually are.Open Integrations

Was this article helpful?

Community Questions (0)

No questions yet. Be the first to ask!

Still have questions?

Contact support