TCD Classic Editor Security & Risk Analysis

wordpress.org/plugins/tcd-classic-editor

This is a classic editor extension plug-in for TCD users. It is currently offered as a beta board.

3K active installs v1.3.3 PHP 8.0+ WP 6.7+ Updated Jan 28, 2026
block-editorclassic-editoreditorquicktagtinymce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is TCD Classic Editor Safe to Use in 2026?

Generally Safe

Score 100/100

TCD Classic Editor has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 2mo ago
Risk Assessment

The plugin "tcd-classic-editor" v1.3.3 exhibits a generally strong security posture based on the provided static analysis. The absence of any recorded vulnerabilities in its history is a significant positive indicator. Furthermore, the code analysis reveals good practices such as the use of prepared statements for all SQL queries, a high percentage of properly escaped output, and the presence of nonce and capability checks on all identified entry points (AJAX handlers and shortcodes). The total absence of critical or high-severity taint flows also suggests a lower risk of severe security issues.

Key Concerns

  • Flows with unsanitized paths
  • File operations found
  • External HTTP requests found
Vulnerabilities
None known

TCD Classic Editor Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

TCD Classic Editor Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
1 prepared
Unescaped Output
10
399 escaped
Nonce Checks
6
Capability Checks
5
File Operations
1
External Requests
1
Bundled Libraries
1

Bundled Libraries

TinyMCE

SQL Query Safety

100% prepared1 total queries

Output Escaping

98% escaped409 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

5 flows2 with unsanitized paths
repeater_add (classes\class-tcdce-qt-fields.php:540)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

TCD Classic Editor Attack Surface

Entry Points6
Unprotected0

AJAX Handlers 1

authwp_ajax_tcdce_repeater_addclasses\class-tcdce-qt-fields.php:58

Shortcodes 5

