MARKETPLACE
PLUGINS
SECURE CODE KIT
Secure Code Kit logo

Secure Code Kit

Published May 2026
   •    Updated May 2026

Plugin details

Secure Code Kit helps Bubble builders generate and verify secure codes for logins, PINs, OTPs, magic links, email verification, password resets, invite flows, access codes, and other code-based workflows. It helps secure stored data without requiring you to build hashing, expiration, lockout, and verification logic from scratch.
Secure Code Kit supports SHA-256, SHA-512, HMAC-SHA-256, and HMAC-SHA-512 one-way hashing. HMAC methods use a private plugin secret key for stronger protection, especially for short codes, OTPs, and PINs.

Instead of storing the plain code or magic link token in your database, the plugin returns a secure hash that can be saved and verified later. Codes and tokens can be customized with numbers, uppercase letters, lowercase letters, special characters, expiration times, attempt limits, one-time-use protection, hash method selection, and optional HMAC secret-key protection.

You can also bind a code or token to a specific purpose, such as login, magic login, password reset, invite, or email verification, and to a user identifier, such as an email, username, phone number, or user ID. This is purpose/user binding, not a true random salt, and it helps prevent a code generated for one user or purpose from being reused somewhere else.

For magic links, generate a longer secure code, add it to a URL as a token, and verify the token when the user opens the link. This allows you to build passwordless login links, invite links, password reset links, temporary access links, and email verification links without storing the plain token.

For custom values, use Hash Input and Verify Hash Input to hash and verify your own inputs, such as PINs, access tokens, invite keys, lookup values, or sensitive identifiers.

When using HMAC-SHA-256 or HMAC-SHA-512, add a long private `secure_code_secret` in the plugin settings and keep it stable. If the secret changes, existing HMAC hashes will no longer verify.

View instructions below for more details.

Demo: https://addressflow-demo-page.bubbleapps.io/version-test/secure_code_kit?

Editor: https://bubble.io/page?id=addressflow-demo-page&test_plugin=1777788133659x929861495602806800_current&tab=Design&name=secure_code_kit&ai_generated=true&type=page&elements=bTGaR

$13

One time

stars   •   0 ratings
1 installs  
This plugin does not collect or track your personal data.

Platform

Web & Native mobile

Contributor details

RentMate Corp. logo
RentMate Corp.
Joined 2024   •   13 Plugins
View contributor profile

Instructions

Use Generate Secure Code to create a code, PIN, OTP, invite code, or access code.
Set the code length, choose which character types to include, and provide an Expires At date. For example, set Expires At to Current date/time +(10):minutes for a 10-minute code.

For extra security, you can include Purpose and User Identifier in the hash. Purpose can be login, password reset, invite, email verification, admin access, or any label you choose. User Identifier can be an email, username, phone number, or user ID.

You do not need to save the plain code in your database. Save the Code Hash, Expires At, Attempt Count, Already Used value, Purpose, User Identifier, and hash settings. Send only the plain Code to the user by email, SMS, or another messaging service.

Use Verify Secure Code when the user submits their code.

Pass in the Submitted Code from the user's input, the Saved Code Hash from your database, Expires At, Attempt Count, Max Attempts, Already Used value, and the same Purpose, User Identifier, and hash settings used when generating the code. The plugin hashes the submitted code with the same security settings and compares it to the saved hash.

If Is Valid is yes, continue the login, verification, invite, reset, or access workflow. After a successful verification, mark the code as used in your database.

If Should Increment Attempts is yes, increase the saved Attempt Count by 1.

Use Hash Input when you want to hash any custom value, not just generated codes. This is useful for securely storing identifiers, access tokens, invite keys, lookup values, or other sensitive text without saving the original input.

Use Verify Hash Input when you want to compare a submitted value against a saved hash. Pass in the submitted input, saved hash, and the same Purpose, User Identifier, and hash settings used when the hash was created.

Common status values:
valid = code is correct and can be accepted
incorrect = code is wrong
expired = code is past the Expires At date
locked = too many failed attempts
already used = code was already used successfully
missing code = no submitted code was provided
missing saved hash = no saved hash was provided
missing expiration = no valid Expires At date was provided

Types

This plugin can be found under the following types:

Categories

This plugin can be found under the following categories:
Analytics   •   Data (things)   •   Compliance   •   Technical   •   Internationalization

Resources

Support contact
Documentation
Tutorial

Rating and reviews

No reviews yet

This plugin has not received any reviews.
Bubble