# Un-static: full documentation > Concatenated markdown of every Un-static doc, how-to, guide, FAQ, and key page. --- # Endpoints (forms) Source: https://un-static.com/docs/api/forms/ ## Retrieve all endpoints (forms) `GET https://forms.un-static.com/api/forms` **Headers** | Name | Type | Description | | --- | --- | --- | | Authentication | string | Don't forget to authenticate | ```json title="200" [ { "id": "786035271d01882e129295858656324d3e5110ee", "reference": "786035271d01882e129295858656324d3e5110ee", "title": "Contact form for YourDomain", "email": "you@yourdomain.com", "success_redirect": "https://yourdomain.com/contact-success/", "created": 1573136139 } ] ``` ## Retrieve one endpoint (form) `GET https://forms.un-static.com/api/forms/{reference}` **Headers** | Name | Type | Description | | --- | --- | --- | | Authentication | string | Don't forget to authenticate | ```json title="200" { "reference": "786035271d01882e129295858656324d3e5110ee", "title": "Contact form for YourDomain", "email": "you@yourdomain.com", "status": "active", "success_redirect": "https://yourdomain.com/contact-success/", "reply_to_field": "email", "recaptcha_mode": "default", "captcha_provider": "recaptcha", "captcha_site_key": "", "footer_enabled": true, "honeypot_field": "", "auto_response_enabled": true, "auto_response_subject": "Thanks for reaching out, {{name}}!", "auto_response_body": "Hi {{name}},\n\nThanks for reaching out. We will get back to you soon.", "auto_response_from_name": "YourDomain", "created": 1573136139, "last_posted": 1573222539, "post_count": 42, "last_passed": 1573222539, "post_passed": 40, "file_uploads_enabled": false } ``` A few fields worth calling out: - `recaptcha_mode`: whether captcha runs on Un-static's own keys (`default`), is turned off (`off`), or uses your own secret (`custom`). - `captcha_provider`: which vendor is used when captcha is on: `recaptcha`, `turnstile`, or `hcaptcha`. - `reply_to_field`: the name of the submitted field holding the visitor's e-mail address. This is the prerequisite for the auto-response below. - `auto_response_enabled`, `auto_response_subject`, `auto_response_body`, `auto_response_from_name`: the automatic confirmation e-mail sent back to whoever submits the form. See [Send an Auto-Response Confirmation Email to Form Submitters](/how-to/add-auto-response-confirmation-email/) for setup and placeholder behavior. - `file_uploads_enabled`: whether your account's plan allows file uploads on this form. `GET /api/forms/{reference}` returns a `404` when the reference does not exist, and a `403` with `{"error": "Unauthorized"}` when the form belongs to another account. ## Update an endpoint (form) `PUT https://forms.un-static.com/api/forms/{reference}` This is a partial update: only the keys present in the request body are changed, everything else is left as-is. ```json title="Request" { "reply_to_field": "email", "auto_response_enabled": true, "auto_response_subject": "Thanks for reaching out, {{name}}!", "auto_response_body": "Hi {{name}},\n\nThanks for reaching out. We will get back to you soon.", "auto_response_from_name": "YourDomain" } ``` **Accepted fields** | Name | Type | Description | | --- | --- | --- | | title | string | The form's display name. | | success_redirect | string | URL the visitor is redirected to after a successful submission. | | reply_to_field | string | Name of the submitted field holding the visitor's e-mail address; also the prerequisite for the auto-response. | | honeypot_field | string | Name of the honeypot field used for spam filtering. | | footer_enabled | bool | Whether the Un-static branding footer is included in the notification e-mail you receive for each submission. | | captcha_provider | string | One of `off`, `recaptcha`, `turnstile`, `hcaptcha`. | | recaptcha_secret | string | `"off"` disables captcha. `""` (empty string) switches to Un-static's own keys. Any other value sets your own secret. Setting a secret on a captcha-disabled form re-enables captcha, defaulting to the `recaptcha` provider unless `captcha_provider` is sent in the same request. | | captcha_site_key | string | Max 255 characters; letters, digits, dots, dashes, and underscores only. Only valid together with your own captcha secret; returns a `422` otherwise. | | auto_response_enabled | bool | Whether the auto-response e-mail is sent to submitters. | | auto_response_subject | string | Max 200 characters. Accepts `{{field}}` placeholders. | | auto_response_body | string | Max 5000 characters, plain text. Accepts `{{field}}` placeholders. | | auto_response_from_name | string | Max 60 characters. The sender name shown to the visitor; the mail itself is always sent from `forms@un-static.com`. | ```json title="200" { "reference": "786035271d01882e129295858656324d3e5110ee", "title": "Contact form for YourDomain", "status": "active", "success_redirect": "https://yourdomain.com/contact-success/", "reply_to_field": "email", "recaptcha_mode": "default", "captcha_provider": "recaptcha", "captcha_site_key": "", "footer_enabled": true, "honeypot_field": "", "auto_response_enabled": true, "auto_response_subject": "Thanks for reaching out, {{name}}!", "auto_response_body": "Hi {{name}},\n\nThanks for reaching out. We will get back to you soon.", "auto_response_from_name": "YourDomain" } ``` ```json title="422" { "error": "validation_failed", "fields": { "captcha_site_key": "requires your own captcha secret (recaptcha_secret)" } } ``` `PUT /api/forms/{reference}` returns the same `404` and `403` shapes as the GET endpoint above. --- # Authentication Source: https://un-static.com/docs/api/authentication/ ## **API Token** Before you can use our API, it is necessary to get the API token. This can be found under **API**. You can generate as many API tokens as you need. At the point where you find your token, you can also activate or deactivate the API. ![Block that shows API key settings](/assets/api/api-token-management.png) ## **Authenticating** You can authenticate against our API using a Bearer header. ### **Header** You can use your token to authenticate against our API with the Authorization header using Bearer, like this: ```sh $ curl https://forms.un-static.com/api/me \ -H 'Authorization: Bearer 42b8680515cae04cf57a82a82385e6975c2c236f1ddbe168f6c33b40' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' ``` --- # Introduction Source: https://un-static.com/docs/api/introduction/ You can use our API to programmatically create form endpoints, retrieve them, and manage their properties. Anything you can do from your dashboard, you can do over the API. ## **API endpoints** Our endpoints can be reached at **[https://forms.un-static.com/api/](https://forms.un-static.com/api/)**. Our API is largely based on the REST standard. This means concretely: - `GET` for retrieving a list of data or a single resource - `POST` for creating new resources - `PUT` for updating existing resources - `DELETE` for deleting existing resources ## **Response** Every single response you get from our API is JSON formatted. Here is how a response might look when you call the `/api/forms` endpoint to list all your form endpoints. ```json [ { "id": "786035271d01882e129295858656324d3e5110ee", "reference": "786035271d01882e129295858656324d3e5110ee", "title": "Contact form for YourDomain", "email": "you@yourdomain.com", "success_redirect": "https://yourdomain.com/contact-success/", "created": 1573136139 } ] ``` --- # Add an AJAX Contact Form to Your Site Source: https://un-static.com/how-to/add-ajax-contact-form/ ## **jQuery ajax contact forms** In this guide we’ll help you to integrate an Un-static form endpoint into your site, without using a standard HTML form submit. These is not that much difference in using our endpoints with **[jQuery’s ajax()](https://api.jquery.com/jquery.ajax/)** contact forms. The most important part is that you will **have** to link your form to an account, as you’ll need to either provide your own Google reCAPTCHA secret or choose (the less secure) option to disable Spam Checking on our side. ## **Why use jQuery enabled forms?** There are lot’s of reasons to use Javascript and jQuery.ajax() powered forms on sites. AJAX forms (or javascript based forms) are more common in sites that use a Javascript framework to handle interaction. While this is less often used on static sites, Un-static Forms are of course not limited to just static sites. So we support form submissions using jQuery.ajax() and others as well. ## **Steps to use AJAX contact forms** In essence there is not much difference between jQuery.ajax() enabled forms and regular forms, from the perspective of Un-static form endpoints. The big exception being the different form endpoint you need to use. For the rest they are similar to submissions that HTML forms do, as long as you handle the Google reCAPTCHA directly on your own site. Let’s walk through the steps to use your Un-static form endpoint on your site from a jQuery.ajax() call: **Step 1.** Make sure your form has reCAPTCHA hosting enabled. If you did not set that up yet, **[first set up reCAPTCHA hosting](/how-to/host-recaptcha/)** for your form. **Step 2.** Call reCAPTCHA and your form endpoint from your Javascript code, with something like this: ```html ``` And you are done! If you also set the e-mail field for your form endpoint to `email`, you can easily reply to all your submissions. Let us know if you run into any issues! --- # Send an Auto-Response Confirmation Email to Form Submitters Source: https://un-static.com/how-to/add-auto-response-confirmation-email/ ## Confirm submissions automatically When someone submits your form, they often wonder if it actually went through. An auto-response fixes that: a short confirmation e-mail sent straight back to the submitter, letting them know their message was received. It's available on every plan, including Free, and takes a couple of minutes to set up. ## Step 1. Link your form to your account Auto-response only works on **linked forms**. If your form endpoint isn't linked to an Un-static account yet, see [how to link your form](/frequently-asked-questions/#link-form-to-account) from your form's admin page. ## Step 2. Set the "Reply To" field In **Basic Configuration** on your form's admin page, set the **Reply To** field to the name of the form field that holds your visitor's e-mail address, for example `email`. The auto-response only sends when this field resolves to a valid address, so this step is required before anything else works. ## Step 3. Enable auto-response and pick a starting point Open the **"Auto-response to submitter"** card and check **Enable auto-response**. Start from one of the three starter templates: **Friendly**, **Professional**, or **Minimal**, or write your own subject and message from scratch. ![Starter templates in the auto-response card](/assets/how-tos/auto-response-templates.png) ## Step 4. Personalize with placeholders Both the subject and the message accept `{{field}}` placeholders that get filled in with the values from the submission, for example `Hi {{name}}`. If a placeholder doesn't match a field on the submission, it's simply left blank rather than breaking the mail. Line breaks and links in your message are preserved. ## Step 5. Set a sender name The **Sender name** is what your visitor sees in their inbox; it defaults to your form's name if you leave it blank. One thing to know: the mail itself is always sent from `forms@un-static.com` so it lands reliably in your visitor's inbox, but any reply they send goes straight to your own destination address. ![A completed auto-response card: enabled, Friendly template selected, with subject, message, and sender name filled in](/assets/how-tos/auto-response-card.png) ## Safety and availability The auto-response only fires for clean submissions. Spam, honeypot hits, and submissions over your plan's limit never trigger it, and it never delays or blocks the submission itself from reaching you. It's available on every plan, Free included. ## For the API and AI agents Auto-response can also be read and configured through the API: `auto_response_enabled`, `auto_response_subject`, `auto_response_body`, and `auto_response_from_name` on `PUT /api/forms/{reference}` (also `GET`). See the [for-ai page](/for-ai/) for the full quick reference. Let us know if you run into any issues! --- # Add a Contact Form to GitHub Pages Source: https://un-static.com/how-to/add-github-pages-contact-form/ ## **What is Github Pages?** **[Github](https://github.com/)** is of course well known as a source code repository. It also supports **[Github Pages](https://pages.github.com/)**, which is a hosting service for content already in a repository on Github. For public repositories and paid accounts, Github allows you to host your own site via Github Pages. Pages can be either based on Jekyll, which is the default, or you can provide your own static content by adding a *.nojekyll* file. ## **Contact Form in Github Pages** Because Github Pages is nothing more than a hosting of your own static files, you cannot add a contact form without an external handler. A lot of Github Pages users use Un-static Forms as their handler, because it’s simple to use. The only thing you need to do, is add a html based contact form that you reference from your other pages. After that you can offload the handling of your form submissions to us. So you don’t host your own site, and you don’t need a server to handle the submissions! ## **Example Github Pages Contact Form** To enable your contact form in Github Pages, you can take these simple steps: **Step 1.** **[Register a Form](https://forms.un-static.com/register-form)** **Step 2.** Take the content below and place it in *contact.html* (or something similar) **Step 3.** Replace the `YOUR_ENDPOINT_REFERENCE` in the content with your form’s endpoint **Step 4.** Add the file to your site’s repository and push it over to Github. ```sh $ git add contact.html $ git commit -m 'Add contact form' $ git push ``` And you are done.. If you go to your Github Pages site url, you should now be able to use your contact form and receive any submissions in your e-mail box! ### **Example contact.html source code** This example does not have any design in it and is based on Bootstrap 4. ```html Contact me

