=== Octeasy ===
Contributors: studjoow
Tags: accessibility, dyslexia, readability, contrast, font size
Requires at least: 6.3
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

A reading comfort button for your visitors: text size, dyslexia-friendly font, contrast and reading aids. Paste your site key, that's all.

== Description ==

Octeasy adds a small button to every page of your site. It opens a reading comfort panel where each visitor adapts the display to the way they read. Their choices stay in their own browser and apply to the whole site.

= What visitors can adjust =

* **Text**: text size, a highly legible font (Atkinson Hyperlegible) or a dyslexia-friendly font (OpenDyslexic), bold text, line, letter and word spacing, left alignment, airier paragraphs, shorter lines.
* **Colours**: dark or light high contrast, soft dark mode, inverted colours, softer, brighter or grey colours, tinted background (cream, yellow, blue, green, pink).
* **Reading aids**: reading ruler, reading mask, magnifier, read aloud using the voices already installed on the visitor's device (no online voice, nothing is sent).
* **Navigation**: underlined or highlighted links, outlined headings, a very visible keyboard focus, larger click targets, large black or white cursor.
* **Calm**: stop animations, hide images, mute videos and audio.
* **Page outline**: jump straight to a heading of the page.
* **Eight profiles** turn on several settings in one click: see better, read easily, stay focused, understand easily, avoid motion, reduce light, click easily, senior comfort.

The panel can be used with the keyboard alone (shortcut Alt + Shift + A) and adapts to phones.

= How it works =

This plugin is a **connector**. It stores your site's public key and adds the line that loads the Octeasy widget from the Octeasy service. Everything else (button colour, position, panel language, sections shown) is set in your Octeasy account and applies to your site without coming back to WordPress.

* One setting in WordPress: the site key.
* No cookies, no tracking, no personal data collected about your visitors.
* The script is loaded asynchronously in the footer.
* If the service does not respond, the button still works with its default settings.

= Languages =

* **The plugin settings screen is available in 20 languages**: English, Arabic, Chinese (Simplified), Danish, Dutch, French (France, Belgium, Canada, Switzerland), German (informal and formal), Greek, Hebrew, Italian, Japanese, Korean, Polish, Portuguese (Brazil and Portugal), Romanian, Russian, Spanish, Swedish, Turkish and Ukrainian. WordPress picks the language of your dashboard automatically, right-to-left languages included.
* **The reading comfort panel is available in French and English**, on every plan including the free one. It follows the language of the page.

= Privacy and security =

Octeasy was built so that adding it to your site changes nothing for your visitors' privacy, and nothing for the security of your WordPress.

**For your visitors**

* **No cookies, no trackers, no personal data.** The widget does not set cookies, does not use any tracking or advertising tool, and does not create any visitor identifier.
* **Their settings stay on their device.** When a visitor changes a setting, it is saved in their own browser (local storage), only if they changed something. It is never sent to Octeasy or to anyone else.
* **Read aloud stays on the device.** It only uses the voices already installed on the visitor's computer or phone. No text of your pages is sent to an online voice service.
* **One request, with no visitor data.** The widget asks the Octeasy service for your site's configuration, using your site's public key. That request carries no information about the visitor, apart from the technical details of any connection to a server (IP address, browser), used only to answer it.
* **No third-party resources.** The script, its styles and the reading fonts all come from octeasy.com. No Google Fonts, no external CDN, no analytics script. The fonts are downloaded only if a visitor chooses them.
* **Hosted in the European Union.** The service runs in the Paris region, and its database is in the European Union.
* **Nothing to add to your cookie banner.** Since the widget sets no cookies and tracks nothing, it does not require visitor consent.

**For your site**

* **Nothing is downloaded to or run on your server.** The plugin stores one value, your site's public key, and adds one script tag to your public pages. No remote code, no automatic updates outside WordPress.org.
* **Nothing is loaded without a key.** Until you save a key, the plugin adds nothing to your site.
* **Settings protected the WordPress way.** The settings screen is reserved for administrators (`manage_options`), every form is protected by a nonce, every input is validated (the key must match a strict format) and every output is escaped.
* **One outgoing request, on demand only.** The "Check my site" button, used only by an administrator, loads your own home page to confirm the button is there. The plugin makes no other request from your server.
* **Clean uninstall.** Deleting the plugin removes the saved key. Nothing else is left in your database.
* **Payments never touch your site.** Paid plans are handled in your Octeasy account through Stripe. No card data goes through WordPress or through Octeasy.

