Aiviso – AI Image Disclosure
Aiviso – AI Image Disclosure
Description
Aiviso is an AI image disclosure plugin for WordPress. It gives editors a clear, manual workflow for declaring whether a Media Library image was AI-generated, AI-modified, or requires a custom disclosure.
The declaration is stored on the WordPress attachment and can follow the image wherever Aiviso supports its use. Configurable disclosure badges can be displayed on Featured Images and, when enabled, on marked images inside singular content.
Aiviso does not attempt to detect AI-generated images. An authorized editor or administrator makes the declaration, and the plugin records and presents that editorial decision.
Key features
- AI-generated, AI-modified, and custom attachment declarations
- Media Library fields, filters, and bulk actions
- Disclosure badges for supported Featured Images
- Optional badges for marked images inside singular content
- Configurable post type and Featured Image display scope
- Custom badge text, position, size, colours, border, icon spacing, and padding
- Built-in Aiviso logo, custom Media Library logo, or official European Commission Basic icon
- Manual multilingual badge text with WPML, Polylang, and TranslatePress
- Live badge preview in Settings
- Optional public disclosure details, including AI tool, model, dates, source, reviewer, and public note
- Audit screen with filters, counts, bulk actions, and CSV export
- Machine-readable Schema.org
ImageObjectJSON-LD - IPTC Digital Source Type values for generated and modified media
- Block Editor and Classic Editor Featured Image status
- Public custom post type support
- Local operation without an external AI detection service
Machine-readable disclosure
When enabled, Aiviso adds deduplicated Schema.org ImageObject JSON-LD for disclosed images rendered in supported contexts. AI-generated images use the IPTC trainedAlgorithmicMedia Digital Source Type, while AI-modified images use compositeWithTrainedAlgorithmicMedia. Custom declarations can use a supported IPTC Digital Source Type selected by the editor.
This metadata represents a publisher-supplied declaration. It is not cryptographically verified provenance and does not create C2PA credentials.
Private, local, and reversible
Aiviso does not upload images to an AI service, use an external AI provider, or modify original image files and generated WordPress image sizes. Badges are rendered as separate HTML and CSS overlays.
Declarations, visible text, styling, and disclosure details can be updated or removed without altering the source media.
A disclosure tool, not a legal decision engine
Aiviso can support responsible publishing and AI transparency workflows, but it does not determine whether a particular law or disclosure obligation applies. It does not verify image authenticity, detect AI imagery, or guarantee compliance with the EU AI Act or any other regulation.
Site administrators and editors remain responsible for deciding which images should be declared and which wording, metadata, and additional measures are appropriate.
Privacy
Aiviso stores editor declarations and settings locally in WordPress. It does not upload images to an AI service, perform AI detection, use telemetry or analytics, automatically send image data to third parties, modify original image files, load remote fonts, or require an Aiviso cloud account.
When an administrator opens Settings > Aiviso, the recommendations card may retrieve public plugin-directory metadata from WordPress.org. Normalized results are cached for 12 hours. Plugin icons may load from trusted WordPress.org domains when available. These requests do not include site images, post content, visitor data, analytics, or telemetry.
The settings screen contains a plain, user-initiated link to Ko-fi for supporting development. Aiviso does not load Ko-fi JavaScript, images, tracking, or other Ko-fi resources automatically. Ko-fi is contacted only if a user chooses to follow that external link.
Developer hooks
aiviso_is_ai_generated() is a public helper function that returns whether an attachment is declared AI-generated.
The aiviso_is_ai_generated filter adjusts the resolved attachment declaration. aiviso_should_display_badge controls whether a qualifying Featured Image receives a badge. aiviso_badge_text, aiviso_badge_position, aiviso_badge_logo, aiviso_badge_classes, and aiviso_badge_markup adjust shared badge output, including supported Featured Image and content-image badges.
aiviso_multilingual_provider optionally lets developers replace the active normalized multilingual provider. These APIs are intended for controlled integrations; the plugin's existing options, metadata keys, and attachment workflow remain the primary public behavior.
Machine-readable integrations can use aiviso_machine_readable_metadata_enabled, aiviso_digital_source_type, aiviso_image_object, and aiviso_jsonld_graph. Disclosure detail output can be adjusted through aiviso_public_disclosure_detail_fields, aiviso_frontend_disclosure_details, and aiviso_disclosure_details_markup. aiviso_post_type_scope_types filters available Settings post types, while aiviso_post_type_in_scope can make a per-post scope decision. aiviso_bulk_actions filters Aiviso bulk actions and aiviso_audit_capability changes the Audit screen capability. aiviso_disclosure_state_updated runs after a successful central disclosure-state change; aiviso_bulk_disclosure_updated runs after a shared bulk operation.
Version 1.0.1 does not add a separate public filter for selecting content images.
Legal notice
Aiviso is a technical publishing and disclosure tool. It does not provide legal advice, make legal determinations, or guarantee compliance with the EU AI Act or any other law. Laws, regulatory guidance, and platform requirements can change. You are responsible for determining which disclosure, labelling, provenance, accessibility, consumer-protection, or other requirements apply to your content and organization.
Installation
Install from a ZIP file
- In your WordPress admin area, go to Plugins > Add New Plugin.
- Select Upload Plugin and choose the Aiviso ZIP file.
- Install and activate Aiviso.
- Open an image in Media Library and check
AI-generated image. - Configure Featured Image and optional post-content badges in Settings > Aiviso.
Install manually
- Upload the
aiviso-ai-image-disclosurefolder to/wp-content/plugins/using FTP or your hosting file manager. - Activate Aiviso from the Plugins screen.
- Configure the badge in Settings > Aiviso.
Screenshots
Faq
No. An editor or administrator declares the image, and Aiviso records that declaration.
No. It does not verify provenance, inspect image files, or make authenticity decisions.
No. It stores WordPress attachment metadata and renders a separate HTML/CSS overlay. Original media files remain unchanged.
Yes. In version 1.0.1, you can optionally display badges on AI-marked Media Library images inside the main content of individual posts and public custom post types. Each qualifying image can receive its own badge.
No. Content-image disclosure does not process Pages. Featured Image behavior on Pages is controlled separately by the Featured Image settings.
Yes. Set the Featured Image Badge display option to Everywhere. This does not enable content-image processing on archive or listing views.
No. Aiviso is a technical disclosure tool, not legal advice or a compliance guarantee. It does not determine whether Article 50 or another rule applies to your organization or content.
It provides a predictable editorial workflow. Authorized people decide when an attachment should be disclosed, and that declaration follows the attachment in supported Featured Image and post-content uses.
No. The declaration is stored on the WordPress attachment, so it can be reused across posts.
Yes. Choose a supported raster image from the WordPress Media Library in Settings > Aiviso. Custom SVG logos are not accepted.
Yes. Use the global Badge text settings for AI-generated and AI-modified images, or select Custom disclosure on an individual Media Library image and enter attachment-specific text.
Yes. When WPML, Polylang, or TranslatePress is active with multiple configured languages, Aiviso provides separate manual Badge text fields for those languages. The same language-aware fields are available for each image that uses Custom disclosure.
The badge displays the selected logo without visible text. This also works per language when multilingual Badge text is configured.
Yes. Featured Image badges support public post types that use the standard WordPress Featured Image feature. Optional content-image badges support the main content of public custom post types shown as individual entries.
Yes. Aiviso provides Featured Image AI-status feedback in the Block Editor and supports standard Gutenberg Image block output in individual post content when content-image disclosure is enabled.
Yes. The Classic Editor retains the Featured Image status interface, and standard Media Library images inserted into individual post content can receive badges when content-image disclosure is enabled.
Automatic Featured Image output relies on the theme using WordPress standard Featured Image APIs. Content-image output relies on the theme passing the queried post’s main content through the standard WordPress content filter. Highly customized output can bypass these integrations.
No. Aiviso does not automatically upload or send images to an external service.
No. It does not use OpenAI, another AI provider, or external image analysis.
Settings and attachment declarations remain in WordPress. Frontend badges are no longer rendered while the plugin is inactive.
The Aiviso settings option is removed. Attachment declarations remain by default. Enable Remove data when plugin is deleted before uninstalling if you also want Aiviso’s attachment declarations removed.
Reviews
Changelog
1.0.3
- Added a Custom disclosure type for individual Media Library images.
- Added attachment-specific custom badge text with manual WPML, Polylang, and TranslatePress language fields.
- Added REST metadata, editor status, accessibility labels, Media Library indicators, and uninstall cleanup for custom declarations.
- Added IPTC Digital Source Type selection, attachment disclosure details, optional publisher-supplied Schema.org JSON-LD, and safe machine-readable wrapper attributes.
- Added Media Library disclosure filters and bulk actions, the Media > Aiviso Audit table with CSV export, and post-type scope controls.
- Added locally bundled official European Commission AI-content icons, with source and usage information.
- Added an independent Badge icon-size control for built-in, custom, and EU Basic icons.
- Added independent icon-to-text spacing and per-side badge padding controls with a live Settings preview.
- Completed translation catalog entries for the new Badge style controls.
1.0.2
- Added AI-modified image declarations alongside the existing AI-generated image declaration, with separately configurable badge text and shared appearance controls.
1.0.1
- Added optional disclosure badges for AI-marked Media Library images inside individual post and public custom post type content.
- Kept content-image disclosure limited to individual content views, excluding WordPress Pages and archive, listing, category, and search views.
- Preserved independent Featured Image display controls, including the
Everywherescope for archive and listing contexts. - Improved frontend compatibility for standard Classic Editor and Gutenberg content images, including linked and captioned images.
- Added the Serbian (Serbia) Cyrillic translation.
- Refined the horizontal alignment of the built-in Aiviso mark.
- Added a cached Settings-page list of selected free plugins from the WordPress.org Plugin Directory.
1.0.0
- Initial release.



