www.trustcaptcha.com Open in urlscan Pro
2a01:4f8:1c1f:61aa::1  Public Scan

Submitted URL: https://trustcaptcha.com/
Effective URL: https://www.trustcaptcha.com/
Submission: On December 03 via api from US — Scanned from IS

Form analysis 2 forms found in the DOM

<form _ngcontent-ng-c1122351595="" novalidate="" class="mt-5 ng-untouched ng-pristine ng-invalid"><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><tcalib-elements-input-text _ngcontent-ng-c1122351595="" inputtype="text" class="flex-1 grow min-w-[250px]" _nghost-ng-c3414130259=""><label
          _ngcontent-ng-c3414130259="" class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="text"> Your favorite coffee <!----></label>
        <div _ngcontent-ng-c3414130259="" class="mt-1">
          <div _ngcontent-ng-c3414130259="" class="mt-1 relative rounded-md shadow-sm"><!----><input _ngcontent-ng-c3414130259=""
              class="block w-full rounded-md text-gray-800 dark:text-gray-200 placeholder:text-gray-400 dark:placeholder:text-gray-600 border-gray-300 dark:border-gray-600 shadow-sm focus:border-blue-500 focus:ring-blue-500 sm:text-sm dark:bg-white/10 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-600 dark:disabled:bg-gray-700 dark:disabled:text-gray-400 ng-untouched ng-pristine ng-invalid"
              type="text" id="text" minlength="0" maxlength="256" placeholder="e.g. Espresso"><!----></div>
        </div><!----><!---->
      </tcalib-elements-input-text></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><tcalib-elements-input-text _ngcontent-ng-c1122351595="" inputtype="password" class="flex-1 grow min-w-[250px]" _nghost-ng-c3414130259=""><label
          _ngcontent-ng-c3414130259="" class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="password"> Secret ingredient <!----></label>
        <div _ngcontent-ng-c3414130259="" class="mt-1">
          <div _ngcontent-ng-c3414130259="" class="mt-1 relative rounded-md shadow-sm"><!----><input _ngcontent-ng-c3414130259=""
              class="block w-full rounded-md text-gray-800 dark:text-gray-200 placeholder:text-gray-400 dark:placeholder:text-gray-600 border-gray-300 dark:border-gray-600 shadow-sm focus:border-blue-500 focus:ring-blue-500 sm:text-sm dark:bg-white/10 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-600 dark:disabled:bg-gray-700 dark:disabled:text-gray-400 ng-untouched ng-pristine ng-invalid"
              type="password" id="password" minlength="0" maxlength="256" placeholder="e.g. Vanilla syrup">
            <div _ngcontent-ng-c3414130259="" class="cursor-pointer absolute inset-y-0 right-0 flex items-center pr-3"><!----><tcalib-elements-icon _ngcontent-ng-c3414130259="" name="heroEye" class="text-gray-400" _nghost-ng-c417947240=""><ng-icon
                  _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1.25rem;"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"
                    data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                    <path stroke-linecap="round" stroke-linejoin="round"
                      d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"></path>
                    <path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path>
                  </svg></ng-icon></tcalib-elements-icon><!----></div><!---->
          </div>
        </div><!----><!---->
      </tcalib-elements-input-text></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><tcalib-elements-input-dropdown _ngcontent-ng-c1122351595="" class="flex-1 grow min-w-[250px]" _nghost-ng-c818978850=""><label _ngcontent-ng-c818978850=""
          class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="dropdown"> Favorite color <!----></label>
        <div _ngcontent-ng-c818978850="" class="mt-1">
          <div _ngcontent-ng-c818978850="" class="mt-1 relative rounded-md shadow-sm"><select _ngcontent-ng-c818978850=""
              class="block w-full pl-3 pr-10 py-2 text-base text-gray-800 dark:text-gray-200 border-gray-300 dark:border-gray-600 focus:outline-none focus:border-blue-500 focus:ring-blue-500 sm:text-sm rounded-md dark:bg-white/10 dark:text-white disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-600 dark:disabled:bg-gray-700 dark:disabled:text-gray-400 ng-untouched ng-pristine ng-valid"
              id="dropdown">
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="yellow"> Yellow </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="red"> Red </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="green"> Green </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="blue"> Blue </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="black"> Black </option><!---->
            </select></div>
        </div><!----><!---->
      </tcalib-elements-input-dropdown></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><tcalib-elements-input-checkbox _ngcontent-ng-c1122351595="" _nghost-ng-c3753231430="">
        <div _ngcontent-ng-c3753231430="" class="relative flex items-start">
          <div _ngcontent-ng-c3753231430="" class="flex items-center h-5"><input _ngcontent-ng-c3753231430="" type="checkbox"
              class="h-4 w-4 text-blue-500 focus:ring-blue-500 border-gray-300 dark:border-gray-800 rounded dark:bg-gray-900 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-600 dark:disabled:bg-gray-700 dark:disabled:text-gray-400 ng-untouched ng-pristine ng-valid"
              id="checkbox"></div>
          <div _ngcontent-ng-c3753231430="" class="ml-3 text-sm"><label _ngcontent-ng-c3753231430="" class="font-medium text-gray-700 dark:text-gray-300" for="checkbox"> Click me - just for fun! </label><!----></div>
        </div><!---->
      </tcalib-elements-input-checkbox></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><trustcaptcha-component _ngcontent-ng-c1122351595=""
        license="eyJhbGciOiJFUzI1NiJ9.eyJzdWIiOiJDYXB0Y2hhQm94TGljZW5zZSIsImlhdCI6MTczMDM2OTI0Miwic2l0ZUtleSI6IjI1ZDgxNTQyLTEyMjYtNDc3MS05NzAyLWM3MzJkYTQzYzEzMSIsImZlYXR1cmVzIjp7InNsaWRlciI6dHJ1ZSwiY3VzdG9taXphYmlsaXR5Ijp0cnVlLCJpbnZpc2liaWxpdHkiOnRydWV9fQ.B9o8kx97Hf7lpAhH7TIB5cXNThQqHSPg0KSK0gAwD1IhICzwl3s_JNGi334iAMNzvt-p6DHT8y3OgpHBH5YK7w"
        class="flex-1 hydrated" autostart=""></trustcaptcha-component></div>
  </tcalib-elements-form-group><!----><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap items-end flex-row"><tcalib-elements-button _ngcontent-ng-c1122351595="" leadingicon="heroShieldCheck" type="SUCCESS" class="grow"><button
          class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-green-500/70 border border-transparent py-2 px-4 text-sm font-medium rounded-md text-white dark:text-gray-900 bg-gradient-to-br from-green-500 to-lime-500 w-full grow cursor-default"
          type="button" disabled=""><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-1 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1.25rem;"><svg
                xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                <path stroke-linecap="round" stroke-linejoin="round"
                  d="M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z"></path>
              </svg></ng-icon></tcalib-elements-icon><!----><!---->
          <div><span _ngcontent-ng-c1122351595="">Captcha unsolved</span><!----><!----><!----></div><!----><!---->
        </button><!----><!----><!----><!----></tcalib-elements-button></div>
  </tcalib-elements-form-group><input type="text" name="transactionVerify95" style="display:none" tabindex="-1"></form>

