Skip to main content

Redaction suggestions

What this page is — the capability that scans a document for sensitive data before you share a copy, and returns each occurrence with the exact text to find and whether to remove or mask it.

What it is for — because the bank account in the payment schedule and the API key pasted into an annexure are found by a machine reliably and by a person about eighty percent of the time.

The problem it solves — a bank account or personal detail buried in an annexure goes out in a shared copy because a person skimmed past it.

Route: /org/papers/documents/<document>/ai → Comply → Redaction suggestions · Permission: Use AI drafting/extraction/Q&A for documents. · Utility: papers_redaction · Cost: 450 credits estimated, 1,800 maximum.


1. What it is​

It scans the whole document span by span for four classes of sensitive data, and for each one decides between two actions.

ClassTypical find
piiA personal mobile number in a signature block; a home address
financialA bank account and IFSC in the payment schedule; a salary figure
healthA medical condition referenced in an accommodation clause
credentialAn API key or password pasted into an annexure
ActionMeansUse when
redactRemove entirelyThe reader has no reason to see it at all
maskKeep a recognisable stub — account ****1234The reader must still be able to reference it

That second distinction is what makes the output usable. Blacking out an account number the auditor must reconcile against creates a second problem; masking to a stub solves both.

Sensitivity depends on who receives the copy, which is why the audience input in §3 matters more than any other parameter in this module.

Finds
Redaction suggestionsSensitive data to remove before sharing
Compliance & policy checkClauses that breach your policy
Shadow redlineLiabilities in the counterparty's round

2. Why you would use it​

Sharing a document externally is the moment where a small oversight becomes irreversible. Once a copy carrying a live credential has left, it has left.

  • It catches the thing that was never meant to be in the document. The API key someone pasted into an annexure "temporarily" eighteen months ago is exactly what a span-by-span scan finds and a reader does not.
  • text_excerpt makes it actionable programmatically. The shortest span that uniquely identifies the data, exactly as it appears — so it can be located reliably rather than eyeballed.
  • The audience setting prevents over-redaction. Blacking out the pricing the counterparty's own counsel already negotiated makes the copy useless and makes you look evasive.
  • It scales to documents nobody wants to re-read. A ninety-page agreement with six annexures is where manual review quietly stops happening.
  • reason carries the doubt. Where a call is genuinely arguable, the reason says so, which is what lets a human make the decision rather than rubber-stamp it.

3. What you provide​

InputRequiredNotes
AudienceOptionalWho the redacted copy is for. Tunes how strict the scan is

Left blank, it defaults to a cautious least-privilege third party — flagging anything a stranger should not see.

AudienceEffect
External auditor — keep financial figures they need to audit, strip unrelated PII and credentialsKeeps what the audit requires, strips the rest
Public filing / regulator portal — strip all personal, financial and secret data aggressivelyMaximum strictness
(blank)Cautious default for an unknown third party
Vagueness costs you in both directions

Too loose and you leak. Too strict and you black out figures the reader legitimately needs, which means a second round of requests and a copy that reads as obstruction.

Name the actual recipient. It is a free-text description, so describe them properly — the sentence in the table above is the right length, not the word "auditor".


4. What it reads automatically​

Read from the documentUsed for
Document text — the full rendered body, scanned span by spanFinding every occurrence
Title & family — e.g. "Employment Contract"What sensitive data is expected in this kind of document
PartiesTelling official roles from personal-capacity details
Key field values — amounts, IDsThe structured data that also needs a decision

The Parties row is subtler than it looks: a director's name in an execution block is an official role, and the same name in a personal guarantee is a personal-capacity detail. One is not sensitive; the other may be.


5. What you get back​

items[] — each piece of sensitive data found. An empty array means the document is clean.

FieldTypeValuesMeans
text_excerptstring—The exact text as it appears — the shortest span that uniquely identifies it, so it can be located programmatically
data_classenumpii, financial, health, credentialWhat kind of sensitive data it is
reasonstring—Why it is sensitive for this audience, and any doubt to weigh
suggested_actionenumredact, maskRemove entirely, or keep a recognisable stub
Nothing is redacted for you

