Pro · Lesson 7 of 9

Sharing and embedding

Signed-in sharing, public links, and embedding move the same rows to different audiences.

Sign in to save your place.

Picture it this way

Sharing with a signed-in colleague is handing them a key to a room they are allowed to enter. A public link is leaving the door open and posting the address. Embedding is putting one window of that room inside another building. The window still shows real rows.

Three ways out of Metabase

A collection share lets another Metabase user open the question or dashboard. Their group permissions still apply. This is the default you want inside a company.

A public link and a public embed have no login. Anyone with the URL can see the result. Turn public sharing off unless the data is already public. If you enable it for one chart, check the filters. A public dashboard filter can let a stranger pivot into columns you did not mean to publish.

Signed embedding puts a chart in your own application. Your server signs a token with the embedding secret. The browser receives the token. It must not receive the secret. Interactive embedding and the embedded analytics SDK, which let people explore inside your product, are paid features. Confirm the plan before you promise them.

MethodWho can open itSecret involved
Collection permissionSigned-in people in the right groupTheir Metabase login
Public linkAnyone with the URLNone. That is the risk
Static embedWhoever your app gives a tokenEmbedding secret stays on the server
Interactive embed or SDKPeople in your app, with more explorationPaid plan, plus the signing secret

Lock the filters you do not want changed

An embed can pass parameters, such as a customer id, and lock them so the viewer cannot switch to another customer. If you leave the parameter editable, the chart is only as private as the viewer's curiosity. Test with a token for customer A and confirm customer B's rows do not appear.

# The shape of a signed embed. Sign this on the server.
# Never put METABASE_EMBEDDING_SECRET in frontend code.
# payload: resource dashboard id, params, expiry

Public links ignore the login

Row-level sandboxes and collection permissions do not protect a public URL. If the chart must stay inside the company, do not publish it.

How a reader gets in

Three doors, each with a different level of control over who can see what.

  1. Signed-in userGroup permissions apply
  2. Public linkAnyone with the URL
  3. Embedded chartInside your own app

Step 1 of 3People who sign in see only the collections and data their groups allow.

Admin → People → add to group ‘Sales’

Practice

List one question that is safe to show a signed-in colleague and one that must never have a public link. If you enable embedding in a trial, create the token on a server you control and set an expiry. Then disable public sharing again if you turned it on to look.

Knowledge check

What does a public link require from the viewer?

Where does the embedding secret belong?

What should you do with a customer id in an embed?

Official sources

Checked against vendor documentation in October 2026. Screens and plan names still change, so confirm the control in your own instance.