Description
Desk9 AI Content Disclosure helps you document AI-assisted work in a calm, readable way. Choose tools (like OpenAI or Gemini), add a short or long disclaimer, pick a layout that fits your theme, and optionally expose a compact “tools used” line or badge-style hints.
Everything runs on your server—settings and post options are stored in your WordPress database. This plugin is a practical transparency aid; statutes and obligations depend on your context, so treat the copy as informational, not a legal guarantee.
Deutsch (Kurzfassung)
Mit diesem Plugin kennzeichnen Sie KI-unterstützte Inhalte klar für Besucherinnen und Besucher. Die ausführliche Anleitung folgt auf Englisch (Standard für WordPress.org). Übersetzungen über die Community: https://translate.wordpress.org/
Features
- Global settings under Settings Desk9 AI Content Disclosure: pick AI tools, edit long and short disclaimers (English defaults), control card styling (including an optional accent stripe), toggle badges, and set how tool names appear (short labels, bundled icons, or full names).
- Block editor: insert the dynamic disclosure block, adjust disclaimer length, AI-usage wording, and tools per instance—multiple blocks per post are supported when you need them.
- Per-post document sidebar (supported post types): inherit global defaults, override text or tools, hide the inherited notice, or skip auto-append for that entry.
- Shortcode
[deskaico_disclosure]for precise placement in classic layouts, page builders, or template parts. - Optional auto-append after post content when a post is marked as AI-relevant—handy when authors should not forget a notice on long-form content.
- Optional Beta JSON-LD (off by default): experimental machine-readable hints for advanced use cases; not canonical schema.org output and may change over time.
- WPML-ready configuration file included for teams running multilingual sites (see FAQ).
Development
Official releases include readable source under src/ (JavaScript and Sass) plus package.json and webpack.config.js, so you can audit or fork the plugin without a separate repository. The compiled bundles that WordPress loads live in build/ and match what ships on WordPress.org when you run the production build.
Rebuild compiled assets (optional):
- Install Node.js (current LTS recommended) which includes
npm. - In the plugin directory, run
npm installonce to install dev dependencies. - Run
npm run buildto regenerate thebuild/assets. - For active development with auto-rebuild, use
npm run start.
Layout reference: src/disclosure/ contains the Gutenberg block; src/post-sidebar/ powers the document sidebar; webpack.config.js extends @wordpress/scripts so both entry points compile.
Translators and maintainers: string extraction and JSON translation files for the editor often use WP-CLI wp i18n (see WordPress developer docs). Community translations are coordinated at https://translate.wordpress.org/
Privacy / Data handling
- No outbound analytics or telemetry are added by this plugin for its own purposes.
- Data stays on your site: a serialized option and post meta are stored in the database with normal WordPress capability checks.
- No cookies are introduced by default.
- Users with
manage_optionsconfigure global defaults; authors and editors update per-entry values according to their roles.
Internationalisation
Translations load automatically from wp-content/plugins/desk9-ai-content-disclosure/languages/ using the plugin’s Text Domain and Domain Path headers, and from language packs under wp-content/languages/plugins/ when available.
Tip: The dashboard language often follows Users Profile Language. If the site is localized but your user profile is still English, some strings may stay in English until you change that setting.
Community volunteers can translate the plugin at https://translate.wordpress.org/
Screenshots
Blocks
This plugin provides 1 block.
- AI Disclosure Displays an AI-assisted content disclosure with optional badges and semantic markup.
Installation
From the WordPress.org plugin directory (recommended)
- In your admin dashboard, go to Plugins Add New.
- Search for Desk9 AI Content Disclosure.
- Click Install Now, then Activate.
Upload a ZIP file
- Download the plugin ZIP (from WordPress.org or your maintainer).
- Go to Plugins Add New Upload Plugin, choose the ZIP, and click Install Now.
- Click Activate Plugin.
Install via SFTP or hosting file manager
- Unzip the package on your computer if needed. You should have a folder named
desk9-ai-content-disclosure. - Upload that folder to
wp-content/plugins/on your site. - In the dashboard, open Plugins and activate Desk9 AI Content Disclosure.
After activation: open Settings Desk9 AI Content Disclosure, review defaults, then add the block or shortcode where readers should see the notice. No command line or NPM is required for normal use.
FAQ
-
Do I need Node.js or NPM?
-
No. Pre-built scripts and styles ship in the
build/folder. Developers who want to rebuild from source can use Node—see Development below. -
Does this plugin guarantee legal compliance (for example EU AI Act or Article 50)?
-
No. It helps you disclose AI use visibly, but laws and interpretations differ by region and use case. Consult qualified counsel for compliance questions.
-
What does “experimental JSON-LD” mean?
-
When enabled, the plugin can emit a non-standard JSON-LD script plus related
data-*attributes once per page load. Treat it as beta: it is not a guaranteed schema.org pattern and may evolve. -
Does the plugin send data to external services?
-
No dedicated telemetry or analytics endpoints are bundled. Settings and per-post data stay in your WordPress database. Output is rendered on your pages like other theme and plugin content.
-
Does it work with WPML, Polylang, or other multilingual plugins?
-
Yes. A
wpml-config.xmlships with the plugin so WPML can register admin strings, translate the custom disclaimer meta field, and translate thetextattribute on the shortcode (HTML allowed) while keeping structural fields consistent across languages. Other multilingual setups can use similar approaches or WordPress filters—see the FAQ entry on hooks in older documentation if you customize output.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Desk9 AI Content Disclosure” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Desk9 AI Content Disclosure” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- AI usage scope (informational category) – cleaner wording. Each scope (Inspiration, Draft assistance, Substantial portion) now ships one coherent long and short preset instead of concatenating an introductory sentence with a generic body, so the duplicated “responsible for accuracy and lawfulness” wording is gone. Selecting “Not specified” uses the original generic preset.
- Settings textareas stay accurate. Switching the scope swaps the long and short fields automatically; previously, leftover paragraphs or lead-only saves could remain on screen or be duplicated by paragraph-wrapped HTML. Hand-edited custom copy is preserved when you change the scope.
- Migration of older saves. Auto-generated values from earlier dev builds (lead-only, lead + default body, or default body with an active scope) are detected and replaced with the new per-scope preset transparently—no data loss for customized text.
- Block editor preview now reflects Settings Default disclaimer length (long vs. short) and the saved long/short disclaimer copy, including the inserter preview.
deskaicoEditorConfigexposesdefaultDisclaimerVariant,disclaimerPlainLong,disclaimerPlainShort(editor preview only; front-end markup is unchanged). - Front end + auto-append honor Settings Disclaimer text whenever a block or shortcode uses global site defaults, even if the document sidebar uses Custom message & tools on the same entry. Empty-looking custom markup (stray empty paragraphs) no longer collapses the notice to nothing.
- Restore default plugin settings. A new button at the bottom of the Settings screen resets every option to bundled defaults (destructive, with a confirmation dialog and nonce).
- Renderer runs
deskaico_disclaimer_apply_usage_scope_prefix()as a safe strip only—no more accidental double leads from older callers; block editor, shortcode, and auto-append all read the stored preset as-is. - German translation updated for the new per-scope presets and helper texts; bundled
.morecompiled.
1.0.0
- First public release on WordPress.org: settings UI, disclosure renderer, dynamic block (inspector presets for disclaimer length, AI usage extent, per-block tools, multiple blocks per post) and shortcode
[deskaico_disclosure], document sidebar (post overrides and optional auto-append layout), Beta JSON-LD collector, German translation starter pack. - Distinctive listing title Desk9 AI Content Disclosure, slug
desk9-ai-content-disclosure, Text Domain aligned with the slug; all PHP identifiers use thedeskaico/DESKAICO/Deskaicoprefix for Plugin Check compliance. - Toolbar buttons load from
@wordpress/componentsfor current WordPress block editor compatibility; block namespacedeskaico/disclosure. - Show selected tools as: abbreviations, bundled SVG icons, or plain full names (comma-separated).
- Front-end compact layout uses neutral “Tools used:” wording (no automatic plugin credits or outbound promotional links on the public site).
- Source transparency: human-readable JavaScript and Sass under
src/withpackage.jsonandwebpack.config.js; Development section in this readme documentsnpm install/npm run build; compiled assets ship inbuild/. - Defense-in-depth output escaping:
Deskaico_Renderer::render()runs final HTML throughwp_kses()with allow-listdeskaico_kses_allowed_disclosure. - Beta JSON-LD emitted via
wp_print_inline_script_tag()with safe JSON encoding flags. - Bundled PHP translations via Text Domain + Domain Path with WordPress JIT loading (per Plugin Check). Ship
languages/desk9-ai-content-disclosure-{locale}.mo; duplicatemsgidremoved inde_DE.po. - Verified with WordPress Plugin Check “plugin-review” PHPCS ruleset and relevant security/naming sniffs.