<form _ngcontent-ng-c1122351595="" novalidate="" class="mt-5 ng-untouched ng-pristine ng-valid"><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><app-button-options _ngcontent-ng-c1122351595="" _nghost-ng-c3049893913=""><label _ngcontent-ng-c3049893913=""
          class="block text-sm font-medium text-gray-700 dark:text-gray-300">Width</label>
        <div _ngcontent-ng-c3049893913="" class="mt-1">
          <div _ngcontent-ng-c3049893913="" class="flex gap-2">
            <div _ngcontent-ng-c3049893913=""><tcalib-elements-button _ngcontent-ng-c3049893913="" type="PRIMARY" buttonsize="small" filling="full"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-blue-500/70 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-white dark:text-gray-900 bg-gradient-to-br from-blue-500 to-sky-500 w-auto cursor-default"
                  type="button" disabled=""><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15"></path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Maximum width </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----><!----></div>
            <div _ngcontent-ng-c3049893913=""><!----><tcalib-elements-button _ngcontent-ng-c3049893913="" type="SECONDARY" buttonsize="small" filling="overlay"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-gray-500/20 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-900 hover:bg-gray-200 dark:hover:bg-gray-800 hover:scale-105 transition delay-50 duration-500 ease-in-out w-auto"
                  type="button"><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round" d="M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25"></path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Fixed width </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----></div><!---->
          </div>
        </div>
      </app-button-options></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><tcalib-elements-input-dropdown _ngcontent-ng-c1122351595="" _nghost-ng-c818978850="" class="grow min-w-[250px]"><label _ngcontent-ng-c818978850=""
          class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="language"> Language <!----></label>
        <div _ngcontent-ng-c818978850="" class="mt-1">
          <div _ngcontent-ng-c818978850="" class="mt-1 relative rounded-md shadow-sm"><select _ngcontent-ng-c818978850=""
              class="block w-full pl-3 pr-10 py-2 text-base text-gray-800 dark:text-gray-200 border-gray-300 dark:border-gray-600 focus:outline-none focus:border-blue-500 focus:ring-blue-500 sm:text-sm rounded-md dark:bg-white/10 dark:text-white disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-600 dark:disabled:bg-gray-700 dark:disabled:text-gray-400 ng-untouched ng-pristine ng-valid"
              id="language">
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="auto"> Auto detection </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="ar"> Arabic </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="be"> Belarusian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="bg"> Bulgarian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="bs"> Bosnian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="ca"> Catalan </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="cs"> Czech </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="da"> Danish </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="de"> German </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="el"> Greek </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="en"> English </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="es"> Spanish </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="et"> Estonian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="fi"> Finnish </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="fr"> French </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="hi"> Hindi </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="hr"> Croatian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="hu"> Hungarian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="it"> Italian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="ko"> Korean </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="lb"> Luxembourgish </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="lt"> Lithuanian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="lv"> Latvian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="mk"> Macedonian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="nl"> Dutch </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="no"> Norwegian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="pl"> Polish </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="pt"> Portuguese </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="ro"> Romanian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="ru"> Russian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="sk"> Slovak </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="sl"> Slovenian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="sq"> Albanian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="sr"> Serbian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="sv"> Swedish </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="tr"> Turkish </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="uk"> Ukrainian </option>
              <option _ngcontent-ng-c818978850="" class="dark:bg-gray-800" value="zh"> Chinese </option><!---->
            </select></div>
        </div><!----><!---->
      </tcalib-elements-input-dropdown></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><app-button-options _ngcontent-ng-c1122351595="" _nghost-ng-c3049893913=""><label _ngcontent-ng-c3049893913=""
          class="block text-sm font-medium text-gray-700 dark:text-gray-300">Theme</label>
        <div _ngcontent-ng-c3049893913="" class="mt-1">
          <div _ngcontent-ng-c3049893913="" class="flex gap-2">
            <div _ngcontent-ng-c3049893913=""><tcalib-elements-button _ngcontent-ng-c3049893913="" type="PRIMARY" buttonsize="small" filling="full"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-blue-500/70 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-white dark:text-gray-900 bg-gradient-to-br from-blue-500 to-sky-500 w-auto cursor-default"
                  type="button" disabled=""><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round"
                          d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"></path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Light mode </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----><!----></div>
            <div _ngcontent-ng-c3049893913=""><!----><tcalib-elements-button _ngcontent-ng-c3049893913="" type="SECONDARY" buttonsize="small" filling="overlay"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-gray-500/20 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-900 hover:bg-gray-200 dark:hover:bg-gray-800 hover:scale-105 transition delay-50 duration-500 ease-in-out w-auto"
                  type="button"><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round"
                          d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"></path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Dark mode </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----></div>
            <div _ngcontent-ng-c3049893913=""><!----><tcalib-elements-button _ngcontent-ng-c3049893913="" type="SECONDARY" buttonsize="small" filling="overlay"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-gray-500/20 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-900 hover:bg-gray-200 dark:hover:bg-gray-800 hover:scale-105 transition delay-50 duration-500 ease-in-out w-auto"
                  type="button"><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 1.5H8.25A2.25 2.25 0 0 0 6 3.75v16.5a2.25 2.25 0 0 0 2.25 2.25h7.5A2.25 2.25 0 0 0 18 20.25V3.75a2.25 2.25 0 0 0-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3">
                        </path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Device settings </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----></div><!---->
          </div>
        </div>
      </app-button-options></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><app-button-options _ngcontent-ng-c1122351595="" _nghost-ng-c3049893913=""><label _ngcontent-ng-c3049893913=""
          class="block text-sm font-medium text-gray-700 dark:text-gray-300">Slider</label>
        <div _ngcontent-ng-c3049893913="" class="mt-1">
          <div _ngcontent-ng-c3049893913="" class="flex gap-2">
            <div _ngcontent-ng-c3049893913=""><tcalib-elements-button _ngcontent-ng-c3049893913="" type="PRIMARY" buttonsize="small" filling="full"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-blue-500/70 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-white dark:text-gray-900 bg-gradient-to-br from-blue-500 to-sky-500 w-auto cursor-default"
                  type="button" disabled=""><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round" d="M18.364 18.364A9 9 0 0 0 5.636 5.636m12.728 12.728A9 9 0 0 1 5.636 5.636m12.728 12.728L5.636 5.636"></path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Deactivated </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----><!----></div>
            <div _ngcontent-ng-c3049893913=""><!----><tcalib-elements-button _ngcontent-ng-c3049893913="" type="SECONDARY" buttonsize="small" filling="overlay"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-gray-500/20 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-900 hover:bg-gray-200 dark:hover:bg-gray-800 hover:scale-105 transition delay-50 duration-500 ease-in-out w-auto"
                  type="button"><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round"
                          d="M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75"></path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Inline </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----></div>
            <div _ngcontent-ng-c3049893913=""><!----><tcalib-elements-button _ngcontent-ng-c3049893913="" type="SECONDARY" buttonsize="small" filling="overlay"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-gray-500/20 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-900 hover:bg-gray-200 dark:hover:bg-gray-800 hover:scale-105 transition delay-50 duration-500 ease-in-out w-auto"
                  type="button"><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round"
                          d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25">
                        </path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Popup </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----></div><!---->
          </div>
        </div>
      </app-button-options></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap mb-4 items-end flex-row"><app-button-options _ngcontent-ng-c1122351595="" _nghost-ng-c3049893913=""><label _ngcontent-ng-c3049893913=""
          class="block text-sm font-medium text-gray-700 dark:text-gray-300">Branding</label>
        <div _ngcontent-ng-c3049893913="" class="mt-1">
          <div _ngcontent-ng-c3049893913="" class="flex gap-2">
            <div _ngcontent-ng-c3049893913=""><tcalib-elements-button _ngcontent-ng-c3049893913="" type="PRIMARY" buttonsize="small" filling="full"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-blue-500/70 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-white dark:text-gray-900 bg-gradient-to-br from-blue-500 to-sky-500 w-auto cursor-default"
                  type="button" disabled=""><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round"
                          d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"></path>
                        <path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Visible </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----><!----></div>
            <div _ngcontent-ng-c3049893913=""><!----><tcalib-elements-button _ngcontent-ng-c3049893913="" type="SECONDARY" buttonsize="small" filling="overlay"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-gray-500/20 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-900 hover:bg-gray-200 dark:hover:bg-gray-800 hover:scale-105 transition delay-50 duration-500 ease-in-out w-auto"
                  type="button"><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round"
                          d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88">
                        </path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Hidden </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----></div><!---->
          </div>
        </div>
      </app-button-options></div>
  </tcalib-elements-form-group><tcalib-elements-form-group _ngcontent-ng-c1122351595="" _nghost-ng-c716509824="">
    <div _ngcontent-ng-c716509824="" class="gap-2 flex flex-wrap items-end flex-row"><app-button-options _ngcontent-ng-c1122351595="" _nghost-ng-c3049893913=""><label _ngcontent-ng-c3049893913=""
          class="block text-sm font-medium text-gray-700 dark:text-gray-300">Captcha Visibility</label>
        <div _ngcontent-ng-c3049893913="" class="mt-1">
          <div _ngcontent-ng-c3049893913="" class="flex gap-2">
            <div _ngcontent-ng-c3049893913=""><tcalib-elements-button _ngcontent-ng-c3049893913="" type="PRIMARY" buttonsize="small" filling="full"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-blue-500/70 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-white dark:text-gray-900 bg-gradient-to-br from-blue-500 to-sky-500 w-auto cursor-default"
                  type="button" disabled=""><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round"
                          d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"></path>
                        <path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Visible </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----><!----></div>
            <div _ngcontent-ng-c3049893913=""><!----><tcalib-elements-button _ngcontent-ng-c3049893913="" type="SECONDARY" buttonsize="small" filling="overlay"><button
                  class="disabled:opacity-60 flex justify-center shadow-md hover:shadow-lg focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-gray-500/20 border border-transparent px-2.5 py-1.5 text-xs font-medium rounded text-gray-600 dark:text-gray-400 bg-gray-100 dark:bg-gray-900 hover:bg-gray-200 dark:hover:bg-gray-800 hover:scale-105 transition delay-50 duration-500 ease-in-out w-auto"
                  type="button"><tcalib-elements-icon _nghost-ng-c417947240="" class="-ml-0.5 mr-2"><ng-icon _ngcontent-ng-c417947240="" _nghost-ng-c1527287374="" style="--ng-icon__stroke-width: 2; --ng-icon__size: 1rem;"><svg
                        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" data-slot="icon" style="stroke-width:var(--ng-icon__stroke-width, 1.5)">
                        <path stroke-linecap="round" stroke-linejoin="round"
                          d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88">
                        </path>
                      </svg></ng-icon></tcalib-elements-icon><!----><!---->
                  <div> Hidden </div><!----><!---->
                </button><!----><!----><!----><!----></tcalib-elements-button><!----></div><!---->
          </div>
        </div>
      </app-button-options></div>
  </tcalib-elements-form-group></form>

