Skip to content

docs: redacting a passage, and why it is not a black rectangle - #41

Merged
tannevaled merged 1 commit into
mainfrom
docs/redacting-a-passage
Nov 7, 2026
Merged

tannevaled merged 1 commit into
mainfrom
docs/redacting-a-passage

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

Why

The workbench page covers selecting and marking. Redact is the fourth
editing scope — and the only verb on that tab that destroys anything, so it is
the one most worth explaining.

What the section says

  • what it does: removes the operator that drew the text, and says so —
    "removed 17 characters from 1 page — the text is gone from the file, not
    covered"
    ;
  • why that is the whole point, in the spec's own words. ISO 32000-1 §12.5.6.23
    requires a conforming reader applying a redaction to "remove all traces of
    the specified content"
    and says "clipping or image masks shall not be used
    to hide that data"
    . A rectangle drawn over a paragraph leaves the text in the
    stream for anyone to copy out from under it;
  • where the verb sits and why — next to the selection, because a redaction you
    had to go and find on another tab is one you would do with a rectangle
    instead;
  • the four refusals, and why each is a refusal rather than a best effort: a
    form XObject (shared bytes), an image (the pixels must be destroyed, and a
    mask over them is what the spec forbids), an annotation (it holds text of its
    own), and an operator that also draws words outside the selection. A redaction
    betrays its reader in two directions, and removing too much is the quieter
    one;
  • the refusal a reader actually walks into: highlight a passage, then decide
    to redact it.
    The highlight is an annotation over those words and its note
    can quote them, so it has to go first;
  • that marking and redacting answer the same question about where with the
    same arithmetic, so highlighting a line and then redacting it gets the same
    words both times.

Text only — no front matter, navigation or shortcode changes.

Companions: app#79 (the verb),
ops#68 and
ops#69 (the library).

🤖 Generated with Claude Code

The workbench page covers selecting and marking; Redact is the fourth
editing scope and the only verb there that destroys anything.

The section says what the difference is, in the spec's own words — ISO
32000-1 §12.5.6.23 requires a conforming reader to "remove all traces of
the specified content" and says "clipping or image masks shall not be
used to hide that data" — and then what that means for a reader: a
rectangle drawn over a paragraph leaves the text in the stream for anyone
to copy out.

It also lists the four refusals and why each one is a refusal rather
than a best effort, because the commonest of them is a flow a reader
walks into: highlight a passage, then decide to redact it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tannevaled
tannevaled merged commit f0fa8c6 into main Nov 7, 2026
2 checks passed
@tannevaled
tannevaled deleted the docs/redacting-a-passage branch November 7, 2026 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant