Documentation

A clear guide to your check.

Using Internal Link Integrity for Confluence, from the first scan to the next action.

Marketplace publication pending. This describes the planned 4.0 release build, which is not yet available to customers. Installation and pricing will open after release approval. Please use synthetic examples for inquiries; do not send Confluence content.

Installation

The app is for Confluence Cloud. Once the listing is published, a Confluence administrator can install and license it through Atlassian Marketplace. Review the requested page-read, current-user and minimal-storage permissions and the published privacy, security, and legal information before installing.

No separate Local Utility Works account, external credentials, API tokens, or crawler configuration are required. Organization review is required before the first scan, including free and trial use. Unknown or suspended organizations cannot scan; inactive or unverifiable entitlement also prevents page-content extraction.

Marketplace availability

The Marketplace listing and pricing are not published yet. Installation and pricing links will become available after publication.

Tell us the kind of check you need. Please use synthetic examples and leave out page content, credentials and personal data. Emailing us does not enroll you in a mailing list.

Check this page

  1. Open the published page you want to inspect.
  2. Choose More actions → Apps → Check this page.
  3. Opening the action starts the check after organization approval, context and entitlement validation. Read its coverage status before interpreting the results.
  4. Review the rows and their explanations. Use Check again for a fresh check when needed.

Only saved content is read. Unpublished editor changes are excluded. You retain control of any edits or restoration in Confluence.

Check this space

  1. Open the space you want to inspect.
  2. Open Internal Link Integrity in its Apps area.
  3. Select Check this space. Opening the space app alone does not start a scan.
  4. Keep the view open and inspect the coverage, counts, and stop reason alongside the results.

Stop scan stops new work; an already invoked bounded operation may finish. There is no scheduled resume or background continuation.

A new scan starts fresh and may inspect the same pages. Use the page action for a specific page omitted from a space scan.

Scan limits

A space scan attempts at most 100 source pages, checks at most 500 unique targets, and uses a 120-second operation budget. The page action checks one source page with the same target, time, and content bounds.

Failed source reads and pages containing no links consume source-page attempts. The time budget is not a guaranteed completion time. Platform failures, rate limits, cancellation, or content bounds can stop work earlier.

Content and operation bounds
  • One source page’s structured content: at most 2,000,000 JavaScript string characters; source response: 2,100,000 characters.
  • Extracted discovery: at most 3,000,000 UTF-8 bytes per source operation.
  • Foreground scan: at most 25,000,000 source characters and 20,000 report occurrences.
  • Enumeration: at most 50 entries per request and 100 entries per space scan.
  • Protected operation: one source read, one enumeration request, or at most 20 target IDs with target concurrency of four and a 20-second deadline.
  • Client wait: at most 25 seconds per invocation, reduced by the scan’s remaining budget.

These are scan and operation bounds, not a durable daily quota or a cross-tab usage limit.

Understanding counts

  • Pages scanned: successfully read and inspected source pages, including pages with no links. This can be lower than attempts.
  • Links found: discovered occurrences, including repeats. Dynamic content and uninspectable-content markers are not an exhaustive link inventory.
  • Unique targets checked: distinct supported page IDs with a received response. A denied or failed HTTP response can still count as a performed check.
  • Unchecked: discovered supported targets without a completed response, including timeouts with no response.

Ten links to one page can produce ten link occurrences and one target check. Unknown includes unchecked target occurrences; do not add those totals together as if they were separate groups.

Result meanings

On a narrow screen, scroll the table horizontally if needed. With a keyboard, focus the table and use the arrow keys.

