Proof-Of-Work captcha
- TypeScript 57.1%
- Svelte 34%
- SCSS 6.5%
- CSS 2.2%
- HTML 0.1%
- Other 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| public | ||
| src | ||
| .gitignore | ||
| LLMS.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.lib.json | ||
| tsconfig.node.json | ||
| vite.config.external.ts | ||
| vite.config.i18n-bundle.ts | ||
| vite.config.i18n.ts | ||
| vite.config.lib.ts | ||
| vite.config.playground.ts | ||
| vite.config.plugins.ts | ||
| vite.config.themes.ts | ||
| vite.config.ts | ||
| vite.helpers.ts | ||
VivaRAT
VivaRAT is a privacy-first, proof-of-work (PoW) CAPTCHA widget built with Svelte 5 and TypeScript. It offers seamless spam protection without tracking users, serving cookies, or fingerprinting devices.
Features
- Privacy-First: Fully GDPR, CCPA, and privacy-regulation compliant. No user tracking, profiling, or cookies.
- Client-Side Proof-of-Work: Supports modern cryptographic algorithms including PBKDF2, Argon2id, Scrypt, and SHA.
- Pure Dark Theme: Native and persistent dark aesthetic by default.
- Web Component Ready: Packaged as custom element
<vivarat-widget>with easy DOM integration. - Accessible & Multilingual: Built-in internationalization (i18n) supporting 40+ languages and full WCAG accessibility.
- Extensible: Plugin architecture for features like obfuscation and custom verification.
Getting Started
Installation
npm install
Development
To start the interactive playground:
npm run dev
Usage
Insert the custom element into your HTML form:
<form method="POST" action="/submit">
<!-- VivaRAT Widget -->
<vivarat-widget challenge="..."></vivarat-widget>
<button type="submit">Submit</button>
</form>
Architecture & Algorithms
VivaRAT PoW v2 is asymmetric: computationally demanding for the client to compute via Web Workers, while lightweight and fast for server-side verification using HMAC keys and single-iteration validation.