Facts Without Rules: Boundary Metadata Collapse in Multi-Agent LLM Handoffs
Organizations: Siebel School of Computing and Data Science University of Illinois Urbana-Champaign Urbana, IL, USA
Abstract
Multi-agent LLM systems often coordinate by compressing an upstream interaction into a handoff artifact that downstream agents treat as shared state. We show that this handoff step is a structural source of privacy leakage: summaries preferentially preserve operational facts while weakening the boundary metadata that governs how those facts may be used---a failure mode we call summary collapse. On a controlled multi-agent coordination testbed we measure marker survival with a human-validated judge (), where means every boundary marker survives verbatim and means all are lost. Boundary-marker and operational-fact survival are nearly uncorrelated at the handoff level on both GPT-5-mini and DeepSeek-R1-32B (Pearson near zero): uncompressed free-text handoffs preserve boundaries at , whereas a -word budget drops to while operational-fact survival stays near ceiling. Controlled downstream tests reveal that protection depends on boundary explicitness: vague languages leak in of GPT and of DeepSeek cases, while explicit constraints reduce leakage to under across all three tested models. A no-handoff single-agent control further shows the failure is not reducible to multi-agent topology as direct full-marker access still leaks more often than the operationalized handoff. Prompt-only mitigation and exact-string redaction only partially address the problem, while a gold-derived audience allowlist nearly eliminates leakage across models, showing that correctly identifying audience boundaries is the key factor.
Figures & tables
| Sym. | Name | Definition (scale) |
|---|---|---|
| boundary-marker | mean over upstream boundary markers of a four-level judge | |
| survival | score: preserved (1.0), paraphrased (0.75), weakened (0.35), absent (0.0). | |
| operational-fact | same score averaged over task-relevant facts: times, entities, | |
| survival | decisions, owners, constraints. | |
| compression | for upstream transcript and handoff artifact ; | |
| ratio | compression, expansion. token-level |
| Model | Condition | ||
|---|---|---|---|
| GPT-5-mini | Baseline (E1) | 0.954 | 0.994 |
| GPT-5-mini | 40-word | 0.919 | 0.990 |
| GPT-5-mini | 25-word | 0.690 | 0.997 |
| DS-R1-32B | Baseline (E1) | 0.880 | 0.980 |
| DS-R1-32B | 40-word | 0.774 | 0.979 |
| DS-R1-32B | 25-word | 0.580 | 0.972 |
| Model | Item | pres | para | weak | abs |
|---|---|---|---|---|---|
| GPT-5-mini | marker | 0.56 [0.43, 0.68] | 0.17 [0.08, 0.25] | 0.03 [0.00, 0.07] | 0.25 [0.15, 0.36] |
| operational | 0.97 [0.92, 1.00] | 0.03 [0.00, 0.08] | 0.00 [0.00, 0.00] | 0.00 [0.00, 0.00] | |
| DS-R1-32B | marker | 0.39 [0.26, 0.51] | 0.22 [0.14, 0.32] | 0.07 [0.01, 0.12] | 0.32 [0.21, 0.43] |
| operational | 0.92 [0.82, 1.00] | 0.05 [0.00, 0.13] | 0.03 [0.00, 0.08] | 0.00 [0.00, 0.00] | |
| Qwen3-32B | marker | 0.42 [0.31, 0.56] | 0.18 [0.10, 0.26] | 0.01 [0.00, 0.04] | 0.39 [0.26, 0.50] |
| operational | 0.92 [0.84, 1.00] | 0.05 [0.00, 0.14] | 0.03 [0.00, 0.08] | 0.00 [0.00, 0.00] |
| GPT-5-mini | DS-R1 | Qwen3 | ||||
|---|---|---|---|---|---|---|
| Marker level | exact | sem | exact | sem | exact | sem |
| L0 no marker | 44 | 48 | 38 | 47 | 35 | 48 |
| L1 vague hedge | 35 | 44 | 24 | 36 | 18 | 31 |
| L2 soft suggestion | 6 | 10 | 5 | 6 | 2 | 1 |
| L3 constraint | 2 | 8 | 2 | 3 | 3 | 4 |
| L4 imperative | 2 | 2 | 2 | 1 | 1 | 2 |
| GPT-5-mini | DS-R1 | |||
| Probe | leak | util | leak | util |
| Prompt-only mitigation | 58/288 | 0.997 | 42/288 | 0.986 |
| Exact-string redaction | 0/288 | 0.998 | 0/288 | 0.997 |
| Gold typed allowlist | 0/48 | 1.000 | 0/48 | 1.000 |
| 5% label error | 2/48 | 0.990 | 3/48 | 0.979 |
| 10% label error | 4/48 | 0.948 | 4/48 | 0.979 |
Appendix figures & tables29 assets
Supplementary material from the paper’s appendix.
Appendix
| Domain | N | Ops | Words | Markers (a / c / h / o) |
|---|---|---|---|---|
| customer support | 4 | 4 | 27 | 8 (3 / 3 / 1 / 1) |
| enterprise IT | 6 | 7 | 32 | 12 (3 / 5 / 3 / 1) |
| HR | 6 | 6 | 29 | 12 (5 / 3 / 3 / 1) |
| legal compliance | 4 | 4 | 28 | 8 (1 / 3 / 2 / 2) |
| medical admin | 4 | 4 | 26 | 8 (3 / 3 / 1 / 1) |
| project management | 6 | 6 | 26 | 12 (3 / 3 / 3 / 3) |
| Experiment | Design | Prompts/model |
|---|---|---|
| E1 Baseline handoff | stratified subset of | 180 |
| E2 Compression stress | hard-budget handoffs | 72 |
| E3 Context dump | 144 | |
| E4 Weak markers | 192 | |
| E5 No-handoff control | 144 | |
| E6 Prompt-only mitigation | handoffs pressures | 288 |
| GPT-5-mini | DS-R1 | |||
|---|---|---|---|---|
| Condition | ||||
| free_text | 0.976 | 1.000 | 0.781 | 0.993 |
| compressed_free_text | 0.916 | 0.990 | 0.885 | 0.962 |
| preserve_markers_instruction | 0.959 | 0.993 | 0.949 | 0.993 |
| sectioned_template | 0.984 | 1.000 | 0.949 | 0.991 |
| structured_schema | 0.938 | 0.990 | 0.834 | 0.963 |
| Surface | Marker items | Op items | ||
|---|---|---|---|---|
| explicit_summary | 110 | 0.944 | 55 | 0.995 |
| forwarding_to_summary | 80 | 0.961 | 40 | 0.988 |
| memory_replay | 80 | 0.979 | 40 | 1.000 |
| report_writer | 90 | 0.940 | 50 | 0.994 |
| Surface | Marker items | Op items | ||
|---|---|---|---|---|
| explicit_summary | 110 | 0.880 | 55 | 0.986 |
| forwarding_to_summary | 80 | 0.896 | 40 | 0.975 |
| memory_replay | 80 | 0.912 | 40 | 0.988 |
| report_writer | 90 | 0.836 | 50 | 0.972 |
| Marker category | Items | GPT | DeepSeek |
|---|---|---|---|
| audience | 120 | 0.951 | 0.907 |
| caveat | 120 | 0.977 | 0.888 |
| hedge | 70 | 0.943 | 0.836 |
| ownership | 50 | 0.925 | 0.855 |
| GPT-5-mini | DeepSeek-R1-32B | |||
|---|---|---|---|---|
| Domain | ||||
| customer support | 0.953 | 1.000 | 0.831 | 0.988 |
| enterprise IT | 0.939 | 0.992 | 0.896 | 0.958 |
| HR | 0.983 | 1.000 | 0.939 | 1.000 |
| legal compliance | 0.953 | 0.988 | 0.824 | 1.000 |
| medical admin | 0.963 | 1.000 | 0.868 | 0.988 |
| Condition | |||
|---|---|---|---|
| free_text | -1.096 | 0.939 | 1.000 |
| compressed_free_text | -0.029 | 0.894 | 0.997 |
| preserve_markers_instruction | -2.105 | 0.956 | 0.993 |
| sectioned_template | -1.627 | 0.941 | 0.983 |
| structured_schema | -3.039 | 0.847 | 0.958 |
| Overall | -1.579 | 0.915 | 0.986 |
| Condition | |||
|---|---|---|---|
| structured_schema | -7.536 | 0.938 | 0.990 |
| sectioned_template | -3.103 | 0.984 | 1.000 |
| free_text | -1.989 | 0.976 | 1.000 |
| preserve_markers_instruction | -1.006 | 0.959 | 0.993 |
| compressed_free_text | -0.362 | 0.916 | 0.990 |
| hard_budget_compressed | 0.077 | 0.919 | 0.990 |
| Condition | |||
|---|---|---|---|
| structured_schema | -3.992 | 0.834 | 0.963 |
| sectioned_template | -1.477 | 0.949 | 0.991 |
| preserve_markers_instruction | -1.088 | 0.949 | 0.993 |
| free_text | -0.631 | 0.781 | 0.993 |
| compressed_free_text | -0.002 | 0.885 | 0.962 |
| hard_budget_compressed | 0.379 | 0.774 | 0.979 |
| Surface | gpt-5-mini | deepseek-r1:32b | ||
|---|---|---|---|---|
| explicit_summary | 0.516 | 1.000 | 0.652 | 0.918 |
| forwarding_to_summary | 0.859 | 1.000 | 0.731 | 1.000 |
| memory_replay | 0.694 | 1.000 | 0.366 | 1.000 |
| report_writer | 0.750 | 0.986 | 0.547 | 0.986 |
| Marker category | gpt-5-mini | deepseek-r1:32b |
|---|---|---|
| audience | 0.806 | 0.815 |
| caveat | 0.865 | 0.675 |
| hedge | 0.482 | 0.375 |
| ownership | 0.285 | 0.075 |
| Domain | gpt-5-mini | deepseek-r1:32b |
|---|---|---|
| customer support | 0.763 | 0.575 |
| enterprise IT | 0.667 | 0.583 |
| HR | 0.875 | 0.696 |
| legal compliance | 0.563 | 0.231 |
| medical admin | 0.844 | 0.638 |
| project management | 0.425 | 0.417 |
| Contrast | Model | RR [95% CI] | Fisher |
|---|---|---|---|
| E3 +mark vs. no-mark | GPT-5 | ||
| E3 +mark vs. no-mark | DS-R1 | ||
| E8 L1 vs. L2 | GPT-5 | ||
| E8 L1 vs. L2 | DS-R1 | ||
| E9 allowlist vs. E6 | GPT-5 | ||
| E9 allowlist vs. E6 | DS-R1 |
| Scheme | Model | Gap | ||
|---|---|---|---|---|
| original | GPT-5-mini | 0.690 | 0.997 | |
| original | DS-R1-32B | 0.580 | 0.972 | |
| binary strict | GPT-5-mini | 0.722 | 1.000 | |
| binary strict | DS-R1-32B | 0.611 | 0.972 | |
| binary lenient | GPT-5-mini | 0.750 | 1.000 | |
| binary lenient | DS-R1-32B | 0.681 | 1.000 |
| markers ( ) | operational ( ) | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Model | Condition | pres | para | weak | abs | pres | para | weak | abs |
| GPT-5-mini | free_text | 0.90 | 0.10 | 0.00 | 0.00 | 1.00 | 0.00 | 0.00 | 0.00 |
| GPT-5-mini | compressed_free_text | 0.79 | 0.15 | 0.03 | 0.03 | 0.95 | 0.05 | 0.00 | 0.00 |
| GPT-5-mini | preserve_markers_instruction | 0.90 | 0.06 | 0.04 | 0.00 | 0.97 | 0.03 | 0.00 | 0.00 |
| GPT-5-mini | sectioned_template | 0.96 | 0.03 | 0.01 | 0.00 | 1.00 | 0.00 | 0.00 | 0.00 |
| GPT-5-mini | structured_schema | 0.79 | 0.19 | 0.00 | 0.01 | 0.95 | 0.05 | 0.00 | 0.00 |
| Model | Test | MH OR [95% CI] | df | ||
|---|---|---|---|---|---|
| GPT-5-mini | M vs. O (25w) | 3.92 [1.39, 11.03] | 10.80 | 1 | |
| GPT-5-mini | 25w vs. free (M) | 6.54 [2.40, 17.78] | 20.25 | 1 | |
| DS-R1-32B | M vs. O (25w) | 4.36 [1.68, 11.31] | 14.69 | 1 | |
| DS-R1-32B | 25w vs. free (M) | 6.00 [2.40, 15.01] | 11.07 | 1 | |
| Qwen3-32B | M vs. O (25w) | 4.33 [1.83, 10.25] | 17.82 | 1 | |
| Qwen3-32B | 25w vs. free (M) | 7.22 [3.14, 16.61] | 32.67 | 1 |
| Model | Variant | neutral | explain reason | audit trace | compressed report |
|---|---|---|---|---|---|
| gpt-5-mini | no_dump_marker | 0/12 | 0/12 | 0/12 | 0/12 |
| dump_with_marker | 1/12 | 0/12 | 1/12 | 0/12 | |
| dump_no_marker | 12/12 | 12/12 | 12/12 | 12/12 | |
| deepseek-r1:32b | no_dump_marker | 0/12 | 0/12 | 0/12 | 0/12 |
| dump_with_marker | 1/12 | 0/12 | 0/12 | 0/12 | |
| dump_no_marker | 7/12 | 9/12 | 10/12 | 11/12 |
| Pressure | gpt-5-mini | deepseek-r1:32b |
|---|---|---|
| neutral | 10 / 12 | 8 / 12 |
| explain_reason | 11 / 12 | 12 / 12 |
| audit_trace | 12 / 12 | 9 / 12 |
| compressed_report | 11 / 12 | 9 / 12 |
| Total | 44 / 48 | 38 / 48 |
| Model | Variant | neutral | explain reason | audit trace | compressed report |
|---|---|---|---|---|---|
| gpt-5-mini | direct_full_marker | 5/12 | 5/12 | 6/12 | 4/12 |
| direct_weak_marker | 7/12 | 8/12 | 8/12 | 8/12 | |
| direct_no_marker | 11/12 | 10/12 | 11/12 | 11/12 | |
| deepseek-r1:32b | direct_full_marker | 3/12 | 3/12 | 4/12 | 1/12 |
| direct_weak_marker | 8/12 | 10/12 | 6/12 | 9/12 | |
| direct_no_marker | 9/12 | 8/12 | 10/12 | 9/12 |
| Model | Mitigation condition | neutral | explain reason | audit trace | compressed report |
|---|---|---|---|---|---|
| gpt-5-mini | free_text | 2/12 | 2/12 | 2/12 | 2/12 |
| minimality_instruction | 1/12 | 2/12 | 3/12 | 2/12 | |
| preserve_markers_instruction | 2/12 | 2/12 | 3/12 | 3/12 | |
| sectioned_template | 2/12 | 3/12 | 4/12 | 0/12 | |
| structured_schema_safe | 1/12 | 2/12 | 4/12 | 4/12 | |
| structured_schema_unsafe | 2/12 | 1/12 | 5/12 | 4/12 |
| Condition | Rows redacted | Replac. |
|---|---|---|
| free_text | 6 / 12 | 6 |
| minimality_instruction | 4 / 12 | 4 |
| preserve_markers_instruction | 9 / 12 | 13 |
| sectioned_template | 7 / 12 | 13 |
| structured_schema_safe | 10 / 12 | 42 |
| structured_schema_unsafe | 10 / 12 | 67 |
| Slice | GPT-5-mini | DS-R1-32B |
|---|---|---|
| Overall high-risk audit | 5 / 40 | 14 / 48 |
| structured_schema_safe | 3 / 22 | 7 / 24 |
| structured_schema_unsafe | 2 / 18 | 7 / 24 |
| audit_trace pressure | 4 / 20 | 9 / 24 |
| compressed_report pressure | 1 / 20 | 5 / 24 |
| Domain | Manual leaks | Rows |
|---|---|---|
| customer support | 2 | 8 |
| enterprise IT | 7 | 8 |
| HR | 4 | 8 |
| legal compliance | 0 | 4 |
| medical admin | 0 | 4 |
| project management | 1 | 8 |
| Experiment | GPT-5-mini | DS-R1-32B |
|---|---|---|
| E1 Baseline handoff | 0.969 | 0.947 |
| E6 Prompt-only mitigation | 0.997 | 0.986 |
| E7 Enforced redaction | 0.998 | 0.997 |
| Pressure | GPT-5-mini | DS-R1-32B |
|---|---|---|
| neutral | 0 / 12 | 0 / 12 |
| explain_reason | 0 / 12 | 0 / 12 |
| audit_trace | 0 / 12 | 0 / 12 |
| compressed_report | 0 / 12 | 0 / 12 |
| Total | 0 / 48 | 0 / 48 |
| Variant | GPT-5-mini | DeepSeek-R1-32B | Qwen3-32B |
|---|---|---|---|
| clean allowlist | 0 / 48 (0.0%) | 1 / 48 (2.1%) | 4 / 48 (8.3%) |
| dump-with-marker control | 0 / 48 (0.0%) | 1 / 48 (2.1%) | 1 / 48 (2.1%) |
| corrupt: scope drift | 10 / 48 (20.8%) | 4 / 48 (8.3%) | 15 / 48 (31.2%) |
| corrupt: typo allowlist key | 23 / 48 (47.9%) | 18 / 48 (37.5%) | 14 / 48 (29.2%) |
| corrupt: format noise | 40 / 48 (83.3%) | 22 / 48 (45.8%) | 33 / 48 (68.8%) |
| corrupt: negation flip | 44 / 48 (91.7%) | 38 / 48 (79.2%) | 35 / 48 (72.9%) |
| Condition | |||
|---|---|---|---|
| structured_schema | 0.73 | 0.98 | |
| preserve_markers_instruction | 0.67 | 0.99 | |
| sectioned_template | 0.79 | 0.98 | |
| free_text | 0.47 | 0.99 | |
| compressed_free_text | 0.28 | 0.95 |
Privacy Leakage in Language Models
Privacy leakage in language models concerns how models expose training data, infer sensitive traits, or transmit private context through outputs and internal channels.
See all 280 papers