(Powered by Un-static Forms)

``` We kindly request you to keep the **Powered by** link (or something similar) to support us, if you don’t have a paid subscription. --- # Hosting your own reCAPTCHA for your static form Source: https://un-static.com/how-to/host-recaptcha/ ## **Why use a captcha?** Captchas were invented to prevent bots or machines from quickly filling in forms on the internet. Without a captcha somewhere in your submission flow, it’s very easy for bots and spammers to send your marketing messages. Thus captchas were born. A way to distinguish humans from machines. Of course it does not prevent all kinds of spamming, and some bots can even solve certain captchas. But overall it greatly reduces the amount of spam your form will receive. ## **Why reCAPTCHA?** There are a number of captcha techniques available that work quite well. reCAPTCHA is Google’s advanced captcha system. It has some advantages and disadvantages over other captcha systems. In general it’s highly effective and currently the only captcha form we support for our forms. ## **Why host your reCAPTCHA?** By default, your Un-static Form is using our servers to host your reCAPTCHA. This is great for most use cases. There are some use cases where we require you to host your own reCAPTCHA. For instance when you are using **[an ajax form](/how-to/add-ajax-contact-form/)** on your static site’s form. ## **Steps to set up reCAPTCHA hosting** The most important steps for hosting your own reCAPTCHA is by setting it up correctly within Google’s systems. After that it’s only a single setting on your form to enable hosting your own captcha! Let’s walk through the steps to set this up: **Step 1.** Make sure your form endpoint is linked to an **[Un-static account](https://forms.un-static.com/login)**, or link it now from your forms admin page. **Step 2.** If you don’t have a secret yet, generate a new reCAPTCHA secret from **[Google reCAPTCHA](https://www.google.com/recaptcha/intro/v3.html)** - **Step 2a.** Click the plus at the top right of the Admin Console ![Screenshot of Google reCAPTCHA Admin Console](/assets/how-tos/recaptcha-add-site.png) - **Step 2b.** Select reCAPTCHA v2 ![Screenshot of reCAPTCHA type selection](/assets/how-tos/recaptcha-creation-for-ajax.png) - **Step 2c.** Add your own domain of your site **Step 3.** Copy your reCAPTCHA Secret Key from the site’s Settings ![Screenshot of reCAPTCHA Site Key and Secret Key fields](/assets/how-tos/recaptcha-secret-key.png) **Step 4.** In you form’s admin page, set your site’s reCAPTCHA secret (or disable reCAPTCHA verification altogether). **Step 5.** Add the reCAPTCHA field to your page or form ```html
``` **Step 6.** Include the reCAPTCHA javascript file in your header just before `` ```html ``` And that should be it. Let us know if you run into any issues! --- # Add a Contact Form to Hugo Source: https://un-static.com/how-to/add-hugo-contact-form/ ## **What is Hugo?** ![Hugo logo](/assets/how-tos/hugo-logo-wide.svg) **[Hugo](https://gohugo.io/)** is a static site generator, written in Go. Based on one or more themes, you can easily build an entire site, by just focusing on the content. Hugo is **our favourite** static site generator and CMS! In fact, the site you are visiting right now, is fully generated with Hugo! ## **Contact Form for Hugo** Even on static sites that you’ve built with Hugo, you still want to be able to interact with your visitors. And in most cases that involves forms. Form handling requires a script on your server to handle the form. But the power of Hugo static sites is that they don’t need code and are often hosted on servers that don’t support scripts. That’s the whole reason we built Un-static Forms. So you can offload the form handling for your Hugo-based site to us and we’ll deliver the form submission to you! ## **Example Hugo Contact Form** Here are the simple steps to set-up a Hugo contact form on your site generated with Hugo! **Step 1.** **[Register a Form](https://forms.un-static.com/register-form)** **Step 2.** Take the content below and place it in *content/contact.md* (or something similar) **Step 3.** Replace the `YOUR_ENDPOINT_REFERENCE` in the content with your form’s endpoint **Step 4.** You should probably also update the date in the page’s front-matter, so that it’s published at the right time. And you are done.. You can now reference the contact page from any of your other pages with for instance `[Contact us](/contact/)` or `[Contact us](/contact/)`. ```html --- title: "Contact" date: "2020-02-25" --- You can contact us here!

