{"id":351036,"date":"2026-08-11T14:30:48","date_gmt":"2026-08-11T14:30:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/login-approval\/"},"modified":"2026-08-11T14:30:12","modified_gmt":"2026-08-11T14:30:12","slug":"gatalyn-login-approval","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/gatalyn-login-approval\/","author":23523230,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.3","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"Gatalyn Login Approval","header_author":"Sergio","header_description":"Adds email and\/or Telegram-based login approval before or after credential entry.","assets_banners_color":"4e598c","last_updated":"2026-08-11 14:30:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/sergiopw\/gatalyn-login-approval","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"sergiopw","date":"2026-08-11 14:30:12"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3642169,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3642169,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3642169,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3642169,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[9211,710,602,600,9171],"plugin_category":[38,54],"plugin_contributors":[275215],"plugin_business_model":[],"class_list":["post-351036","plugin","type-plugin","status-publish","hentry","plugin_tags-2fa","plugin_tags-authentication","plugin_tags-login","plugin_tags-security","plugin_tags-telegram","plugin_category-authentication","plugin_category-security-and-spam-protection","plugin_contributors-sergiopw","plugin_committers-sergiopw"],"banners":{"banner":"https:\/\/ps.w.org\/gatalyn-login-approval\/assets\/banner-772x250.png?rev=3642169","banner_2x":"https:\/\/ps.w.org\/gatalyn-login-approval\/assets\/banner-1544x500.png?rev=3642169","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/gatalyn-login-approval\/assets\/icon-128x128.png?rev=3642169","icon_2x":"https:\/\/ps.w.org\/gatalyn-login-approval\/assets\/icon-256x256.png?rev=3642169","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Gatalyn Login Approval enhances the security of your WordPress site by requiring an additional layer of approval whenever someone attempts to log in. You can configure the plugin to send an approval link via Email, Telegram, or both.<\/p>\n\n<p>The plugin supports two modes:\n*   <strong>Before Login:<\/strong> The user enters their username\/email first, receives an approval link, and only after clicking it they can enter their password to log in.\n*   <strong>After Login:<\/strong> The user enters their username and password as usual, but the login is held until they approve it via the link sent to them.<\/p>\n\n<p>Features include:\n*   Email and Telegram notifications\n*   IP whitelisting to bypass approvals for trusted networks\n*   Customizable email\/Telegram subjects and messages\n*   Token expiration times<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin utilizes the Telegram API to send login approval notifications to a specified Chat ID when the Telegram integration is enabled by the site administrator.<\/p>\n\n<ul>\n<li><strong>Service Used:<\/strong> Telegram Bot API (https:\/\/core.telegram.org\/bots\/api)<\/li>\n<li><strong>Data Transmitted:<\/strong> The plugin sends the user's login name, IP address, and approval\/denial links to the configured Telegram Chat ID. No passwords or session tokens are transmitted to Telegram. <\/li>\n<li><strong>Terms of Service:<\/strong> By using this integration, you are subject to the <a href=\"https:\/\/telegram.org\/tos\">Telegram Terms of Service<\/a>.<\/li>\n<li><strong>Privacy Policy:<\/strong> Please refer to the <a href=\"https:\/\/telegram.org\/privacy\">Telegram Privacy Policy<\/a> for details on how your data is handled.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/gatalyn-login-approval<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to <strong>Settings &gt; Gatalyn Login Approval<\/strong> to configure the plugin.<\/li>\n<li>(Optional) Set up a Telegram Bot Token and Chat ID to receive approvals via Telegram.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20configure%20the%20telegram%20bot%3F\"><h3>How do I configure the Telegram Bot?<\/h3><\/dt>\n<dd><p>You need to create a bot via BotFather on Telegram to get your Bot Token. Then, start a chat with your bot and obtain your Chat ID to enter it in the plugin settings.<\/p><\/dd>\n<dt id=\"can%20i%20whitelist%20my%20ip%3F\"><h3>Can I whitelist my IP?<\/h3><\/dt>\n<dd><p>Yes, you can add your IP address (or multiple IP addresses, one per line) in the plugin settings to completely bypass the approval process.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"Adds email and\/or Telegram-based login approval before or after credential entry.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=351036"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sergiopw"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351036"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351036"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351036"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351036"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351036"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}