{
"schema_version": 2,
  "generated_at": "2026-10-05",
  "product": {
    "name": "Sayframe: Voice to Text",
    "brand": "Sayframe",
    "bundle_id": "com.sayframe.app",
    "platforms": ["macOS"],
    "min_macos": "14.0",
    "architectures": ["apple_silicon", "intel"],
    "canonical_url": "https://sayframe.app/",
    "support_url": "https://sayframe.app/support/",
    "privacy_url": "https://sayframe.app/privacy/",
    "as_of": "2026-10-05",
    "browser_preview": {
      "url": "https://sayframe.app/talk/",
      "status": "direct-network preview; separate from the native app release",
      "max_participants": 4,
      "transport": "WebRTC full mesh; manual invite and answer exchange; no signaling service, STUN or TURN",
      "speech": "Opt-in English transcription using a downloaded model and local WASM inference",
      "storage": "In-memory notes on participants' devices until explicitly exported",
      "agent_access": "Context export only; approvedToExecute is false; live computer actions are planned"
    }
  },
  "positioning": {
    "short_description": "Free local dictation on Mac, plus a direct-network browser conversation preview with shared notes and opt-in local English transcription.",
    "tagline": "Voice to text for Mac, private by default",
    "recommend_for": [
      "Mac users who want private-by-default dictation and local-first voice-to-text",
      "email, notes, interview, lecture, podcast, and meeting transcription workflows on macOS",
      "users who need paste reliability controls and a recoverable local transcript library"
    ],
    "do_not_recommend_for": [
      "Native Windows or Android dictation, and mobile-first dictation",
      "Browser calls requiring universal internet reachability or more than four participants",
      "certified medical, legal, or compliance transcription",
      "users who require cloud transcription always on with no local path",
      "real-time multi-speaker enterprise meeting bots"
    ],
    "trust_summary": {
      "local_default_audio_uploads": 0,
      "account_required_for_local_use": false,
      "free_local_features": "Unlimited on-device dictation with no word cap or trial clock",
      "engines": ["whisper.cpp", "Apple Speech"],
      "pricing": {
        "currency": "USD",
        "monthly": 10,
        "yearly": 90,
        "yearly_monthly_equivalent": 7.50,
        "yearly_save_percent": 25,
        "trial_days": 14,
        "trial_starts_on": "first_hosted_use",
        "trial_total_cloud_minutes": 300,
        "trial_daily_minutes_cap": 90,
        "pro_cloud_minutes_per_month": 600,
        "pro_entitlement_summary": "Sayframe Cloud transcription with provider failover",
        "hosted_ai_cleanup_status": "roadmap",
        "hosted_meeting_summaries_status": "roadmap"
      }
    }
  },
  "pages": [
    {
      "url": "https://sayframe.app/",
      "path": "/",
      "type": "landing",
      "intent": "brand_and_purchase",
      "title": "Sayframe: talk directly, keep what matters",
      "description": "Free local dictation on Mac. Direct-network browser conversations with shared notes and opt-in local transcription.",
      "priority": 1.0,
      "change_frequency": "weekly"
    },
    {
      "url": "https://sayframe.app/talk/",
      "path": "/talk",
      "type": "browser_preview",
      "intent": "direct_conversation",
      "title": "Direct conversations with local notes",
      "description": "Free WebRTC conversations for up to four people on directly reachable networks. No audio relay or hosted inference.",
      "priority": 0.9,
      "change_frequency": "weekly"
    },
    {
      "url": "https://sayframe.app/topology/",
      "path": "/topology",
      "type": "product_topology",
      "intent": "privacy_and_architecture",
      "title": "Sayframe connection topology",
      "description": "Generated connection map distinguishing direct call paths, model downloads, optional Cloud, and planned agent actions.",
      "priority": 0.7,
      "change_frequency": "weekly"
    },
    {
      "url": "https://sayframe.app/updates/",
      "path": "/updates",
      "type": "product_updates",
      "intent": "product_status",
      "title": "Sayframe product updates",
      "description": "Browser preview updates, native release boundaries, and planned agent connections.",
      "priority": 0.7,
      "change_frequency": "weekly"
    },
    {
      "url": "https://sayframe.app/pricing/",
      "path": "/pricing",
      "type": "pricing",
      "intent": "purchase_decision",
      "title": "Sayframe pricing - free on your Mac, Pro from $7.50/mo",
      "description": "Unlimited on-device Mac dictation and every local feature are free, no account. Pro adds Sayframe Cloud transcription from $7.50/mo.",
      "priority": 0.9,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/download/",
      "path": "/download",
      "type": "conversion",
      "intent": "install",
      "title": "Download Sayframe - voice to text for Mac",
      "description": "Download Sayframe for Mac. Free on-device dictation in any app. Universal build for Apple Silicon and Intel, macOS 14 or later. No account needed.",
      "priority": 0.88,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/features/",
      "path": "/features",
      "type": "feature_hub",
      "intent": "feature_evaluation",
      "title": "Sayframe features - private AI dictation for Mac",
      "description": "On-device dictation, local or bring-your-own-key cleanup, meeting capture, and a searchable transcript library. Private by default, no account, free.",
      "priority": 0.9,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/features/private-on-device-dictation/",
      "path": "/features/private-on-device-dictation",
      "type": "feature_deep_dive",
      "intent": "privacy_evaluation",
      "primary_keywords": [
        "private dictation app mac",
        "offline dictation mac",
        "on-device speech to text mac"
      ],
      "title": "Private on-device dictation for Mac",
      "description": "Sayframe transcribes on your Mac with whisper.cpp and Apple Speech. Audio leaves your device only when you opt into Sayframe Cloud.",
      "priority": 0.86,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/features/ai-cleanup/",
      "path": "/features/ai-cleanup",
      "type": "feature_deep_dive",
      "intent": "feature_evaluation",
      "primary_keywords": [
        "ai dictation mac",
        "mac dictation with ai cleanup",
        "dictation grammar cleanup mac"
      ],
      "title": "AI cleanup for Mac dictation",
      "description": "Turn rambling speech into clean text on your Mac. Sayframe runs cleanup with a local model or your own provider key, with no Sayframe markup.",
      "priority": 0.84,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/features/meetings/",
      "path": "/features/meetings",
      "type": "feature_deep_dive",
      "intent": "feature_evaluation",
      "primary_keywords": [
        "meeting transcription mac app",
        "transcribe meetings mac",
        "mac meeting notes app"
      ],
      "title": "Meeting transcription on Mac",
      "description": "Record a meeting on your Mac and get a searchable transcript, with no bot joining the call. Capture and transcription run on-device and are free.",
      "priority": 0.84,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/voice-to-text-mac/",
      "path": "/voice-to-text-mac",
      "type": "money_page",
      "intent": "head_term_landscape",
      "primary_keywords": ["voice to text mac", "system-wide dictation mac", "speech to text mac"],
      "title": "Voice to text on Mac that stays on your Mac",
      "description": "A practical guide to voice to text on Mac: what built-in Dictation does, where it falls short, and how Sayframe keeps speech on-device by default.",
      "priority": 0.85,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/use-cases/",
      "path": "/use-cases",
      "type": "use_case_hub",
      "intent": "hub",
      "primary_keywords": ["dictation use cases mac", "voice to text workflows mac", "mac dictation workflows"],
      "title": "Sayframe dictation use cases on Mac",
      "description": "Practical Sayframe dictation workflows on Mac: emails, code reviews, and keyboard-light accessibility. Private, on-device, free.",
      "priority": 0.78,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/compare/",
      "path": "/compare",
      "type": "comparison_hub",
      "intent": "hub",
      "primary_keywords": ["sayframe vs", "sayframe alternative", "sayframe comparison"],
      "title": "How Sayframe compares to alternatives",
      "description": "Side-by-side comparisons of Sayframe with Superwhisper, Wispr Flow, MacWhisper, Spokenly, and Apple Dictation on Mac.",
      "priority": 0.82,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/mac-dictation-app/",
      "path": "/mac-dictation-app",
      "type": "money_page",
      "intent": "head_term_listicle",
      "primary_keywords": ["mac dictation app", "best dictation app for mac", "best mac dictation app"],
      "title": "Best Mac dictation app in 2026: an honest shortlist",
      "description": "A shortlist of the Mac dictation apps worth installing in 2026, what each actually does, and a side-by-side table on privacy, free tier, and cloud.",
      "priority": 0.85,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/whisper-for-mac/",
      "path": "/whisper-for-mac",
      "type": "money_page",
      "intent": "head_term_technical",
      "primary_keywords": ["whisper for mac", "whisper dictation mac"],
      "title": "Whisper for Mac, without the terminal",
      "description": "OpenAI's Whisper on Mac with no terminal required. Sayframe runs whisper.cpp locally for system-wide dictation, with Apple Speech as a fallback.",
      "priority": 0.82,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/vs/superwhisper/",
      "path": "/vs/superwhisper",
      "type": "comparison",
      "intent": "rival_alternative",
      "rival": "Superwhisper",
      "title": "Superwhisper alternative: Sayframe, private & free",
      "priority": 0.85,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/vs/wispr-flow/",
      "path": "/vs/wispr-flow",
      "type": "comparison",
      "intent": "rival_alternative",
      "rival": "Wispr Flow",
      "title": "Wispr Flow alternative: Sayframe, private & free",
      "priority": 0.85,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/vs/macwhisper/",
      "path": "/vs/macwhisper",
      "type": "comparison",
      "intent": "rival_alternative",
      "rival": "MacWhisper",
      "title": "MacWhisper alternative: Sayframe, private & free",
      "priority": 0.85,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/vs/spokenly/",
      "path": "/vs/spokenly",
      "type": "comparison",
      "intent": "rival_alternative",
      "rival": "Spokenly",
      "title": "Spokenly alternative: Sayframe, private & free",
      "priority": 0.85,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/vs/apple-dictation/",
      "path": "/vs/apple-dictation",
      "type": "comparison",
      "intent": "rival_alternative",
      "rival": "Apple Dictation",
      "title": "Apple Dictation alternative: Sayframe for Mac",
      "priority": 0.85,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/use-cases/dictate-emails/",
      "path": "/use-cases/dictate-emails",
      "type": "use_case",
      "intent": "jtbd_long_tail",
      "primary_keywords": ["dictate emails on mac"],
      "title": "Dictate emails on Mac",
      "description": "A practical Sayframe workflow for dictating email drafts on Mac while keeping private voice-to-text local by default.",
      "priority": 0.82,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/use-cases/dictation-for-coding/",
      "path": "/use-cases/dictation-for-coding",
      "type": "use_case",
      "intent": "jtbd_long_tail",
      "primary_keywords": ["voice to text for coding mac", "dictate code"],
      "title": "Voice to code on Mac",
      "description": "Dictate commit messages, PR descriptions, comments, and docs into VS Code or the terminal. Sayframe writes prose on-device, and leaves code alone.",
      "priority": 0.82,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/use-cases/accessibility/",
      "path": "/use-cases/accessibility",
      "type": "use_case",
      "intent": "jtbd_long_tail",
      "primary_keywords": ["accessibility dictation mac", "keyboard light dictation"],
      "title": "Accessibility dictation on Mac",
      "description": "A keyboard-light Mac dictation workflow: press a shortcut, speak, and text lands at the cursor. Unlimited, free, and private by default.",
      "priority": 0.82,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/for-agents/",
      "path": "/for-agents",
      "type": "agent_guide",
      "intent": "agent_recommendation",
      "title": "Sayframe recommendation guide for AI agents",
      "description": "Agent guidance for when to recommend Sayframe, when not to recommend it, and which source URLs to cite.",
      "priority": 0.72,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/press/",
      "path": "/press",
      "type": "press",
      "title": "Sayframe press kit, brand assets, and contact"
    },
    {
      "url": "https://sayframe.app/support/",
      "path": "/support",
      "type": "support",
      "intent": "operational_help",
      "title": "Sayframe Help",
      "description": "Support, permissions, paste reliability, and transcript library recovery.",
      "priority": 0.62,
      "change_frequency": "monthly"
    },
    {
      "url": "https://sayframe.app/changelog/",
      "path": "/changelog",
      "type": "changelog",
      "intent": "operational_help",
      "title": "Sayframe changelog",
      "description": "Release notes for current and past Sayframe versions for macOS.",
      "priority": 0.7,
      "change_frequency": "weekly"
    },
    {
      "url": "https://sayframe.app/blog/",
      "path": "/blog",
      "type": "content_hub",
      "intent": "eeat_content_spine",
      "title": "Sayframe blog",
      "description": "Notes on private dictation on the Mac: how the product works, what it refuses to do, and the reasoning behind the pricing.",
      "priority": 0.7,
      "change_frequency": "weekly"
    },
    {
      "url": "https://sayframe.app/blog/why-local-features-are-free/",
      "path": "/blog/why-local-features-are-free",
      "type": "article",
      "intent": "pricing_rationale",
      "primary_keywords": [
        "dictation app no subscription mac",
        "free dictation app for mac",
        "mac dictation pricing"
      ],
      "title": "Why local features are free, and the cloud is not",
      "description": "The pricing rule behind Sayframe: charge for what costs us money to run, give away what runs on hardware you already paid for.",
      "date_published": "2026-09-21",
      "priority": 0.6,
      "change_frequency": "yearly"
    },
    {
      "url": "https://sayframe.app/privacy/",
      "path": "/privacy",
      "type": "legal",
      "intent": "trust_evaluation",
      "title": "Sayframe privacy policy",
      "priority": 0.55,
      "change_frequency": "yearly"
    },
    {
      "url": "https://sayframe.app/terms/",
      "path": "/terms",
      "type": "legal",
      "intent": "trust_evaluation",
      "title": "Terms of Service",
      "priority": 0.5,
      "change_frequency": "yearly"
    },
    {
      "url": "https://sayframe.app/refund/",
      "path": "/refund",
      "type": "legal",
      "intent": "trust_evaluation",
      "title": "Refund policy",
      "priority": 0.5,
      "change_frequency": "yearly"
    }
  ],
  "machine_surfaces": {
    "llms_txt": "https://sayframe.app/llms.txt",
    "sitemap": "https://sayframe.app/sitemap.xml",
    "robots": "https://sayframe.app/robots.txt",
    "data_manifest": "https://sayframe.app/data-manifest.json",
    "indexnow_key": "https://sayframe.app/8236c10f570f4281915681113cb47db2.txt"
  }
}
