Sign up (with export icon)

Marking AI-generated suggestions

Show the table of contents

When CKEditor AI features create track changes suggestions, you can mark those suggestions as AI-generated so reviewers can tell them apart from manual edits. This is an opt-in display option that is turned off by default.

Unlock this feature with selected CKEditor Plans

Try all premium features – no credit card needed.

Sign up for a free trial Select a Plan

How it works

Copy link

When CKEditor AI works together with Track Changes, its edits can be recorded as suggestions rather than applied directly to the content. Whenever a suggestion originates from AI, it is tagged so the editor can tell it apart from manual edits.

By default, an AI-generated suggestion looks exactly like a manual one. The display options below let you surface its origin in the suggestion annotation.

Note

This feature affects suggestions only and requires the Track Changes plugin. It applies whenever an AI feature creates a suggestion, however that suggestion was produced.

Displaying the AI source

Copy link

Use config.trackChanges.showAISource to control whether and how an AI-generated suggestion advertises its origin.

Value Result
'pill' Shows an “AI-generated” pill in the suggestion balloon while keeping the original author’s name and avatar.
'author' Swaps the author shown in the suggestion view for a view-only AI identity. The stored author is unchanged.
null Hides the AI source. AI-generated suggestions are displayed like manual ones. This is the default.

Pill

Copy link

The 'pill' mode adds an “AI-generated” pill to the suggestion balloon and keeps the original author’s identity:

ClassicEditor
    .create( {
        /* ... */
        trackChanges: {
            showAISource: 'pill'
        }
    } )
    .then( /* ... */ )
    .catch( /* ... */ );
Copy code

In the demo below, run a proofreading pass over the text. The AI corrections appear in the sidebar, each marked with an “AI-generated” pill while keeping the original author:

Remote Work Policy Update

Our remote work policy have been updated to give teams more flexibility. Each employee can now choose which days they work from home, as long as they coordinates with their manager ahead of time. We believe this approach will improve both productivity and moral across the company.

Its important to remember that core hours still apply, and that fewer meetings does not mean less communication. If you have any questions, please reach out to you're team lead, who can explain how these changes effect your role.

Author

Copy link

The 'author' mode replaces the author shown in the suggestion view (name and avatar) with a view-only AI identity. The original author is still stored in the suggestion data, so only the display changes:

ClassicEditor
    .create( {
        /* ... */
        trackChanges: {
            showAISource: 'author'
        }
    } )
    .then( /* ... */ )
    .catch( /* ... */ );
Copy code

In the demo below, run a proofreading pass over the text. The AI corrections appear in the sidebar under a view-only “AI Assistant” identity instead of the document author:

Remote Work Policy Update

Our remote work policy have been updated to give teams more flexibility. Each employee can now choose which days they work from home, as long as they coordinates with their manager ahead of time. We believe this approach will improve both productivity and moral across the company.

Its important to remember that core hours still apply, and that fewer meetings does not mean less communication. If you have any questions, please reach out to you're team lead, who can explain how these changes effect your role.

Customizing the AI author

Copy link

When showAISource is set to 'author', the suggestion view uses a built-in “AI Assistant” identity. Customize it with config.trackChanges.aiAuthor:

ClassicEditor
    .create( {
        /* ... */
        trackChanges: {
            showAISource: 'author',
            aiAuthor: {
                name: 'Acme Assistant',
                avatar: 'https://example.com/ai-avatar.png'
            }
        }
    } )
    .then( /* ... */ )
    .catch( /* ... */ );
Copy code

Both fields are optional: name defaults to AI Assistant, and when no avatar is provided, a default AI icon is shown.

Copy link