https://binero.com/
Point a domain whose DNS zone lives at Binero to your Webflow site, then keep form submissions and large files on Binero's OpenStack cloud in Sweden.
Webflow stores form submissions and CMS content in the United States. Nordic healthcare, public-sector and compliance teams often need that data handled only in Sweden. Custom code on a Webflow site can't run server-side languages such as PHP, so a PHP backend, or one that has to keep data in Sweden, needs a host outside Webflow. Binero runs that backend layer from a wholly owned data center in Vallentuna, Sweden.
Binero Cloud combines anycast DNS, S3-compatible object storage and OpenStack virtual instances in one Stockholm region. Point a Binero DNS zone at your Webflow site and serve video or large downloads from a public Binero container. Send form submissions to an endpoint on a Binero instance instead of to Webflow storage. Everything you route to Binero is processed in Sweden under Swedish law and GDPR. Design and content editing stay in Webflow.
With Binero, agencies keep client DNS zones at one Swedish provider. Developers run a Binero-hosted API behind a Webflow front end. Routing forms to Binero lets compliance owners at healthcare and public-sector organizations keep form data out of US storage. Nordic SaaS teams who already run on Binero add a Webflow marketing site without moving infrastructure.
How to integrate Binero with Webflow
What is Binero? Binero is a Swedish provider of OpenStack-based cloud infrastructure, DNS hosting and S3-compatible object storage. Its public cloud, Binero Cloud, runs on OpenStack from a single region, europe-se-1, with two availability zones in Stockholm. Services include virtual instances, S3 and Swift object storage, DNS, load balancing, and MySQL or MariaDB installs from a service catalog.

