Abstract
Prevailing multi-vector visual document retrievers store each page as about a thousand patch vectors, often in vector databases run by a third party. Since no one can read a page from its vectors, this index is easily treated as less sensitive than the page. However, because the index keeps one vector per patch in raster order, and each vector is computed by a vision-language model pre-trained to read documents, we hypothesize that whoever runs or breaches the store can reproduce a page from its index alone. We frame inversion as conditional document image generation and infer from the vectors what the attack needs: the encoder, the page shape and, for shuffled vectors, their order. On the ViDoRe v3 benchmark, pages inverted from raw indices recover 47% of the words and 45% of the sensitive tokens. Used as queries against the stored indices, they rank their source page first 98.4% of the time. We test two cheap protections, token pooling and shuffling, which both cut word recall to about 8%. A model that restores the order of a shuffled index raises the share of source pages ranked first from 3.8% to 93.5%, while inverting a pooled index remains open. To test generalisation, we apply the same attack unchanged to another multi-vector retriever: its inverted pages still rank their source page first 70.2% of the time, though its word recall stays below a nearest-neighbour baseline. Multi-vector visual document retrievers are therefore vulnerable to inversion through their stored index, which should be protected like the documents it encodes.
Community
Multi-vector visual document retrievers store each page as ~1,000 patch vectors, often in a third-party vector DB, and this index is usually treated as less sensitive than the page. We show it isn't.
We frame inversion as conditional document image generation: a flow-matching inverter redraws the page from its stored index, while the encoder, page shape and vector order are all inferred from the vectors alone.
On ViDoRe v3 (19,252 pages), pages inverted from raw Tomoro-ColQwen3-8B indices recover 47% of words and 45% of sensitive tokens, and rank their source page first 98.4% of the time. Shuffling is not a protection: a position model restores the order and lifts re-identification from 3.8% to 93.5%. Token pooling resists our attacks so far, which we leave open. The attack transfers unchanged to ColQwen3.5-4.5B (70.2% re-identification).
Takeaway: a multi-vector index should be protected like the documents it encodes.
Questions and feedback welcome!
Get this paper in your agent:
hf papers read 2610.09920 Don't have the latest CLI?
curl -LsSf https://hf.co/cli/install.sh | bash Models citing this paper 0
No model linking this paper
Datasets citing this paper 0
No dataset linking this paper
Spaces citing this paper 1
Collections including this paper 0
No Collection including this paper