Quick Start Guide

SharkEyes is a zero-backend protection service. You don't need to write any server-side code or verify tokens. Once integrated, SharkEyes automatically intercepts form submissions and only allows them if the user is verified as a human.

Connect the Script

Add our lightweight engine to your website. Place this tag inside your <head> or at the very end of your <body>

Invisible

<script src="https://api.sharkeyes.dev/api/v1/widget.js" async defer></script>

Visible

<script src="https://api.sharkeyes.dev/api/v1/widget_v.js" async defer></script>

Choose Your Protection Mode

SharkEyes offers two ways to secure your forms. In both cases, the script automatically manages the "Submit" button: it stays inactive or intercepts the click until the check is passed.

Option A: Invisible Mode (No UI)

Best for clean designs. Just add a special attribute to your <form> tag. The protection will run silently when the user starts filling out the fields.

Setup:Add data-sharkeyes to your form.

<form action="/send-data" method="POST" data-sharkeyes="invisible"> <input type="text" name="message" placeholder="Your message"> <button type="submit">Send</button> </form>

Option B: Visible Mode

Best for building trust. Place a container where you want the protection status to appear. You can choose a theme to match your brand.

Setup:Place a <div class="sharkeyes-widget"> inside your form.

Themesdata-theme="light" or data-theme="dark"

<form action="/send-data" method="POST"> <input type="email" name="email" placeholder="Email"> <div class="sharkeyes-widget" data-theme="dark"></div> <button type="submit">Submit</button> </form>

How It Works (No Backend Needed)

You don't need to change your server logic. Here is what happens under the hood:

Intercept:SharkEyes attaches itself to the form's "submit" event.

Verify:When a user tries to send data, SharkEyes instantly runs its data-driven checks (browser fingerprinting, behavior analysis).

Action If Human: The form submits normally to your action URL.
If Bot: The submission is blocked, and an error message is shown to the bot/script.