---
title: "Install Semanto on Cloudflare - Trooth"
description: "Put your signed Semanto copy on a site hosted on Cloudflare: the package, the steps and how to check it works."
canonical_url: "https://trooth.co/docs/semanto/install/cloudflare-worker"
markdown_url: "https://trooth.co/docs/semanto/install/cloudflare-worker.md"
generated_from: "the rendered page, converted to Markdown when this was requested"
agent_index: "https://trooth.co/llms.txt"
---

# Install Semanto on Cloudflare

A Worker on your Cloudflare zone answers agents with your signed copy and passes every other request to your site.

## Before you start

You need your Trooth ID. [Open Put it on your site](https://trooth.co/dashboard/semanto/install) in your dashboard: it shows these steps with your ID filled in, and finds your host for you.

[Deploy to Cloudflare](https://deploy.workers.cloudflare.com/?url=https://github.com/troothllc/trooth-semanto-worker/tree/main/deploy/cloudflare)
Nothing to download. Cloudflare copies the Worker into your own account and builds it there.

## Steps

1. Press Deploy to Cloudflare above. Sign in to Cloudflare and GitHub if asked.
2. Paste your Trooth ID into TROOTH_ID, leave the other two values as they are, and press Create and deploy.
3. When it finishes, open the Worker, then Settings, Domains & Routes, Add, Route. Pick your domain, type your domain followed by /*, and press Add route.
4. In the Trooth dashboard, open Put it on your site and press Check my site.

## Check it works

In the dashboard, press Check my site. It shows each of the three checks as Passed or Not yet, and what to change if one is not yet passing.

For developers: the same checks from a terminal

The answer should be markdown with Signature and Trooth-Semanto-Version headers.

```bash
curl -s -H "Accept: text/markdown" https://example.com/ | head
curl -sI https://example.com/.well-known/trooth.semanto | grep -i -E "signature|trooth"
```

If Trooth is slow or down, your site keeps answering: [what the adapter does](https://trooth.co/docs/semanto#delivery).

## Someone else runs your website?

[Email them these steps](mailto:?subject=Please%20add%20Semanto%20by%20Trooth%20to%20our%20website&body=Hi%2C%0A%0ACould%20you%20add%20Semanto%20by%20Trooth%20to%20our%20website%3F%20The%20steps%20for%20Cloudflare%20are%20here%3A%0Ahttps%3A%2F%2Ftrooth.co%2Fdocs%2Fsemanto%2Finstall%2Fcloudflare-worker%0A%0AThe%20Trooth%20ID%20to%20use%3A%20%0A%0AThank%20you.). They need your Trooth ID too, so send it with them.

[All install guides](https://trooth.co/docs/semanto#install)

## Was this page helpful?

## Structured data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://trooth.co/#org",
      "name": "Trooth",
      "legalName": "Trooth, LLC",
      "alternateName": [
        "Trooth, LLC",
        "Trooth Network",
        "trooth.co"
      ],
      "url": "https://trooth.co",
      "logo": {
        "@type": "ImageObject",
        "@id": "https://trooth.co/#logo",
        "url": "https://trooth.co/brand/trooth-mark_black-on-white_1024.png",
        "contentUrl": "https://trooth.co/brand/trooth-mark_black-on-white_1024.png",
        "width": 1024,
        "height": 1024,
        "caption": "Trooth"
      },
      "image": {
        "@id": "https://trooth.co/#logo"
      },
      "description": "Trooth is an infrastructure and cybersecurity company providing Machine-Readable Trust. The Trooth Network keeps one current Machine-Readable Trust Profile per company, each fact sourced. Trooth signs what it witnessed; company declarations are unsigned.",
      "foundingDate": "2025-12-16",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "777 Brickell Ave, Suite 500, PMB 1174",
        "addressLocality": "Miami",
        "addressRegion": "FL",
        "postalCode": "33131",
        "addressCountry": "US"
      },
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer support",
        "email": "hello@trooth.co",
        "url": "https://trooth.co/contact"
      },
      "sameAs": [
        "https://x.com/Troothllc",
        "https://github.com/troothllc",
        "https://www.crunchbase.com/organization/trooth",
        "https://www.wikidata.org/wiki/Q141292994",
        "https://www.youtube.com/@Troothllc",
        "https://www.trustpilot.com/review/trooth.co"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://trooth.co/#website",
      "url": "https://trooth.co",
      "name": "Trooth",
      "alternateName": "Trooth Network",
      "inLanguage": "en",
      "publisher": {
        "@id": "https://trooth.co/#org"
      },
      "sameAs": [
        "https://trooth.co/network/company/trooth"
      ],
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://trooth.co/network?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    },
    {
      "@type": "ItemList",
      "@id": "https://trooth.co/#sitelinks",
      "name": "Trooth sitelinks",
      "itemListElement": [
        {
          "@type": "SiteNavigationElement",
          "position": 1,
          "name": "Join Trooth for free",
          "url": "https://trooth.co/signup"
        },
        {
          "@type": "SiteNavigationElement",
          "position": 2,
          "name": "Company, Trooth",
          "url": "https://trooth.co/network/company/trooth"
        },
        {
          "@type": "SiteNavigationElement",
          "position": 3,
          "name": "Trooth Network",
          "url": "https://trooth.co/network"
        }
      ]
    }
  ]
}
```
