Easy Language Security & Risk Analysis

wordpress.org/plugins/easy-language

Simplify your website into easy or plain language - supported by AI.

100 active installs v3.1.0 PHP 8.1+ WP 6.0+ Updated Mar 9, 2026
capitoeasy-languageleichte-sprachesimplifysumm-ai
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Easy Language Safe to Use in 2026?

Generally Safe

Score 100/100

Easy Language has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 26d ago
Risk Assessment

The "easy-language" v3.1.0 plugin exhibits a strong security posture based on the provided static analysis and vulnerability history. The extensive use of prepared statements for SQL queries and proper output escaping indicates good development practices, significantly mitigating common web vulnerabilities. The complete absence of known CVEs and recorded vulnerabilities, coupled with a robust implementation of nonce and capability checks across its attack surface, suggests a mature and well-maintained codebase.

While the static analysis reveals a moderate number of entry points (17 total), the critical finding is that all appear to be protected with appropriate authentication and authorization checks. There are no detected dangerous functions, unsanitized paths in taint analysis, or suspicious file operations that would indicate immediate critical threats. The plugin's low number of external HTTP requests and file operations further reduces its attack surface. Overall, this plugin demonstrates a commendable focus on security, with no significant immediate risks apparent in the provided data.

Vulnerabilities
None known

Easy Language Security Vulnerabilities

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

Easy Language Code Analysis

Dangerous Functions
0
Raw SQL Queries
2
49 prepared
Unescaped Output
54
933 escaped
Nonce Checks
40
Capability Checks
25
File Operations
4
External Requests
4
Bundled Libraries
0

SQL Query Safety

96% prepared51 total queries

Output Escaping

95% escaped987 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
export_simplifications_by_request (app\EasyLanguage\Texts.php:767)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Easy Language Attack Surface

Entry Points17
Unprotected0

AJAX Handlers 13

authwp_ajax_settings_import_fileapp\Dependencies\easySettingsForWordPress\Import.php:60
authwp_ajax_efw_dismiss_admin_noticeapp\Dependencies\easyTransientsForWordPress\Transients.php:124
authwp_ajax_easy_language_add_simplification_objectapp\EasyLanguage\Init.php:138
authwp_ajax_easy_language_run_simplificationapp\EasyLanguage\Init.php:139
authwp_ajax_easy_language_run_data_deletionapp\EasyLanguage\Init.php:140
authwp_ajax_easy_language_get_info_delete_dataapp\EasyLanguage\Init.php:141
authwp_ajax_easy_language_reset_processing_simplificationapp\EasyLanguage\Init.php:142
authwp_ajax_easy_language_ignore_processing_simplificationapp\EasyLanguage\Init.php:143
authwp_ajax_easy_language_set_simplification_prevention_on_objectapp\EasyLanguage\Init.php:144
authwp_ajax_easy_language_get_debug_infoapp\EasyLanguage\Init.php:145
authwp_ajax_easy_language_dismiss_intro_step_2app\EasyLanguage\Init.php:155
authwp_ajax_easy_language_reset_introapp\Plugin\Init.php:88
authwp_ajax_easy_language_set_icon_for_languageapp\Plugin\Init.php:89

REST API Routes 3

GET/wp-json/easy-language/v1/language-options/(?P<id>\d+)app\EasyLanguage\Rest_Api.php:69
GET/wp-json/easy-language/v1/automatic_cron_checks/app\EasyLanguage\Rest_Api.php:91
GET/wp-json/easy-language/v1/api_check/app\EasyLanguage\Rest_Api.php:105

Shortcodes 1

