• Compare
  • Documentation
  • Pricing
  • Agents
Sign InStart free

The outbound integration layer for SaaS products: emit once, then let Meshes handle routing, retries, fan-out, and delivery history.

  • Terms of Service
  • Privacy Policy
  • Acceptable Use Policy
  • Cookie Policy

© Copyright 2026 Meshes, Inc. All Rights Reserved.

  • Getting Started
    • What is Meshes?
    • Core Concepts
    • Quickstart
    • API Overview
  • AI Tools
    • Cursor Rules
    • MCP Server
    • LLMs Docs
  • API Documentation
    • API Reference
    • Authentication
    • Results
    • Rate Limiting
    • SDKs
    • Integrations & Rules
  • Events
    • Publishable Keys
    • Send Events
    • Bulk Event Ingestion
  • Embed & Sessions
    • Quickstart
    • Session API Overview
    • Launch URL and Iframe Bootstrap
    • Iframe Message Contract
    • Session Roles and Scopes
    • Workspace Pages Available in Embed
    • Session Refresh Lifecycle
    • Iframe Sizing and Resize Handling
    • OAuth and Connection Setup Behavior
    • Security Model
    • Troubleshooting
  • Integrations
    • HubSpot
    • Intercom
    • Slack
    • Salesforce
    • Zoom

Security Model

Review the current security model for Meshes embed, including workspace scoping, origins, launch bootstrap, and runtime authorization.

Use these rules when you integrate Meshes embed into a production application.

Keep management credentials on your backend

  • mint sessions from your backend only
  • never expose machine access keys or secret keys in browser code

Use allowed_origins when you want tighter embed restrictions

allowed_origins lets you restrict where a given session may be embedded.

For production embeds, send allowed_origins explicitly.

Treat launch_url as bootstrap-only

  • use launch_url only for the initial iframe request
  • do not reuse an old launch_url after a hard iframe reload
  • do not treat launch_url as the runtime session credential

Send access_token only after meshes:ready

  • wait for meshes:ready
  • then send meshes:auth
  • send later refreshed tokens with another meshes:auth

Do not put runtime tokens in iframe URLs

Keep the runtime access_token out of:

  • query strings
  • browser history
  • analytics events
  • error traces
  • client-side logs

Scope sensitive reads explicitly

If you want embedded users to view event payloads, grant events.payload:read intentionally when you mint the session.

Related docs

  • Launch URL and Iframe Bootstrap
  • Session Roles and Scopes
  • Troubleshooting
  1. Keep management credentials on your backend
    1. Use allowed_origins when you want tighter embed restrictions
    2. Treat launch_url as bootstrap-only
    3. Send access_token only after meshes:ready
    4. Do not put runtime tokens in iframe URLs
    5. Scope sensitive reads explicitly
    6. Related docs