{"id":264446,"date":"2026-01-06T23:09:58","date_gmt":"2026-01-06T23:09:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/otp-in-secure-otp-access\/"},"modified":"2026-02-25T22:19:29","modified_gmt":"2026-02-25T22:19:29","slug":"one-time-email-access-guard","status":"publish","type":"plugin","link":"https:\/\/mn.wordpress.org\/plugins\/one-time-email-access-guard\/","author":16211182,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"One Time Email Access Guard","header_author":"Marco Gargano","header_description":"Protect pages and posts with email-delivered verification codes. Secure, passwordless access control with user management and customization.","assets_banners_color":"009901","last_updated":"2026-02-25 22:19:29","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.marcogargano.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":205,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["installation","faq","changelog","description"],"tags":{"1.1.0":{"tag":"1.1.0","author":"marcogargano","date":"2026-02-25 22:19:29"}},"upgrade_notice":{"1.1.0":"<p>Major update with bulk operations, CSV import\/export, and international phone support. Plugin renamed for WordPress.org compliance.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3433970,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3433970,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3433970,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3433970,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3433970,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-01.png":{"filename":"screenshot-01.png","revision":3434751,"resolution":"1","location":"assets","locale":""},"screenshot-02.png":{"filename":"screenshot-02.png","revision":3434751,"resolution":"2","location":"assets","locale":""},"screenshot-03.png":{"filename":"screenshot-03.png","revision":3434751,"resolution":"3","location":"assets","locale":""},"screenshot-04.png":{"filename":"screenshot-04.png","revision":3434751,"resolution":"4","location":"assets","locale":""},"screenshot-05.png":{"filename":"screenshot-05.png","revision":3434751,"resolution":"5","location":"assets","locale":""},"screenshot-06.png":{"filename":"screenshot-06.png","revision":3434751,"resolution":"6","location":"assets","locale":""},"screenshot-07.png":{"filename":"screenshot-07.png","revision":3434751,"resolution":"7","location":"assets","locale":""},"screenshot-08.png":{"filename":"screenshot-08.png","revision":3434751,"resolution":"8","location":"assets","locale":""},"screenshot-09.png":{"filename":"screenshot-09.png","revision":3469738,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Default Access Guard","2":"Confirm code sent","3":"Error verification","4":"Email access code","5":"User page","6":"Users list","7":"Option page","8":"Page\/post protection","9":"Add plugin"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1912,710,9210,9223,600],"plugin_category":[38,41,54],"plugin_contributors":[253476],"plugin_business_model":[],"class_list":["post-264446","plugin","type-plugin","status-publish","hentry","plugin_tags-access-control","plugin_tags-authentication","plugin_tags-otp","plugin_tags-passwordless","plugin_tags-security","plugin_category-authentication","plugin_category-communication","plugin_category-security-and-spam-protection","plugin_contributors-marcogargano","plugin_committers-marcogargano"],"banners":{"banner":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/banner-772x250.jpg?rev=3433970","banner_2x":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/banner-1544x500.jpg?rev=3433970","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/icon.svg?rev=3433970","icon":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/icon.svg?rev=3433970","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-01.png?rev=3434751","caption":"Default Access Guard"},{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-02.png?rev=3434751","caption":"Confirm code sent"},{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-03.png?rev=3434751","caption":"Error verification"},{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-04.png?rev=3434751","caption":"Email access code"},{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-05.png?rev=3434751","caption":"User page"},{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-06.png?rev=3434751","caption":"Users list"},{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-07.png?rev=3434751","caption":"Option page"},{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-08.png?rev=3434751","caption":"Page\/post protection"},{"src":"https:\/\/ps.w.org\/one-time-email-access-guard\/assets\/screenshot-09.png?rev=3469738","caption":"Add plugin"}],"raw_content":"<!--section=installation-->\n<ol>\n<li>Search for <strong>\"One Time Email Access Guard\"<\/strong> in the Plugins page and install it.\nAlternatively, manually upload the <code>one-time-email-access-guard<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress<\/li>\n<li>Go to \"Access Guard\" in the admin menu<\/li>\n<li>Create users with their contact details<\/li>\n<li>Enable protection on any page or post and assign authorized users<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20require%20smtp%3F\"><h3>Does the plugin require SMTP?<\/h3><\/dt>\n<dd><p>No, but SMTP is recommended for reliable email delivery.<br \/>\nIf you decide not to use it, remember to check your spam folder.<\/p><\/dd>\n<dt id=\"can%20i%20protect%20only%20specific%20pages%3F\"><h3>Can I protect only specific pages?<\/h3><\/dt>\n<dd><p>Yes, protection is applied per page\/post from the sidebar meta box.<br \/>\nYou can individually select each user from the list of entered users.<\/p><\/dd>\n<dt id=\"how%20long%20does%20the%20verification%20code%20last%3F\"><h3>How long does the verification code last?<\/h3><\/dt>\n<dd><p>Default verification codes expire after 1 hour.<br \/>\nYou can select the duration, from 15 minutes up to 2 days, or disable expiration entirely.<\/p><\/dd>\n<dt id=\"can%20i%20import%2Fexport%20users%3F\"><h3>Can I import\/export users?<\/h3><\/dt>\n<dd><p>Yes, use the CSV import\/export feature in the Options page.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20bulk%20expiry%20dates%3F\"><h3>How do I set bulk expiry dates?<\/h3><\/dt>\n<dd><p>Go to the users list and use the bulk expiry date tools at the top.<\/p><\/dd>\n<dt id=\"does%20it%20support%20international%20phone%20numbers%3F\"><h3>Does it support international phone numbers?<\/h3><\/dt>\n<dd><p>Yes, the plugin supports 195+ country codes with flag emojis.<\/p><\/dd>\n<dt id=\"can%20i%20use%20the%20wordpress%20user%20list%3F\"><h3>Can I use the WordPress user list?<\/h3><\/dt>\n<dd><p>No, the plugin's user list is dedicated.<br \/>\nYou'll need to enter the users in the appropriate section, providing the desired details.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Plugin rebranded to \"One Time Email Access Guard\" for WordPress.org compliance<\/li>\n<li>Updated plugin slug to \"one-time-email-access-guard\"<\/li>\n<li>Updated text domain and all translation files<\/li>\n<li>Author changed to Marco Gargano (https:\/\/www.marcogargano.com)<\/li>\n<li>Added bulk user operations (activate\/deactivate all)<\/li>\n<li>Added bulk expiry date setting<\/li>\n<li>Added CSV import\/export functionality<\/li>\n<li>Added international phone support (195+ countries)<\/li>\n<li>Improved user interface with toggle switches<\/li>\n<li>Enhanced security with proper nonce validation<\/li>\n<li>Code quality improvements and WordPress standards compliance<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>\n\n<!--section=description-->\n<p>Protect pages and posts with email-delivered verification codes. Secure, passwordless access control with user management and customization.<\/p>\n\n<h3>\u2705 Features<\/h3>\n\n<p>One Time Email Access Guard <strong>protects your WordPress pages and posts<\/strong> using email-delivered verification codes. Each authorized user receives a time-limited code, allowing secure access without traditional passwords.<\/p>\n\n<ul>\n<li><strong>Email-Based Verification<\/strong>: Send secure verification codes via email<\/li>\n<li><strong>User Management<\/strong>: Create and manage authorized users with contact details<\/li>\n<li><strong>Content Protection<\/strong>: Enable protection per page\/post with user assignment<\/li>\n<li><strong>Customizable Access<\/strong>: Set custom access duration and expiration dates<\/li>\n<li><strong>Modal Customization<\/strong>: Customize colors, opacity, and appearance<\/li>\n<li><strong>Protected Content Tracking<\/strong>: Monitor all protected pages and authorized users<\/li>\n<li><strong>Secure Cookies<\/strong>: Maintain login sessions with secure access tokens<\/li>\n<\/ul>\n\n<p><strong><a href=\"https:\/\/access-guard.github.io\/\">\ud83d\udc49\ud83d\udc49\ud83d\udc49 Visit the official page \ud83d\udc48\ud83d\udc48\ud83d\udc48<\/a><\/strong><\/p>\n\n<h3>\ud83d\ude0c Easy to use<\/h3>\n\n<ol>\n<li><strong>Create user<\/strong> under Access Guard<\/li>\n<li><strong>Activate user<\/strong> in the page\/post page<\/li>\n<\/ol>\n\n<p>https:\/\/www.youtube.com\/watch?v=XE4d496uPUc<\/p>\n\n<h3>\ud83d\udee1\ufe0f Secure<\/h3>\n\n<p><strong>\ud83e\ude9c Up to 3 security levels available<\/strong><\/p>\n\n<p>Configurable in settings:\n1\ufe0f\u20e3 <strong>Phone number<\/strong> - Required \u2726\u2727\u2727\nTwo-factor authentication: enter your phone number to receive a code by email\n2\ufe0f\u20e3 <strong>First name<\/strong> - Optional \u2726\u2726\u2727\nThree-factor authentication: phone number + first namenome\n3\ufe0f\u20e3 <strong>Last name<\/strong> - Optional \u2726\u2726\u2726\nMulti-factor authentication: phone number + first name + last name<\/p>\n\n<h3>\ud83e\uddf0 All Features<\/h3>\n\n<h4>\ud83d\udd10 Advanced Security<\/h4>\n\n<ul>\n<li>Passwordless access via email verification codes<\/li>\n<li>Email based One Time Password (OTP) access<\/li>\n<li>User verification with name and phone number<\/li>\n<li>Verification codes expire after 15 minutes<\/li>\n<li>Secure access tokens via cookies<\/li>\n<li>International phone support (195+ countries)<\/li>\n<\/ul>\n\n<h4>\ud83c\udfa8 Fully Customizable<\/h4>\n\n<ul>\n<li>Custom modal colors (overlay, background, text)<\/li>\n<li>Adjustable opacity and shadow<\/li>\n<li>Custom titles and messages<\/li>\n<li>Professional HTML email templates<\/li>\n<\/ul>\n\n<h4>\ud83d\udc65 User Management<\/h4>\n\n<ul>\n<li>Create users with name, email, and phone<\/li>\n<li>Enable\/disable users instantly with toggle switch<\/li>\n<li>Custom access duration (15 min to unlimited)<\/li>\n<li>Optional expiration date and time<\/li>\n<li>User status indicator with visual feedback<\/li>\n<li>Bulk operations (activate\/deactivate all users)<\/li>\n<li>Bulk expiry date setting<\/li>\n<li>CSV import\/export for user data<\/li>\n<\/ul>\n\n<h4>\ud83d\udd12 Content Protection<\/h4>\n\n<ul>\n<li>Enable protection per page\/post<\/li>\n<li>Assign authorized users with multi-select<\/li>\n<li>Protection status column in admin<\/li>\n<li>Real-time user status display (active\/expired)<\/li>\n<li>Quick edit access from protected pages list<\/li>\n<\/ul>\n\n<h4>\ud83d\udcca Monitoring<\/h4>\n\n<ul>\n<li>View all protected pages\/posts<\/li>\n<li>See authorized users<\/li>\n<li>Direct quick-edit access<\/li>\n<\/ul>\n\n<h4>\u2699\ufe0f Flexible Configuration<\/h4>\n\n<ul>\n<li>Optional first name and last name fields<\/li>\n<li>Custom blocked-content messages<\/li>\n<li>Modal color customization (overlay, background, text)<\/li>\n<li>Adjustable overlay opacity<\/li>\n<li>Toggle modal shadow effects<\/li>\n<li>Reset all settings to default<\/li>\n<\/ul>","raw_excerpt":"Protect pages and posts with email-delivered verification codes. Secure, passwordless access control with user management and customization.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/264446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=264446"}],"author":[{"embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/marcogargano"}],"wp:attachment":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=264446"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=264446"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=264446"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=264446"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=264446"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=264446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}