{
  "app": {
    "name": "Quantum Field Ultimate Multisig Treasury & Voting Dapp",
    "mode": "preview-safe",
    "defaultSurface": "premium",
    "operatorDisclosureRequired": true,
    "version": "20.0.0",
    "releaseChannel": "ultimate-v19"
  },
  "network": {
    "tezos": {
      "name": "ghostnet",
      "chainId": "NetXnHfVqm9iesp",
      "rpcUrl": "https://rpc.ghostnet.teztnets.com",
      "indexerUrl": "https://api.ghostnet.tzkt.io"
    },
    "etherlink": {
      "name": "etherlink-testnet",
      "chainId": "0x1f47b",
      "rpcUrl": "https://node.ghostnet.etherlink.com",
      "snapshotHubUrl": "https://hub.snapshot.org"
    }
  },
  "contracts": {
    "treasuryRegistry": "KT1_REPLACE_WITH_REGISTRY_CONTRACT",
    "governanceTreasury": "KT1_REPLACE_WITH_TREASURY_CONTRACT",
    "adminTz4": "tz4_REPLACE_WITH_AGGREGATE_TREASURY_ADDRESS"
  },
  "snapshot": {
    "space": "replace-with-space.eth",
    "strategies": [
      "single-choice",
      "approval",
      "ranked-choice",
      "weighted",
      "quadratic"
    ],
    "minVotingPeriodSeconds": 86400,
    "treasuryHandoffEnabled": true
  },
  "custodyPolicy": {
    "threshold": 3,
    "signerCount": 5,
    "roles": [
      "treasurer",
      "compliance",
      "security",
      "operator"
    ],
    "timelockSecondsByTier": {
      "low": 0,
      "medium": 3600,
      "high": 86400,
      "critical": 172800
    },
    "pauseControlsEnabled": true,
    "receiptAnchoringEnabled": true
  },
  "execution": {
    "broadcastMode": "manual-confirmation",
    "simulateBeforeSigning": true,
    "requireChainIdMatch": true,
    "requireCounterRefresh": true,
    "maxOperationAgeSeconds": 180
  },
  "featureFlags": {
    "premiumLiveBlsDemo": true,
    "portfolioReadOnlyMode": true,
    "governancePreviewFallbacks": true,
    "mainnetBroadcast": false,
    "privateRoomsPreview": true,
    "privacyRoomsAdvancedLab": true,
    "transportMatrixPreview": true
  },
  "integrity": {
    "releaseValidationScript": "scripts/validate-release.mjs",
    "serviceWorkerCache": "qf-tz4-treasury-v20",
    "staticHostingMode": "portable-subdirectory-safe",
    "noSecretsPolicy": "example placeholders only; production secrets and signer shares must never be committed"
  },
  "backend": {
    "apiBase": "https://REPLACE_WITH_WORKER_SUBDOMAIN.workers.dev",
    "d1Binding": "DB",
    "nonceKvBinding": "NONCES",
    "treasuryPersistenceEnabled": true,
    "auditExportEnabled": true
  },
  "governanceHandoff": {
    "enabled": true,
    "route": "/governance-handoff/",
    "canonicalDigest": "sha256-stable-json",
    "autoBroadcast": false,
    "minApprovalBpsDefault": 5001,
    "allowedActionKinds": [
      "transfer_xtz",
      "transfer_fa2",
      "set_threshold",
      "set_limits",
      "set_timelock",
      "set_admin",
      "set_paused",
      "add_signer",
      "remove_signer",
      "contract_call",
      "evidence_anchor"
    ]
  },
  "privateRooms": {
    "enabled": true,
    "route": "/private-rooms/",
    "identityRoot": "tezos-wallet-session-signature",
    "encryptionRoot": "local-device-key",
    "groupEncryption": [
      "MLS",
      "Double Ratchet for 1:1 fallback"
    ],
    "liveTransport": [
      "WebRTC DataChannel",
      "WebRTC MediaStream"
    ],
    "signaling": {
      "mode": "replace-with-websocket-webtransport-libp2p-or-waku",
      "relayFallbackEnabled": true,
      "turnOverTlsPrivacyMode": true
    },
    "dal": {
      "enabledForCiphertextCheckpoints": true,
      "liveMessaging": false,
      "plaintextAllowed": false,
      "artifactKinds": [
        "transcript_checkpoint",
        "evidence_bundle",
        "file_bundle",
        "receipt_bundle"
      ]
    },
    "sessionScopes": [
      "chat:text",
      "chat:file",
      "call:audio",
      "call:video",
      "call:screen",
      "dal:checkpoint",
      "treasury:read",
      "treasury:proposal"
    ],
    "advancedLabRoute": "/rooms/",
    "transportMatrix": "src/transport/transport-matrix.mjs",
    "deviceBindingSchema": "schemas/device-binding.schema.json",
    "roomEventSchema": "schemas/room-event.schema.json",
    "privacyRoomRegistryContract": "contracts/privacy_room_registry.mligo",
    "cryptoEnvelope": {
      "previewKeyAgreement": "P-256 ECDH via WebCrypto",
      "preferredProductionUpgrade": "X25519/HPKE plus MLS for group state",
      "contentEncryption": "AES-256-GCM envelope with canonical JSON hash"
    },
    "relayCandidates": [
      "WebRTC direct",
      "TURN-over-TLS privacy mode",
      "WebSocket signaling",
      "WebTransport relay",
      "Waku relay",
      "libp2p WebRTC relay"
    ],
    "transportRoutes": {
      "liveText": "WebRTC DataChannel or Waku relay fallback",
      "voiceVideo": "WebRTC media with Encoded Transform E2EE in SFU mode",
      "largeEvidenceBundle": "Tezos DAL gateway",
      "executionReceipt": "AMQP/MQTT institutional backplane where enabled"
    }
  },
  "version": "26.0.0",
  "surfaces": {
    "swarmChat": "/swarm-chat/",
    "swarmRoomOs": "/swarm-chat/room-os.html",
    "swarmOrchestratorLab": "/swarm-chat/orchestrator.html"
  }
}