Content in the Webflow CMS and form submissions stored on your site are held in the United States. Anything you route to Binero stays in Sweden.
The Binero-Webflow integration supports three approaches:
- Binero DNS points a domain whose zone you manage on Binero at your Webflow site without writing code.
- Code Embed and custom code let you load video, downloads and scripts from a public Binero object-storage container.
- Server-side development with the Webflow and Binero APIs gives you full control over form routing, CMS sync and asset mirroring.
The methods and examples in this guide are general patterns based on separate Webflow and Binero documentation, not documented joint customer deployments. You can combine two or more methods depending on the setup's complexity.
Point a Binero DNS zone at Webflow
Binero hosts DNS zones on name servers run by Netnod and does not register domains. You register the domain elsewhere, delegate it to Binero, then add the Webflow records inside the zone. You need a paid Site plan for each site connected to a custom domain. Agencies that already keep client zones on Binero can use this method to hold DNS at one Swedish provider. The Binero DNS guide covers the zone mechanics, and Webflow's guide to manually connecting a custom domain, linked as this page's tutorial, lists the record values.
To set up the integration:
- Go to Site settings > Publishing > Production and click Add a custom domain. Choose Manually add domain, enter the domain, and click Add domain.
- In the Binero cloud portal, press DNS and then DNS zones in the sidebar menu, click the plus icon, enter the domain and a notification email. Leave the optional IP-address field blank: Binero uses it to point
wwwat an address, and Webflow needswwwas a CNAME. - Open the zone, click the small plus icon for each new record, and copy the values Webflow shows under Site settings > Publishing > Production: an A record for the root pointing to
198.202.211.1, a CNAME forwwwpointing tocdn.webflow.com, and a TXT record at_webflowwith theone-time-verification=value. Binero names root records with the domain followed by a dot, such asyourdomain.com., rather than@. Click Save all changes. - At your registrar, change the name servers to
ns.binero.eu,ns.binero.seandns.binero.com. Do this last, once the Binero zone holds every record the domain already uses. - Back in Webflow, click Check status, then Verify domain. When the status reads "Custom domain verified", click Publish. Select the domains and click Publish to selected domains.
A few DNS details decide whether the site publishes and gets a certificate.
- Set
wwwas the default domain. A root default without DNS adjustment can cause redirect loops. - If the zone uses CAA records, add
0 issue "letsencrypt.org"and0 issue "pki.goog; cansignhttpexchanges=yes"so Webflow can issue and renew SSL certificates (CAA records). Without CAA records, Webflow manages SSL certificates for the domain automatically. - Remove any other A record on the root and any other CNAME on
www. Extra root A records conflict with Webflow's, and each connected subdomain needs exactly one CNAME (DNS troubleshooting). - Replace legacy values on sites created before April 21, 2025. The two A records
75.2.70.75and99.83.190.102become one A record,198.202.211.1, and thewwwCNAMEproxy-ssl.webflow.combecomescdn.webflow.com. Since January 13, 2026, you can't publish to a domain that still points at legacy records (DNS migration). - Keep your email records. Webflow doesn't host email, and you can keep your current email service's MX records (hosting overview). Binero's guide has you add records such as MX to the zone before you change name servers, so copy MX and any email TXT records, such as SPF, from your current DNS host first.
DNS changes can take up to 48 hours to propagate, although this typically happens within a few hours. You can also edit the zone in OpenStack Horizon: under Project, click DNS > Zones, open the zone, then use Record sets > Create record set. Horizon requires a Binero API user, not the main account user.
Load files from Binero object storage with Code Embed
The Assets panel accepts images up to 4MB and documents or audio up to 10MB, and the Video element only takes YouTube and Vimeo links. Binero object storage takes single uploads up to 5 GB and uses multipart uploads above that (known limitations). A public container serves objects to anyone with the URL. Binero's own docs call a public container "good for when using the object storage as a CDN for example". Reference those objects from a Code Embed element or from site-wide custom code in the head or body. Both need a Core, Growth, Agency or Freelancer Workspace, or an active Site plan.
Create a public container on Binero
Both Binero portals create only un-replicated containers in europe-se-1a. You pick the storage policy at creation and cannot change it later. The default, gp.recurring, suits large and frequently requested objects such as website video or audio (storage policy).
To create the container:
- In the cloud portal, press Storage and then Object storage in the sidebar menu, click the plus icon, name the container, pick a storage policy, tick public, and click Create (getting started).
- Create S3 keys with
openstack ec2 credentials createin the terminal client. Binero documents no portal path for this step (S3 docs). - Test access with
aws --endpoint=https://object-eu-se-1a.binero.cloud s3api list-buckets, then upload your files with the same S3 client.
Binero warns that "Setting your container as public means anybody with a correct URL can access your data without any authentication!", so keep private files in a separate container. The EC2 credential can also reach the rest of the cloud platform, which is a second reason to guard it.
Embed a Binero-hosted video or download in Webflow
With a public container in place, the Webflow side is a few lines of HTML. To embed externally hosted video, use a custom element. Third-party content generally does not count toward site bandwidth (bandwidth overview).
To add the file:
- Add a Code Embed element to the page and paste a
<video src="https://object-eu-se-1a.binero.cloud/…">tag or an<a href="…">download link pointing at the object. Binero does not document a public-object URL format, so confirm the object URL with Binero before embedding. Each embed holds up to 50,000 characters of HTML, CSS or JS. - For a script used on every page, go to Site settings > Custom code, paste
<script src="https://object-eu-se-1a.binero.cloud/…" defer></script>in the Head section, and click Save changes. Head and Footer fields take 50,000 characters each. - Publish the site.
Images added only through custom code are not restored to the Assets panel on publish. Binero's object-storage docs do not describe CORS, so scripts that fetch objects with JavaScript rather than through a src attribute need testing before launch.
Build with the Webflow and Binero APIs
Binero's documentation covers standard OpenStack service APIs plus S3 and Swift. It lists no job scheduler, serverless function, webhook or Webflow-specific endpoint. That means the Binero half of any API integration is a virtual instance you run yourself. The instance receives Webflow webhooks or calls the Data API, and stores results in Binero object storage or in a MySQL or MariaDB instance from Binero's service catalog. You need a Binero API user (a native Keystone user) and a Webflow site token or Data Client. This path is for developers. The main Binero account user cannot use Horizon, the terminal client or the API.
The relevant APIs are:
- Binero's OpenStack API handles compute (Nova at
https://api-eu-se-1.binero.cloud:8774/v2.1), DNS (Designate athttps://api-eu-se-1.binero.cloud:9001) and identity (Keystone athttps://auth.binero.cloud:5000) - Binero's S3 endpoints handle object storage at
https://object-eu-se-1a.binero.cloud, with-repvariants for replicated buckets - Webflow's Data API handles CMS collections and form submissions
- Webflow webhooks trigger real-time events between systems
Generate a site token under Site settings > Apps & integrations > API access. Only site administrators can create one, each site allows up to five, and tokens expire after 365 days of inactivity (site token).
Receive form submissions on a Binero instance
Two form features send data to an external URL. The per-form custom action POSTs or GETs to your endpoint, and submissions then "won’t be sent to or stored in Webflow". It cannot be combined with Webflow or Email notifications (forms overview). The form_submission webhook also POSTs each submission, with retries. Use the custom action when submissions must not be stored on Webflow.
To build the receiver:
- In the Binero cloud portal, go to Access and security > API users, click the plus icon, set a username and password, and click Create. Click the arrow icon on the API user to download its openrc file, then run
source openrc(terminal client). - Create an SSH key, network, subnet, router and router interface, then launch an instance. Attach a public address with
openstack floating ip create [NETWORK NAME]. Then runopenstack server add floating ip --fixed-ip-address [INTERNAL IP] [INSTANCE NAME] [FLOATING IP](floating IPs). - Open port 443:
openstack security group rule create --protocol tcp --dst-port 443 …, thenopenstack server add security group [INSTANCE NAME] [GROUP NAME]. - For Swedish-only storage, select the form and open the Settings panel. Remove Webflow and Email notifications under Send to, click the add icon next to Send to, select Custom action, enter your Binero endpoint URL, choose POST, click Save, and publish.
- To keep a copy in Webflow and use email notifications, register a webhook instead:
POST https://api.webflow.com/v2/sites/{site_id}/webhooks(scopesites:write) with bodytriggerType: form_submission,url, and optionalfilter.nameto limit it to one form (create webhook). - For the webhook path only, validate
x-webflow-signaturein your handler: it is a SHA-256 HMAC overtimestamp + ":" + JSON.stringify(request_body). Reject requests older than 5 minutes and return200. Thepayloadcarriesname,siteId,data,schema,submittedAt,id,formIdandformElementId.
Any status other than 200 triggers up to three retries at 10-minute intervals. Webhooks created in the dashboard under Site settings > Apps & integrations > Webhooks lack the headers needed to validate signatures, so create them through the API when you need verification.
Sync CMS content from a Binero-hosted backend
A job on a Binero instance can push product, pricing or article data into CMS collections. Reads for live serving go through the Content Delivery API at https://api-cdn.webflow.com/v2, which caches responses for 120 seconds on Enterprise plans and 300 seconds elsewhere (content delivery). Writes go through the Data API.
To run the sync:
- Call
GET /v2/sites/{site_id}/collections(cms:read) to find collection IDs. - Create items with
POST /v2/collections/{collection_id}/items/bulk(CMS:write), up to 100 per request. EachfieldDataobject needsnameandslug. WithoutcmsLocaleIds, items land only in the primary locale (POST /items/bulk). Webflow still supports this endpoint and recommends its newer Create Items endpoint for new integrations. - Update with
PATCH /v2/collections/{collection_id}/items, then publish withPOST /v2/collections/{collection_id}/items/publish(publish items). To skip staging, usePOST /v2/collections/{collection_id}/items/live. - Replace polling with webhooks for
collection_item_created,collection_item_changed,collection_item_deleted,collection_item_publishedandcollection_item_unpublished.
Since July 7, 2025, setting isDraft: true on a live item no longer unpublishes it; use DELETE /v2/collections/{collection_id}/items/live instead (changelog). Binero documents no general job scheduler (its service catalog schedules only snapshots and backups), so the job runs on a scheduler inside your instance, such as cron.
Mirror Webflow assets to Binero S3
Keeping a copy of site assets in Sweden is a backup and audit pattern. It needs a site token with assets:read and Binero EC2 credentials. The asset endpoints list what is on the CDN. An S3 client writes the copies to Binero.
To mirror the files:
- Call
GET /v2/sites/{site_id}/assets(assets:read), optionally scoped to a folder, andGET /v2/sites/{site_id}/asset_foldersfor structure (list assets). - Create a bucket from the CLI:
aws --endpoint=[ENDPOINT_URL] s3api create-bucket --bucket [BUCKET_NAME] --create-bucket-configuration LocationConstraint=[LOCAL_CONSTRAINT]:[STORAGE_POLICY_NAME], where[LOCAL_CONSTRAINT]iseurope-se-1oreurope-se-1-rep. Replicated buckets can only be created this way (replication). - Copy each file. Objects over 5 GB need multipart upload, and replication normally completes within 15 minutes.
The reverse direction starts with POST /v2/sites/{site_id}/assets, which needs fileName (under 100 characters) and an MD5 fileHash and returns uploadUrl and uploadDetails for the upload step (upload asset). Each asset in the List Assets response carries a hostedUrl, the file your copy job downloads.
What you can build with the Binero Webflow integration
Each of these builds uses one or more of the methods above.
- Patient or citizen intake forms with Swedish-only storage: A clinic's referral form on Webflow uses a custom action to POST to a Binero instance, which writes to a MySQL or MariaDB database on Binero. No submission is stored on Webflow.
- Video-heavy landing pages: A product demo page embeds 200MB demo videos from a public
gp.recurringcontainer through Code Embed, because the Video element only takes YouTube and Vimeo links. - Headless catalog behind a Webflow front end: A Binero-hosted inventory system pushes SKUs with bulk Create Items and shows them in a Collection List, with
collection_item_changedwebhooks flowing edits back. - Agency DNS on one Nordic provider: An agency runs every client's zone in Binero, each with the
198.202.211.1A record andcdn.webflow.comCNAME, and manages record sets through Designate athttps://api-eu-se-1.binero.cloud:9001.
To start on the CMS sync, read our CMS API guide.
Frequently asked questions
No. Published Webflow sites run on Webflow hosting, and Binero compute is virtual machines with no Webflow-specific procedure. Paid Workspace plans can export code as static HTML, CSS, JS and assets for a Binero instance. The export drops the CMS, Ecommerce, localization and password protection. Forms and site search stop working. Keep the site on Webflow hosting and put the backend, DNS or storage on Binero.
No. No Binero app is listed in the Webflow Marketplace. To connect the two, use a form custom action, a webhook or the Data API, covered in the API section above.
Only the data you route away from Webflow. Submissions you store under Site settings > Forms are held in the United States, under the EU-U.S. DPF, EU SCCs and the DPA available to all plans. Switching a form to a custom action sends submissions to your Binero endpoint and nothing is stored in Webflow. Binero then processes that data exclusively in Sweden under Swedish law and GDPR (cloud services).
No. Assets panel uploads go to the Webflow CDN, and no setting points the panel at an external bucket (Assets panel). Files on Binero enter a page through Code Embed, custom code or an Open Graph image URL, which accepts any "publicly accessible link to an image file" (Open Graph).
Use a Binero API user. The main user can log in to the Account and Cloud portals but cannot use Horizon, the terminal client or the OpenStack API. Create the API user in the cloud portal under Access and security > API users, then create Application Credentials in Horizon under Identity > Application Credentials with the Unrestricted box unticked (users guide). The secret is shown once, and S3 keys come separately from
openstack ec2 credentials create.
Description
Binero is a Swedish cloud provider that hosts DNS zones but does not register domains. Point a Binero zone at your Webflow site with Webflow's DNS records, and send form submissions or large files to Binero's OpenStack cloud when the data has to stay in Sweden.
This integration page is provided for informational and convenience purposes only.
DreamHost
Connect DreamHost with Webflow to publish a Webflow site on a DreamHost-registered domain while email stays at DreamHost.
DNSimple
Connect DNSimple with Webflow to point custom domains at your site and automate DNS management across client projects.

DNS Made Easy — CNAME flattening
Set your root domain as the default domain by setting an ANAME record for your DNS Made Easy domain

DNSimple — CNAME flattening
Set your root domain as the default domain by setting an ALIAS record for your DNSimple domain
CrazyDomains
Connect CrazyDomains with Webflow to point your registered domain at Webflow's hosting through manual DNS configuration.
DNS Made Easy
Connect DNS Made Easy with Webflow to configure custom domain DNS records for production-ready hosting with automatic SSL.

ClouDNS — CNAME flattening
ClouDNS calls its apex ALIAS record CNAME flattening. Compare it against the A record Webflow documents for the root domain, and see where ClouDNS says flattening does not fit.

ClouDNS
Connect ClouDNS with Webflow to point a ClouDNS-managed domain at your Webflow site and add DNS failover for eligible A/AAAA records, DNSSEC, and API-driven record management.
Cloudflare
Connect Cloudflare with Webflow to manage DNS, add security layers, and run server-side logic at the edge for your Webflow site.