The capability produces a list and the exact text to act on. A human applies the masking and does the final read before the copy goes out. No document is altered, and no redacted copy is produced.


6. Worked example​

A finance team must send a supply agreement to an external auditor.

Input: audience = External auditor — keep financial figures they need to audit, strip unrelated PII and credentials.

One entry from items[]:

Bank account in payment schedule text_excerpt: "A/C 50100 2234 8891, IFSC HDFC0000123" data_class: financial reason: Full bank account and IFSC would let the auditor (or anyone the copy reaches) initiate transfers; not needed to audit the contract terms. suggested_action: mask

What the team does with it. Note that this is financial data going to an audience explicitly told to keep financial figures — and it is still flagged, with the reasoning spelled out: the auditor needs the amounts, not the account. That distinction is what an audience-aware scan buys you.

mask rather than redact because the auditor may need to tie payments to an account; ****8891 does that without carrying the credential. The team applies the mask by hand, then reads the copy once more before it goes.

Two further items came back pii — a signatory's personal mobile number, and a home address in a guarantee — both redact, both irrelevant to the audit.


7. Running it​

  1. Open the document in Orbit Papers.
  2. Open the AI Assistant drawer, or go to the document's AI workspace.
  3. Choose Redaction suggestions under Comply.
  4. Optionally name the Audience the shared copy is for.
  5. The list appears in a result tab, each item with the exact text to locate.
  6. Apply the masking yourself, then read the copy before it goes out.

Because the audience changes the answer, re-run when the recipient changes. A scan produced for counsel is not a scan for a public filing.

Available for auto-run from the type's AI Config tab — though note that an auto-run has no audience, so it uses the cautious default. That is the right setting for a pre-share gate and the wrong one to treat as final. See AI configuration.


8. The admin contract​

Must be trueWhereWhat happens if it is not
Your role holds Use AI drafting/extraction/Q&A for documents.Role editorThe AI Assistant button does not appear
The papers_redaction utility is activeOrbit AI Flow → utilities"This utility is currently disabled"
The utility is enabled for your organisation/org/ai-utilitiesAbsent from Comply, with no error
papers.ai_monthly_credit_cap not yet reachedSystem Config"monthly AI credit cap reached: n of n credits used this month"
The document has extractable textThe documentA scanned annexure is not scanned span by span. Run OCR first, or the credential in it is invisible
Someone owns applying the redactionsYour processThe list sits in a result tab and an unredacted copy goes out anyway

The last row is the real risk with this capability: it is easy to run, produces a reassuring artefact, and changes nothing on its own.

Confidential documents: automatic runs are blocked, manual runs are not

For a confidential document, auto-run is default-denied — a platform administrator must set papers.ai_confidential_cloud to the literal allow, and the block appears only in the server log. A manual press still works, and where a local model key is configured the run is forced on-prem and audited on the timeline as ai_local_routed.


9. Don't confuse this with…​

Shared linksActually produces the shared copy. This tells you what to strip first
Compliance & policy checkAudits clauses against your policy. This finds sensitive data
Attachments and partiesWho is on the document. This is about what a copy of it contains
Shadow redlineInternal analysis never to be shared. This prepares something to be shared

10. Troubleshooting​

SymptomCause
The document was not redactedIt never is. The capability lists; a person applies (§5)
It flagged pricing the counterparty already knowsThe audience was left blank, so the cautious default applied. Name the recipient (§3)
It missed a credential in an annexureThe annexure is a scanned image with no extracted text. OCR it first (§8)
items[] is empty on a document with a bank accountCheck the account is in the rendered body rather than an unrendered attachment
A name is flagged in one place and not anotherDeliberate — an official role in an execution block is treated differently from a personal-capacity detail (§4)
mask where I expected redactThe reader needs to reference the value. Override it; the suggestion is advice
The capability is missing from ComplyRole lacks Use AI drafting/extraction/Q&A for documents., or the utility is off for the organisation (§8). The document type does not gate it — AI Config controls auto-run only