Text Content

Trustcaptcha
Security
UX
Prices
Contact
Menu toggle
Open language menu for English

Sign in
Sign up
Overview Advantages Demo Technology Test Version Get Started

TRUSTCAPTCHA


THE CAPTCHA, WITH A FOCUS ON USER-EXPERIENCE AND GDPR COMPLIANCE


PROTECT YOUR WEBSITE WITH TRUSTCAPTCHA AGAINST BOT ATTACKS AND SPAM. BENEFIT
FROM ADVANTAGES SUCH AS GDPR COMPLIANCE AND, COMPARED TO OTHER PROVIDERS, ONLY
PAY FOR WHAT YOU ACTUALLY USE THANKS TO PAY-PER-USE BILLING.

Get started
Try the demo

Security

Individual bot probability for each request
Spam reduction through dynamically scaled proof-of-work
Evaluation of attack patterns with AI
Device-optimized captcha duration
Adjustable captcha duration and security
User experience

Easy integration
No puzzles or image recognition tasks
Accessibility without user participation
Starts automatically
Completed in seconds
Solvable with a maximum of 1 click
Optional slider
Customization

User administration
Various invoice addresses
Usage statistics
35+ languages with recognition mode
Adaptive light/dark mode
Allow list / Block list
Geo-blocking
Data protection

