Use Cases and Requirements for Redaction in VCON
draft-rosenberg-vcon-redaction-00
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Author | Jonathan Rosenberg | ||
| Last updated | 2026-09-29 | ||
| RFC stream | (None) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-rosenberg-vcon-redaction-00
Virtualized Conversations J. Rosenberg
Internet-Draft jdrosen.net
Intended status: Informational 29 September 2026
Expires: 2 April 2027
Use Cases and Requirements for Redaction in VCON
draft-rosenberg-vcon-redaction-00
Abstract
The Virtualized Conversations (VCON) specification defines a
standardized object format for representing multimedia conversations
between users and AI agents. Recent work has expanded VCON to enable
it to been used to capture sessions with AI Agents as well, including
tool calls, reasoning steps, model configuration and more. This has
also expanded the set of use cases and requirements for redaction of
sensitive information from a VCON. This document outlines use cases
and requirements for redaction in VCONs. This document is meant for
discusssion purposes. All of this document was written by the author
and not by an LLM.
About This Document
This note is to be removed before publishing as an RFC.
The latest revision of this draft can be found at
https://jdrosen.github.io/vcon-redaction/draft-rosenberg-vcon-
redaction.html. Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-rosenberg-vcon-redaction/.
Discussion of this document takes place on the Virtualized
Conversations Working Group mailing list (mailto:vcon@ietf.org),
which is archived at https://mailarchive.ietf.org/arch/browse/vcon/.
Subscribe at https://www.ietf.org/mailman/listinfo/vcon/.
Source for this draft and an issue tracker can be found at
https://github.com/jdrosen/vcon-redaction.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Rosenberg Expires 2 April 2027 [Page 1]
Internet-Draft VCON Redaction September 2026
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 2 April 2027.
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Redaction Support in VCON . . . . . . . . . . . . . . . . . . 3
2.1. Redaction Properties . . . . . . . . . . . . . . . . . . 3
2.1.1. Signaled or Unsignaled . . . . . . . . . . . . . . . 3
2.1.2. Positioning and Participant Indications . . . . . . . 4
2.1.3. Detectable and Undetectable Redaction . . . . . . . . 4
2.1.4. Information Tagging vs. Redaction . . . . . . . . . . 5
3. Redaction Methodologies for VCON Audio and Video Dialogs . . 5
3.1. Full Dialog Object Removal . . . . . . . . . . . . . . . 5
3.2. Dialog Object Content Removal . . . . . . . . . . . . . . 6
3.3. Dialog Object Content Substitution . . . . . . . . . . . 7
4. Redaction of Text . . . . . . . . . . . . . . . . . . . . . . 8
4.1. Well-Known Character Substitution . . . . . . . . . . . . 8
4.2. Information Substitution . . . . . . . . . . . . . . . . 9
5. Requirements for VCON Extensions . . . . . . . . . . . . . . 10
5.1. Explicit Positional and Participant Redaction
Indicators . . . . . . . . . . . . . . . . . . . . . . . 10
5.2. Explicit Text Redaction Element . . . . . . . . . . . . . 10
5.3. Explicit Information Identication Element . . . . . . . . 11
6. AI Authorship Considerations . . . . . . . . . . . . . . . . 11
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
9. Informative References . . . . . . . . . . . . . . . . . . . 12
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 12
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12
Rosenberg Expires 2 April 2027 [Page 2]
Internet-Draft VCON Redaction September 2026
1. Introduction
The Virtualized Conversations (VCON) specification [VCON] defines a
standardized object format for representing multimedia conversations
between users and AI agents. Recent work HOWE [VAC] [RESTRUCTURE]
has expanded VCON to enable it to be used to capture sessions with AI
Agents as well, including tool calls, reasoning steps, model
configuration and more. This has also expanded the set of use cases
and requirements for redaction of sensitive information from a VCON.
This document outlines use cases and requirements for redaction in
VCONs. This document is meant for discusssion purposes. No AI was
used in the creation of this document.
2. Redaction Support in VCON
The VCON specification itself provides support for redaction in a
singular fashion. It allows a VCON to reference a prior instance of
a VCON which was unredacted. This is accomplished through the
"redacted" object defined in Section 4.1.8 of [VCON].
Beyond this, the specification says that specific methods for
redaction of text, audio, and video are out of scope for the
document.
This document considers what those methods could be.
2.1. Redaction Properties
There are several different properties of redaction systems. These
properties largely define what information still remains after the
redaction has ocurred.
2.1.1. Signaled or Unsignaled
Firstly, redaction can be signaled or unsignaled. In signaled
redaction, there is some kind of indication - meant for processing by
software - which indicates that redaction has occurred. In
unsignaled, there is no such indication meant for processing by
software. The distinction of "meant for processing by software" is
important in this definition. It means that there is something like
a field in a JSON document, a flag or tag or other piece of
information which conveys the fact that redaction has occurred. In
the current VCON specification, the redacted field is the property
which provides a way for redaction to be signaled.
Rosenberg Expires 2 April 2027 [Page 3]
Internet-Draft VCON Redaction September 2026
2.1.2. Positioning and Participant Indications
Redaction operations can provide a positioning indication. A
positioning indication is information that remains post-redaction
that indicates where the redaction occurred. For audio and video
streams, this is the start and stop timestamps where the redaction
ocurrred. For textual streams, it is the exact text which was
redacted in the chat sequence. For events, like a tool call, it is
the exact position in the event - the tool call input or output for
example - which was removed.
Redaction operations can provide a participant indication. A
participant indication is relevant only for conversational elements -
audio, video or chat - and it indicates the participant that was
redacted.
By definition, if a VCON has positioning or participant indications,
the VCON has signaled redaction.
What are the use cases where we want to redact sensitive information
but retain positional and/or participant indicators? in something
like a contact center call, we want to remove PCI, but wish to retain
positional and participant indicators for troubleshooting purposes.
It is very common in contact centers for managers to review calls
after the fact, and use the conversation to adjust many aspects of
how both human and AI agents support customers. Another use case is
for PII redaction, where we want to anonymize the conversation but
don't need to hide the fact that redaction has ocurred. In such
cases, we would want positional indicators, but not participant
indicators.
2.1.3. Detectable and Undetectable Redaction
In the case of audiovisual content, redaction can be characterized as
detectable or undetectable, which indicates whether a human being (or
perhaps a model which is processing the content as a human might) -
through observation of that content - would be able to determine that
redaction has occurred. For example, if a user speaks their social
security number, and it is "beeped" over within the recording itself,
then a human could determine that redaction has occurred by listening
to the audio, and noting the beep as a clear indicator that there has
been information redaction. In video content, there might be rapid
fadeout to black. In image content, there might be a black box
pasted over an image.
To make audiovisual redaction undetectable, it needs to be
substituted with something which sounds or looks appropriate to a
human observer. This is generall quite difficult to do. For
Rosenberg Expires 2 April 2027 [Page 4]
Internet-Draft VCON Redaction September 2026
example, if a user speaks their social security number to an agent,
one could use a text-to-speech model to generate an alternative, fake
social security number, using the voice of the user. In other words,
apply a "deepfake" technology to alter the content in such a way that
it is generally undetectable.
There are different use cases for how much information we want to
remove, and how much we want to retain in the document. For highly
sensitive redactions, such as when a witness needs to be protected
and their presence utterly removed from a conversation - it is
desirable to make the redaction undetectable, with no remaining
positional or participant indications.
2.1.4. Information Tagging vs. Redaction
A close cousin to redaction is information tagging. In information
tagging, sensitive information - such as PII - are tagged explicitly
in the document or object. By tagging it, downstream consumers of
the document can hide the information - or not - depending on the
user that is viewing it. This relies on trust between the
transmitter of the document, and the recipient. Namely, it requires
that the transmitter trust the recipient to perform the information
hiding appropriately based on the user that is viewing it.
A common use case for this is in the contact center. A normal human
contact center agent reviewing a call may not have permissions to see
the name and address of the user in the transcript of the call,
should they view that transcript. However, someone from the security
and compliance team, might have such permission.
3. Redaction Methodologies for VCON Audio and Video Dialogs
This section discusses the techniques which can be applied to a VCON
to achieve different types of redaction. Redaction methodologies for
audio and video are more complex than those for text, due to the
obvious difficulities in manipluation of the content.
3.1. Full Dialog Object Removal
The simplest way to redact audiovisual information in a VCON is to
remove the dialog object containing that information entirely from
the VCON. In this approach, there is no trace whatsoever that this
dialog existed in the VCON. This removal changes the index for any
other dialogs in the VCON, which might require updating of references
to that dialog from other objects, such as an analysis or
participant.
Rosenberg Expires 2 April 2027 [Page 5]
Internet-Draft VCON Redaction September 2026
Full object removal only makes sense if the VCON was structured as a
sequence of dialogs, each representing a temporal segment of the
conversation. For example, if each turn of a conversation was
represented in a singular dialog. If a user spoke their social
security number in a specific turn, the dialog representing that turn
could be removed from the VCON.
Full object removal may result in a "hole" in the sequence of dialogs
where no audiovisual information is present, making it potentially
detectable. Whether it is detectable or not depends on how the
dialogs were structured and on the nature of the conversation being
captured. If the VCON had a set of dialogs, each representing a one-
minute interval of audio mixed from all participants, then removing
of one of the dialogs results in a VCON in which redaction is easily
detectable - there will be a notable silence in the audio. However,
if the VCON had a series of dialogs, each representing the audio
contribution of a single speaker for a one-minute portion of time (or
perhaps a single turn), then it might be detectable, or might not.
If it was a conversation between a user and an AI agent, and the
user's utterance is removed, the conversation would clearly sound
like it was missing something. For example -
AI Agent: What is your social security number?
AI Agent: Got it, thanks
A user listening to this audio sequence would know something was
missing, making the redaction detectable.
However, in a less structured meeting, where it is possible there was
no direct response to a user's utterance of redacted information, it
may not be detectable.
Full dialog object removal does not have positional or participant
indications, making this approach problematic for cases where
positional and participant indications are desirable.
3.2. Dialog Object Content Removal
In this approach, the content of the Dialog object - present either
in the body element or the url and content_hash - is removed from the
VCON, but the Dialog object itself and its meta-data (including
parties, start and duration), remain. We call this a Dialog object
"shell".
Rosenberg Expires 2 April 2027 [Page 6]
Internet-Draft VCON Redaction September 2026
Like full dialog object removal, this approach makes sense of the
VCON was structured as a sequence of dialogs, each representing a
temporal segment of the conversation. For example, if each turn of a
conversation was represented in a singular dialog. If a user spoke
their social security number in a specific turn, the dialog
representing that turn could be converted to just a shell.
Unlike full dialog object removal, there is no change in the index of
the dialog that was redacted, eliminating the need to potentially
update references elsewhere in the VCON.
Also unlike full dialog object removal, content removal can be
accompanied by positional indicators (if the start and duration
elements are preserved) and participant indicators (if the parties
element is preserved). This makes this approach useful for many
applications. However, it has a hard requirement that the VCON be
structured in a way facilitating removal of content from a single
dialog. For calls between a consumer and an AI agent, it would
require per speaker, per-turn dialog elements. Even then, redaction
of an entire turn might cause loss of information which is desirable
for downstream troubleshooting and management purposes. Consider
this conversation -
AI Agent: How can I help you today?
User: Yeah, so my name is Jonathan Rosenberg and my account number
is 12345. I ordered a widget 2000 like a month back and it still
hasn't shown up. The website is showing it shipped but it has
said that for a while and there is no Fedex tracking number.
What's going on?
In this case, the user turn contains PII information (the user's name
and account number), but it also contains critical information - the
intent of the caller and context of the removal. If the dialog
content is removed, the audio is lost. Now, this might be acceptable
if there was an accompanying transcript in an analysis object. The
entire audio turn could be redacted, and then just the two PII
elements from the transcript. The alternative is to perform content
substitution, noted below.
3.3. Dialog Object Content Substitution
In this approach, the content of the dialog object is replaced with
something else. For audio, this might be a "beep" sound. For video,
it might be a recorded video of a black screen. More interestingly,
the content can be substituted for one in which the "beep" or video
overlay only occur in a portion of the content. For example,
consider a Dialog containing recorded audio covering 20 minutes of a
call. At timestamp 3:41 the user said their social security number
Rosenberg Expires 2 April 2027 [Page 7]
Internet-Draft VCON Redaction September 2026
and it took 3 seconds to speak it. During the interval 3:41 to 3:44,
the audio is replaced by an audible "beep".
Content substitution is detectable. However, in the current VCON
specification, there is no explicit indication that the substitution
has happened. There is no positional or participant indicators
either.
This is a gap in the specification.
4. Redaction of Text
Text content can be present in dialog objects, containing emails or
chat messages. It can also be present in events, such as a tool call
request, a tool call response, or even in reasoning outputs. It can
be present the Analysis object, inside of a transcript or summary of
a dialog element.
There are several ways to perform redaction of text within VCON.
4.1. Well-Known Character Substitution
The simplest technique is to just substitute the sensitive
information with some kind of alternative well-known characters -
"XXX" being quite common. Sometimes, the word "REDACTED" is used as
well.
Well Known Character substitution is effective and easy to implement.
It is detectable.
It's main drawback is that, as a positional indicator, it can lead to
false positives. Consider the following interesting conversation -
AI Agent: What is your three letter confirmation code?
User: Yes, it is XXX.
AI Agent: Thanks, let me look it up.
Here is the interesting question - was the user's confirmation code
actually XXX, or was it something else, and there was a redaction
operation which substituted the real confirmation code?
This perhaps seems contrived, but it is even more complex in cases
where the redaction occurred over text that was the result of speech
recognition. Consider this example -
AI Agent: What is your three letter confirmation code?
User: Hang on, umm, OK. Its XXX, then YKZ.
AI Agent: Thanks, let me look it up.
Rosenberg Expires 2 April 2027 [Page 8]
Internet-Draft VCON Redaction September 2026
In this case, is the user's confirmation code XXXYKZ, or has some
kind of partial redaction taken place? There is no way to know.
This is perhaps improved by using a word like REDACTED, but again can
lead to confusion if the participants in a conversation actually use
that word! Consider this conversation -
User 1: Did you try reading the document?
User 2: Yes I did, but the account number was redacted.
In this conversation - did user 2 speak the account number, but then
it was subsequently redacted? Or did they say the word "redacted"?
There is another problem that the word "redacted" is in English,
making it difficult to parse in VCON represented conversations in a
different language.
All of these problems stem from the fact that character substitution
is not actually part of the schema of the VCON at all - its a hint.
As a hint, is ambiguous in some cases. If we want software to be
able to know that redaction has ocurred, we want to do better.
4.2. Information Substitution
An alternative solution is to replace a piece of information - like a
social security number or name - with an alternative that is
incorrect, but plausible. For example, using the name "John Smith"
or a social security number like "183-13-3948". To perform this
substitution, software requires knowlede about the type of
information element, and needs some kind of algorithm to perform
substitution.
This approach is similar to well-known character substitution.
However, when done well, it can produce redaction which is
undetectable. In some use cases, that is highly desirable. In
others, it may be very bad. Using a contact center call as an
example, consider a user that chats with a contact center agent to
get a refund. The account number is recorded into the VCON for the
call at the end, and then replaced using information substitution.
The user calls back the next day. A human contact center agent
reviews the transcript of the prior chat session, and observes the
account number in the prior transcript. Not knowing that this is
actually NOT the correct account number, the agent uses the wrong
account number and applies the refund to the wrong account.
Rosenberg Expires 2 April 2027 [Page 9]
Internet-Draft VCON Redaction September 2026
5. Requirements for VCON Extensions
Based on the discussion in this document, there are a number of gaps
in the VCON specification which would be good to address. Two stand
out.
5.1. Explicit Positional and Participant Redaction Indicators
In cases where audiovisual dialog content has undergone substitution
(e.g., the "beep" sound in an audio track), it would be desireable to
have a property within the dialog object that explicity indicates the
points in time (start and duration) that contain these beeps. That
would address the limitation that, without this, there is no clear
positional or participant indicators. THose indicators are highly
useful for troubleshooting purposes.
5.2. Explicit Text Redaction Element
Instead of using XXX or the word REDACTED or similar, it would be
good to standardize a way for any text string - present anywhere in
the body of the VCON - to have a standardized way of indicating that
some kind of redaction has ocurred. A good way to do this is by
adding the idea of a redaction manifest, which allows a string
anywhere in the document to be replaced by a reference to a
standardized object which supports a mix of text and redacted
information. Consider a simple VCON showing a single event - a tool
call - which closes an account (using the event concept defined in
[RESTRUCTURE]).
{
"events" : [
{
"type" : "tool-call",
"tool_name" : "close_account_by_id",
"input-params" : [
{
"input-name" : "account_id",
"input-value" : "293827344"
}
]
}
]
}
You can see that this contains a sensitive account ID. Here is a
version that is now redacted.
Rosenberg Expires 2 April 2027 [Page 10]
Internet-Draft VCON Redaction September 2026
{
"events" : [
{
"type" : "tool-call",
"tool_name" : "close_account_by_id",
"input-params" : [
{
"input-name" : "account_id",
"input-value" : "__REDACTED_REF_001"
}
]
}
],
"redactions" : [
"name" : "__REDACTED_REF_001",
"type" : "account_number"
]
}
You can see that, we've added a redactions element into the JSON
which contains the list of redacted fields, including specification
of their types.
5.3. Explicit Information Identication Element
There is no way in VCOn to take a piece of information - like a first
name or social security number - and then explicitly tag it as a
piece of sensitive information, without removing it from the document
per se.
This can be done along much the same lines as the text redaction
element noted above.
6. AI Authorship Considerations
All of the text in this document was written by hand, without AI
assistance. AI was used to analyze options for redacting text
strings in a JSON document without needing to modify the schema of
the document.
7. Security Considerations
This document is entirely about security - focused on information
privacy through redaction.
Rosenberg Expires 2 April 2027 [Page 11]
Internet-Draft VCON Redaction September 2026
8. IANA Considerations
This document has no IANA actions.
9. Informative References
[BIRK] Birkholz, H., Heldt, T., and O. Steele, "Verifiable Agent
Conversation Records", Work in Progress, Internet-Draft,
draft-birkholz-verifiable-agent-conversations-01, 31
August 2026, <https://datatracker.ietf.org/doc/html/draft-
birkholz-verifiable-agent-conversations-01>.
[HOWE] McCarthy-Howe, T., "vCon Agent Session", Work in Progress,
Internet-Draft, draft-howe-vcon-agent-session-00, 20 May
2026, <https://datatracker.ietf.org/doc/html/draft-howe-
vcon-agent-session-00>.
[RESTRUCTURE]
Rosenberg, J., "Virtualized Conversations (VCON)
Restructure to Facilitate AI Agent Use Cases", Work in
Progress, Internet-Draft, draft-rosenberg-vcon-
restructure-00, 11 September 2026,
<https://datatracker.ietf.org/doc/html/draft-rosenberg-
vcon-restructure-00>.
[VAC] Birkholz, H., Heldt, T., and O. Steele, "Verifiable Agent
Conversation Records", Work in Progress, Internet-Draft,
draft-birkholz-verifiable-agent-conversations-01, 31
August 2026, <https://datatracker.ietf.org/doc/html/draft-
birkholz-verifiable-agent-conversations-01>.
[VCON] Petrie, D., "The JSON format for vCon - Conversation Data
Container", Work in Progress, Internet-Draft, draft-ietf-
vcon-vcon-core-04, 7 September 2026,
<https://datatracker.ietf.org/doc/html/draft-ietf-vcon-
vcon-core-04>.
Acknowledgments
TODO.
Author's Address
Jonathan Rosenberg
jdrosen.net
Email: jdrosen@jdrosen.net
Rosenberg Expires 2 April 2027 [Page 12]