A regulation is a list of obligations,your backlog should be too

A new directive, an ISO clause set, a client's security appendix: someone has to turn that prose into things the team can build and evidence. Khint reads the document on your own machine, isolates one obligation per line with its clause reference, compares it against what your product already does, and files the gaps where the work happens.

For business analysts and product owners in regulated teams. macOS and Windows, menu-bar app. Documents are parsed locally.

The problem is not reading it.
It is that nothing comes out shaped like work

Everyone on the team can read the chapter. What takes three weeks is the conversion: forty pages of legal prose in which the obligations are not listed, they are embedded, each one hiding inside a sentence that also carries a definition, an exception and a cross reference to an annex. You end up maintaining a spreadsheet by hand, losing the clause number somewhere between the second column and the ticket, and rebuilding half of it when the next version of the text lands. A generic chat window does not help much either, because it summarises when what you need is the opposite of a summary: an expansion, one row per verb, with the reference kept attached.

Five passes, one chapter at a time

Each pass is a saved action behind the same shortcut, so the method survives the next version of the text.

  1. Point an agent at the text, wherever it lives

    In Agents, set the agent's input source to Document instead of selected text, and the PDF or Word file of the standard is read on your own machine. Choose Ask me each run and the palette opens a small picker with a drop zone and your recent files, which suits a directive you touch twice a year. Pin the file instead when it is the framework you will live inside for a quarter. How document input works →

  2. Ask for obligations, not a summary

    This is where the prompt earns its keep. A summarising agent gives you a paragraph about the chapter, which is useless. Write the action to return one line per obligation, each carrying its clause reference, each labelled by what it actually demands: a behaviour of the product, a non-functional constraint, a process someone has to run, or a piece of evidence you must be able to produce on request. Ask it to flag the clauses whose scope is genuinely ambiguous rather than resolving them silently, because those are the ones your reviewer needs to see.

  3. Work chapter by chapter, on purpose

    A long normative text does not want to be read whole by a model. Khint condenses anything past roughly 10 KB of text into a cached working summary, which is the right behaviour for a specification and the wrong one for a legal obligation, where the exact verb is the requirement. Scoping each run to one chapter keeps the wording intact and gives you a natural unit of progress: the register grows by a section per sitting instead of arriving as one unreviewable dump.

  4. Compare against what you already do

    The half that takes the time is not the obligation, it is the gap. Start a Memory session for the assessment and pull your own material into it: the current security page from Confluence, the relevant Jira issues, a policy document dropped straight into the session. Khint keeps a compacted working state of that session and hands it to your agents, so the next pass compares each obligation against what the product actually does today rather than restating the law back to you. The integrations that pull it in →

  5. Land the register in Confluence, the gaps in Jira

    From the palette, create the compliance register as a Confluence page under the space you picked, then append each later chapter to it. The append is version locked: if a colleague edited the page while you were writing, the write fails and tells you, rather than overwriting their paragraph. Every gap becomes a Jira issue, one per run, drafted by the agent and filed after you have read it. Chain the drafting and the write into a single workflow once the shape stops changing.

One clause, all the way to the ticket

An illustrative example. Notice what never disappears: the reference.

The clause, as it arrivesSection 12.3 · The provider shall respond to an access request without undue delay and in any event within one month of receipt.
The obligation, isolated12.3 · Evidence + process · Respond to an access request within one month. Hard deadline, starts at receipt, no discretion.
The requirement, writtenAs a data subject, I receive a complete answer to my access request within one month, with the request date and the answer date recorded.
The gap, filedSEC-241 · No timestamp on incoming access requests, so the one-month clock cannot be evidenced. Source: 12.3.

The clause number travelling in every artefact is the whole audit story: six months later, an auditor asks why SEC-241 exists and the answer is one search away instead of one memory away. The same discipline applied to meeting notes rather than legal text is covered in requirements traceability.

When the text is revised

A regulation is never read once. An amended version arrives, and the question is not what it says, it is what changed and which of your tickets that invalidates. Because the passes are saved actions rather than a conversation you had in a browser tab three months ago, you re-run the same prompts on the new chapter and get an output in the same shape, which is what makes a diff possible at all. The obligations you produced last time are still on the Confluence register, the ones you filed are still in Jira with their references, and your Memory session holds the thread of the assessment, so the second round starts from where the first one stopped instead of from the first page. What stays on your device →

Common questions

Can an agent read a 200-page regulation in one go?

It can open it, and you should still not work that way. Khint reads PDF, Word, OpenDocument and plain text on your own machine, so the file opens without being uploaded. But anything above roughly 10 KB of extracted text is condensed once into a working summary, and that summary is what the agent receives. For a marketing deck that is a fine trade. For a normative text it is not, because a summary paraphrases, and in a regulation the paraphrase is exactly the thing you cannot ship: shall and should are different obligations, and a condensed sentence loses which one it was. So scope each run to a chapter or an annex, small enough to travel whole. You get the wording intact, and the whole document still gets covered, one section at a time.

What if the text sits in a portal that blocks copy-paste, or a scanned PDF?

That is what Capture is for. Select the region of the screen showing the clause and Khint extracts the text into your clipboard, then you run the agent on it like any other selection. The same applies to a scan: a PDF with no selectable text is reported as having no text layer rather than coming back mysteriously empty, and Capture reads it as an image instead. Reading pixels needs the Vision model, so it counts as a capture against your plan, while reading a normal document locally costs nothing until the action itself runs.

Does the text of the regulation leave my machine?

The file does not. Khint parses it locally and only the text you actually run an agent on is sent, through Khint's own backend, which forwards it to the model and keeps no copy. Two things worth knowing for a regulated context: a public regulation is not confidential, but the internal policy or client contract you compare it against usually is, and the Redact PII switch on an agent replaces emails, phone numbers, national identifiers and IBANs before anything is forwarded. Memory sessions, your action prompts and the input and output text of each run stay in a local database on your machine.

Does this make the product compliant?

No, and no tool should claim otherwise. What you get is structure and speed: the obligations isolated one per line, each carrying its clause reference, sorted into what the product already does and what it does not, in a form your legal or risk reviewer can argue with. The interpretation stays yours. That is also why every step keeps the reference visible from the clause to the ticket, and why the gaps are filed one at a time rather than bulk-created: the review is the part that carries the responsibility, and it is the part a machine should not quietly absorb.

Start with one chapter and one obligation

Free with 300 credits a month, about 10 AI actions a day. No credit card. Documents are parsed on your own machine.