What it connects to

Everything the theme talks to.

A theme is files in your portal, so most of what it needs is already in HubSpot. The rest is a short list: typefaces, an icon set, maps and one script. This page names each one, where it loads from, whether it wants a key of yours, and whether you can switch it off.

Open the documentation
Through HubSpot

What a site on this theme can already talk to.

None of these is something we built or a company we have an arrangement with. They connect to HubSpot through its own app marketplace, and a site built on this theme is a HubSpot site, so it inherits every one of them on the day it goes live.

HubSpot
Salesforce
Slack
Zapier
Stripe
Shopify
Mailchimp
Segment
Snowflake
Xero
QuickBooks
Notion
hub

The CRM behind the forms

Every form on a theme page writes to a HubSpot contact record. Salesforce sync is a HubSpot app, so that record can carry on into a CRM you already run.

bolt

Moving a submission somewhere else

Zapier picks up a HubSpot form submission and puts it wherever the rest of your process lives. Nothing about that touches the theme.

payments

Taking money and reconciling it

Stripe, Shopify, Xero and QuickBooks all have HubSpot apps. A pricing page built from the theme links out to whichever of them takes the payment.

insights

Where the data ends up

Segment and Snowflake read from HubSpot rather than from the page, so what a theme page has to do is emit a clean submission and get out of the way.

Inside HubSpot

The parts that were already there.

These use the native HubSpot tags rather than anything of ours, so the data stays where your portal keeps it and nothing new has to be connected.

contact_mail

Forms

The hero banner, the modal and the navigation each take a form field, and each renders it with the native HubSpot form tag. You pick a form that already exists in the portal. The submission goes to HubSpot and lands on the contact record the same way it would anywhere else. The theme stores nothing.

search

Site search

The header carries the HubSpot search input. The blog hero and the navigation emit the same hs-search-field markup and post to the results page. The suggestion list under the blog search reads the same-origin index at /_hcms/search rather than an outside service.

menu

Menus

The navigation module takes a menu field, so the links come from the navigation tool in your portal settings. Editing the menu there changes the header on every page, because the header is a global partial.

article

The blog

Blog listing and post templates read your blog, and the recent posts module calls the HubSpot function for it with a blog and an author to filter on. Nothing is mirrored or cached outside the portal.

The question
Typefaces Google Fonts
Icons The library you select
Maps Tiles and address lookup
What the request is for info
The families the preset asks for
The glyph set the icons are drawn from
The map tiles and the address lookup behind a map
Where it loads from info
fonts.googleapis.com and fonts.gstatic.com
The CDN of the library you picked
OpenStreetMap unless you switch the tile source
Needs a key of yours info
Not included
Not included
Only for Google Maps MapTiler or Carto
Where you change it
The preset. Custom takes the family you type
Theme settings under the icon font choice
The fields on the map module
Can you switch it off info
Not from a setting. It is a link in the layout
No. Material Symbols is requested either way
Yes. A page with no map module makes no map request
What happens if it is blocked info
The fallback stack in the token renders instead
Icons appear as their ligature text after a short guard
The map area stays empty
Any of your data sent info
Not included
Not included
The address typed into the store locator search box
Typefaces Google Fonts
  • What the request is for The families the preset asks for
  • Where it loads from fonts.googleapis.com and fonts.gstatic.com
  • Needs a key of yours
  • Where you change it The preset. Custom takes the family you type
  • Can you switch it off Not from a setting. It is a link in the layout
  • What happens if it is blocked The fallback stack in the token renders instead
  • Any of your data sent
Icons The library you select
  • What the request is for The glyph set the icons are drawn from
  • Where it loads from The CDN of the library you picked
  • Needs a key of yours
  • Where you change it Theme settings under the icon font choice
  • Can you switch it off No. Material Symbols is requested either way
  • What happens if it is blocked Icons appear as their ligature text after a short guard
  • Any of your data sent
Maps Tiles and address lookup
  • What the request is for The map tiles and the address lookup behind a map
  • Where it loads from OpenStreetMap unless you switch the tile source
  • Needs a key of yours Only for Google Maps MapTiler or Carto
  • Where you change it The fields on the map module
  • Can you switch it off Yes. A page with no map module makes no map request
  • What happens if it is blocked The map area stays empty
  • Any of your data sent The address typed into the store locator search box

If your policy forbids requests to hosts you do not control, the fonts and the icon set are the two to deal with, and both are links in one layout file.

Embeds

An embed is a field, not a file you edit.

Paste the URL into the module and the markup is written for you. The same goes for a map, a form and a script tag that has to run on one page and nowhere else.

