Documentation
Confluence lets a page reuse content from another page: native Excerpt and Excerpt Include, MultiExcerpt, and synced blocks. Nothing native lists them across the site, so nobody can see which pages change with a source, and a deleted source breaks its includes quietly.
Content Reuse Inventory adds one page under Apps. A scan reads every page body on the site and builds an inventory: every Excerpt, MultiExcerpt and synced block with the pages that include it, the orphans nobody includes, the dangling includes whose source is gone, and counts per space. It is read-only and changes nothing.
Email support@maxpetrov.pp.ua. One person reads that mailbox — the one who wrote the app — and every request gets a first reply within two business days, Monday to Friday. That is the window a part-time maintainer can hold every week rather than on a good one; most replies land sooner.
Say what the status strip showed — the scan date, the counts and the restricted count — and, for a row that looks wrong, the page it names and the name of the block. If a scan stalled or failed, the line under the button carries the batch it stopped at and the reason Confluence gave, and that line is the fastest thing to send.
There is exactly one place this app appears, and nothing else in Confluence changes.
Apps in the Confluence top navigation, then Content Reuse Inventory. It is a global page, not an administration page, so it needs no Confluence administrator rights to open.
No macro, no space tool, no page byline item and no administration entry. The app adds no content anywhere in the wiki.
Before the first scan the page says "No inventory yet" and shows one button, Scan now. There is no setup form.
Scan now reads every page on the site in batches and takes about three minutes per thousand pages; the line under the button shows the batch it is on and how many pages it has read. A scan also runs weekly on a schedule, so the inventory does not depend on anyone remembering to press the button.
A scan that stops — a batch that never landed, a licence that lapsed — resumes from where it stopped when Scan now is pressed again. The page says so in the line under the button, with the batch number and the reason Confluence gave.
The inventory is as fresh as the last scan, never live. The status strip carries the scan date.
The Sources table lists each Excerpt, MultiExcerpt and synced block with its page, its space and its name, and the pages that include it. A source nobody includes is an orphan; an include whose source page or block no longer exists is dangling. Both are counted in the status strip and listed by page, grouped by space.
Page titles are read as you, not as the app, through your own Confluence permissions. A page you cannot open shows as "restricted page" with no title, and the status strip counts how many rows that applies to. A page restricted from the app itself is not scanned at all; it is counted as unreadable in the scan status.
The app runs entirely on Atlassian infrastructure. It declares no remote hostname and opens no network connection of its own, so nothing it reads leaves Atlassian. The inventory is kept in Forge storage inside your site: page ids, block names and keys, counts and scan dates — no page bodies, no page titles and no account ids.
The full privacy policy and the security policy are separate pages; their URLs are on this app's Marketplace listing.
These are the limits the app was built against, written down here rather than discovered after purchase.
Pages only. Blog posts, whiteboards, databases and attachments are not scanned
One site per install; no cross-site consumers, and no Jira consumers of a synced block
MultiExcerpt is recognised by the macro keys it ships today (multiexcerpt-macro, multiexcerpt-fast-block-macro, multiexcerpt-fast-include-inline-macro); a MultiExcerpt release that renames its macros is not recognised until this app is updated
Restricted pages are counted, not revealed — a viewer sees "N restricted" and no title
"pages restricted from the app are not scanned" — a view-restricted page answers asApp() with 404, is counted as "unreadable" in the scan status and never inventoried
Viewing a page is not consumption. The inventory is what the body says, not what was rendered
No page-body edits, no unsync, no deletion, no "fix" button — read-only
No CSV, email, export or webhook
The inventory is as fresh as the last scan (weekly schedule or Scan now), never live
Third-party excerpt apps other than MultiExcerpt (Narva Multiple Excerpts, f3 asset management) are not recognised
Cloud only. No Data Center
Archived and trashed pages are not scanned