The full privacy policy is at https://octeasy.com/confidentialite. The plugin also suggests a ready-made paragraph for your own privacy policy, in Tools > Privacy.

= What Octeasy does not do =

Octeasy is a reading comfort tool. **It does not make a site compliant with accessibility standards** (WCAG, RGAA or any other), does not replace an accessibility audit or fixes to your site's code and content, and provides no legal protection. Compliance depends on your site itself.

= Plans =

The free plan covers one site, with every reading comfort feature for visitors and the panel in French and English. Paid plans add options for the site owner, such as the button colour, more sites, hiding sections and hiding the "Powered by Octeasy" line. Plans and prices: https://octeasy.com/tarifs

== External services ==

This plugin relies on the Octeasy service, published by Octeasy, to work. Without a site key, the plugin loads nothing on your site.

* What is loaded: once a key is saved, each visitor's browser loads the widget script (`https://octeasy.com/widget.js`) and your site's configuration (`https://octeasy.com/api/v1/config/{your-key}`), then, only if the visitor chooses them, the reading fonts (`https://octeasy.com/fonts/`).
* What is sent: your site's public key. As with any resource loaded on the web, the server also receives the technical details of the request (IP address, browser).
* What is not done: no cookies, no tracking, no personal data collected about visitors. The settings they choose stay in their browser.
* Terms of service: https://octeasy.com/cgv
* Privacy policy: https://octeasy.com/confidentialite

The plugin suggests text for your own privacy policy, in Tools > Privacy.

== Installation ==

1. Install and activate the plugin.
2. Create your free account on https://octeasy.com and add your site: you get a key that starts with "ot_".
3. In Settings > Octeasy, paste the key and save.
4. The button appears on every page of the site.

== Frequently Asked Questions ==

= Do I need an Octeasy account? =

Yes: the site key is created in your Octeasy account. The free plan covers one site and needs no payment details.

= Does Octeasy make my site accessible or compliant? =

No. Octeasy lets each visitor adjust the display for more reading comfort. It does not fix your site's code or content and does not make it compliant with WCAG, RGAA or any law. To know where your site stands, have it audited.

= Which languages is the panel available in? =

French and English, on every plan including the free one. The plugin settings screen itself is available in 20 languages (see Languages above).

= Do I need to mention Octeasy in my cookie banner? =

No. The widget sets no cookies, uses no trackers and collects no personal data about your visitors, so it does not require their consent. Mention it in your privacy policy instead: the plugin suggests a paragraph in Tools > Privacy.

= Does the widget slow down my site? =

The script is a single file of about 25 KB compressed, loaded asynchronously in the footer. The reading fonts are downloaded only when a visitor chooses them.

= Does Octeasy show a credit on my site? =

On the Free and Essentiel plans, the panel shows the plain text "Powered by Octeasy" (not a link) at its bottom, only when a visitor opens it. It comes from the Octeasy service, not from the plugin code. The Pro plan can hide it.

= What happens if the service does not respond? =

The widget is displayed with its default settings: visitors keep every reading comfort feature.

= My site has a Content Security Policy (CSP) =

Add `https://octeasy.com` to the `script-src`, `connect-src`, `style-src` and `font-src` directives. The widget does not need `'unsafe-inline'`.

= Where are the button colour and position set? =

In your Octeasy account. Changes apply to your site within a few minutes, without touching WordPress.

= What does uninstalling remove? =

The saved key. Nothing else is stored in your database.

== Screenshots ==

1. The reading comfort panel open on a WordPress site, with its eight profiles.
2. The Text section: text size, dyslexia-friendly font and spacing, applied to the page instantly.
3. The same page with a larger dyslexia-friendly font, a cream background and the reading ruler.
4. Settings > Octeasy: your site key, the status of the button and a shortcut to your Octeasy account.
5. On a phone, the panel opens from the bottom of the screen.

== Changelog ==

= 1.0.2 =
* New settings screen in the Octeasy colours: three setup steps, a status badge, a "Check my site" button and a shortcut to your Octeasy account.
* The publisher is now shown as Octeasy.
* French translation updated (including Belgium, Canada and Switzerland).

= 1.0.1 =
* The service is now called octeasy.com. The previous address is still served: no action required.
* If your site has a Content Security Policy, allow https://octeasy.com (see the FAQ).

= 1.0.0 =
* First release on WordPress.org: one setting, the site key. The widget is loaded from the Octeasy service and managed in your Octeasy account.

== Upgrade Notice ==

= 1.0.2 =
A redesigned settings screen. No action required, your key is kept.

= 1.0.1 =
The service is now called octeasy.com. The previous address is still served: no action required.
