Stop extensions like Honey from scraping and leaking your discount codes. A lightweight WebAssembly library that obfuscates sensitive e-commerce inputs from client-side bots.
Designed for performance and isolation. Plain text never exists in the main thread or DOM.
Utilizes ChaCha20Poly1305 authenticated encryption compiled from Rust to WebAssembly for maximum performance and a higher barrier to reverse-engineering.
Sensitive processing occurs entirely in a separate Web Worker thread. Only the encrypted payload is accessible to browser extensions inspecting the DOM.
Usable anywhere. Core library works in Vanilla JS, with first-class React hooks and components provided out of the box.
The standalone orchestration layer. Handles secure communication with Web Workers, manages encryption lifecycles, and exposes a high-level API for any JS environment.
npm i @secure-input/coreFirst-class React support. Includes hooks for managing worker state and optimized wrapper components that prevent DOM-based scraping out of the box.
npm i @secure-input/reactThe cryptographic heart. Contains the Rust-compiled ChaCha20Poly1305 implementation. Usually installed as a dependency of the core runtime.
This library provides obfuscation, not absolute security. It defeats basic extensions, DOM inspection, and simple JS injection. It does not protect against low-level keyloggers, network traffic inspection, or determined reverse-engineering. Always pair with robust server-side validation and rate limiting.
One component. Total isolation. Zero friction.
"text-accent">import { SecureInput } "text-accent">from "@secure-input/react";
"text-accent">export "text-accent">function CouponForm() {
"text-accent">const handleSubmit = "text-accent">async (encryptedValue: string) => {
// Plain text is never exposed here.
"text-blue-400">await fetch("/api/validate", {
method: "POST",
body: encryptedValue,
});
};
"text-accent">return (
<SecureInput
placeholder="Enter coupon code"
onEncryptedSubmit={handleSubmit}
/>
);
}Everything you need to know about protecting your checkout flow.