Result meanings for supported internal Confluence page links.
ResultWhat it means
ValidA readable response identifies the matching page in a current or archived state. This is a point-in-time result for your access; it does not validate the content or a heading fragment.
TrashedA readable response with matching page identity explicitly confirms recoverable trash. A failed lookup alone never establishes this result. It does not prove permanent deletion.
Not visibleAn authoritative access denial was returned. The target is restricted or not visible to this request. This does not prove the page exists or has been deleted.
UnknownThe available evidence cannot resolve the target. An ambiguous 404 remains Unknown because missing and inaccessible content cannot be reliably distinguished.
MalformedThe internal URL is invalid or ambiguous, for example because its page identifier is invalid. Review the address in the source page.
UnsupportedThe URL or content representation is outside the checker’s supported scope. It has not been certified as valid or faulty.
Unchecked / PartialUnchecked describes a discovered supported target without a completed response before the scan stopped. PARTIAL describes scan coverage. Read the stop reason and known unchecked counts; neither is a link-failure verdict.

Reviewing the report

The default Needs review filter hides Valid rows. All results shows all reported items. Use a category or Unchecked targets to focus, and sort by Review priority or Source page A–Z.

View details shows a row’s address and explanation. What do results mean? opens guidance. Download available report (JSON) saves the available report, including its coverage and all reported rows rather than only the current filter. Clear report removes the report and download from the view. A downloaded copy remains under your control. In the page panel, Close panel closes the app; Escape first closes an open details dialog, then the panel. Filters do not change coverage; an empty filtered view does not certify a healthy space.

COMPLETE vs PARTIAL

COMPLETE means the available caller-visible source scope was exhausted and discovered supported target checks received responses without a coverage stop. A COMPLETE report may contain Trashed, Unknown, or other review results. It does not include undisclosed hidden pages, unsupported representations, or the whole site.

PARTIAL means a coverage stop occurred. Reaching 100 source attempts or 500 unique targets always returns PARTIAL, even if all known work was checked. Source failures, time limits, cancellation, and other stops also affect coverage.

Read the stop reason and known unchecked counts. Known zero counts stay zero; an unknown remaining total is shown as unknown or with a lower bound. PARTIAL never justifies inventing missing work, and zero unchecked targets does not turn a capped scan into COMPLETE.

Frequently asked questions

Why isn’t a 404 called broken?

A not-found response can also hide inaccessible content. The app keeps that ambiguity as Unknown, rather than claiming deletion.

Does Valid mean everyone can open the page?

No. It establishes readable, matching page identity for the current user at scan time. Other users may have different permissions. It does not validate a heading anchor or the page’s content.

Does the app fix links automatically?

No. It reads pages and produces a report. Link editing, permission changes, and restoration remain separate actions in Confluence.

Is there scan history or CSV export?

The planned release has current-report JSON download, but no stored scan history or CSV export. Reports live in the open view’s memory. Clear, refresh, or close ends that report session; downloaded copies remain under your control. This is not a physical-memory erasure guarantee.

Can it find every link in my space?

No. Checks are bounded, use your permissions, and inspect supported representations. Re-running a scan is not guaranteed to advance to previously omitted pages.

What happens when I uninstall?

Uninstall removes the app’s access and interface. Download any available report before closing it. An authorized Confluence administrator can separately request the installation’s small approval-record JSON export while the interface is available. This is not a scan-history or whole-site export. The checker has not changed your original pages. Forge storage recovery and separately held support records have distinct lifecycles; uninstall is not an immediate all-copy deletion guarantee. Subscription cancellation is handled separately through Atlassian administration; closing the view does not cancel a subscription.

Troubleshooting

  • App missing or license refused: ask the site administrator to check installation and license entitlement.
  • Not visible or Unknown: verify access as the same Confluence user. Do not assume the target was deleted.
  • Rate limit: wait for the displayed retry time before starting another check. There are no automatic retries.
  • PARTIAL at a limit: inspect the stop reason. Open an important omitted page and run the page action.
  • Account changed, authentication failed, or scan interrupted: restore access and start a fresh check under one account.
  • Malformed or Unsupported: compare the address with the supported forms above and review it manually.

For a repeatable defect, email support@localutilityworks.com with the app version, action, approximate time and timezone, aggregate counts, and visible stop reason. Use a synthetic example and redact screenshots. Do not send credentials, customer page bodies, or full reports. See the support policy.