=== Uhallo Sight ===
Contributors: uhallo
Tags: accessibility, alt text, media library, image seo, wcag
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

WordPress image accessibility care: scan old media, fix approved descriptions, protect new uploads, and prove the work.

== Description ==

Uhallo Sight helps WordPress teams and agencies run image accessibility care on the backlog that builds up over years of posts, pages, products, galleries, and media uploads.

Install the plugin, connect your Uhallo account or First Client Proof Trial key, and scan your existing Media Library. Uhallo queues unverified images, drafts useful descriptions, and writes approved fixes back into native WordPress image metadata. After setup, new image uploads are sent to Uhallo so the site does not drift back into missing or weak descriptions.

The plugin also shows a Client Proof Summary inside WordPress: images scanned, weak or missing descriptions found, verified fixes saved, new-upload protection, widget status, and recent before/after examples. This makes the care-plan value visible to site owners, agencies, accessibility consultants, and WooCommerce teams.

= External service and privacy =

Uhallo Sight connects your WordPress site to the Uhallo API at https://api.uhallo.com. This external service is required for account connection, image analysis, AI alt-text generation, usage tracking, and writing generated descriptions back to WordPress.

When you connect the plugin or scan images, the plugin sends your Uhallo client identifier, signed request metadata, WordPress site URL, attachment ID, image URL or image data when firewall mode is enabled, existing alt text, filename, MIME type, and callback URL. Uhallo uses this data to generate alt text, update the matching WordPress attachment, measure usage, and keep the service secure.

The optional frontend widget is disabled by default. If a site administrator enables widget coverage, the plugin loads the Uhallo JavaScript widget from https://api.uhallo.com/uhallo.js on the public site with the connected Uhallo client identifier. The widget checks frontend images that themes or page builders render outside normal WordPress media writeback, reuses existing Uhallo-written alt text when present, and sends image metadata to Uhallo only when frontend coverage is needed.

An active Uhallo account and subscription may be required to use the hosted AI service. By connecting Uhallo Sight, site administrators agree to Uhallo's terms and privacy policy at https://uhallo.com/terms and https://uhallo.com/privacy.

= What Uhallo Sight does =

* Scan existing WordPress Media Library images.
* Draft descriptions for missing or weak image metadata.
* Write approved fixes into native WordPress attachment metadata.
* Keep new uploads covered after connection.
* Include the Uhallo JS widget for extra frontend coverage when a theme or page builder needs it.
* Use a First Client Proof Trial key when you want proof before upgrading.
* Show a WordPress admin Client Proof Summary with scan counts, coverage status, and before/after examples.

= Who it is for =

* WordPress freelancers maintaining client sites.
* Small agencies managing WordPress or WooCommerce sites.
* Site owners with years of uploaded images.
* Accessibility consultants who need remediation after an audit.

= Teams and multi-site use =

Uhallo Sight is installed one WordPress site at a time. Teams managing multiple WordPress sites add domains and manage site keys from the Uhallo portal, then connect each site with its own portal-provisioned key bundle.

== Installation ==

1. Install and activate Uhallo Sight from your WordPress dashboard.
2. Open Settings -> Uhallo.
3. Click Connect to Uhallo, or paste a trial key from Uhallo.
4. Sign in, create your Uhallo account, or continue the First Client Proof Trial.
5. Return to WordPress after the secure connection completes.
6. Review your Media Library health and click Start Bulk Scan.

If you received the plugin directly from your Uhallo portal, upload the zip through Plugins -> Add New -> Upload Plugin, then follow the same Settings -> Uhallo connection flow.

== Frequently Asked Questions ==

= Do I need a developer to use this? =

No. The plugin is built for self-serve WordPress activation. Install it, connect Uhallo, and run the bulk scan from the WordPress admin page.

= Does it fix images that already exist on my site? =

Yes. The bulk scan finds existing Media Library images that have not been verified by Uhallo and queues them for descriptions.

= Does it handle new uploads? =

Yes. After connection, new uploaded images are sent to Uhallo so new media does not recreate the same backlog.

= Where does the alt text go? =

Uhallo writes the generated alt text into WordPress attachment metadata, the same native field WordPress uses for image alt text.

= Is the JS widget the main product? =

No. For WordPress, the plugin is the main product experience. The included JS widget is optional and adds extra frontend coverage for theme, page-builder, and custom images the Media Library cleanup cannot reach.

= How does the First Client Proof Trial work? =

Trial keys allow a limited proof on one WordPress site: scan up to 15 existing Media Library images, then use 5 upload tests to see Uhallo queue automatic coverage for new media. Unlock the full site from Uhallo when the client proof is complete.

= Can I use this on a private or firewalled WordPress site? =

Yes. The plugin includes a firewall mode that can send image data directly instead of relying on public image URLs.

= Does Uhallo overwrite human edits? =

The plugin tracks update timing so recent human edits are protected from stale AI updates.

== Screenshots ==

1. Uhallo Sight WordPress admin dashboard showing Image Metadata Score and upload protection.
2. Bulk scan panel showing images found, missing or weak alt text, and queued descriptions.
3. Recent Uhallo fixes with before/after alt text proof.
4. Secure Uhallo connection flow from WordPress to the Uhallo portal.
5. Live WordPress site using Uhallo Sight frontend widget coverage.

== Changelog ==

= 1.0 =
* Added guided Connect, Scan Media Library, and Review Proof experience.
* Added backend sync for human alt text edits.
* Marked bulk scan jobs separately from new uploads for unified usage tracking.
* Added WordPress admin value dashboard with Image Metadata Score, scan proof, and recent before/after fixes.
* Added clearer WordPress-first plugin positioning for media-library remediation.
* Added First Client Proof Trial usage counters and an upgrade path from inside WordPress.
* Added account status refresh, paid-state visibility, and trial upgrade continuity for WordPress.
* Added widget quota/auth handling and WordPress widget health visibility.
* Added neutral portal wording for billing and site-key management.
* Hardened human-edit race condition protection.
* Added auto-recovery transient locks and queued-image deduplication for background batch scanning.
* Added explicit uninstall cleanup routine.
* Refreshed WordPress.org package assets and install zip.
* Initial release.