(Powered by Un-static Forms)

``` Of course you can remove the **Powered by** link, but we would appreciate if you keep it to support us in providing this to you for free. --- # Receive File Uploads on Your Form Source: https://un-static.com/how-to/receive-file-uploads/ ## Receiving files from your form Un-static Forms can receive file uploads from your visitors - job-application CVs, support screenshots, photos, signed PDFs. You don't run any backend: add a file field to your HTML form, and we store the upload and e-mail you a **secure, expiring download link** (we don't attach the raw file to the mail). File uploads are available on our **paid plans** (Basic and Premium). On the free plan, and on forms that aren't linked to an account, the text of a submission still comes through, but any attached files are dropped with a note. ## Step 1. Add a file input and set the form encoding Two changes to your form: add `enctype="multipart/form-data"` to the `
` tag, and add one or more `` fields. Add `multiple` if you want to allow several files in a single field. ```html

(Powered by Un-static Forms)

``` There's nothing to configure on our side - linked paid-plan forms accept uploads automatically. ## What you can receive - **File types:** images (PNG, JPG, GIF, WebP), PDF, Office documents (DOC, DOCX, XLS, XLSX, PPT, PPTX), text and CSV, and ZIP archives. Executables and scripts are rejected. - **Size limits:** up to **25 MB per file** and **50 MB per submission**. - **Storage:** your plan includes a storage allowance - **1 GB on Basic, 10 GB on Premium**. See the [plan comparison](/feature-comparison/). If a file is too big, of a disallowed type, or would exceed your storage, that one file is dropped and we note it in your notification - the rest of the submission still reaches you. ## How you receive the files Your notification e-mail and your submission archive contain a **secure download link** for each accepted file, rather than the file itself. The links are signed and **expire when the submission is removed** at the end of your plan's retention period, so older submissions' files aren't downloadable forever. ## Uploading via AJAX If you submit your form with JavaScript instead of a normal page submit, send the data as `FormData` (multipart) - a JSON body can't carry files. Post it to your `/ajax` endpoint: ```html ``` AJAX submissions need your own reCAPTCHA - see the [AJAX contact form guide](/how-to/add-ajax-contact-form/) for that setup. Let us know if you run into any issues! --- # Add a Contact Form to Any Static Site in 2 Minutes Source: https://un-static.com/how-to/add-static-contact-form/ There are a number of tools, like **[Hugo](https://gohugo.io/)** (**[Specific instructions for Hugo](/how-to/add-hugo-contact-form/)**), **[Jekyll](https://jekyllrb.com/)** and **[Hexo](https://hexo.io/)** to easily make static websites. No need to maintain some kind of web framework on your server. No server side code, so no security risk is introduced either. But now you do have to think about handling form interaction. Without server-side code, you need to use a static form service to handle the form submission for you. **[Un-static Forms](https://un-static.com/)** to the rescue! We’ll show you how to quickly intergrate Un-static Forms into your website. ### **Locating the form tag** We’ll assume you already built a form into your website. If not, you can check out our **[static form examples](https://un-static.com/static-form-examples/)** for inspiration. Every form in HTML always starts with a `form` tag, like this: ```html
``` The `method` attribute in the `form` tag tells your browser to use a POST request when a user submits your form. If you are not familiar with what that means, don’t worry. Just make sure the method is set to **post**. You’ll need to add an `action` attribute in the `form` tag as well, but for that we first need to know the form endpoint we can use. ### **Creating a form endpoint** In order to generate your form endpoint, you just **[register your form](https://forms.un-static.com/register-form)**, verify your e-mail address, and you’ll receive a form endpoint in return. ### **Integrate form endpoint** To integrate your own form endpoint into your form, simply add, or replace the URL in the `action` attribute. Your code should now look like this: ```html ``` Where `YOUR_REFERENCE_HERE` is of course replaced with the reference code you received in the mail. ### **Testing** Now you can test your form. If you submit your form on your site, you should receive the results in your e-mail. If something isn’t working and you verified all your steps, feel free to **[contact us](https://un-static.com/contact/)** us. We’ll try and help you out and get you going! ### **Supporting us** If you want to support us for providing this for free, you can help us by spreading the word and adding a small **Powered by** link at the bottom of your form or page. ```html