GDPR-compliant
Servers in the EU
Order data processing contract
Minimum data mode for maximum data economy
Made in Germany


FEATURES OF TRUSTCAPTCHA

Trustcaptcha offers a wide range of modern functions and customization options
for captchas. The management of one or more captchas, whether for your own use
or for external customers, is also comprehensively supported by customized and
optimized management options.

Learn more about security
Learn more about UX



EXPERIENCE TRUSTCAPTCHA IN ACTION

Experience how simple and secure Captcha can be – try our interactive Live Demo
now.


TRY THE DEMO!

This is what a form with Trustcaptcha could look like.

Your favorite coffee

Secret ingredient

Favorite color
Yellow Red Green Blue Black
Click me - just for fun!

Captcha unsolved


CUSTOMIZE CAPTCHA

Customize the captcha to your needs.

Width
Maximum width
Fixed width
Language
Auto detection Arabic Belarusian Bulgarian Bosnian Catalan Czech Danish German
Greek English Spanish Estonian Finnish French Hindi Croatian Hungarian Italian
Korean Luxembourgish Lithuanian Latvian Macedonian Dutch Norwegian Polish
Portuguese Romanian Russian Slovak Slovenian Albanian Serbian Swedish Turkish
Ukrainian Chinese
Theme
Light mode
Dark mode
Device settings
Slider
Deactivated
Inline
Popup
Branding
Visible
Hidden
Captcha Visibility
Visible
Hidden


