Skip to main content
Current Status: Fortt is currently in data collection mode. The SDK will collect device fingerprinting data and send verification requests, but it will not show challenges to users or block any requests. All requests will be allowed while Fortt builds risk profiles and improves its detection capabilities.
Zero User Impact: Fortt operates completely in the background with zero visual impact on your users. There is no degradation of user experience—no popups, no challenges, and no interruptions. After the trial period, you’ll receive a comprehensive traffic analysis report, and you can then choose whether to enable challenge/blocking features based on your needs.

Get started in two steps

Integrate Fortt into your application to start protecting against bots, abuse, and fraud.

Step 1: Install the React SDK

Install the Fortt React SDK using your preferred package manager:
npm install fortt/react
# or
yarn add fortt/react
# or
pnpm add fortt/react

Step 2: Configure ForttProvider

Wrap your application (or the portion that needs protection) with ForttProvider. This provides the Fortt configuration to all child components. React SPA Example:
import { ForttProvider } from 'fortt/react';

function App() {
  return (
    <ForttProvider projectId="your-project-id">
      {/* Your app components */}
    </ForttProvider>
  );
}
Next.js App Router Example:
// app/layout.tsx
'use client';

import { ForttProvider } from 'fortt/react';

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>
        <ForttProvider projectId="your-project-id">{children}</ForttProvider>
      </body>
    </html>
  );
}
ForttProvider Props:
  • projectId (required): Your unique Fortt project identifier
  • ignorePaths (optional): Array of path patterns to skip automatic verification on (e.g., ['/dashboard', '/admin/*'])
Getting your projectId: To start your trial and receive your projectId, contact rafael@fortt.sh. You’ll receive your project identifier after starting your trial.

Excluding Pages from Automatic Verification

If you have pages where you don’t want automatic verification to occur (like admin dashboards or internal pages), you can use the ignorePaths prop:
<ForttProvider
  projectId="your-project-id"
  ignorePaths={['/dashboard', '/admin/*', '/internal']}
>
  {children}
</ForttProvider>
The ignorePaths prop supports:
  • Exact matches: '/dashboard' matches exactly /dashboard
  • Wildcard patterns: '/admin/*' matches /admin and all subpaths like /admin/users, /admin/settings, etc.
When a page matches any pattern in ignorePaths, Fortt will skip automatic verification on that page load. That’s it! The ForttProvider automatically handles page view tracking—no additional code needed. The SDK automatically sends verification requests on page load, helping Fortt build a risk profile for your users. Zero User Impact: All data collection happens silently in the background. Your users will experience no visual changes, no popups, no challenges, and no interruptions to their browsing experience.

How It Works

When a page view occurs:
  1. The SDK collects device fingerprinting data (browser characteristics, screen resolution, timezone, etc.)
  2. It generates a unique nonce and retrieves or creates visitor and session IDs
  3. A verification request is sent to Fortt’s API with this information
  4. Fortt evaluates the risk and returns a decision (ALLOW, MONITOR, CHALLENGE, or BLOCK)
  5. The decision is logged and used to inform future risk assessments
This happens automatically in the background—your users won’t notice any difference, but you’ll start building valuable risk signals immediately. There is zero visual impact and no degradation of user experience.

Next Steps

Now that you have basic page view tracking set up, you can:
  • Protect sensitive actions: Use Fortt’s React hooks to guard login forms, signups, payments, and other critical operations (documentation coming soon)
  • Review the API reference: Learn about available React SDK components and hooks
Need help? Check out the API Reference for detailed information about verification requests and responses. If you have questions, feel free to reach out at rafael@fortt.sh.