Scrut
Providers detail rendered from /coverage/providers/scrut.
Overview
| ID | scrut |
| Collection | Providers |
| Provider | Scrut |
| Company | - |
| URL | - |
| Counts | 11 companies 11 trust centers 32 certifications 0 controls |
| Updated | - |
Raw record
| Field | Value |
|---|---|
| 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/scrutJSONGET https://api.bluedoor.sh/trust-centers/v1/providers/scrut/companies?limit=25JSONGET https://api.bluedoor.sh/trust-centers/v1/providers/scrut/trust-centers?limit=25JSON