Skip to main content

Sharing Links

Plan Restriction

Sharing links are not available on the Free plan (see Plans Comparison).

A Sharing Link gives someone access to a dashboard (or a single report) without requiring them to have a Cluvio account. Sharing links are also the basis for embedded analytics. Depending on your plan, a sharing link can be restricted by IP address, protected by a password, set to auto-expire, configured to require a signed sharingSecret, and more.

A typical sharing link URL looks like this:

https://dashboards.cluvio.com/dashboards/jvre-px0w-p1z2/shared?sharingToken=1c1d9827-bbd6-4d08-af81-2f68baacd81d

Embedded in an iframe, the same link renders as:


Open the dashboard's Manage Sharing page from the dashboard actions menu (or from the dashboards overview list). The page opens on the Sharing tab, which lists every sharing link that already exists for the dashboard and offers an Add Sharing Link button.

image-700 image-700

The create page shows the parent dashboard at the top (thumbnail + name) and the full Settings panel so you can name the link, configure access controls, choose initial filter values, and so on before saving. Saving lands you on the new link's Info tab, ready to copy the URL.


Selecting a link opens its dedicated page. The page header shows the link's name, the parent dashboard (clickable for a quick-look popover), any drill-down restrictions, and feature badges summarising the link's configuration:

image-800 image-800

Below the header are five tabs:

TabWhat it's for
InfoGrab the link URL, embed code, and (when required) JWT generation snippets.
PreviewView the dashboard as a sharing-link viewer would see it.
Access ActivityChart of who has been accessing the link over time.
HistoryAudit log of changes made to the link.
SettingsConfigure the link's name, access controls, permissions, filters, drill-down restrictions.

Click Open Link in the header to open the link in a new tab as anyone with the URL would experience it.

The Info tab is the place to grab everything you need to share or embed the link.

Info tab Info tab

The full URL is displayed with syntax colouring so the structure stands out at a glance: the host and path in primary tones, parameter keys in blue, values in green, punctuation dimmed. Click Copy above the box to copy the URL to the clipboard.

If the link requires a sharingSecret (see Require Sharing Secret), the URL display includes a red <sharing_secret> placeholder where your application's generated JWT must be substituted before use. The placeholder is preserved when copying so it's hard to miss when you paste the URL into application code.

Embed Code

Below the URL you'll find an embed snippet ready to paste into your site's HTML, in two flavours:

  • iframe Element — just the <iframe> tag, with attributes on separate lines for readability.
  • Whole HTML — a complete minimal HTML document wrapping the iframe.

Switch between the two with the tab strip above the snippet. Each comes with its own Copy button.

Sharing Secret (JWT)

When the link requires a sharingSecret, the Info tab also includes a JWT generation section with ready-to-paste code snippets in seven languages (Node.js, Python, Ruby, PHP, Java, Go, Rust). Each snippet:

  • Has the link's URL pre-filled.
  • Loads the signing secret from a CLUVIO_EMBED_SECRET environment variable.
  • Includes a comment pointing at your organization's Embed Secret.

See Embedded Analytics for a deep dive on context-restricted dashboards, the JWT payload structure, and how to keep secrets short-lived.

Preview

The Preview tab embeds the link's destination in an iframe so you can verify how it'll look to a viewer.

Preview tab Preview tab

Use the controls above the preview to:

  • Switch Color Mode between Auto / Light / Dark to confirm the link looks right in both themes.
  • Toggle Expand Filters so the filter bar opens by default.
  • Toggle TV Mode to verify the layout when the link will be displayed full-screen.
  • Pick a Locale to preview the dashboard in another language. Selecting one appends the locale parameter to the preview (and to the Show URL value), so you can copy a language-pinned link. Default Locale (en-us) leaves the parameter off.
  • Toggle Show URL to overlay the current URL on the preview (useful when verifying URL-driven options).

Access Activity

If your plan includes access tracking, the Access Activity tab shows a chart of how often the link is being viewed.

Access Activity tab Access Activity tab

Use the range selector in the top-right to switch between presets. The available presets depend on your plan's access-tracking retention; long retention plans include All Time. The granularity adapts automatically: 30-minute presets show 1-minute buckets; long ranges show daily buckets.

History

