=== Impact Check ===
Contributors: csytang
Tags: plugin usage, shortcodes, blocks, maintenance, content audit
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 0.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Find stored content that uses shortcodes or blocks attributable to one active plugin before you change the site.

== Description ==

Impact Check helps WordPress maintainers reduce uncertainty before deactivating a plugin. Select one active plugin and run a conservative, read-only scan for stored content using shortcodes or server-registered blocks attributable to that plugin.

The report shows:

* Matching content title, type, and status.
* Exact shortcode tags and block names with occurrence counts.
* Native Edit and View links when the current user has permission.
* Attribution and scan coverage so limitations remain visible.

Impact Check is designed for agencies, freelancers, and technical site owners working on inherited or plugin-heavy sites. It uses the active WordPress runtime registries and local content, which lets it start from the plugin rather than requiring you to know a shortcode or block name first.

= Important limitations =

An empty report does not prove that a plugin is unused or safe to deactivate. The scan does not inspect plugin data, settings, widgets, hooks, templates, client-only blocks, custom tables, metadata, files, network-active plugins, themes, mu-plugins, or remote integrations. Oversized or otherwise skipped content makes a scan incomplete.

The plugin never deactivates plugins, changes content, or makes a deactivation recommendation. Use a backup or staging site and your normal change-control process before modifying a production site.

= Privacy and external services =

Impact Check runs locally on your WordPress site. It has no telemetry, tracking, external service, account requirement, cookies, browser storage, or outbound network request. Results exist only for the current page session, and the plugin creates no options, metadata, custom tables, files, or logs.

== Installation ==

1. Upload the `impact-check` folder to `/wp-content/plugins/`, or install Impact Check through the WordPress Plugins screen when available.
2. Activate the plugin.
3. Open **Tools > Impact Check**.
4. Select one active plugin and choose **Run read-only scan**.
5. Review the matches and the coverage warning before planning any site change.

== Frequently Asked Questions ==

= Does a zero-result scan mean I can safely deactivate the selected plugin? =

No. It means no matches were found within the explicitly stated coverage. The selected plugin may still affect data, settings, widgets, hooks, templates, client-only blocks, metadata, files, custom tables, scheduled tasks, or remote integrations.

= Does Impact Check change or render my content? =

No. It reads eligible stored content in bounded batches and uses WordPress parsing functions to count exact attributed identifiers. It does not execute shortcodes, render blocks, edit content, or change another plugin's state.

= Which plugins can I scan? =

The current version scans one active, per-site plugin selected from a server-generated list. Network-active plugins, inactive plugins, themes, and mu-plugins are outside the current coverage.

= Why might a shortcode or block be missing? =

Impact Check only reports identifiers it can conservatively attribute to the selected plugin from registered callback or local asset evidence. Client-only blocks, proxy callbacks, dynamically wrapped callbacks, and registrations without attributable source evidence can remain outside the report.

= Does the plugin send site data anywhere? =

No. There are no external services or outbound requests. The administrator's browser sends authenticated, same-origin scan batches only to that site's WordPress AJAX endpoint.

== Screenshots ==

1. Select one active plugin from the native Tools screen and run the read-only scan.
2. Review matched stored content, occurrence counts, permitted actions, and the explicit coverage warning.

== Changelog ==

= 0.1.0 =

* Initial free release.
* Added plugin-first attribution for registered shortcodes and server-registered blocks.
* Added bounded, read-only stored-content scanning with capability-safe result links.
* Added explicit limitations and incomplete-scan handling.

== Upgrade Notice ==

= 0.1.0 =

Initial release.
