=== Devnirob Image Optimizer ===
Contributors: devnirob
Tags: image optimizer, image compression, avif, webp, bulk optimization
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Compress WordPress images in bulk, convert Media Library files to AVIF or WebP, track savings, and restore local backups.

== Description ==

Devnirob Image Optimizer is a bulk image compression plugin for WordPress Media Library originals and generated image sizes. It securely sends only administrator-selected images to a hosted optimization service, converts them to AVIF or WebP, tracks savings in a visible queue, and preserves local backups for restoration.

The plugin does not contact the service until an administrator reviews the disclosure and chooses **Connect Devnirob Image Optimizer**. No separate account is required for the free plan.

Features include:

* Select individual images, the current page, or all images matching a filter.
* Optimize JPEG, PNG, WebP, and AVIF originals and their registered image sizes.
* Track queue status, progress, file sizes, and space saved.
* Back up original files before replacement.
* Restore selected images from their stored backups.
* Choose from several quality profiles and an AVIF fallback.
* Remove the installation's service data from the plugin settings.

The hosted service provides 10 image-processing requests per day on the free plan. Optional paid service plans are available in the Upgrade screen:

* Premium: $20 per month per site, with 300 image-processing requests per day.
* Premium Annual: $200 per year per site, with 300 image-processing requests per day.
* Unlimited: $100 per month per site, without a daily request cap.
* Purchases for two or more sites receive a 15% discount.

Paid access does not renew automatically. Payment is accepted as BEP-20 USDT on BNB Smart Chain. The plugin never asks for or stores a wallet private key or recovery phrase.

For help, email niroballinone@gmail.com.

== External Services ==

This plugin relies on the hosted [Devnirob Image Optimizer service](https://code.qonashop.com/service), operated by the plugin author. Review its [Terms of Service](https://code.qonashop.com/terms) and [Privacy Policy](https://code.qonashop.com/privacy).

The plugin contacts the service only after an administrator explicitly approves the connection.

When the connection is approved or license status is checked, the service receives the WordPress site URL, a random installation ID, and a public signing key. The corresponding private signing key remains in WordPress.

When an administrator starts optimization, each selected image file and its requested output settings are sent to the service. The optimized image is returned to WordPress. Temporary service-side image inputs and outputs are scheduled for deletion within 24 hours.

When an administrator creates or checks an optional crypto invoice, the service receives the selected plan, number of sites, site URL, and installation ID. The service checks public BNB Smart Chain token-transfer records. The WordPress plugin does not contact a blockchain node, block explorer, exchange, or wallet directly.

The service backend may use the [PublicNode BNB Smart Chain RPC](https://bsc.publicnode.com/) to read public token-transfer data. PublicNode publishes its own [Terms of Service](https://www.publicnode.com/terms) and [Privacy Policy](https://www.publicnode.com/privacy). No WordPress password, wallet key, recovery phrase, payment-card data, or image is sent to PublicNode.

== Installation ==

1. Upload the `devnirob-image-optimizer` folder to `/wp-content/plugins/`, or install the ZIP through **Plugins > Add New > Upload Plugin**.
2. Activate Devnirob Image Optimizer.
3. Open **Devnirob Image Optimizer** in wp-admin.
4. Review the service disclosure, Terms of Service, and Privacy Policy.
5. Choose **Connect Devnirob Image Optimizer** if you agree.
6. Select images in **Bulk Optimizer** and start processing.

== Frequently Asked Questions ==

= Does the plugin contact an external service immediately after activation? =

No. It waits until an administrator reviews the service disclosure and explicitly chooses **Connect Devnirob Image Optimizer**.

= Do I need a paid plan? =

No. The hosted service includes 10 image-processing requests per day on the free plan. Paid plans only increase service quotas.

= Which image formats are supported? =

JPEG, PNG, WebP, and AVIF attachments can be selected for optimization. The service attempts AVIF output first and follows the configured fallback if AVIF processing fails.

= Can I restore an original image? =

Yes. The plugin creates a local backup before replacing a Media Library file. Use **Revert Selected** while a backup is available. Keep an independent site backup as an additional precaution.

= Is payment recurring? =

No. Paid access does not renew automatically. A new manual payment is required for another access period.

= How do I request support or ask a privacy question? =

Email niroballinone@gmail.com.

== Changelog ==

= 1.0.2 =

* Prevented admin polling and all hosted-service requests before explicit administrator consent.

= 1.0.1 =

* Renamed the plugin and moved its dashboard under Media.

= 1.0 =

* Initial public release.
