Legal
Security & data handling
This page describes how IntentKeep handles your source code, tickets, and related data when you connect a repository or a Jira project. We update this page when our subprocessors or data flows change.
GitHub App permissions
The IntentKeep GitHub App requests narrowly scoped permissions. Your code stays read-only; the only write access is posting check results on pull requests. We cannot modify your repository.
Contents: Read-only
Read your code for extraction and PR guard checks.
Metadata: Read-only
List your repositories during install and setup.
Pull requests: Read-only
Watch pull request events and read diffs for requirement checks.
Checks: Read & write
Post pass/fail requirement checks on your pull requests.
Jira access
Jira connects per project. You paste an API token from a Jira account you control. The token inherits that account's permissions, so Browse Projects on one project is the bound. We call three REST endpoints, all read-only:
POST /rest/api/3/search/approximate-countGET /rest/api/3/fieldGET /rest/api/3/search/jql
We never create, update, or delete a Jira issue. Disconnect removes the stored credential. You can revoke the token from Atlassian at any time.
What we access
- Repository clone (transient): when you run extraction or a PR guard check, we clone the repo to analyze it. The clone is used for the job and not kept as a long-term copy of your codebase.
- Pull request diffs: for PR guard, we read changed files via the GitHub API. We do not need full repo access on every PR once requirements are established.
- Webhooks: GitHub sends signed
pull_requestevents so we can enqueue checks. Webhook secrets are stored in AWS SSM, not in application config in plaintext.
What we store
- Requirements and scenarios extracted from your code (plain-English behaviour descriptions, linked files, review status).
- PR guard run records: check outcomes, findings per scenario, and links back to the pull request.
- Job metadata: extraction progress, usage metering for LLM calls tied to your project.
- Jira scout and issue records:
tracker/scout.jsonandtracker/issues/{KEY}.jsonhold ticket summaries, descriptions, acceptance criteria, and changelog values as plain text. Ticket text is sent to the LLM provider during import. - Jira connection: the site URL and account email on the project record, and the API token encrypted in
tracker/connection.json. Rotating the draft-signing secret makes stored tokens undecryptable; you re-paste.
We do not persist your full codebase. Ticket text is retained for the project until you delete it. Stored artifacts are scoped per project under tenant-isolated storage (filesystem in development, S3 in production).
AI subprocessors
Requirement extraction and PR guard assessment send code excerpts and diffs to our configured LLM provider for analysis.
- OpenAI (API): used for extraction and regression assessment in production today. Under OpenAI's API terms, API traffic is not used to train their models. See OpenAI API data usage policies.
We will update this section if we add or change subprocessors. Teams can ask which provider is active for their environment before connecting a repo.
Retention
We keep the requirements, scenarios, PR guard records, imported ticket text, Jira connection, and job metadata for as long as the project exists. We do not keep a long-term copy of your source code. Lead enquiry details are kept so we can contact you about the engagement.
Deletion and engagement end
Disconnect the GitHub App and we stop receiving events and stop cloning the repository. Disconnect Jira from the project and we remove the stored credential. You can delete a project yourself from the project page; that also deletes imported tickets and the Jira connection. Email hello@intentkeep.ai and we delete the project artifacts: the extracted requirements, imported tickets, PR guard records, job metadata, and the Jira connection. After that, IntentKeep has no remaining copy of those records.
Model training
Excerpts and diffs go to OpenAI under their API terms, which exclude training on API traffic. We do not use your code, requirements, or tickets to train a model of our own.
Can this run in our infrastructure?
Compute stays with us. Customer-owned object storage is a direction, not a shipped feature. Today, stored artifacts live in tenant-isolated storage in our AWS account (S3 in production).
NDA
An NDA is available on request. Email hello@intentkeep.ai.
Public demo flows
The Try it and demo features on this site are for evaluation, not production or regulated data. Do not paste confidential material you are not authorised to share. See our Privacy Policy for what we collect on the marketing site.
Questions
Security or data-handling questions: hello@intentkeep.ai.