bluedoor data·Trust Centers API·bluedoor.sh

Home / Providers / Scrut

Scrut

Providers detail rendered from /coverage/providers/scrut.

Overview

IDscrut
CollectionProviders
ProviderScrut
Company-
URL-
Counts11 companies
11 trust centers
32 certifications
0 controls
Updated-

Raw record

FieldValue
provider
{
  "id": "scrut",
  "name": "Scrut",
  "tier": "tier2",
  "adapter_status": "implemented",
  "connect_method": "public_rest_2step",
  "auth": "public_token (domainConnector -> auth-id-token)",
  "normalized_coverage": {
    "organizations": true,
    "certifications": true,
    "controls": false,
    "subprocessors": true,
    "documents": true,
    "securityUpdates": "update_details_feed"
  },
  "rate_limit": {
    "recommendedRps": 20,
    "maxConcurrency": 20,
    "readCeiling": ">=30rps (no throttle; latency flat ~0.8s across all rungs, well-provisioned)",
    "mintCeiling": "domainConnector token resolve not stress-probed (politeness); token lives ~7d, so cache per tenant and keep mints <=3/s",
    "limiter": "data reads unmetered to 30; ~0.8s is fixed per-request latency, not load-induced",
    "penalty": "none observed (one transient 500 at 15rps, <1%)",
    "backoff": "exponential on 429/5xx + jitter"
  },
  "stats": {
    "providerId": "scrut",
    "name": "Scrut",
    "adapterStatus": "implemented",
    "organizations": 11,
    "trustCenters": 11,
    "certifications": 32,
    "controls": 0,
    "subprocessors": 35,
    "documents": 83,
    "securityUpdates": 3,
    "sources": 11
  }
}
target_support
{
  "support_status": "supported",
  "sync_cadence": "daily_full_sync",
  "rate_limit": {
    "recommendedRps": 20,
    "maxConcurrency": 20,
    "readCeiling": ">=30rps (no throttle; latency flat ~0.8s across all rungs, well-provisioned)",
    "mintCeiling": "domainConnector token resolve not stress-probed (politeness); token lives ~7d, so cache per tenant and keep mints <=3/s",
    "limiter": "data reads unmetered to 30; ~0.8s is fixed per-request latency, not load-induced",
    "penalty": "none observed (one transient 500 at 15rps, <1%)",
    "backoff": "exponential on 429/5xx + jitter"
  },
  "known_source_count": 20,
  "harvestable_source_count": 6,
  "seed": "seeds/scrut-backfill-2026-06-11.json"
}
counts
{
  "companies": 11,
  "trust_centers": 11,
  "certifications": 32,
  "controls": 0,
  "subprocessors": 35,
  "documents": 83,
  "security_updates": 3,
  "sources": 11
}
data_surface
{
  "score": 78,
  "score_kind": "bounded_0_to_100_observed_normalized_trust_center_coverage",
  "granularity_tier": "high_granularity",
  "observed_capabilities": {
    "trust_centers": true,
    "certifications": true,
    "controls": false,
    "subprocessors": true,
    "documents": true,
    "security_updates": true,
    "provenance": true
  },
  "available_capabilities": [
    "trust_centers",
    "certifications",
    "subprocessors",
    "documents",
    "security_updates",
    "provenance"
  ],
  "missing_capabilities": [
    "controls"
  ],
  "analysis_readiness": {
    "vendor_risk_profile": true,
    "security_questionnaire_evidence": false,
    "subprocessor_monitoring": true,
    "document_inventory": true,
    "compliance_tracking": true,
    "security_advisory_monitoring": true,
    "provenance_audit": true
  },
  "counts": {
    "trust_centers": 11,
    "certifications": 32,
    "controls": 0,
    "subprocessors": 35,
    "documents": 83,
    "security_updates": 3,
    "sources": 11
  }
}
trust_centers
{
  "access_profiles": [
    {
      "key": "scrut_public_token_rest",
      "count": 11
    }
  ],
  "access_levels": [
    {
      "key": "unknown",
      "count": 11
    }
  ],
  "data_access": {
    "certifications": 11,
    "controls": 0,
    "subprocessors": 6,
    "documents": 8,
    "security_updates": 2
  }
}
source_registry
{
  "rank": 16,
  "segment": "smb_midmarket",
  "owner": "Scrut Automation (independent)",
  "auth": "none (domainConnector -> auth-id-token)",
  "connect": {
    "method": "public_rest_2step",
    "resolve": "POST https://app.scrut.io/api/v1/trustCenterService/domainConnector/get-domain",
    "fetch": "GET https://app.scrut.io/api/v1/trustCenterService/trust-portal/*",
    "key": "tenant domain resolves to auth-id-token, then trust-portal endpoints return the public profile",
    "officialApi": null
  },
  "discovery": {
    "cnameTarget": "*.scrut.io",
    "handleInCname": false,
    "note": "login-looking SPA backed by a public REST surface; the tenant-domain lookup is separate from the data read path.",
    "fingerprints": [
      "CNAME *.scrut.io",
      "app.scrut.io/api/v1/trustCenterService",
      "auth-id-token header",
      "trust-portal/* endpoints"
    ],
    "channels": [
      "dns_cname_sweep",
      "common_crawl_athena",
      "builtwith:Scrut"
    ]
  },
  "backfill_2026_06_11": {
    "priorKnown": 1,
    "harvestableNow": 6,
    "netNew": 19,
    "netNewFromCommonCrawl": 19,
    "totalKnown": 20,
    "seed": "seeds/scrut-backfill-2026-06-11.json"
  }
}
links
{
  "self": "/v1/coverage/providers/scrut",
  "provider": "/v1/providers/scrut",
  "companies": "/v1/companies?provider=scrut",
  "trust_centers": "/v1/trust-centers?provider=scrut",
  "sources": "/v1/sources?provider=scrut"
}
Get this page with API

Rendered from the bluedoor Trust Centers API. Reproduce it:

GET https://api.bluedoor.sh/trust-centers/v1/coverage/providers/scrutJSON
GET https://api.bluedoor.sh/trust-centers/v1/providers/scrut/companies?limit=25JSON
GET https://api.bluedoor.sh/trust-centers/v1/providers/scrut/trust-centers?limit=25JSON