CONVENIENT USER EXPERIENCE

Trustcaptcha improves user interaction by starting the verification process as
soon as the user enters the data in the fields provided. As a result, the
captcha is completed on average long before the input is finished. This allows
your customers to continue on your site in a convenient, fast and user-friendly
way. Alternatively, the captcha can be solved quickly with an intuitive click.
Try out our interactive demo field.

Get started
Learn more about UX


FULL SUPPORT FOR YOUR TECHNOLOGIES

Experience seamless integration with native support for leading technologies and
frameworks.

WordPress
CraftCMS
Javascript
Typescript
NodeJS
Vue
React
Angular
Python
Java
Kotlin
Spring
PHP
Ruby
.NET
Go
Rust
Groovy
Scala


EASY INTEGRATION

Trustcaptcha integrates seamlessly into your existing systems and supports a
wide range of programming languages and frameworks. Benefit from extensive
libraries and code examples so that you are protected by our captcha in no time.

Read the documentation
View samples on Github
Select a tab


<form>
  <trustcaptcha-component
    sitekey="<your_site_key>"
    (captchaSolved)="handleSuccess($event.detail)"
    (captchaFailed)="handleError($event.detail)"
  ></trustcaptcha-component>
</form>



FREE TEST VERSION

We offer you the opportunity to test Trustcaptcha free of charge. You can also
use the test version free of charge for development purposes and with up to 150
requests per month for non-commercial purposes.

Get started
Contact us



DISCOVER OUR PRICING PLANS

Your platform’s protection is just one step away. Choose a plan that fits your
needs and secure your site now.

View pricing plans


INDIVIDUAL PRICE PLAN AND SUPPORT

We offer individual solutions for companies, organizations and authorities with
special requirements or particularly high traffic. These range from special
features and integration support to support offers from our own employees and
software developers. Please feel free to contact us if required.

Contact us


READY TO START?

Get started
Contact us



FOOTER

Explore the world with European technology solutions.

GitHubTwitterGitHub
Open language menu for English



TRUSTCAPTCHA

 * Trustcaptcha
 * Security
 * User Experience
 * Pricing
 * Dashboard
 * Documentation
   


COMPANY

 * Contact us
 * Blog
 * Graphics & Logos
 * Status
   


LEGAL

 * Legal Notice
 * Terms and Conditions
 * Privacy Policy
 * End User Privacy
   

Copyright © 2023-2024 Trustcaptcha. All rights reserved.

Contact us