TrustComponent
.NET
TrustCaptcha · Bot protection

.NET CAPTCHA Integration

Add a .NET CAPTCHA to ASP.NET forms and APIs in minutes: use the widget in your frontend and verify the token with our .NET package. Protect sign-ups, logins, contact forms and checkout flows from bots, without puzzles. EU-hosted and GDPR-compliant.

Quickstart

How the integration works

1. Create a CAPTCHA

Create a user account or log in with an existing one. Then create a new CAPTCHA or pick an existing one. If you want to try TrustCaptcha first, every plan comes with a 14-day free trial.

The CAPTCHA overview page shows your site key and license key, and you create your API key there. Add your website’s domains to the authorized domains in the CAPTCHA security rules so they can use your CAPTCHA.

Start of the CAPTCHA creation form.
CAPTCHA security rules of a demo CAPTCHA.

2. Integrate the CAPTCHA widget into your frontend

Integrate the CAPTCHA widget into your website or app. The CAPTCHA widget guide in our documentation has step-by-step instructions.

Read the documentation

The CAPTCHA widget will then be displayed on your website or app:

CAPTCHA start

Pre-built frontend integrations
Our pre-built frontend integrations add the CAPTCHA widget to your website or application. If there is none for your frontend technology yet, your developers can integrate the widget themselves using our documentation or ask our support team for a pre-built integration.

Angular
Contact Form 7
Craft CMS
JavaScript
Joomla
JTL-Shop
Keycloak
Magento 2
React
Shopware 6
Svelte
TYPO3
Vue
Webflow
WordPress

3. Validate the CAPTCHA result in your backend

The following steps show how a .NET backend fetches the CAPTCHA verification result from our server and decides what to do with it. For the full instructions, read the CAPTCHA integration guide for .NET in our documentation.

Read the documentation

First, install our TrustCaptcha .NET package:

Install
bash
dotnet add package TrustComponent.TrustCaptcha

Fetch the verification result from our server with the verification token and your API key:

Fetch Result
C#
// Retrieving the verification result
VerificationResult verificationResult;
try
{
  verificationResult = await TrustCaptcha.GetVerificationResultAsync("<your_api_key>", "<verification_token_from_your_client>");
}
catch (Exception ex)
{
  // Fetch verification result failed - handle error
}

Based on the verification result and your own requirements, decide how to proceed:

Handle Result
C#
// Act on the verification result
if (!verificationResult.VerificationPassed || verificationResult.Score > 0.5)
{
  // Verification failed or bot score > 0.5 - possible automated request
}

Need detailed information about the .NET CAPTCHA integration?
Our .NET CAPTCHA integration guide has the detailed instructions, and our CAPTCHA samples repository on GitHub has a complete integration example.

Other backend technology instead of .NET?
If you run something other than .NET on your server, or have several backends, pick a different integration here. If we have no pre-built integration for your backend technology yet, your developers can integrate the CAPTCHA verification themselves using our documentation or ask our support team for a pre-built integration.

.NET
Go
Groovy
Java
Kotlin
Node.js
PHP
Python
Ruby
Rust
Scala

4. Test your integration

TrustCaptcha is now active. Send a test request and check that it goes through.

CAPTCHA done

FAQs

How does a C# CAPTCHA check work in .NET?
A C# CAPTCHA is a check your .NET backend runs before it processes a form or API request. The TrustCaptcha widget runs in the visitor's browser, solves a proof-of-work task in the background and adds a verification token to the form. Your .NET backend passes that token and your API key to TrustCaptcha.GetVerificationResultAsync and gets back whether the verification passed, plus a bot score from 0 (very likely human) to 1 (very likely bot). That keeps spam, credential stuffing and fake sign-ups out of your ASP.NET forms and APIs without a puzzle.
Should I register TrustCaptcha as a singleton in dependency injection?
If you need custom settings, yes. TrustCaptcha.NewBuilder(apiKey) lets you set the API host, the connect and read timeouts (3 and 5 seconds by default) and a proxy, and the built instance is immutable and thread-safe. Build it once at startup, register it as a singleton and inject it into your controllers or minimal API handlers. With the default settings, the static GetVerificationResultAsync call is all you need.
Does it work with ASP.NET Core MVC, Razor Pages and Blazor?
Yes. The package only makes the server-side call, so it fits any .NET project that receives the form or API request: MVC controllers, Razor Pages handlers, minimal APIs and the backend of a Blazor app. The widget itself goes into your HTML or Razor markup. Our ASP.NET Core CAPTCHA guide shows a complete ASP.NET Core example.
Which exceptions should my .NET code handle?
GetVerificationResultAsync throws typed exceptions such as VerificationTokenInvalidException, VerificationResultExpiredException or VerificationResultRetrievalLimitReachedException; treat those as a failed check. ServerUnreachableException means your server could not reach our API at all, and our documentation suggests allowing the request and logging the incident. ClientReportedServerUnreachableException means the widget reported an outage your server cannot confirm, so reject the request or ask for another check.
Is TrustCaptcha GDPR-compliant and EU-hosted?
TrustCaptcha is EU-hosted: all CAPTCHA data is processed and stored exclusively in the EU on ISO 27001-certified infrastructure. It sets no cookies, encrypts data in transit, and every customer gets a Data Processing Agreement. Whether your setup is GDPR-compliant also depends on how you use it. This is not legal advice; check the details with your data protection officer.
Can I customize the look and feel of TrustCaptcha?
Yes. The widget comes with 37+ languages ready to use, you can add any other language, and every widget text can be overridden. Choose a light or dark theme or follow the visitor's system setting, and from the Team plan adjust colors, borders and corner radius. A widget without our branding and a fully invisible widget are available with the paid Captcha Branding add-on.
Does TrustCaptcha impact performance or accessibility?
Visitors never solve a puzzle: the widget starts on its own when someone fills in the form and runs the proof-of-work in the background. It only gets harder, and takes longer, when a request looks risky. The widget ships with ARIA labels and screen-reader text and is designed to meet WCAG standards and the European Accessibility Act. On your server, validation is one API call per submitted form.
Losing leads to CAPTCHAs?

TrustCaptcha blocks spam and bots, not customers. No puzzles, GDPR-compliant, EU-hosted.

CAPTCHA start
CAPTCHA done
No puzzles for visitors
The check runs in the background while visitors type, so more people finish your forms instead of giving up.
GDPR-compliant
Hosted in the EU, no cookies, encrypted transmission and automatic data deletion. Every customer gets a Data Processing Agreement.
Multi-layer security
Adaptive proof-of-work and risk scoring stop abuse early, even when attack traffic spikes.
Full control
Set the sensitivity, keep allow and block lists and use geoblocking. You decide how strict the check is.

Protect your .NET application with TrustCaptcha in just a few steps!

  • EU-hosted & GDPR-compliant
  • No puzzles
  • Try free for 14 days