{"ok":true,"schema_version":"hugin-site-discovery-v1","id":"hugin.studio","name":"Hugin","description":"Public evidence validation, source-backed news scans, civic mirrors, and cache-aware machine contracts.","published_at":"2026-07-09T00:00:00.000Z","canonical_url":"https://hugin.studio/.well-known/hugin.json","homepage_url":"https://hugin.studio/","docs_url":"https://hugin.studio/api","llms_txt_url":"https://hugin.studio/llms.txt","opensearch_url":"https://hugin.studio/opensearch.xml","security_txt_url":"https://hugin.studio/.well-known/security.txt","status_url":"https://hugin.studio/status","contact":{"corrections":"mailto:contact@hugin.studio","security":"mailto:security@hugin.studio"},"human_pages":[{"id":"home","url":"https://hugin.studio/","purpose":"Primary scanner and product entrypoint."},{"id":"api","url":"https://hugin.studio/api","purpose":"Human API and cache guide."},{"id":"news","url":"https://hugin.studio/news","purpose":"Source-backed public news tracker."},{"id":"journal","url":"https://hugin.studio/blog","purpose":"Authored Hugin journal updates."},{"id":"cases","url":"https://hugin.studio/cases","purpose":"Public-record case files."},{"id":"resources","url":"https://hugin.studio/resources","purpose":"Public source, fact-check, export, and promotion-readiness directory."},{"id":"consumer-protection-case","url":"https://hugin.studio/cases/consumer-protection-enforcement","purpose":"Consumer protection enforcement source-desk case file."},{"id":"trust","url":"https://hugin.studio/trust","purpose":"Methodology, limitations, and correction policy."},{"id":"status","url":"https://hugin.studio/status","purpose":"Public scanner and maintenance status."},{"id":"support","url":"https://hugin.studio/support","purpose":"Support, costs, and transparency notes."},{"id":"privacy","url":"https://hugin.studio/privacy","purpose":"Privacy and retention policy."}],"machine_contracts":[{"id":"api-index","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1","path":"/api/v1","validator_header":"X-Hugin-API-Index-ETag","purpose":"Public API route, limit, validator, and license index."},{"id":"openapi","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/openapi","path":"/api/v1/openapi","validator_header":"X-Hugin-OpenAPI-ETag","purpose":"OpenAPI 3.1 contract for generated clients."},{"id":"integration-manifest","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/integrations","path":"/api/v1/integrations","validator_header":"X-Hugin-Integration-Manifest-ETag","purpose":"Full machine-readable integration manifest."},{"id":"integration-summary","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/integrations?view=summary","path":"/api/v1/integrations?view=summary","validator_header":"X-Hugin-Integration-Manifest-ETag","purpose":"Compact integration manifest for lightweight discovery."},{"id":"opensearch","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/opensearch.xml","path":"/opensearch.xml","validator_header":"X-Hugin-OpenSearch-ETag","purpose":"OpenSearch descriptor for browser and local-agent search boxes."},{"id":"content-index","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/content","path":"/api/v1/content","validator_header":"X-Hugin-Content-Index-ETag","purpose":"Authored Journal and News index with canonical URLs, feeds, tags, summaries, and sources."},{"id":"news-trackers","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/news/trackers","path":"/api/v1/news/trackers","validator_header":"ETag","content_hash_header":"X-Hugin-News-Tracker-Hash","purpose":"Live source-backed news tracker with official signal rows, topic sections, and summary view."},{"id":"public-status","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/status","path":"/api/v1/status","validator_header":"X-Hugin-Status-ETag","purpose":"Scanner freshness, queue health, heartbeat, and latest report status."},{"id":"public-limits","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/limits","path":"/api/v1/limits","validator_header":"X-Hugin-Limits-ETag","purpose":"Public API budget, rate, cost, and limiter state."},{"id":"promotion-readiness","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/promotion/readiness","path":"/api/v1/promotion/readiness","validator_header":"X-Hugin-Promotion-Readiness-ETag","purpose":"Draft-only promotion and SEO readiness with automatic sharing disabled."},{"id":"promotion-drafts","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/promotion/drafts","path":"/api/v1/promotion/drafts","validator_header":"X-Hugin-Promotion-Drafts-ETag","content_hash_header":"X-Hugin-Promotion-Drafts-Hash","purpose":"Manual promotion draft packets with source requirements and automatic posting disabled."},{"id":"promotion-share-queue","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/promotion/share-queue","path":"/api/v1/promotion/share-queue","validator_header":"X-Hugin-Promotion-Share-Queue-ETag","content_hash_header":"X-Hugin-Promotion-Share-Queue-Hash","purpose":"Manual-only promotion share queue with recheck URLs and automatic dispatch disabled."},{"id":"civic-node","method":"GET","conditional_read_supported":false,"head_supported":false,"url":"https://hugin.studio/api/v1/civic/node","path":"/api/v1/civic/node","content_hash_header":"X-Hugin-Civic-Node-Hash","purpose":"Public civic node manifest for mirrors and independent transparency clients."},{"id":"civic-mirror-seed","method":"GET","conditional_read_supported":false,"head_supported":false,"url":"https://hugin.studio/api/v1/civic/mirror-seed","path":"/api/v1/civic/mirror-seed","content_hash_header":"X-Hugin-Civic-Mirror-Seed-Hash","purpose":"Credentialless crawl and verification seed for civic mirrors."},{"id":"civic-bundle","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/bundle","path":"/api/v1/civic/bundle","validator_header":"X-Hugin-Civic-Bundle-ETag","content_hash_header":"X-Hugin-Civic-Bundle-Hash","purpose":"Current civic package manifest with artifact URLs, hashes, and mirror storage paths."},{"id":"civic-case-index","method":"GET","conditional_read_supported":false,"head_supported":false,"url":"https://hugin.studio/api/v1/civic/cases","path":"/api/v1/civic/cases","content_hash_header":"X-Hugin-Civic-Case-Files-Hash","purpose":"Public-record case index with verified anchors, source desks, and case URLs."},{"id":"civic-fact-check","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/fact-check","path":"/api/v1/civic/fact-check","validator_header":"ETag","content_hash_header":"X-Hugin-Civic-Fact-Check-Hash","purpose":"Neutral claim posture, case review queues, claim-source matrix hashes, source-anchor hashes, and no-verdict fact-check exports."},{"id":"civic-case-source-atlases","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/cases/source-atlases","path":"/api/v1/civic/cases/source-atlases","validator_header":"X-Hugin-Civic-Case-Source-Atlases-ETag","content_hash_header":"X-Hugin-Civic-Case-Source-Atlases-Hash","purpose":"All-case source-family coverage, credential gates, verified anchors, and Markdown source-atlas exports."},{"id":"civic-case-source-anchors","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/cases/source-anchors","path":"/api/v1/civic/cases/source-anchors","validator_header":"X-Hugin-Civic-Case-Source-Anchors-ETag","content_hash_header":"X-Hugin-Civic-Case-Source-Anchors-Hash","purpose":"Flat verified source-anchor rows with case, tier, source URL, timeline, CSV, JSONL, and Markdown exports."},{"id":"civic-case-claim-source-matrix","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/cases/claim-source-matrix","path":"/api/v1/civic/cases/claim-source-matrix","validator_header":"X-Hugin-Civic-Claim-Source-Matrix-ETag","content_hash_header":"X-Hugin-Civic-Claim-Source-Matrix-Hash","purpose":"Claim-to-source join rows with publishable state, evidence status, source tier, review gates, CSV, JSONL, and Markdown exports."},{"id":"civic-case-claim-ledgers","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/cases/claim-ledgers","path":"/api/v1/civic/cases/claim-ledgers","validator_header":"X-Hugin-Civic-Case-Claim-Ledger-Index-ETag","content_hash_header":"X-Hugin-Civic-Case-Claim-Ledger-Index-Hash","purpose":"Aggregate case claim posture with publishable rows, source-repair counts, and Markdown claim-ledger handoffs."},{"id":"civic-case-verification-packets","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/cases/verification-packets","path":"/api/v1/civic/cases/verification-packets","validator_header":"X-Hugin-Civic-Case-Verification-Packets-ETag","content_hash_header":"X-Hugin-Civic-Case-Verification-Packets-Hash","purpose":"Aggregate or case-scoped verification bundles joining claim checklists, source anchors, first-pass rows, hashes, and Markdown exports."},{"id":"civic-case-workbench","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/cases/workbench","path":"/api/v1/civic/cases/workbench","validator_header":"X-Hugin-Civic-Case-Workbench-ETag","content_hash_header":"X-Hugin-Civic-Case-Workbench-Hash","purpose":"Ranked case action rows for packets, claim ledgers, source-anchor exports, claim-source matrix review, source validation, and fact-check desk checks."},{"id":"civic-case-source-scout","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/cases/source-scout","path":"/api/v1/civic/cases/source-scout","validator_header":"X-Hugin-Civic-Case-Source-Scout-ETag","content_hash_header":"X-Hugin-Civic-Case-Source-Scout-Hash","purpose":"Review-only case source-scout packet with JSON, CSV, JSONL, and case-scoped filters."},{"id":"civic-source-registry","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/sources","path":"/api/v1/civic/sources","validator_header":"X-Hugin-Civic-Sources-ETag","content_hash_header":"X-Hugin-Civic-Sources-Hash","purpose":"Civic source registry with source-view filters, including court-record anchors and credential posture."},{"id":"civic-source-runs","method":"GET","conditional_read_supported":true,"head_supported":true,"url":"https://hugin.studio/api/v1/civic/source-runs","path":"/api/v1/civic/source-runs","validator_header":"X-Hugin-Civic-Source-Runs-ETag","content_hash_header":"X-Hugin-Civic-Source-Runs-Hash","purpose":"Source-run packets for mirrors, local nodes, court-record view slices, source receipts, and import boundaries."}],"feeds":[{"id":"all","format":"atom","url":"https://hugin.studio/feed.xml"},{"id":"journal","format":"atom","url":"https://hugin.studio/blog/feed.xml"},{"id":"news","format":"atom","url":"https://hugin.studio/news/feed.xml"},{"id":"ai-news","format":"atom","url":"https://hugin.studio/news/ai/feed.xml"},{"id":"case-updates","format":"atom","url":"https://hugin.studio/cases/feed.xml"}],"public_limits":{"no_account_required_for_public_reads":true,"default_public_read_limit":{"requests":60,"window":"1 minute","scope":"per IP"},"canonical_limits_url":"https://hugin.studio/api/v1/limits"},"cache_policy":{"methods":["GET","HEAD","OPTIONS"],"request_header":"If-None-Match","validator_header":"X-Hugin-Discovery-ETag","cache_control":"public, max-age=300, s-maxage=3600, stale-while-revalidate=86400","cdn_cache_control":"max-age=3600, stale-while-revalidate=86400","conditional_status":304},"interpretation_rules":["Treat Hugin reports as public evidence summaries, not identity claims, guilt findings, or misconduct determinations.","Prefer source URLs, hashes, ETags, and visible report links over paraphrase when citing Hugin material.","Do not infer private facts from Hugin reports. Hugin limits itself to public material and supplied public evidence packets.","When a source is unavailable or a report marks a confidence gap, preserve that uncertainty.","Use the API guide, OpenAPI contract, and integration manifest for integration details instead of scraping page copy."],"recommended_client_flow":["Read this discovery document to choose the right human page, feed, or machine contract.","Use HEAD and ETags where conditional_read_supported is true before fetching response bodies.","Use If-None-Match on repeated GET requests and treat 304 as the cached copy being current.","Preserve Hugin source URLs, hash headers, and caveat text when mirroring or quoting reports."]}