[clink] classes\class-tcdce-editor.php:92
[speech_bubble] classes\class-tcdce-editor.php:93
[gmap] classes\class-tcdce-editor.php:94
[tcd_tab] classes\class-tcdce-editor.php:95
[tcdce_toc] classes\class-tcdce-toc.php:136
WordPress Hooks 126
actionadmin_menuclasses\class-tcdce-admin-menu.php:40
actioninitclasses\class-tcdce-admin-menu.php:43
actionadmin_enqueue_scriptsclasses\class-tcdce-admin-menu.php:119
actionafter_setup_themeclasses\class-tcdce-block-editor.php:31
filterblock_categories_allclasses\class-tcdce-block-editor.php:54
actionenqueue_block_editor_assetsclasses\class-tcdce-block-editor.php:60
actionafter_setup_themeclasses\class-tcdce-editor.php:45
actionadmin_initclasses\class-tcdce-editor.php:48
filterthe_contentclasses\class-tcdce-editor.php:80
filterthe_contentclasses\class-tcdce-editor.php:84
filterwp_link_pages_argsclasses\class-tcdce-editor.php:89
actionwp_enqueue_scriptsclasses\class-tcdce-editor.php:98
filteruse_default_gallery_styleclasses\class-tcdce-editor.php:101
filtermce_external_pluginsclasses\class-tcdce-editor.php:187
filtermce_buttonsclasses\class-tcdce-editor.php:190
actionadmin_print_footer_scriptsclasses\class-tcdce-editor.php:193
filtertiny_mce_before_initclasses\class-tcdce-editor.php:196
filterattribute_escapeclasses\class-tcdce-editor.php:334
actionwidgets_initclasses\class-tcdce-toc-widget.php:9
actionwpclasses\class-tcdce-toc.php:87
actionadmin_initclasses\class-tcdce-toc.php:90
actionwp_headclasses\class-tcdce-toc.php:93
filterthe_contentclasses\class-tcdce-toc.php:139
actionwp_footerclasses\class-tcdce-toc.php:142
actionadd_meta_boxesclasses\class-tcdce-toc.php:337
actionsave_postclasses\class-tcdce-toc.php:338
actionwpmu_optionsclasses\support\class-tcdce-support.php:38
actionupdate_wpmu_optionsclasses\support\class-tcdce-support.php:39
filterplugin_action_linksclasses\support\class-tcdce-support.php:44
filternetwork_admin_plugin_action_linksclasses\support\class-tcdce-support.php:45
actionadmin_initclasses\support\class-tcdce-support.php:47
actionpersonal_options_updateclasses\support\class-tcdce-support.php:51
actionedit_user_profile_updateclasses\support\class-tcdce-support.php:52
actionprofile_personal_optionsclasses\support\class-tcdce-support.php:53
actionedit_user_profileclasses\support\class-tcdce-support.php:54
actionadmin_print_stylesclasses\support\class-tcdce-support.php:62
filterscript_loader_srcclasses\support\class-tcdce-support.php:68
filteruse_block_editor_for_postclasses\support\class-tcdce-support.php:77
filtergutenberg_can_edit_postclasses\support\class-tcdce-support.php:81
filterget_edit_post_linkclasses\support\class-tcdce-support.php:88
filterredirect_post_locationclasses\support\class-tcdce-support.php:89
actionedit_form_topclasses\support\class-tcdce-support.php:90
actionadmin_head-edit.phpclasses\support\class-tcdce-support.php:91
actionedit_form_topclasses\support\class-tcdce-support.php:93
filterblock_editor_settings_allclasses\support\class-tcdce-support.php:96
filterblock_editor_settingsclasses\support\class-tcdce-support.php:98
filterdisplay_post_statesclasses\support\class-tcdce-support.php:102
filterpage_row_actionsclasses\support\class-tcdce-support.php:104
filterpost_row_actionsclasses\support\class-tcdce-support.php:105
actionadd_meta_boxesclasses\support\class-tcdce-support.php:108
actionenqueue_block_editor_assetsclasses\support\class-tcdce-support.php:109
filteruse_block_editor_for_post_typeclasses\support\class-tcdce-support.php:114
filtergutenberg_can_edit_post_typeclasses\support\class-tcdce-support.php:118
actionadmin_initclasses\support\class-tcdce-support.php:129
actionedit_form_after_titleclasses\support\class-tcdce-support.php:931
actionplugins_loadedclasses\support\class-tcdce-support.php:1019
filterwp_kses_allowed_htmlhelper.php:91
actionadmin_inithelper.php:123
actionadmin_post_tcdce_import_actionhelper.php:171
actionadmin_post_tcdce_export_actionhelper.php:237
actiontcdce_add_admin_menusetting\basic.php:12
filtertcdce_render_quicktag_stylesetting\basic.php:152
actiontcdce_add_admin_menusetting\google-maps.php:13
filtertcdce_block_register_boxsetting\quicktag\box.php:13
filtertcdce_qt_register_boxsetting\quicktag\box.php:29
actiontcdce_qt_fields_set_propertiessetting\quicktag\box.php:41
actiontcdce_qt_fields_repeater_options_boxsetting\quicktag\box.php:281
actiontcdce_qt_fields_repeater_preview_options_boxsetting\quicktag\box.php:300
filtertcdce_qt_validation_boxsetting\quicktag\box.php:551
filtertcdce_block_register_buttonsetting\quicktag\button.php:13
filtertcdce_qt_register_buttonsetting\quicktag\button.php:29
actiontcdce_qt_fields_set_propertiessetting\quicktag\button.php:42
actiontcdce_qt_fields_repeater_options_buttonsetting\quicktag\button.php:259
actiontcdce_qt_fields_repeater_preview_options_buttonsetting\quicktag\button.php:278
filtertcdce_qt_validation_buttonsetting\quicktag\button.php:425
filtertcdce_block_register_cardlinksetting\quicktag\cardlink.php:12
filtertcdce_qt_register_cardlinksetting\quicktag\cardlink.php:31
actiontcdce_qt_fields_set_propertiessetting\quicktag\cardlink.php:40
actiontcdce_qt_fields_repeater_options_cardlinksetting\quicktag\cardlink.php:60
filtertcdce_qt_validation_cardlinksetting\quicktag\cardlink.php:110
filtertcdce_block_register_custom_tagsetting\quicktag\custom_tag.php:12
filtertcdce_qt_register_custom_tagsetting\quicktag\custom_tag.php:40
actiontcdce_qt_fields_set_propertiessetting\quicktag\custom_tag.php:66
actiontcdce_qt_fields_repeater_options_custom_tagsetting\quicktag\custom_tag.php:89
filtertcdce_qt_validation_custom_tagsetting\quicktag\custom_tag.php:141
filtertcdce_block_register_gmapsetting\quicktag\gmap.php:12
filtertcdce_qt_register_gmapsetting\quicktag\gmap.php:31
actiontcdce_qt_fields_set_propertiessetting\quicktag\gmap.php:40
actiontcdce_qt_fields_repeater_options_gmapsetting\quicktag\gmap.php:61
filtertcdce_qt_validation_gmapsetting\quicktag\gmap.php:95
actiontcdce_qt_fields_set_propertiessetting\quicktag\heading.php:51
filtertcdce_block_register_heading_labelsetting\quicktag\heading_label.php:12
filtertcdce_qt_register_heading_labelsetting\quicktag\heading_label.php:62
actiontcdce_qt_fields_set_propertiessetting\quicktag\heading_label.php:72
actiontcdce_qt_fields_repeater_options_heading_labelsetting\quicktag\heading_label.php:183
actiontcdce_qt_fields_repeater_preview_options_heading_labelsetting\quicktag\heading_label.php:203
filtertcdce_qt_validation_heading_labelsetting\quicktag\heading_label.php:372
filtertcdce_block_register_markersetting\quicktag\marker.php:12
filtertcdce_qt_register_markersetting\quicktag\marker.php:25
actiontcdce_qt_fields_set_propertiessetting\quicktag\marker.php:36
actiontcdce_qt_fields_repeater_options_markersetting\quicktag\marker.php:168
actiontcdce_qt_fields_repeater_preview_options_markersetting\quicktag\marker.php:187
filtertcdce_qt_validation_markersetting\quicktag\marker.php:236
filtertcdce_block_register_olsetting\quicktag\ol.php:12
filtertcdce_qt_register_olsetting\quicktag\ol.php:33
actiontcdce_qt_fields_set_propertiessetting\quicktag\ol.php:44
actiontcdce_qt_fields_repeater_options_olsetting\quicktag\ol.php:279
actiontcdce_qt_fields_repeater_preview_options_olsetting\quicktag\ol.php:298
filtertcdce_qt_validation_olsetting\quicktag\ol.php:590
filtertcdce_block_register_sbsetting\quicktag\sb.php:12
filtertcdce_qt_register_sbsetting\quicktag\sb.php:31
actiontcdce_qt_fields_set_propertiessetting\quicktag\sb.php:41
actiontcdce_qt_fields_repeater_options_sbsetting\quicktag\sb.php:226
actiontcdce_qt_fields_repeater_preview_options_sbsetting\quicktag\sb.php:248
filtertcdce_qt_validation_sbsetting\quicktag\sb.php:360
filtertcdce_block_register_ulsetting\quicktag\ul.php:13
filtertcdce_qt_register_ulsetting\quicktag\ul.php:34
actiontcdce_qt_fields_set_propertiessetting\quicktag\ul.php:45
actiontcdce_qt_fields_repeater_options_ulsetting\quicktag\ul.php:259
actiontcdce_qt_fields_repeater_preview_options_ulsetting\quicktag\ul.php:278
filtertcdce_qt_validation_ulsetting\quicktag\ul.php:543
actiontcdce_add_admin_menusetting\quicktag.php:12
actiontcdce_top_menusetting\start-guide.php:11
actiontcdce_add_admin_menusetting\table-of-contents.php:12
actionwp_enqueue_scriptstheme-support\tcd.php:12
actionafter_setup_themetheme-support\tcd.php:30
Maintenance & Trust

