How to share dashboards outside your company securely
Max Musing
Max MusingFounder and CEO of Basedash · June 12, 2026

Max Musing
Max MusingFounder and CEO of Basedash · June 12, 2026

Sharing a dashboard inside your company is easy: everyone is behind the same login, and your BI tool already knows who they are. Sharing with someone outside your company is a different problem. A client, an investor, a partner, or a contractor needs to see specific numbers, but they do not have an account, you do not want them to see anyone else’s data, and you cannot leak the whole dataset to the open internet.
This guide is for operators, analysts, and engineers who need to get a dashboard in front of an external viewer without creating a security incident. It covers the five common sharing methods, the security tradeoffs of each, a decision matrix for picking one, and the controls you should put in place before you send anything.
External sharing breaks down into two questions that people often conflate:
A safe external share gets both right. The most common mistakes come from solving authentication (a hard-to-guess link) and assuming it also solved authorization (it did not, because the link still returns the full dataset).
A public or “shareable” link renders a dashboard to anyone who opens it, with no login. Most BI tools support this. Metabase calls them public links, and Power BI’s equivalent is Publish to web.
Public links are the fastest option and the riskiest. The data behind the link is effectively public. Microsoft’s own documentation warns that Publish to web exposes the report and its data to “anyone on the internet” with no authentication, and that you should never use it for confidential information. Search engines can index these URLs, and the link works until you revoke it.
Use public links only for data that could appear on your homepage without consequence.
A step up from a raw public link is a link with a secret token that you can expire, password-protect, or scope. The viewer still does not log in, but the link can be set to die after a date, require a passphrase, or carry a parameter that filters the data to one account.
This is the sweet spot for one-off shares with people you do not want to onboard: a single client report, a metric snapshot for a partner, a board figure for an advisor. The security depends entirely on whether the token also constrains the query. A link that expires but still returns every customer’s data is not safe.
Here the viewer gets a real, limited account: an email invite, a magic link, or an SSO login through their own identity provider. The BI tool knows who they are on every request, which means you can apply row-level security so each guest sees only their slice, log their access, and revoke them individually.
Guest accounts are the right default for ongoing relationships: a client who checks their numbers weekly, a vendor with a standing report, a fractional exec. They cost a little setup but give you identity, scoping, and an audit trail.
Embedding puts the dashboard inside an application you control, usually your own product or a customer portal. Your app authenticates the user, then passes a signed token to the BI tool that says who they are and what they can see. The viewer never touches the BI tool directly.
Embedding is the most secure and the most work. It is the correct pattern when many external users each need their own scoped view at scale, for example customer-facing analytics inside a SaaS product. The hard part is data isolation, which we cover in detail in multi-tenant analytics architecture and the embedded analytics for SaaS guide.
Sometimes the safest share is not a live dashboard at all. A PDF, a PNG, or a scheduled email digest sends a snapshot with no live connection to your data. The viewer cannot drill into anything you did not put in the export, and there is no URL to leak or query to abuse.
Exports are ideal for board packs, investor updates, and client recaps where the numbers are a point-in-time story rather than a tool to explore. The tradeoff is that the data is stale the moment it is sent, and a forwarded PDF is impossible to revoke.
Match the method to the audience and the sensitivity of the data, not to whatever is fastest.
| Method | Login required | Data scoping | Revocable | Audit trail | Best for |
|---|---|---|---|---|---|
| Public link | No | None (full result) | Yes (kills link) | No | Truly public metrics, marketing stats |
| Tokenized / expiring link | No | Only if parameterized | Yes | Limited | One-off client or partner snapshots |
| Guest account | Yes | Row-level per user | Per user | Yes | Ongoing client and vendor reporting |
| Embedded | Yes (via your app) | Row-level per tenant | Per user | Yes | Customer-facing analytics at scale |
| Static export | No | Whatever you include | No (already sent) | Send log only | Board decks, investor updates |
A simple way to choose:
The single most important control for external sharing is making sure the query only returns the rows that viewer is allowed to see. There are three common ways tools enforce this:
account_id=42, and the server applies it before running the query. The viewer cannot change it because the parameter is signed. This is what makes a tokenized link safe.If a sharing method cannot do at least one of these, treat it as “shows everything” and only use it for data that is safe to show everyone.
Run through this before any external share goes out:
noindex or use a tool that blocks crawlers on shared links so reports do not show up in Google.Live access is not always the right call. Send a static export instead when:
A point-in-time PDF you can stand behind often beats a live link you have to monitor.
Basedash is an AI-native BI tool that connects directly to your production database or warehouse, so external sharing is part of the same workflow as building the dashboard. You can share a view with a tokenized link, invite an external viewer as a scoped guest, or embed a dashboard into your own product with a signed token that enforces row-level isolation per tenant. Because non-technical teammates can ask follow-up questions in natural language, a client or partner can explore their scoped data without anyone writing new SQL. For teams that want to put analytics directly in front of customers, Basedash embedding handles the authentication and per-tenant scoping described above.
The general rule holds regardless of tool: pick the lightest method that gets both authentication and authorization right for that specific audience.
Are public dashboard links safe to use? Only for data you would publish openly. A public link has no authentication and usually returns the full query result, so anyone with the URL sees everything. Microsoft and Metabase both document this behavior explicitly. For anything confidential, use a scoped link, a guest account, or embedding.
How do I share a dashboard with someone who does not have an account? Use a tokenized link with an expiry and, critically, a parameter that filters the data to that viewer. The viewer opens it in a browser with no login, but only sees the rows the signed token allows.
What is the safest way to give a client ongoing access to their data? A guest account with row-level security. The tool authenticates the client on every request and a policy limits them to their own rows, which gives you per-user revocation and an audit trail.
How do I stop a shared dashboard from showing up in Google?
Use a tool that blocks crawlers on shared links or applies a noindex directive, and prefer authenticated access over public links. Public links can be discovered and indexed if the URL leaks.
Should investors get a live dashboard or a PDF? For most updates, a static export is cleaner. It freezes the numbers as of the reporting date and cannot be abused as a live query. Reserve live access for investors who genuinely want to explore, and scope it with a guest account.
Can external viewers see data I did not intend to share? Yes, if you are not careful. Drill-throughs, tooltips, “view underlying data” options, and CSV export can all expose fields beyond the chart. Disable what you do not need and test every reachable path before sharing.
Written by
Founder and CEO of Basedash
Max Musing is the founder and CEO of Basedash, an AI-native business intelligence platform designed to help teams explore analytics and build dashboards without writing SQL. His work focuses on applying large language models to structured data systems, improving query reliability, and building governed analytics workflows for production environments.
Basedash lets you build charts, dashboards, and reports in seconds using all your data.