The History tab is the audit log for the link itself — every change made to the link's name, description, access controls, filters, drill-down selection, etc.

History tab History tab

Expand any row to see the attribute-level changes (previous → new value).

The Settings tab is where every link option is configured. Edits are kept in the form until you click Save (or Cancel to discard). Leaving the tab with unsaved changes prompts you to confirm.

Settings tab Settings tab

General

  • Name — required. Used in the link page title, the dashboard's sharing-links card, and the audit log. Not shown to anyone visiting the link.
  • Description — optional, free-form notes for your team. Not shown to anyone visiting the link.

Appearance

  • Color Mode — Auto / Light / Dark. Determines the default theme of the embedded dashboard.
  • Show Toolbar — show the dashboard's toolbar (filter bar, refresh button, etc.) to link viewers. Turn off for a chrome-less embed.

Access Control

Each of the three access controls is gated by a toggle that hides its inputs when off:

Access Control Access Control

  • Restrict Access by IP Addresses — when on, only requests coming from the listed IPs (or CIDR ranges) can access the link. Use the inline add my IP link to insert your current public IP.

  • Protect access with a Password — when on, viewers must enter a password before the link loads. The input shows masked dots (●●●●●●) when an existing password is set; use Show to reveal it, Change to set a new one, Hide / Cancel to back out. Changing the password invalidates any existing viewer session.

  • Auto-expire the Sharing Link — when on, the link stops working after the configured date / time. Choose a preset (1 Hour / 1 Day / 1 Week / 1 Month) or pick a custom date and time. Once saved, the display shows the human-readable countdown alongside the absolute timestamp; click Change to revise.

  • Require Sharing Secret — when on, the link only works if a signed JWT is appended as the sharingSecret URL parameter. This is the foundation for context-restricted dashboards and short-lived links (see Embedded Analytics). The Info tab will automatically display JWT generation snippets when this option is on.

Permissions

Checkboxes controlling what link viewers are allowed to do:

  • Allow User to Download CSV/Excel — allow exporting report data from the dashboard or report actions menu.
  • Allow User to Refresh Data — allow re-running the dashboard's queries to load fresh data.
  • Allow User to Download Unlimited CSV — remove the row cap on CSV / Excel exports. This option only appears if the dashboard has at least one report with unlimited CSV enabled.

Filters

If the dashboard has any filters, this section lets you decide what filter state the link should start with.

Filters section Filters section

  • Allow User to Change Filters — when on, the link viewer can change filter values via the toolbar or URL parameters. When off, the link is non-interactive — the filter selections you configure below are fixed.

  • Interactive Toolbar (visible only when both Allow User to Change Filters and Show Toolbar are on) — show the filter controls in the toolbar so the viewer can adjust them.

  • Initial Filters / Applied Filters — choose between Dashboard Defaults and Custom:

    • Dashboard Defaults: the link uses whatever the dashboard's default filter values are at view time. If the dashboard's defaults change, the link reflects the change.
    • Custom: pick specific filter values to apply. With Allow User to Change Filters on, viewers see these as the initial values; with it off, these values are locked.

Drill-Down

If the dashboard has reports that drill down into other dashboards, this section appears.

Drill-Down section Drill-Down section

The list shows every dashboard a viewer of this link could potentially reach via drill-down. Check the ones you want to allow; leave unchecked any you want to hide.

For drill-down to work, Allow User to Change Filters must be on (the target dashboards are reached via URL parameters). For drill-downs from non-interactive sharing links, see Drill-Down for embedded dashboards.

Danger Zone

At the bottom of the Settings tab, Delete Sharing Link permanently removes the link. Anyone holding the URL will no longer be able to access the dashboard. The Danger Zone is hidden while you have unsaved changes — save or cancel first.


URL Parameters

