{
  "schema": "sayframe.product-topology.v1",
  "updated_at": "2026-10-05",
  "conversation": {
    "status": "browser-preview",
    "max_participants": 4,
    "audio_path": "direct WebRTC DTLS-SRTP mesh",
    "signaling": "invite and answer codes exchanged by participants",
    "ice_servers": [],
    "transcription": "opt-in local English speech model in a browser worker",
    "retention": "in-memory notes, explicit local export",
    "limits": [
      "Directly reachable networks only; no NAT traversal service or relay",
      "Desktop browser preview; mobile and native call clients are not released",
      "Transcription downloads a model before local inference; quality depends on the device"
    ]
  },
  "surfaces": [
    {
      "id": "mac",
      "name": "Mac app",
      "status": "available",
      "description": "Local dictation, meeting capture, transcript library and export.",
      "href": "/download/"
    },
    {
      "id": "talk",
      "name": "Direct conversations",
      "status": "browser-preview",
      "description": "Up to four browser participants, direct encrypted audio, shared notes and opt-in local transcription.",
      "href": "/talk/"
    },
    {
      "id": "cloud",
      "name": "Sayframe Cloud",
      "status": "optional-hosted",
      "description": "Separately chosen hosted transcription; this service reads the audio you submit.",
      "href": "/pricing/"
    },
    {
      "id": "native-pairing",
      "name": "Native device pairing",
      "status": "native-foundation",
      "description": "Identity, pairing and a LAN demonstration exist. Production native calls still require transport and device acceptance.",
      "href": "/updates/"
    },
    {
      "id": "agents",
      "name": "Agent and computer connections",
      "status": "planned",
      "description": "Conversation context can be exported now. Live connections and permission-scoped automatic actions are planned.",
      "href": "/updates/"
    }
  ],
  "updates": [
    {
      "date": "2026-10-05",
      "title": "A direct conversation preview",
      "status": "browser-preview",
      "description": "Manual invite codes connect a small group without an audio server. Share notes, opt into local English transcription, and export context for your own agent."
    },
    {
      "date": "2026-10-05",
      "title": "A new conversation mark",
      "status": "website",
      "description": "The selected Oracle-generated symbol joins two speech frames around a clear next step. It is used on the website and its share previews."
    },
    {
      "date": "2026-10-05",
      "title": "An explicit product topology",
      "status": "website",
      "description": "The connection map separates the direct call path, model downloads, the optional Cloud service, and agent work still to come."
    }
  ],
  "native_release": {
    "version": "1.0.2",
    "released_at": "2026-08-10",
    "download_url": "https://dl.sayframe.app/Sayframe-1.0.2.dmg"
  }
}