(Powered by Un-static Forms)

``` --- # How to Add a Contact Form to a Static Website (The Complete Guide) Source: https://un-static.com/guide/how-to-add-contact-form-static-website/ *Last updated: March 2026* You built a fast, secure static website - but now you need visitors to reach you. The problem? Static sites don't have server-side code to process form submissions. No PHP, no Node.js, no database. So how do you add a working contact form to a static website? This guide walks you through everything: why static sites need a form backend, how to set one up step-by-step (with code you can copy), how to protect against spam, and how to customize your form for any use case. Whether you're running a portfolio on GitHub Pages, a blog on Hugo, or a business site on Netlify - you'll have a fully functional contact form by the end. ## Why Static Websites Can't Process Forms on Their Own A static website is made up of pre-built HTML, CSS, and JavaScript files. When someone visits your site, the server simply delivers those files as-is. There's no code running on the server to receive data, process it, or send an email. This is what makes static sites so great: they're fast, cheap to host, and virtually immune to server-side security vulnerabilities. Platforms like GitHub Pages, Netlify, Vercel, Cloudflare Pages, and Amazon S3 can host them for free or near-free. But it also means that when a visitor fills out a contact form and clicks "Submit," there's nothing on the server to catch that data. Traditional dynamic websites (built with WordPress, Django, Rails, etc.) handle this with server-side scripts. The form data goes to the server, a script processes it, and you get an email. Static sites skip that entire layer - which is usually a benefit, until you need a form. ### The mailto: Link Problem The most common workaround is to slap a `mailto:` link on the page. This has real drawbacks: **It exposes your email to spam bots.** Any email address in your HTML source code will be scraped by crawlers, leading to a flood of junk mail. **It depends on the visitor's email client.** If someone hasn't configured a mail client in their browser, clicking a `mailto:` link does nothing - or worse, opens an app they don't use. **It looks unprofessional.** Visitors expect to fill out a form directly on your website, not get bounced to their email app. A proper contact form increases engagement and gives you control over what information you collect. ## The Solution: A Form Backend Service The cleanest way to add a contact form to a static website is to use a **form backend service** (also called a form endpoint service). Here's the concept in plain terms: 1. You build your HTML form like normal 2. Instead of pointing the form's `action` to your own server, you point it to the form service's URL 3. When a visitor submits the form, the data goes to the service 4. The service processes the submission and delivers it to your email inbox You get a fully working contact form. Your site stays static. No backend code required. Services like [Un-static Forms](https://un-static.com) are built specifically for this. You register a form endpoint, add it to your HTML, and submissions arrive in your email - often within seconds. You can see the [full list of features](/features/) Un-static offers. ### Form Service vs. Serverless Function vs. mailto: - Which Approach Fits? A form backend service isn't the only way to handle submissions on a static site. Before we dive into the setup, it's worth knowing all three approaches and their trade-offs: **Write your own serverless function.** Platforms like Netlify Functions, Cloudflare Workers, Vercel Functions, and AWS Lambda let you run small pieces of server code without managing a server. You write a function that receives the form `POST`, validates it, and sends an email through a transactional provider like SES, Mailgun, or Resend. This works, but you've now taken on real responsibilities: writing and maintaining the code, setting up and paying for an email-sending service, keeping API keys secret, and - the part most people underestimate - building your own spam protection. An unprotected form endpoint gets discovered by bots within days, and your email-provider reputation suffers for it. What looked like a free afternoon project becomes a small service you operate forever. **Use a mailto: link.** Zero setup, but as covered above: it exposes your e-mail address to scrapers, depends on the visitor having a configured mail client, and gives you no formatting, validation, or spam control. Fine for a hobby page, not for anything you rely on. **Use a form backend service.** You trade a small dependency on a third party for not having to build, secure, and babysit any of the above. Spam filtering, delivery, retries, and the endpoint itself are someone else's job. | | mailto: link | Serverless function | Form service | |---|---|---|---| | Setup time | seconds | hours | ~2 minutes | | Code to maintain | none | yours, forever | none | | Spam protection | none | build it yourself | built in | | E-mail address hidden | no | yes | yes | | Works without JavaScript | yes | usually | yes | | Extra accounts needed | none | host + email provider | one | If you enjoy operating infrastructure, a serverless function is a fine weekend project. If you just want messages from your visitors to reach your inbox, a form service gets you there in the time it takes to copy and paste - which is exactly what the rest of this guide covers. ## Step-by-Step: Adding a Contact Form with Un-static Forms Let's build a real contact form from scratch. We'll use Un-static Forms because it offers a generous free plan, supports all static site generators, and includes spam protection out of the box. ### Step 1: Create Your Form Endpoint Head to [un-static.com](https://un-static.com) and register a form endpoint. You can do this two ways: - **With an account** (recommended): Sign up for free, then create a form endpoint from your dashboard. You'll get access to all features including reCAPTCHA, webhooks, and submission history. - **Without an account**: Un-static offers "unlinked" forms that don't require registration. You provide your email, and they send you an endpoint reference. This gives you up to 25 submissions per month - great for quick testing. Either way, you'll receive a unique **endpoint reference** - a code that identifies your form. ### Step 2: Build Your HTML Form Here's a clean, minimal contact form you can drop into any static website: ```html
``` Replace `YOUR_ENDPOINT_REFERENCE` with the endpoint code you received in the previous step. That's it - you now have a working static site contact form. A few important details about this code: - The `method="post"` attribute tells the browser to send the data as a POST request, which is the standard for form submissions. - The `action` attribute points to Un-static's servers, where your submission will be processed and forwarded to your email. - Each input's `name` attribute (like `name`, `email`, `message`) determines how the field appears in your email notification. Un-static passes through any field names you use. - The `required` attribute provides basic client-side validation, preventing empty submissions. ### Step 3: Test Your Form Open your site (locally or deployed), fill in the form with real information, and click "Send." Check your email inbox - you should receive the submission within a few seconds. If you're using Un-static for the first time, you may need to verify your email address. Check for a verification email and click the confirmation link. After that, all submissions will arrive normally. ### Step 4: Add a Thank-You Page (Recommended) After submission, visitors are typically redirected to a confirmation page. You can customize this by creating a simple `thank-you.html` page on your site: ```html Thank You