The following URL parameters can be appended to any sharing link for ad-hoc customization of how the linked dashboard is rendered. Typically these are used in the context of embedding:

  • tvMode<=true|false|fullscreen>: When set to true (or with no value), the height of each report dynamically adjusts so the dashboard fits the screen height. When set to fullscreen, the effect is only applied when the page is viewed fullscreen / maximised. When not present or set to false, the dashboard is displayed as usual, with report heights honouring the dashboard layout configuration.

    image-800 image-800

    TV mode is ideal for dashboards displayed on a wall-mounted TV, making full use of the available screen real estate.

  • backgroundColor=<color>: Overrides the background color of the dashboard. The value is any hex color (without the leading #). (Example Link)

  • noBorder=<true|false>: If true, the border around individual report widgets is hidden. Defaults to false. (Example Link)

  • darkMode=<true|false|auto>: If true, the dashboard renders in dark mode; if auto, the mode follows the operating system setting. This URL parameter overrides the Color Mode set on the sharing link. (Example Link)

  • locale=<code>: Show the dashboard in a specific language. See Languages and Localization for the full list of codes and exactly what gets localized. (Example Link)

  • reportId=<id>: Show a single report from the shared dashboard, maximised. You can find a report's ID in the URL bar while editing it. (Example Link)

  • reportOnly=<true|false>: When reportId is set, reportOnly disables the link back to the full dashboard, so you can share or embed just a single report. (Example Link)

  • expandFilters[=true]: When present or set to true, the filter bar is expanded by default so viewers don't have to click to reveal it. No effect on non-interactive links. (Example Link)

  • preloadDashboard=<true|false>: When reportId is set, preloadDashboard controls whether the other reports on the dashboard are also loaded in the background. When true, the initial load may be slower but subsequent navigation between reports is faster. Defaults to false.

  • oneColumn=<true|false>: Disables the automatic switch to a single column layout below a configurable width (see oneColumnMinWidth). (Example Link)

  • oneColumnMinWidth=<number>: The pixel width below which the dashboard grid switches to single-column mode (default 768). (Example Link)

  • gridColumns=<number>: A number between 1 and 12 (inclusive) defining how many columns the grid uses. Defaults to 12. (Example Link)

  • hideLoadingIndicators=<true|false>: Hides the small per-report loading indicators in the top-right corner of each report. Useful for embedded dashboards with 1- or 2-minute refresh rates, where the indicators would otherwise be present most of the time.


Languages and Localization

Share one dashboard, in everyone's language. Append a locale parameter to a sharing link and the whole viewer experience renders in that language — handy for embedding the same dashboard across regional sites, or for sending a partner a link that opens in theirs.

What gets localized:

  • Date and time — format order, month and weekday names, and 12- vs 24-hour clocks.
  • Numbers — thousands separators and decimal marks (e.g. 1,234.56 vs 1.234,56), including the values shown in charts and tables.
  • Filter and toolbar labels, the time-range picker, and refresh controls.
  • Buttons and actions — download and export labels, paging, and the rest of Cluvio's interface text.
  • Empty and error states shown to the viewer.

What stays as you wrote it: your own content is never translated — report names and descriptions, and the query data itself, render exactly as authored. The interface is localized around your data, not the data.

When no locale is set, the link falls back to en-us. The Preview tab has a Locale picker that sets the parameter for you and reflects it in the Show URL value, so you can grab a language-pinned link in a couple of clicks.

Supported languages

LanguageCode
Chinese (Simplified)zh-cn
Chinese (Traditional)zh-tw
Czechcs
Danishda
Dutchnl
English (United States)en-us (default)
Finnishfi
Frenchfr
Germande
Greekel
Hindihi
Hungarianhu
Italianit
Japaneseja
Koreanko
Norwegianno
Polishpl
Portuguesept
Slovaksk
Spanishes
Swedishsv
Thaith
Turkishtr
Ukrainianuk
Vietnamesevi

Try the same dashboard in five languages:


Sharing Token

Every sharing link contains a sharingToken URL parameter — a random UUID generated from a cryptographically secure random source. The token uniquely identifies the link in Cluvio. While the token can't be guessed, anyone who obtains a sharing link has access to whatever the link is configured to expose.

Additional Security

To ensure the confidentiality of your sharing links, only share them with authorised recipients and use secure channels for distribution (secure messaging applications with end-to-end encryption and device authentication). To further harden access to a link:

  • Use Restrict Access by IP Addresses to limit access to a corporate network or known good IP ranges.
  • Set a strong Password on the link and share it on a separate channel.
  • Set an Expiration so the link automatically becomes inaccessible after a chosen date.
  • Delete links that are no longer needed (see Danger Zone).
  • For links used in embedding, enable Require Sharing Secret and generate short-lived sharingSecrets on the server side.