[easy-language-switcher] app\EasyLanguage\Switcher.php:74
WordPress Hooks 138
actioninitapp\Apis\Capito\Capito.php:105
actioneasy_language_capito_request_quotaapp\Apis\Capito\Capito.php:108
actionadmin_action_easy_language_capito_remove_tokenapp\Apis\Capito\Capito.php:111
actionadmin_action_easy_language_capito_test_tokenapp\Apis\Capito\Capito.php:112
actionadmin_action_easy_language_capito_get_quotaapp\Apis\Capito\Capito.php:115
actioninitapp\Apis\ChatGpt\ChatGpt.php:97
actioneasy_language_chatgpt_automaticapp\Apis\ChatGpt\ChatGpt.php:104
actionadmin_action_easy_language_chatgpt_remove_tokenapp\Apis\ChatGpt\ChatGpt.php:108
actioninitapp\Apis\Summ_Ai\Summ_Ai.php:133
actioneasy_language_summ_ai_request_quotaapp\Apis\Summ_Ai\Summ_Ai.php:136
actionadmin_action_easy_language_summ_ai_test_tokenapp\Apis\Summ_Ai\Summ_Ai.php:139
actionadmin_action_easy_language_summ_ai_remove_tokenapp\Apis\Summ_Ai\Summ_Ai.php:142
actionadmin_action_easy_language_summ_ai_get_quotaapp\Apis\Summ_Ai\Summ_Ai.php:145
actionadmin_action_settings_exportapp\Dependencies\easySettingsForWordPress\Export.php:59
actionadmin_enqueue_scriptsapp\Dependencies\easySettingsForWordPress\Import.php:59
filterupload_mimesapp\Dependencies\easySettingsForWordPress\Import.php:197
actionadmin_menuapp\Dependencies\easySettingsForWordPress\Settings.php:186
actionadmin_initapp\Dependencies\easySettingsForWordPress\Settings.php:187
actionadmin_initapp\Dependencies\easySettingsForWordPress\Settings.php:188
actionrest_api_initapp\Dependencies\easySettingsForWordPress\Settings.php:189
actionadmin_enqueue_scriptsapp\Dependencies\easySettingsForWordPress\Settings.php:190
actioninitapp\Dependencies\easySettingsForWordPress\Settings.php:194
actioninitapp\Dependencies\easySettingsForWordPress\Settings.php:199
actionadmin_noticesapp\Dependencies\easyTransientsForWordPress\Transients.php:115
actionshutdownapp\Dependencies\easyTransientsForWordPress\Transients.php:118
actionadmin_enqueue_scriptsapp\Dependencies\easyTransientsForWordPress\Transients.php:121
actioninitapp\EasyLanguage\Init.php:129
actionadmin_initapp\EasyLanguage\Init.php:132
actionadmin_initapp\EasyLanguage\Init.php:133
actionpre_get_postsapp\EasyLanguage\Init.php:134
filterget_pagesapp\EasyLanguage\Init.php:135
actionwp_enqueue_scriptsapp\EasyLanguage\Init.php:148
actioneasy_language_automatic_simplificationapp\EasyLanguage\Init.php:151
filteradmin_body_classapp\EasyLanguage\Init.php:154
actioncurrent_screenapp\EasyLanguage\Init.php:156
actionupdate_option_WPLANGapp\EasyLanguage\Init.php:157
actionadmin_bar_menuapp\EasyLanguage\Init.php:158
actionadmin_bar_menuapp\EasyLanguage\Init.php:159
filtersite_status_testsapp\EasyLanguage\Init.php:160
filtereasy_language_get_objectapp\EasyLanguage\Init.php:161
filtereasy_language_get_objectapp\EasyLanguage\Init.php:162
filtereasy_language_first_simplify_dialogapp\EasyLanguage\Init.php:163
filtereasy_language_get_object_by_wp_objectapp\EasyLanguage\Init.php:164
actionadmin_action_easy_language_create_automatic_cronapp\EasyLanguage\Init.php:167
actionadmin_action_easy_language_delete_simplificationapp\EasyLanguage\Init.php:168
actionadmin_action_easy_language_delete_text_for_simplificationapp\EasyLanguage\Init.php:169
actionadmin_action_easy_language_delete_all_to_simplified_textsapp\EasyLanguage\Init.php:170
actionrestrict_manage_postsapp\EasyLanguage\Init.php:219
actionparse_queryapp\EasyLanguage\Init.php:220
filterpost_row_actionsapp\EasyLanguage\Init.php:224
actionadd_meta_boxesapp\EasyLanguage\PageBuilders.php:63
actionrest_api_initapp\EasyLanguage\Rest_Api.php:59
actioninitapp\EasyLanguage\Rewrite.php:69
filterget_page_uriapp\EasyLanguage\Rewrite.php:72
filterpre_post_linkapp\EasyLanguage\Rewrite.php:73
filterquery_varsapp\EasyLanguage\Rewrite.php:76
filterredirect_canonicalapp\EasyLanguage\Rewrite.php:77
actionupdate_option_show_on_frontapp\EasyLanguage\Rewrite.php:80
actionwpapp\EasyLanguage\Rewrite.php:81
actioninitapp\EasyLanguage\Switcher.php:69
actioninitapp\EasyLanguage\Switcher.php:70
filterwp_get_nav_menu_itemsapp\EasyLanguage\Switcher.php:71
actionwp_nav_menu_item_custom_fieldsapp\EasyLanguage\Switcher.php:72
actionwp_update_nav_menu_itemapp\EasyLanguage\Switcher.php:73
actionadmin_action_easy_language_add_simplificationapp\EasyLanguage\Texts.php:76
actionadmin_action_easy_language_add_simplification_termapp\EasyLanguage\Texts.php:77
actionadmin_action_easy_language_get_simplificationapp\EasyLanguage\Texts.php:80
actionadmin_action_easy_language_get_term_simplificationapp\EasyLanguage\Texts.php:81
actionadmin_action_easy_language_get_simplification_of_entryapp\EasyLanguage\Texts.php:84
actionadmin_action_easy_language_export_simplificationsapp\EasyLanguage\Texts.php:87
actioneasy_language_replace_textsapp\EasyLanguage\Texts.php:90
filterget_terms_argsapp\EasyLanguage\Texts.php:91
actionwp_trash_postapp\EasyLanguage\Texts.php:99
actionuntrashed_postapp\EasyLanguage\Texts.php:102
actionbefore_delete_postapp\EasyLanguage\Texts.php:105
actionpre_delete_termapp\EasyLanguage\Texts.php:106
actiondelete_termapp\EasyLanguage\Texts.php:107
filterbuilder/settings/page/controls_dataapp\PageBuilder\Bricks.php:57
filteret_builder_page_settings_modal_togglesapp\PageBuilder\Divi.php:57
filteret_builder_page_settings_definitionsapp\PageBuilder\Divi.php:58
actionet_fb_enqueue_assetsapp\PageBuilder\Divi.php:59
filtereasy_language_js_topapp\PageBuilder\Divi.php:60
actioninitapp\PageBuilder\Elementor.php:67
actionelementor/element/wp-post/document_settings/after_section_endapp\PageBuilder\Elementor.php:68
actionelementor/element/wp-page/document_settings/after_section_endapp\PageBuilder\Elementor.php:69
actionelementor/controls/registerapp\PageBuilder\Elementor.php:70
actionelementor/editor/before_enqueue_stylesapp\PageBuilder\Elementor.php:71
actionelementor/dynamic_tags/register_tagsapp\PageBuilder\Elementor.php:72
actionelementor/widgets/registerapp\PageBuilder\Elementor.php:87
actioninitapp\Plugin\Admin\Admin.php:59
actionadmin_initapp\Plugin\Admin\Admin.php:60
actionadmin_enqueue_scriptsapp\Plugin\Admin\Admin.php:61
actionadmin_enqueue_scriptsapp\Plugin\Admin\Admin.php:62
actionadmin_enqueue_scriptsapp\Plugin\Admin\Admin.php:63
filteradmin_footer_textapp\Plugin\Admin\Admin.php:64
actionadmin_action_easy_language_export_api_logapp\Plugin\Apis.php:30
actionadmin_action_easy_language_clear_api_logapp\Plugin\Apis.php:31
actioncli_initapp\Plugin\Init.php:81
actionupdate_option_easy_language_apiapp\Plugin\Init.php:82
actionupdate_option_WPLANGapp\Plugin\Init.php:83
actionadmin_action_easy_language_clear_logapp\Plugin\Init.php:84
filterplugin_row_metaapp\Plugin\Init.php:85
filtercron_schedulesapp\Plugin\Intervals.php:56
filterupload_mimesapp\Plugin\Language_Icon.php:91
actioninitapp\Plugin\Settings.php:67
actionadmin_action_easy_language_resetapp\Plugin\Settings.php:70
actioninitapp\Plugin\Setup.php:62
actionesfw_set_completedapp\Plugin\Setup.php:95
actionesfw_processapp\Plugin\Setup.php:96
actionesfw_processapp\Plugin\Setup.php:97
actionadmin_menuapp\Plugin\Setup.php:100
actioneasy_language_import_max_countapp\Plugin\Setup.php:103
actioneasy_language_import_countapp\Plugin\Setup.php:104
actioninitapp\Plugin\Update.php:58
filterpll_predefined_languagesapp\ThirdPartySupport\Polylang\Init.php:79
filterpll_predefined_flagsapp\ThirdPartySupport\Polylang\Init.php:80
filterpll_flagapp\ThirdPartySupport\Polylang\Init.php:81
actiondeactivate_polylang/polylang.phpapp\ThirdPartySupport\Polylang\Init.php:84
actionadmin_initapp\ThirdPartySupport\Sublanguage\Init.php:82
actiondeactivate_sublanguage/sublanguage.phpapp\ThirdPartySupport\Sublanguage\Init.php:85
actiondeactivate_translatepress-multilingual/index.phpapp\ThirdPartySupport\TranslatePress\Init.php:94
filtertrp_wp_languagesapp\ThirdPartySupport\TranslatePress\Init.php:95
filtertrp_automatic_translation_engines_classesapp\ThirdPartySupport\TranslatePress\Init.php:96
filtertrp_machine_translation_enginesapp\ThirdPartySupport\TranslatePress\Init.php:97
filtertrp_mt_available_supported_languagesapp\ThirdPartySupport\TranslatePress\Init.php:98
filtertrp_ls_floating_current_languageapp\ThirdPartySupport\TranslatePress\Init.php:99
filtertrp_flags_pathapp\ThirdPartySupport\TranslatePress\Init.php:100
actiontrp_machine_translation_extra_settings_middleapp\ThirdPartySupport\TranslatePress\Init.php:101
filtertrp_machine_translation_sanitize_settingsapp\ThirdPartySupport\TranslatePress\Init.php:102
filtertrp_wp_languagesapp\ThirdPartySupport\TranslatePress\Init.php:215
filtertrp_mt_available_supported_languagesapp\ThirdPartySupport\TranslatePress\Init.php:331
filtertrp_mt_available_supported_languagesapp\ThirdPartySupport\TranslatePress\Init.php:339
actionadmin_initapp\ThirdPartySupport\Wpml\Init.php:83
actiondeactivate_sitepress-multilingual-cms/sitepress.phpapp\ThirdPartySupport\Wpml\Init.php:86
actioneasy_language_settings_add_tabinc\settings\simplifications.php:30
actioneasy_language_settings_simplifications_pageinc\settings\simplifications.php:69
actioneasy_language_settings_simplifications__pageinc\settings\simplifications.php:86
actioneasy_language_settings_simplifications_to_simplify_pageinc\settings\simplifications.php:120

Scheduled Events 7

easy_language_capito_request_quota
easy_language_summ_ai_request_quota
easy_language_automatic_simplification
easy_language_automatic_simplification
easy_language_automatic_simplification
easy_language_automatic_simplification
easy_language_automatic_simplification
Maintenance & Trust

Easy Language Maintenance & Trust

Maintenance Signals

WordPress version tested7.0
Last updatedMar 9, 2026
PHP min version8.1
Downloads7K

Community Trust

Rating100/100
Number of ratings1
Active installs100
Developer Profile

Easy Language Developer Profile

laolaweb

4 plugins · 310 total installs

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

How We Detect Easy Language

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/easy-language/vendor/laolaweb/easy-settings-for-wordpress/Files/import.js
Script Paths
/wp-content/plugins/easy-language/vendor/laolaweb/easy-settings-for-wordpress/Files/import.js

HTML / DOM Fingerprints

CSS Classes
easy-dialog-for-wordpress
Data Attributes
data-dialog
JS Globals
settingsImportJsVars
FAQ

Frequently Asked Questions about Easy Language