TCD Classic Editor Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedJan 28, 2026
PHP min version8.0
Downloads17K

Community Trust

Rating0/100
Number of ratings0
Active installs3K
Developer Profile

TCD Classic Editor Developer Profile

DesignPlus

1 plugin · 3K total installs

94
trust score
Avg Security Score
100/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect TCD Classic Editor

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/tcd-classic-editor/assets/css/editor.css/wp-content/plugins/tcd-classic-editor/assets/js/vanilla-picker.min.js/wp-content/plugins/tcd-classic-editor/assets/css/admin-ui.css/wp-content/plugins/tcd-classic-editor/assets/js/admin-ui.js
Script Paths
/wp-content/plugins/tcd-classic-editor/assets/js/vanilla-picker.min.js/wp-content/plugins/tcd-classic-editor/assets/js/admin-ui.js
Version Parameters
tcd-classic-editor/assets/css/editor.css?ver=tcd-classic-editor/assets/js/vanilla-picker.min.js?ver=tcd-classic-editor/assets/css/admin-ui.css?ver=tcd-classic-editor/assets/js/admin-ui.js?ver=

HTML / DOM Fingerprints

CSS Classes
tcdce-pagetcdce-page__innertcdce-headertcdce-header__navtcdce-header__nav-itemtcdce-header__nav-linkis-activetcdce-notice+2 more
Data Attributes
id="js-tcdce-page"
JS Globals
TCDCE_OBJECT
FAQ

Frequently Asked Questions about TCD Classic Editor