A video library page with a dark hero and a grid of thumbnails
The icon setting

One field decides where the glyphs come from.

Modules name an icon and the icon partial draws it in whichever library is selected, so switching library repaints every icon on the site without editing a module.

font_download

The ones that load a webfont

Material Symbols, Font Awesome, Phosphor, Bootstrap Icons, Remix Icon, Tabler and HugeIcons each pull a stylesheet from their own CDN. Phosphor loads two, because its outline and solid glyphs live in separate faces and a filled star needs the second one.

code

The one that loads a script

Lucide ships as a script that replaces placeholder elements after the page parses. The layout requests it with defer and calls its render function once the document is ready.

info

The two that quietly fall back

Heroicons and HubSpot Icons are not webfonts. The icon partial draws both of them as Material Symbols instead, so picking either changes nothing about what loads. Material Symbols is also requested alongside any other library, for modules that still name its glyphs directly.

Maps

Two ways to draw one.

Only the pages that carry a map module make either of these requests. The rest of the site never touches a mapping service.

map

Leaflet with OpenStreetMap

The default, and the one to reach for if you would rather not hold another credential. Leaflet is bundled in the theme folder and served from your own portal, and the tiles come from OpenStreetMap without a key. The optional MapTiler and Carto tile styles are the exception: those stamp a notice across the tiles until their own key is pasted into the field beside them.

vpn_key

Google Maps

The store locator and the map module both take a Google Maps API key. The account, the quota and the bill behind that key are yours. It needs a Google Cloud project with billing switched on and the Maps JavaScript API enabled, and the field help tells you to restrict the key to your domains first. Without a key this mode draws nothing.

The glyphs the module picker draws with

tabs icon
timeline icon
accordion icon
faqs icon
pricing cards icon
stats icon
team members icon
images gallery icon
comparison table icon
steps icon
video library icon
portfolio grid icon
feature grid icon
banner icon
footer icon
navigation icon
The rest of it

One script and one embed.

After the fonts, the icons and the maps, this is everything else that can reach outside the portal.

terminal

jQuery, and only when your portal is not already loading it

The layout checks the site setting first. If HubSpot is already including jQuery for the domain, the theme adds nothing. If it is not, the theme requests jQuery from code.jquery.com. Turning the portal setting on removes the outside request.

play_circle

YouTube and Vimeo, after a click

The video library and the hero banner take a video URL and build the embed from it. The frame is created when a visitor opens the video, so a page that nobody plays makes no request to either service.

inventory_2

Bundled in the folder, served by your portal

Leaflet, the carousel, the lightbox and the date helper all sit in the theme and load from your own domain. So do the stylesheets and the theme JavaScript. None of them is fetched from a CDN.

security

Nothing of ours runs anywhere

There is no account to create, no service to authorise and no key we issue. The theme has no server side, so there is nowhere for it to phone home to and no licence check at page load.

Yes. The font links sit in the layout, so replacing them with faces uploaded to your file manager is one edit in one file. The token that names the family stays as it is and the rest of the theme follows.

Not as shipped. Self-hosting the typefaces and the icon face gets you there, and both are links in the layout rather than anything buried in a module. If that is a requirement, budget an afternoon for it rather than assuming a setting covers it.

No. There is no analytics of ours, no licence ping and no error reporting. Whatever tracking runs on your pages is the tracking your portal is already configured to run.

Only the ones with a map module on them. The request is built when that module renders, so a page without one is silent whatever the theme settings say.

Only for the Google mode. The default draws with Leaflet on OpenStreetMap tiles and needs no key of any kind. Address search in that mode goes to the OpenStreetMap geocoder, which is also keyless.

Into HubSpot. Modules that show a form use the native form tag and the form you pick is one that already exists in your portal, so submissions reach the same contact records and workflows they always did. The theme styles the fields and does nothing else with them.

No. Modules store an icon name and the partial maps that name into whichever library is selected, with a per-library translation table for the ones that call things by different names. A glyph missing from a library falls back rather than rendering as raw text.

Before you buy

Ask about the one that worries you.

Send the constraint you are working under and we will tell you which file it lands in and how long the change takes. If the answer is that this theme does not suit you, that is the answer you get.

Check it in the browser you are reading this in This site runs the theme. Open the network panel and count the hosts.

  • font_download Typefaces from Google Fonts
  • category One icon face from the library in theme settings
  • map A map host only where a page carries a map
  • security Nothing of ours running anywhere

If a request on this list is one your policy will not allow, say so before you buy rather than after.