Frequently Asked Questions

Responsive Forms

Forms are entirely styled by you since they actually get loaded into your webpage. You can style each field however you like, as you would a form that was part of your site.

This approach makes it really easy to make your forms properly responsive - much more than sites that embed forms using IFrames.

Client Access

You can optionally invite other user(s) to create an account that will enable them to view / download form submissions.

The invite email contains a unique link, enabling creation of an account linked to yours (these accounts are free and do not expire). You can then specify which forms that user has access to. They only have access to form submissions, not form configuration, and only on the forms you grant access.

GDPR Compliance

Overview

Embedded Forms

nFormr optionally stores form submissions in account holder's acounts; only account holders and others that they grant access can view or download those submissions. We do not process or otherwise disseminate account holder's submission data.

Instagram Feed

We request read-only access to an Instagram account for the sole purpose of allowing a website developer to display public Instagram posts on a website. We do not share any personal information with any third parties and the Instagram feed can only be displayed on websites that the developer specifies.


The Nitty Gritty

Rights

Under GDPR, EU data subjects are entitled to exercise the following rights:

  • Right of Access: Find out what kind of personal information is held about you and get a copy of this information.
  • Right of Rectification: Ask for your information to be updated or corrected.
  • Right to Data Portability: Receive a copy of the information you've provided under contract so you can provide it to another organization.
  • Right to Restrict Use: Ask for your personal information to stop being used in certain cases, including if you believe that the personal information about you is incorrect or the use is unlawful.
  • Right to Object: Object to use of your information where a party is processing it on legitimate interest basis, and object to have your personal information deleted.
  • Right to Erasure: Request that your personal information be deleted in certain cases.

Roles

Data controllers determine how personal data is processed, data processors process personal data on behalf of a data controller, and data subjects are persons whose personal data is collected or used.

Data controllers within or outside of the EU are required to respond to requests from EU data subjects who ask to exercise their GDPR rights.

  • Account holders are data controllers of the submission data they collect, while nFormr is the data processor of this data.
  • nFormr is a data controller of very limited data about respondents—we may use things like cookie data and IP address for specific purposes as described in our Privacy Policy.
  • For data subjects like account holders and site visitors, nFormr is the data controller of personal data like name, email address, and digital identifiers like a cookie ID or IP address, among other things. We describe in detail the data we collect and how we use it in our Privacy Policy.

Account Holders

You can view and edit the information that we hold about you via the account page after you have signed in.

Respondents

Form respondents are people that filled out a form created by an account holder. You should contact the account holder who is responsible for editing, deleting, or giving you a copy of your responses.

If you’re unable to get in touch with the account holder, please contact us with the following:

  • Form link, or web page you used to fill out the form
  • Approximate date and time you filled out the form
  • Your name and email address
  • Any response you provided that can be used to identify you

Since nFormr is not the data controller of response data, we can't directly handle these requests, but we'll do our best to identify and put you in contact with the account holder.

Site Visitors

A site visitor can be anyone that visits an nFormr webpage. Site visitors can delete personal data we might have stored about them at anytime by clearing cookies

Submission Security

Forms are secured with Google reCaptcha.

This ensures that your forms can't be submitted by a 'robot' and it also ensures that your form is only submitted from domain hosts that you specify.

Emailed Submissions

Developer & Agency accounts have the option to send completed forms to multiple email addresses.

Emails are sent via Amazon SES and you can elect to send to any email address. Each form can be sent to multiple different addresses - this could be yourself or a client. The email contains all of the values that the user submitted in the form.

You can also set up conditional emails; this enables you to send to different email addresses depending on the user's submitted data. For example, a multiple choice field, "Which department would you like to contact?", might have options of "Customer Service", "Sales", "Technical Support", with each answer causing the submission email to be sent to the corresponding email address.

Mailing List Integration

Agency accounts can optionally integrate each form with a Campaign Monitor or MailChimp list.

To do this, you will need to provide the API Key and List Id from the account that owns the list. If the list is managed by a third party (i.e.) your client, they are usually happy to provide these details to you.

Form Styling

We don't include form styling in our embed code for a couple of reasons:

  • You're likely a developer already working to a design, so prefer to style elements yourself
  • It keeps the overall bundle size down (and therefore has less impact on page load)

If you'd like a head-start, here's some basic scss that you can add to your own stylesheet as a starting point.


$yellow: #f8f129;
$text: #374a5e;
$red: #D63034;

.nformr {
    max-width: 500px;
    margin: 50px auto;

    &-form {

        &-field {
            &:not(:last-of-type) {
                margin-bottom: 2em;
            }

            &.error {
                label {
                    color: $red;
                }

                input {
                    border-color: $red;
                }
            }

            &-label {
                font-weight: 600;
                margin-bottom: .5em;
            }

            &-input, &-textarea, &-select {
                input, textarea, select {
                    background-color: #FAFAFA;
                    padding: 10px 20px;
                    border: 1px solid #ccc;
                    border-radius: 0;
                    width: 100%;
                    font-family: Roboto, sans-serif
                }
            }

            &-checks, &-radios {

                label {
                    position: relative;
                    padding-left: 30px;
                }

                input[type="checkbox"], input[type="radio"] {
                    display: none;

                    &:checked + label:before {
                        background-color: $yellow;
                    }

                    + label:before {
                        content: "";
                        display: block;
                        position: absolute;
                        top: 0;
                        width: 1.3em;
                        height: 1.3em;
                        margin-right: 10px;
                        border: 2px solid $yellow;
                        background-color: transparent;
                        transition: background-color ease 0.3s;
                    }
                }

                input[type="checkbox"] {
                    &:checked + label:before {
                        background-color: $yellow;
                    }

                    + label:before {
                        border-radius: 0px;
                    }
                }

                input[type="radio"] {
                    &:checked + label:before {
                        background-color: $yellow;
                    }

                    &:checked + label:after {
                        content: '';
                        position: absolute;
                        top: .4em;
                        left: .4em;
                        width: .5em;
                        height: .5em;
                        border-radius: 50%;
                        background-color: white;
                    }

                    + label:before {
                        border-radius: 50%;
                    }
                }
            }

            button {
                -webkit-appearance: none;
                border: 1px solid transparent;
                border-radius: 4px;
                box-shadow: none;
                padding: 1em 2em;
                background-color: $yellow;
                color: $text;
                font-weight: 600;
                cursor: pointer;
            }

            &-upload {
                label {
                    display: block;
                    width: 100%;
                    padding: 10px;
                    border: 1px solid #ddd;
                    cursor: pointer;
                }

                &-button {
                    span {
                        display: block;
                    }
                }

                &-clear {
                    cursor: pointer;
                }
            }

            &-error {
                font-size: .8rem;
                color: $red;
            }
        }
    }
}


Field & Page Conditions

You can decide whether a page or individual field should be shown, based on the value of another field.

For example, you may create a select-list or radio-button list for "How did you hear about us", with options such as:

  • Internet search
  • Magazine advert
  • Other
Then if the user selects Other, you can show another field for them to enter their answer.

Account Expiry

Your account can expire in one of two ways:

  • Your trial period ends and you elect not to pay for membership.
  • You are a paid member and a payment fails.

If your account expires, you can still log-in and manage your forms & view any saved submissions, however, your forms will no longer be served, so no further submissions will occur.

Forms that belong to expired accounts will simply show a message, advising that the owner's account has expired.

You can elect to subscribe for a paid account, or you can decide to delete your account, which will also delete all of your forms and any of their saved submissions.