Thanks for reaching out!

We received your message and will get back to you shortly.

Back to homepage ``` Many form backend services let you specify a redirect URL. With Un-static, the redirect behavior depends on your configuration - check your dashboard settings to point users to your custom page after submission. ## Adding Your Contact Form to Popular Static Site Generators The HTML above works everywhere, but here's how to integrate it with the most common static site setups. ### Hugo Hugo is one of the most popular static site generators. To add your contact form, create a new content file at `content/contact.md`: ```markdown --- title: "Contact" date: 2026-03-20 --- We'd love to hear from you. Fill out the form below and we'll get back to you as soon as possible.
``` Hugo renders Markdown to HTML, and raw HTML within Markdown files is passed through as-is (make sure `unsafe = true` is set in your Hugo config for the Goldmark renderer if you're using recent Hugo versions). For a more detailed walkthrough, see our [Hugo contact form guide](/how-to/add-hugo-contact-form/). ### Jekyll (GitHub Pages) Jekyll sites on GitHub Pages work the same way. Create a `contact.html` or embed the form in any page: ```html --- layout: default title: Contact ---

Contact Us

``` Since GitHub Pages serves static files only, a form endpoint service is the standard approach for handling contact forms on GitHub-hosted sites. See our dedicated [GitHub Pages contact form guide](/how-to/add-github-pages-contact-form/) for more details. ### Gatsby, Next.js (Static Export), and Eleventy For JavaScript-based static generators, the HTML form approach works identically. Just embed the form HTML in your JSX, template, or Nunjucks file. The `action` attribute handles everything - no JavaScript required on your end. If you prefer a JavaScript-powered submission (for example, to show a success message without a page reload), see the AJAX section below. ## Protecting Your Contact Form Against Spam Spam is the #1 concern for any publicly accessible form. Without protection, bots will flood your inbox within days. Here are the most effective approaches, ranked from simplest to most robust. ### Honeypot Fields A honeypot is a hidden form field that real users can't see but bots will fill in. If the field contains data on submission, you know it's a bot. ```html
``` This is lightweight and doesn't affect user experience. Many form backend services, including Un-static, support honeypot detection automatically. ### reCAPTCHA Google's reCAPTCHA adds a verification step to confirm the submitter is human. Un-static Forms supports reCAPTCHA integration - you can configure it from your dashboard by adding your own reCAPTCHA site key and secret key. With reCAPTCHA v2, users click a checkbox ("I'm not a robot"). With reCAPTCHA v3, verification happens invisibly in the background and assigns a score. Both work with static sites when paired with a form backend service. We have a step-by-step [reCAPTCHA setup guide](/how-to/host-recaptcha/) if you want detailed instructions. ### Rate Limiting Good form backend services enforce rate limits automatically, preventing any single IP from flooding your form with hundreds of submissions. This is a server-side protection that you get for free with services like Un-static - no configuration needed on your end. ### Combining Multiple Layers For the best protection, combine approaches. Use a honeypot field for frictionless bot filtering, add reCAPTCHA for more determined spam, and rely on your form backend's built-in rate limiting as a safety net. This multi-layered approach stops the vast majority of spam without annoying legitimate visitors. ## Sending Form Submissions via AJAX (No Page Reload) A standard HTML form submission redirects the visitor to a new page. If you'd rather show a success message on the same page (a smoother experience), you can submit the form using JavaScript. Here's a vanilla JavaScript example - no jQuery or frameworks needed: ```html
``` This approach works with Un-static's AJAX endpoint. Append `/ajax` to your endpoint URL if required by your service configuration. The user stays on the same page and sees a confirmation message - a much better experience for single-page sites and portfolios. For a deeper dive, check out our [AJAX contact form guide](/how-to/add-ajax-contact-form/). ## Customizing Your Contact Form ### Adding More Fields Un-static and similar services pass through any form fields you include. Want to add a phone number, company name, or subject dropdown? Just add the HTML: ```html ``` Every field with a `name` attribute will appear in your email notification. ### Styling Your Form with CSS The HTML examples above are intentionally unstyled so they work anywhere. Here's a minimal CSS snippet to make your form look polished: ```css form { max-width: 600px; margin: 2rem auto; } form label { display: block; margin-top: 1rem; font-weight: 600; } form input, form textarea, form select { width: 100%; padding: 0.75rem; margin-top: 0.25rem; border: 1px solid #ccc; border-radius: 4px; font-size: 1rem; } form input:focus, form textarea:focus { outline: none; border-color: #0066cc; box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2); } form button { margin-top: 1.5rem; padding: 0.75rem 2rem; background: #0066cc; color: white; border: none; border-radius: 4px; font-size: 1rem; cursor: pointer; } form button:hover { background: #0052a3; } ``` If you're using a CSS framework like Tailwind CSS or Bootstrap, you can style the form with utility classes instead. Un-static provides [ready-made Bootstrap form templates](/static-form-examples/) you can copy and paste directly. ### File Uploads Some form backend services support file attachments. This is useful for support forms where users need to share screenshots or documents. Check whether your chosen service supports file uploads and what the size limits are - this varies significantly between providers. ### Webhooks and Integrations Beyond email notifications, many form services can forward submissions to other tools. Un-static supports webhooks and Zapier integration, which means you can route form data to Slack, Google Sheets, a CRM, or virtually any other application. This is especially valuable for businesses that want form submissions to trigger automated workflows. ## Comparing Your Options: Form Backend Services for Static Sites There are several form endpoint services available. Here's what to consider when choosing one: **Free tier limits** vary widely. Some services offer 50 submissions per month on free plans, while others offer more. Un-static Forms includes a free tier with 250 submissions per month and access to all features - [compare all plans](/feature-comparison/) to see what fits your needs. If you're weighing specific providers, we've compared six services head-to-head in our [Formspree alternatives breakdown](/alternative/formspree/). **Spam protection** is critical. Look for services that include reCAPTCHA or similar verification, honeypot support, and server-side filtering. Un-static includes built-in spam filtering with every plan. **No JavaScript required** is a key advantage. The best static form services work with plain HTML - you just set the `action` attribute and you're done. Services that require embedding JavaScript widgets add complexity and may affect page load times. **Data privacy** matters. Make sure your chosen service handles data responsibly, especially if you're collecting information from visitors in the EU (GDPR) or other regulated regions. **Reliability and uptime** are worth investigating. A contact form that doesn't work is worse than no form at all. Choose a service with a solid track record. ## Common Issues and Troubleshooting **Form submissions aren't arriving.** First, check your spam/junk folder. Then verify that your endpoint reference is correct in the `action` attribute. If you're using Un-static for the first time, make sure you've confirmed the verification email. **Form shows a CORS error in the console.** This typically happens when using AJAX submissions. Make sure you're using the correct AJAX endpoint URL and that the form backend service supports cross-origin requests (Un-static does). **reCAPTCHA isn't working.** Double-check that your site key and secret key are correctly configured in both your HTML and your form backend dashboard. Also ensure the reCAPTCHA script is loading (check your browser's network tab). **Visitors see a blank page after submitting.** This means the redirect after submission isn't configured. Set up a thank-you page and configure the redirect URL in your form backend's settings. ## Frequently Asked Questions **Can I add a contact form to a static site without JavaScript?** Yes. With a form backend service like Un-static, you only need HTML. The form uses a standard `POST` submission - no JavaScript required. JavaScript is optional if you want features like AJAX submission or client-side validation. **Does this work with GitHub Pages?** Absolutely. GitHub Pages serves static files, so you can't run server-side code. A form endpoint service handles the processing externally. Just add the form HTML to your repository and deploy. **Is my email address exposed to visitors?** No. Your email address is stored securely on the form backend's server. Visitors only see the endpoint URL in the HTML - never your actual email address. **How much does a form backend cost?** Most services offer free tiers. Un-static's free plan includes 250 submissions per month, 30 days of submission retention, and full feature access. Paid plans start at $9/month for higher volumes. For a low-traffic portfolio or small business site, the free plan is usually more than enough. See the [full plan comparison](/feature-comparison/) for details. **Can I use this for more than just contact forms?** Yes. Any HTML form that collects data - feedback surveys, event RSVPs, quote requests, newsletter signups - can use a form endpoint service. If your form has `input` fields with `name` attributes, it'll work. Check our [FAQ](/frequently-asked-questions/) for more common questions, or browse all our [integration guides](/how-to/). ## Wrapping Up Adding a contact form to a static website doesn't require abandoning the simplicity and performance that made you choose a static site in the first place. With a form backend service, you keep your site static while gaining the ability to collect form submissions, protect against spam, and integrate with your existing tools. The setup takes just a few minutes: register an endpoint, paste a few lines of HTML, and you're live. Whether you're building with Hugo, Jekyll, plain HTML, or any other static tool - a form endpoint makes the "contact us" problem disappear. **Ready to add a contact form to your static site?** [Get started with Un-static Forms](https://un-static.com) - it's free, takes under two minutes, and works with any static website. --- # Which file types and sizes can my form receive? Source: https://un-static.com/frequently-asked-questions/ You can receive images (PNG, JPG, GIF, WebP), PDFs, Office documents (DOC, DOCX, XLS, XLSX, PPT, PPTX), text and CSV files, and ZIP archives. Executables and scripts are rejected. Each file can be up to 25 MB, with a total of 50 MB per submission. Files that are too large, of a disallowed type, or that would exceed your plan's storage allowance are dropped with a note, while the rest of the submission still reaches you. --- # How do file attachment downloads work, and how long are they available? Source: https://un-static.com/frequently-asked-questions/ We don't attach the raw file to your notification e-mail. Instead, the e-mail and your submission archive contain a secure download link for each file. The links are signed and expire when the submission is deleted at the end of your plan's [retention period](/feature-comparison/), so a submission's files stay downloadable for exactly as long as the submission itself. --- # Can my form receive file uploads or attachments? Source: https://un-static.com/frequently-asked-questions/ Yes, on a paid plan (Basic or Premium). Add `enctype="multipart/form-data"` and an `` to your form, and we'll receive the upload and e-mail you a secure download link. See [how to receive file uploads](/how-to/receive-file-uploads/) for the full setup. On the free plan the text of a submission still arrives, but attached files are dropped. --- # I lost my form's admin link. What now? Source: https://un-static.com/frequently-asked-questions/ If you have a form that is already linked to an Un-static account, you can just [login](https://forms.un-static.com/login)! If you have just registered a form endpoint, use your form to submit to your form endpoint. You will receive an e-mail on your registered address which will contain a link to request your admin link! --- # I want to link my form to an account Source: https://un-static.com/frequently-asked-questions/ To link a form endpoint to an account, please go to your endpoint's admin page, and there you can link it to your Un-static account. --- # How do I send a confirmation email to the person who submitted my form? Source: https://un-static.com/frequently-asked-questions/ Link your form to your Un-static account, set the **Reply To** field in Basic Configuration to the form field holding your visitor's e-mail address, and enable **auto-response** in the "Auto-response to submitter" card. It's available on every plan, Free included. See the [full walkthrough](/how-to/add-auto-response-confirmation-email/) for setup steps and placeholder personalization. --- # How can I test if my form works? Source: https://un-static.com/frequently-asked-questions/ If you take your form link and add '/test' to the end of the URL, you see a page to easily test the different methods to address your form endpoints. You can also find the option to test your form on your form's admin page. --- # Can I use JSON data as well? Source: https://un-static.com/frequently-asked-questions/ Yes, you can. Just as with an ajax call you will have to handle your own Google reCAPTCHA, and use the ajax endpoint. --- # Can I use Un-static forms from Javascript or jQuery.ajax()? Source: https://un-static.com/frequently-asked-questions/ You can use Un-static forms from within Javascript as well. You will need to run your own Google reCAPTCHA or disable. We have [step-by-step instructions for adding an AJAX contact form](/how-to/add-ajax-contact-form/). --- # How do I use my Un-static form endpoint? Source: https://un-static.com/frequently-asked-questions/ In order to use your form endpoint, you will need to [include the form reference into the HTML form on your site](/how-to/add-static-contact-form/). --- # Can I use Un-static forms with a Hugo static site? Source: https://un-static.com/frequently-asked-questions/ It's easy to add an Un-static form to a website generated with Hugo. We have [step-by-step instructions for adding a contact form to a Hugo site](/how-to/add-hugo-contact-form/). --- # What happened to Brisk Forms? Source: https://un-static.com/frequently-asked-questions/ We took [control over the original briskforms.com domain and service](/briskforms-take-over/) at the end of 2019. Everything should still be working. If not, let us know! --- # Features Source: https://un-static.com/features/ **Easy setup** You can just create a form without registering an account or adding any code to your server or website. You only have to verify your e-mail address and add our custom form endpoint in your form, and you are good to go! **E-mail address protection** We've all been there. You add your e-mail address on your website, and suddenly you are overloaded with SPAM from bots that scraped your address from your site. With Un-static Forms, you don't have to publish your e-mail address online anymore. Just create a new static form endpoint and your e-mail address is hidden from sight. **Redirect back to your site** After your user fills in your form, and it's submitted here to Un-static, they will be redirected back to your site. From their perspective they've never even left your site. **Direct reply to submissions** If you link your form endpoint to an Un-static account, you can tell us which submission field contains the e-mail address of your customer. That way we can make your life easier, and allow you to direct reply to a form submission you receive from us in your mailbox. **Auto-response to submitter** Let your visitor know their message got through: an automatic confirmation e-mail, sent the moment they submit your form. Start from a Friendly, Professional, or Minimal template, or write your own and personalize it with `{{field}}` placeholders pulled straight from the submission. Available on every plan, Free included - see [how to set it up](/how-to/add-auto-response-confirmation-email/). **Receive file attachments** Let your visitors attach files to a form - a CV, a screenshot, a signed PDF. You don't need a backend or any storage of your own: we receive the upload and e-mail you a secure, expiring download link for each file (we never attach the raw file to the mail). File attachments are available on our paid plans, each with a storage allowance that grows with your plan. --- # Static Form HTML Examples Source: https://un-static.com/static-form-examples/ To make it easier to start with forms on your static site, we’ve prepared some examples for you! Let us know if we could provide other useful ones! Of course you don’t have to keep the ‘Powered By’ link, but we do ask you to include it if you don’t have a subscription, as we provide you this service for free. **Examples:** - **[Bootstrap 4 Contact Form](#bootstrap-4-contact-form)** - **[Bootstrap 3 Contact Form](#bootstrap-3-contact-form)** - **[Base HTML form for static sites](#base-html-form-for-static-sites)** - **[Contact form with file upload](#contact-form-with-file-upload)** ## Bootstrap 4 Contact Form If you have a static site based on **[Bootstrap 4](https://getbootstrap.com/docs/4.3)** and **[Font Awesome 5](https://fontawesome.com/changelog/latest)**, you can just drop in this Bootstrap 4 contact form, set your Un-static form endpoint, and you are done. Of course you can add fields as needed. Currently we’re only assuming you need a Name, E-mail address and a message. But feel free to add new fields. Un-Static form endpoints will handle all the fields you pass to them and send them to your registered e-mail address. ```html

(Powered by Un-static Forms)

``` ## Bootstrap 3 Contact Form For static sites still built upon **[Bootstrap 3](https://getbootstrap.com/docs/3.3/)** and icons from **[Font Awesome 4.7](https://fontawesome.com/v4.7.0/)**, you can use this version of the contact form to get your users messages to your e-mail address. ```html

(Powered by Un-static Forms)

``` ## Base HTML form for static sites For static site that are not using any standard framework, you can just take the form below and use adapt the design as you wish. ```html

(Powered by Un-static Forms)

``` ## Contact form with file upload Want your visitors to attach a file - a CV, a screenshot, a PDF? Add `enctype="multipart/form-data"` to the form and include an ``. We'll e-mail you a secure download link for each upload. File uploads require a paid plan; see [how to receive file uploads](/how-to/receive-file-uploads/) for allowed types, size limits and details. ```html

(Powered by Un-static Forms)

``` --- # Privacy Policy Source: https://un-static.com/privacy-policy/ We are Un-static. We also run Briskforms. We respect your privacy and private life, but sometimes we need your personal data. In this privacy policy we explain which data we use and how we save, protect and process this data. This privacy policy applies to our website **[https://un-static.com](https://un-static.com)**, **[https://briskforms.com](https://briskforms.com)** and their subdomains (the “Website), and the services that we offer (the “Services”). We comply with the General Data Protection Regulation (the “Relevant Legislation”). ## **Are you under the age of sixteen?** If you are younger than sixteen years old, you cannot use our Website and Services without the permission of your parents or legal guardian. ## **Personal data** To offer our Website and Services we process personal data. “Personal data” means any information relating to an identified or identifiable natural person as defined in the Relevant Legislation. ## **Your permission** We can store your data at various moments, for example when you visit our Website, register a form, create an account via our Website, use our Services or when you contact us. We are allowed to process your data because we ask your permission via this privacy policy. In addition, we need your data to carry out the agreement between you and us. If you choose not to share your data, then we cannot deliver our services. We will not process your data without your consent, unless we are legally obliged to do so. ## **What data do we collect and how do we use your data?** To use our Website and Services, we might need the following data: - Your name - Your address - Your country of residence - Your e-mail address - Your IP-address - Your payment details We can also store the following non-personal data if you use our Website: - The type of your browser - The operating system that you use - The internet service provider - Pages visited on the Website and duration of the visits ### **Login** We save the following data to your account: name, password and e-mail address. This way, you don’t need to provide us with your data again. ### **Market research** We may ask you to participate in market research. We shall use your data for the market research. We use that statistical data anonymously for Un-static and Briskforms. You can close the question list at any moment. We do not share your answers with others or make them publicly available. In addition, your answers are not connected to your e-mail address. ### **Newsletter** Un-static offers or will offer newsletters. That way, you are fully informed of (discount) offers and other news. We use an opt-in system: Every time we send you a newsletter you have the possibility to unsubscribe from the newsletter. We will only use your personal data for the purposes listed above or any other purpose that is connected thereto. This way, your data will never be used by us in an unexpected way. ## **Security** We work hard to protect your personal data from unauthorized or unlawful access, alteration, disclosure, use or destruction. That way, unauthorized persons do not have access to your data. We take the following measures to protect your personal data: - Secure network connections with Secure Socket Layer (SSL) technology or a technology that is similar to SSL - The access to the data is limited to the persons that need the data ## **How long do we store your data?** We shall store your personal data for as long as necessary to fulfil the purposes listed above. ## **With whom do we share your personal data?** ### **Processors** We may share your personal data with others. In a data processing agreement, we shall agree with those parties that they shall use your data carefully and they shall only receive the data that is relevant for their services. These parties use your data in accordance with our instructions and not for their own purposes. We can share your data for example with Google Analytics, issue detections services, payment providers and transactional e-mail services. They will handle payments, detect issues on the site, send e-mail messages and track site usage. These parties are “processors” within the meaning of the Relevant Legislation. ## **Transfer** We will only process your data within the European Union. We will only process your data outside of the European Union if the country has an effective protection level for your data. We will never transfer your data to other countries or other parties then described above. ## **Links** You may find advertising or other content on our Website that link to other websites. We do not control the content on these websites and are not responsible for the content or the privacy protection of these websites. We advise you to read the privacy policies of those websites. ## **Cookies** Cookies are little (text)files which are stored on your computer. Your web browser stores these cookies when you visit our Website. These cookies will be retrieved when you visit our website again. This allows our Website to recognise you as a previous visitor. We may use cookies to improve your user experience on our Website. Cookies are essential for the operation of our Website, make sure that you can visit our Website safely and track bugs and errors at our Website. You can change your cookie settings in your browser, if you don’t want cookies to be sent to your device. We will not save cookies if you visit our Website. Please note that some Website features or services of our Website may not function properly without cookies. ## **Modifications to this privacy policy** We may update our privacy policy from time to time. When we change this privacy policy in a significant way, we will post a notification on our Website along with the updated privacy policy. We also inform users that are registered with an email address in case of any significant modification. If you are not registered as user we advise you to visit the Website and this policy regularly. ## **Your rights** The data we collect is personal. Therefore, you have the following rights: - You may request access to the personal data we process about you; - You may request us to correct, update, shield or delete your personal information in our records. In the event of fraud, non-payment, or other wrongful act, we can keep some data in a register on a black list; - You may request a copy of the personal data we have processed about you. We can - on your request - send this copy to another party, so you don’t have to send the data yourself; - You may file a complaint against processing your data; - You may file a complaint with the Dutch Data Protection Authority (Autoriteit Persoonsgegevens), if you are under the impression that we process your data unlawfully; - You may always withdraw your consent to process your data. We cannot process your data from the moment you withdraw your consent. Should you have further questions regarding this privacy policy, please **[contact us](https://un-static.com/contact/)**. --- # Terms of Service Source: https://un-static.com/terms-of-service/ By means of Software-as-a-Service, we, Un-static, offer you the following service “Un-static” or “Briskforms” (the “Service”). This means that we offer you access to the Service we operate, via the internet. These are the general terms and conditions that are always applicable to the use of our Service. If you have any questions, you can **[contact us](https://un-static.com/contact/)**. Our address is Prinses Margrietplantsoen 33, 2595 AM, The Hague. We are registered with the Chamber of Commerce ( Kamer van Koophandel ) under number: 72740914. We have the right to change these general terms and conditions at all times. The latest version of these terms and conditions will always apply. Arrangements that deviate from these terms and conditions will only be applicable if they have been agreed on by us in writing. ## **Article 1 - General** By registering a form, or registering an account, you agree that there terms and conditions apply you and us. We shall send you these general terms and conditions at your request, free of charge. You can also find them on our website **[https://un-static.com/terms-of-service/](https://un-static.com/terms-of-service/.)****.** The invalidity or unenforceability of any provision of this agreement shall not affect the validity or enforceability of any other provision of this agreement. Any such invalid or unenforceable provision shall be replaced by a provision that is considered to be valid and enforceable and which’ interpretation shall be as close as possible to the intent of the invalid provision. ## **Article 3 - Price** Prices included on the website include VAT where applicable. We have the right to adjust our prices at any given time. We can choose to allow the old pricing to apply to you, or we will inform you and then new price will be applicable thirty days after its announcement. In case you do not agree with the change of price in question, you have the right to cancel the agreement within fifteen days days after the announcement. The agreement will then terminate on the day the new prices become applicable. ## **Article 4 - Payment and Collection Charges** We shall automatically charge your bank account or credit card at the start of each new period. If a payment is due, and you have failed to meet this payment obligation, service to your account will be suspended. ## **Article 5 - Use of “Un-static” and “Briskforms”** If you want to use our Service, you will have to register yourself at our website. Passwords must be treated confidentially and you are responsible for choosing a unique and strong password. You are responsible for all activities on your account after it has been logged in, unless you have reported as soon as becoming aware of it that your personal account has been compromised. We have the right to block accounts. We only do this in case we have reasonable belief that one or more accounts are used in a matter that is against the law or contrary to a provision of these terms. Furthermore, we have the right to take any other measures we deem adequate, taking into account the circumstances at hand. ## **Article 6 - Availability and maintenance of “Un-static” and “Briskforms”** We are responsible for the functioning and maintenance of the Service. During maintenance, the Service can be unavailable. We have the right to change, suspend or terminate the Service. This includes, but is not limited to, changing, removing or adding certain features or functionalities of the Service. We do not guarantee that our Service is completely free of error. Please inform us immediately of any errors, bugs or malfunctions of the Service. We will then do our utmost best to resolve your problem as quickly as possible. ## **Article 7 - Intellectual property** We (or our licensor or suppliers) are the exclusive owners of all existing and future intellectual property, such as copyrights, trademarks, design rights, patents, source codes and know-how, which rest on our Service or are the fruits of the use of our Service. As a user, you only gain the right to use our Service. You cannot claim any of the in subsection 1 mentioned intellectual property. This is not an exclusive right, which means that we can grant others similar rights of use. Furthermore, it is expressly forbidden to transfer or license this right to any third party. ## **Article 8 - Liability** You indemnify us for all claims by third parties relating to the data that you have collected, saved or, processed by means of our Service. We are not liable for the content of the data that you have collected, saved or processed within the framework of our Service. You further acknowledge and agree that we shall not be responsible or liable for any content submitted through our Service. We are not liable for any damage in relation to the use of our Service. In case there is a legal liability, our liability is limited to a maximum sum equal to the amount you paid to us for the Service in the preceding 12 months. We undertake the responsibility to ensure that your data will be stored safely. We are not liable for the damage or loss of any data, for the storage of which we have employed third parties. The limitations set out in this article do not apply if damage is the result of a deliberate act or gross negligence from our side. ## **Article 9 - Applicable law** These terms shall be governed in accordance with Dutch Law. ## **Article 10 - Competent court** The court of The Hague. --- # Brisk Forms becomes Un-static Source: https://un-static.com/briskforms-take-over/ ## **Transfer** Near the start of December 2019, we took over control of **briskforms.com** from the original owner and creator. We have been avid users of Brisk Forms in the past ourselves. Of course all registered and verified Briskforms endpoints will continue to stay available. ## **What can you expect?** As stated, all your verified endpoints will stay active. So what can you expect from us? We’ll be adding additional features and capabilities to the platform that operates both Briskforms and Un-static Forms. If you have opted into our newsletter, we will of course keep you informed of any new features that become available. ## **Any questions?** If you have any other questions, just **[reach out to us](https://un-static.com/contact/)**!