Answers

Who developed the Formalizr extension?

The Formalizr extension was developed in-house by me, Dennis A. Babkin. I've had an idea for a web browser plug-in like that for quite some time after having lost countless messages that I typed on YouTube. It was developed mostly with JavaScript, using jQuery and jQuery UI libraries. I wrote this extension primarily for my own use, but later decided to share it with the world. So, hope you like it.

Is Formalizr available for Google Chrome only?

I developed Formalizr for the Google Chrome web browser primarily because of my own personal preferences. At this point I cannot give any definitive answer to whether or not I will also expand it to support Firefox, Safari, etc. It all depends on the current demand and the compatibility of those web browsers with what Formalizr does.

What platforms can Formalizr run on?

Formalizr can run on any platform that supports desktop versions of the Google Chrome browser that allows installing extensions. This includes Windows, OS X, Linux, Chrome OS, and all other variations of those platforms.

(Note that at the current stage mobile versions of the Chrome browser do not support extensions and thus Formalizr cannot run on those platforms. As soon as Google enables running extensions on mobile web browsers we will adjust Formalizr to be compatible with those platforms as well.)

Can Formalizr run on my iPhone/iPad?

As described above, currently Formalizr cannot run on iPhones, iPads or any iOS devices.

Can Formalizr run on my Android phone/tablet?

As described above, currently Formalizr cannot run on Android phones and tablets.

Where can I safely download Formalizr from?

Currently there's only one location where you can safely download Formalizr from - that is the Chrome Web Store from this link. Be aware that there's no other location that we supply Formalizr from, and if you come across any other site that provides Formalizr for download outside the Chrome Web Store, please let us know, as those copies of the Formalizr may not be safe!

Does Formalizr have a manual?

Yes. Formalizr installs with a brief overview manual that would work for most users. You can get to it if you click Formalizr badge icon , then click "Show information" button , and switch to the "Manual" tab. You can also watch an introductory screencast available at this page. For any additional details refer to this FAQ page.

How does Formalizr store what I type in web pages?

By default Formalizr will store all of its collected data in the local storage for your web browser. (By "collected data" I mean text that you typed in web pages and allowed Formalizr to pick up for you.) The main point that I try to deliver here is that Formalizr will store all collected data locally, and nowhere else! This means that it will not attempt to sync collected data with other devices, even if you enabled Chrome Sync. Formalizr will not attempt to offload its collected data from your local device, either.

Please make sure to read the full "Data collection policy" to understand technical nuances of the data storage employed by the Formalizr.

In case you feel safer if Formalizr didn't store your collected data on your local device, read this FAQ on how to disable it.

Is Formalizr associated with Google?

No, it is not. Formalizr is not associated with any major company or corporation. As I described in this FAQ, Formalizr is my own project designed with a sole purpose of not losing what we type in the web browser if a page crashes. And that is all to it.

Does Formalizr employ "data mining"?

No, it does not. You can check it for yourself. I described in this FAQ that Formalizr is my own project that I developed with a sole purpose of not losing what we type in the web browser if a page crashes. It does not have any other (sinister) goals. During the development process we designed Formalizr with the security of the user's data in mind.

At the current moment my company (dennisbabkin.com) is not associated with any major corporation, search engine, or government. If it comes to a point when I feel that the Formalizr project was lead in the direction that it may be used by a corporation or a government for the purpose of its user data aggregation, or "data mining", I will discontinue Formalizr and remove it from the web store.

I want to know technical details of how Formalizr stores & uses what I type in web pages?

OK. For a brief moment I will assume that the reader of this answer is familiar with computer programming techniques and knows JavaScript. Next is how Formalizr processes collected data:

When you load a web page, Formalizr begins scanning it, looking for any input fields. (It will continue doing so every 5 seconds for the currently active tab. This frequency can be configured through the Options window in the "Advanced" tab.) The exact process of picking input fields is somewhat complex for this explanation, so let's say that Formalizr goes through all HTML elements on the page and selects input text boxes, as well as any controls marked as content-editable.

It is important to note that Formalizr will not collect any data from the password fields, so it will skip those if it finds them.

If Formalizr finds a matching input field it then reads the text from it and sends it to the main processing code, which in turn stores it in a global JavaScript variable, in a property under a key, that is a URL of the page where the text was saved from. It becomes less wordy when you write it in this line of code:

oStorage[url] = text;

Doing so by itself
will store user's collected input text in RAM only.

If you enable local storage (see this FAQ), Formalizr will then attempt to save the same text in the local storage variable. For HTML5 local storage it will be done simply by this line of code:

localStorage.setItem(name, JSON.stringify(oStorage));

and in case of the
Chrome-specific local storage, by these lines of code:

Note that this step will not be performed if you enabled "Do not save in persistent storage" option.

Later if you decide to view collected data, or copy it to the Clipboard, the Formalizr simply reads it from the global variable in reverse order:

text = oStorage[url];

Also in case you choose an option to "Remove all collected data" the following line of code will remove all data saved in the HTML5 local storage:

localStorage.clear();

and this line will remove all Chrome-specific local storage data:

chrome.storage.local.clear(onComplete);

For more details check Formalizr source code itself. The content.js file contains JavaScript function called collectAllFormData() that performs collection of data from web pages. Then background.js file contains processFormDataWithTopURL() and addFormDataToStorage() functions that receive form data and process it for inclusion in memory, as was briefly outlined above.

How do I get the full data collection disclosure for the Formalizr?

To read the full "Data collection policy" for the Formalizr click its badge icon , and then click "Show information" button . Scroll down to the bottom of the "About" page, and click "Open" in the "Legal & Data Collection Policy" section. This will open it in a popup window.

I'm somewhat concerned about Formalizr storing what I type in web pages. Can I still use it?

Sure, you can. Make sure to select "Do not save in persistent storage" option, as described below. This will prevent Formalizr from saving collected data in the local storage on your device. Although keep in mind that with this option selected all your collected data will be discarded when the last web browser window is closed.

What persistent storage types are available in the Formalizr?

Formalizr by default will store all collected data in the Chrome-specific local storage. (By "collected data" I mean text that you typed in web pages and allowed Formalizr to store for you.) But you can also configure it for other storage options.

Click the Formalizr badge icon , then click "Show options" button , and switch to the "Storage" tab. You will be presented with the following persistent storage options:

Do not save in persistent storage

This option will prevent Formalizr from saving collected data on your local device. All collected data will reside in RAM only and will be permanently discarded when you close the last web browser window.

Use this option if you're concerned about Formalizr storing your data in persistent storage.

Save in local storage

Using this option is similar to the one below, except that collected data is stored in the general HTML5 local-storage depository.

Save in Chrome-specific local storage

This option is used by default. When enabled, Formalizr will store collected data in Chrome's own local-storage depository, similar to HTML5 local-storage. (It is enabled by default because it is native for Google Chrome.) In this case when you close the last web browser window, all data collected from input text fields by the Formalizr will be preserved and available when you re-open the browser again.

It is very important to note that all data collected by the Formalizr is stored in plain text unencrypted!

What happens when persistent storage used by the Formalizr gets full?

To find out the current amount of the persistent storage capacity used by the Formalizr click its badge icon , then click "Show options" button , and switch to the "Storage" tab.

If you selected an option other than "Do not save in persistent storage", the graph at the bottom will show how much of the persistent storage capacity is currently in use by the Formalizr:

It is generally not recommended to keep persistent storage usage close to the full capacity. This can make Formalizr run slow and take longer to save your data. To ensure that your persistent storage usage stays low adjust the memory capacity parameters.

In case your persistent storage usage reaches the full 100% capacity, Formalizr will begin automatically discarding collected data. It will start by removing older text entries for each text box for every page. It will continue doing so until it frees up enough persistent storage capacity or gets down to only one last text box entry per page. After which it will begin discarding pages with collected data themselves, starting from the oldest saved page. If that still doesn't free up enough persistent storage capacity, saving any additionally collected data may fail. Keep in mind that this process can take a significant amount of time to complete, that can make Formalizr run slow. So as was already suggested above, make sure to prevent filling up persistent storage by adjusting the memory capacity parameters.

Formalizr doesn't seem to remember passwords that I type in web pages. How do I make it remember passwords?

No, Formalizr will not remember your passwords. This was done intentionally. It is important to understand that Formalizr does not implement encryption to store your data, which makes it unsuitable for storing passwords. To remember your passwords securely use a specialized type of software called "Password managers".

Formalizr remembered my sensitive data on a page. How can I remove it?

To remove data collected for a specific web page, click Formalizr badge icon , and then click the page title for the page that you want to remove data for. It will open it up:
After that click "Remove page data" button and confirm removal by clicking "Remove" again. This action will permanently remove data collected for that specific web page.

NOTE: Please make sure to navigate away from the web page whose data you are trying to remove before performing steps above. If you don't do this, Formalizr will automatically collect data from that web page again after you remove it. This happens if the web page you're removing collected data from is selected in the currently active tab in the web browser.

How can I manually remove all collected data from the Formalizr?

There are several ways you can permanently remove all data collected by the Formalizr:

Click the Formalizr badge icon , then click "Show options" button , and switch to the "Storage" tab. Then click "Remove all collected data" link at the bottom of the page and confirm removal by clicking "Remove" again.

You can alternatively remove only data collected from incognito tabs by following the steps above and by picking "Remove all collected data for incognito pages only" link at the bottom of the "Storage" tab.

By uninstalling the Formalizr extension you will effectively remove all of its collected data. So if you re-install Formalizr back on, it will start running without any collected data in its storage. (Note that doing this will also reset all of the Formalizr settings to their defaults.)

Is there a way to prevent Formalizr from remembering my sensitive data?

Yes, absolutely. But before we go into a technical discussion of how to set up Formalizr not to collect your sensitive information, let's review what "sensitive information" is.

If you think about it, "sensitive" or "personal" information, besides being the obvious credit card numbers, social security numbers, passport numbers, etc, includes a host of other information that many people would consider "personal," that does not necessarily fall under a rigid category as in the first example. For instance, many people consider their email correspondence as "personal" or "private." When for someone the details of their specific bill may contain "sensitive" information too, and so on. In other words, there's no one uniform way to define what is "sensitive" for one user apart from another. Thus, devising an automatic filter that could remove all sensitive information from the data collected by the Formalizr would not be practical. Plus, there might actually be people who would prefer Formalizr to temporarily store their sensitive information while they are sending it in a secure online message, in case the web site that they are using crashes, pretty much like in any other scenario that they would be using Formalizr for. So for those people we cannot just automatically block it out by default.

To address the points that I raised above, our developers came up with the following user-controlled solutions designed to prevent Formalizr from remembering your sensitive data:

The most important point to note here is that Formalizr stores all your collected data locally, as was described in this FAQ. So even if it does collect some of your sensitive data, as long as your Operating System is not compromised, it would not pose any significant risk if you let Formalizr store it for a short moment while you're sending such information. After that you can simply remove it from Formalizr. Formalizr employs an easy way of removing collected data from specific web pages, as well as the removal of all collected data at once.

A more subtle way would be to set up "Exceptions" for the web sites or web pages where you prefer Formalizr never to remember what you type.

And lastly, there's also a way to disable data collection for specific browser modes, such as incognito browsing. Read this FAQ for details.

How do I temporarily disable Formalizr from remembering what I type in any web site?

In case you need to temporarily disable Formalizr from remembering what you type in all web sites, click Formalizr badge icon and then click "Turn off data collection" button: . This will put Formalizr in the state when it will not collect any data from any web sites that you visit. (Note that data already collected by the Formalizr will not be affected.) At this point the badge icon will indicate this state:

To turn data collection back on, click Formalizr badge icon and then click "Turn on data collection" button: . Make sure that the badge icon changes into a default one: . This action enables Formalizr to begin collecting data from all web sites that you will visit afterwards.

How do I disable Formalizr from remembering what I type in tabs opened for incognito browsing?

This option is available only if you enabled Formalizr for incognito browsing. Click Formalizr badge icon , then click "Show options" button , and switch to the "Incognito" tab. Then uncheck "Collect data from incognito tabs". This will put Formalizr in the state when it will not collect data from tabs opened for incognito browsing. This will be also indicated by the badge icon: . Note that this state does not affect data collection from tabs opened for "regular" browsing.

How do I enable Formalizr for tabs opened for incognito browsing?

By default Formalizr will be disabled in tabs opened for incognito browsing. To enable it for those tabs as well, go to the Chrome settings, click "Extensions" and locate Formalizr extension line, and then check "Allow in incognito".

What happens when I allow Formalizr to run during incognito browsing?

By default Formalizr will be disabled for incognito browsing. If you want to use it in that mode as well, you must manually enable it. When enabled, Formalizr will fully respect web browser's incognito mode by doing the following:

Formalizr will collect & temporarily store data from tabs opened for incognito browsing.

By default Formalizr will discard all data collected from incognito tabs when the last web browser window is closed. (You can also discard this data manually at any moment.)

In case you prefer to keep data collected from incognito tabs when the last web browser window is closed, go to the Formalizr options, switch to the "Incognito" tab and check "Save data collected from incognito tabs when browser is closed".

By default Formalizr will separate data collected during incognito browsing from data collected during "regular" browsing when displaying it to the user after a click on the badge icon: . This behavior can be changed in the options window, as described in this FAQ.

How do I set up Formalizr to show data collected from incognito tabs?

Formalizr by default will separate data collected during incognito browsing from data collected during "regular" browsing when displaying it for the user after a click on the badge icon .

To change data display settings, click on the Formalizr badge icon , then click "Show options" button , switch to the "Incognito" tab and pick one of the following options in the "Viewing of Mixed Content" section:

Always allow viewing of mixed content

If Formalizr collected data from tabs opened for incognito and "regular" browsing, this option will allow viewing of both data types if the user clicked on the badge icon from a tab opened for "regular" browsing, as well as from a tab opened for incognito browsing. In other words, it shows mixed content in either case.

Allow viewing of mixed content from incognito tab only

This option is more restrictive. If Formalizr collected data from tabs opened for incognito and "regular" browsing, this option will allow viewing of both data types only if the user clicked on the badge icon from a tab opened for incognito browsing. If the user clicked on the badge icon from a tab opened for "regular" browsing, this option will prevent showing of data collected from incognito tabs. In other words, it shows mixed content only when viewed during incognito browsing.

Do not allow viewing of mixed content

This is the most restrictive option of them all. It is also used by default. If Formalizr collected data from tabs opened for incognito and "regular" browsing, this option will allow viewing of each data type only from their respective modes, i.e. the user that clicked on the badge icon from a tab opened for incognito browsing will be able to view only data collected from incognito tabs, while the user that clicked on the badge icon from a tab opened for "regular" browsing will be able to view only data collected from "regular" tabs. In other words, it won't mix data collected from different modes.

How do I distinguish data collected from tabs opened for incognito browsing?

Formalizr treats data collected during "regular" and incognito browsing differently. There are several options that deal with this distinction:

You can adjust the way Formalizr saves and displays data collected from "regular" and incognito tabs. Check this FAQ for details.

You can remove all data collected during incognito browsing separately from data collected during "regular" browsing. Check this FAQ for details.

When displaying collected data, Formalizr will visually distinguish the data collected from tabs opened for incognito browsing:
NOTE:
In this case you need to allow Formalizr to display mixed content as described in this FAQ.

What are Formalizr "Exceptions"?

Exceptions are an easy way to configure Formalizr not to remember what you type on some specific web sites. For instance, if you go to a web site that requires you to type in your credit card number, social security number, or any other sensitive information that you don't want Formalizr to remember in memory, you can set up that web site's URL as the "Exception" in Formalizr. (Note that there's no need to set up "Exceptions" for login pages that may ask for your password since Formalizr will not attempt to remember your passwords by design.)

Another good example to use "Exceptions" is to set them up for a web site which input you don't want to "clutter" Formalizr storage with. For instance, I set the "Exception" for Google because I don't want Formalizr to remember every search word that I type there. But this decision should be merely personal, since some people may prefer to have a "history" of their used search words.

How do I prevent Formalizr from remembering what I type in some specific web sites?

For that use Formalizr "Exceptions". There are two main types of "Exceptions" that you can quickly set up in Formalizr: site and page "Exceptions." As their name suggests, they apply to a specific web site or a specific web page. The difference is that the site "Exception" is more encompassing than the page "Exception." Each will prevent Formalizr from collecting data from a specific URL:

To quickly set up a site "Exception", first navigate to the web site that you want to set up the "Exception" for. Then click Formalizr badge icon , and Shift-click the "On/Off" button . This should set up a quick site "Exception." If it succeeds, the badge icon will change to indicate that data collection for the tab is off because of the "Exception":

Note that not all URLs support setting up an "Exception." There's also a limit to how many "Exceptions" you can set up in Formalizr.

To quickly set up a page "Exception", first navigate to the web page that you want to set up the "Exception" for. Then click Formalizr badge icon , and ⌘+Shift-click the "On/Off" button . (On Windows/Chrome OS/Linux use Ctrl+Shift-click.) This should set up a quick page "Exception." If it succeeds, the badge icon will change to indicate that data collection for the tab is off because of the "Exception":

Note that not all URLs support setting up an "Exception." There's also a limit to how many "Exceptions" you can set up in Formalizr.

To quickly remove site or page "Exception", first navigate to the web page that you want to remove "Exception" for. Then click Formalizr badge icon , and Shift-click the "On/Off" button . This should remove the "Exception." If it succeeds, the badge icon will change to indicate that data collection for the tab is now enabled:

As you might have noticed, this quick shortcut simply toggles the "Exception".

Note that after you set up an "Exception" you can later edit or adjust it via the options window, as described in this FAQ.

What type of "Exceptions" does Formalizr support & how to set them up?

Formalizr supports several types of "Exceptions" and special "Exception" settings that can be accessed via the options window. The same window can be also used to adjust "Exceptions" already created via quick shortcut keys, as well as to set up new "Exceptions."

When "Exceptions" tab is shown it will have currently active "Exception" highlighted in the list:
This list will contain all "Exceptions" with their parameters set up in the Formalizr. You can use controls underneath the list to edit, remove or add new "Exceptions." Make sure to check them in the list first. (You can also edit a specific "Exception" if you click on the line that bears its type, or "Match site only" line in the screenshot above.)

When editing or adding an "Exception" you must specify the following parameters:

"Exception" keyword that is used to match against the URL.

You can use the "Open page" button to open the keyword as a URL, if it is such.

A flag that specifies whether or not the "Exception" keyword "Contains Regular Expressions."

Regular Expressions allow advanced control over a filter that is applied to URLs to trigger the "Exception."
Check this FAQ for details.

Note that checking this flag requires that you specify the keyword using the syntax appropriate for Regular Expressions. Use this option only if you know what you're doing.

And the "Exception" type:

Match entire URL

This "Exception" is triggered only when the entire URL matches its keyword. The match is done in case-insensitive way, or when small and capital letters are treated as the same. (You would normally use this "Exception" type when you're controlling the rest of the filtering process, such as when you use a Regular Expression keyword.)

Match site only, ignore www

To trigger site "Exception" the URL must match its keyword with all of its subdomains. (The matching is performed in case-insensitive way, meaning that small and capital letters are treated as the same.) This particular type also ignores the first subdomain if it is set to "www."

For example, if you set up the "Exception" for the "slides.example.org" keyword, the URL to match this exception must include all of the subdomains, except "www.", as such: "http://www.slides.example.org/page.html". Note that the following URLs will not match this "Exception" because of a different set of subdomains: "http://login.slides.example.org/page.html" or "http://slides.example.org.uk/page.html"

To trigger site "Exception" the URL must match its keyword with all of its subdomains. (The matching is performed in case-insensitive way, meaning that small and capital letters are treated as the same.)

For example, if you set up the "Exception" for the "slides.example.org" keyword, the URL to match this exception must include all of the subdomains, as such: "http://slides.example.org/division/page.html". Note that the following URLs will not match this "Exception" because of a different set of subdomains: "http://login.slides.example.org/page.html" or "http://slides.example.org.uk/page.html"

Match page only, ignore www

To trigger page "Exception" the URL must match its keyword with its full host name, as well as with its path name. (The matching is performed in case-insensitive way, meaning that small and capital letters are treated as the same.) This particular type also ignores the first subdomain if it is set to "www.". This type ignores the port number if it is present in the URL.

For example, if you set up the "Exception" for the "slides.example.org/page.html" keyword, the URL to match this exception must include all of the subdomains, except "www.", and the path name, as such: "https://www.slides.example.org/page.html?sort=ascending". Note that the following URLs will not match this "Exception" because of a different set of subdomains or a path name: "http://login.slides.example.org/page.html", or "http://slides.example.org.uk/page.html", or "http://slides.example.org/division/page.html"

To trigger page "Exception" the URL must match its keyword with its full host name, as well as with its path name. (The matching is performed in case-insensitive way, meaning that small and capital letters are treated as the same.) This type ignores the port number if it is present in the URL.

For example, if you set up the "Exception" for the "slides.example.org/page.html" keyword, the URL to match this exception must include all of the subdomains, and the path name, as such: "https://slides.example.org/page.html?sort=ascending". Note that the following URLs will not match this "Exception" because of a different set of subdomains or a path name: "http://login.slides.example.org/page.html", or "http://slides.example.org.uk/page.html", or "http://slides.example.org/division/page.html"

Is there a limit to how many "Exceptions" I can set up in Formalizr?

Yes. The maximum number of "Exceptions" that you can set up is 64. If you try to set up a 65th "Exception" Formalizr will not let you do it. Such limitation was imposed to ensure that the Formalizr extension does not significantly slow down your system, since each "Exception" comes with a slight performance hit. As a general rule of thumb, try to keep the number of "Exceptions" that you set up in Formalizr to the required minimum & remove "Exceptions" that are no longer in use.

Can I set up an "Exception" using the Regular Expression filter?

Yes, you can. Although keep in mind that this approach should be used only by users who are comfortable with the Regular Expression syntax.

Setting an incorrect or faulty Regular Expression in an "Exception" may prevent Formalizr from functioning correctly, and may even slow down your web browser.

While adding or editing an "Exception" make sure to check "Contains Regular Expressions" option and specify your Regular Expression filter as the keyword. Review the following examples on how one may use the Regular Expression filter for special situations:

To create an "Exception" for all subdomains belonging to the "google.com" top level domain (to match subdomains such as: "docs.google.com", "video-stats.video.google.com", etc.) use the following Regular Expression as the keyword:

(?:^|\.)google\.com$

Type: "Match site only, ignore www"

To create an "Exception" for the web page with a URL that ends with "faq.php" (like the URL for this page) use the following Regular Expression as the keyword:

\/{1}faq\.php$

Type: "Match page only, ignore www"

How can I control the size of memory that is used to cache collected data in Formalizr?

When Formalizr collects text that you type in web pages, it stores it in a temporary storage called "cache." (In technical terms, it uses RAM.) The size of this cache memory is limited to prevent storage of the old and unnecessary information, as well as to make Formalizr run smooth. A user can control this cache memory capacity through the options window.

To adjust cache memory capacity used by the Formalizr, click its badge icon , then click "Show options" button , and switch to the "Memory" tab. This will give you an option to adjust the following parameters:

Maximum number of web pages

This parameter controls how many unique web pages with data Formalizr should keep in the cache memory before recycling the old ones. By default it stores information from 48 web pages.

When Formalizr remembers what you type on a web page it also remembers the time when you do so. This allows it to sort data collected from web pages by time and date. Formalizr also attempts to reuse previously used data entries for web pages. For instance, if you typed something on one web page, went away from it, and then came back and started typing on the same page again, Formalizr will reuse that web page's data entry in the cache memory. On the other hand, every time when data from a new web page is added to the cache memory, Formalizr checks the number of existing web page data entries, and if that number is greater than the one specified by this parameter, it removes all older entries to satisfy this constraint. Such is necessary to recycle old and unused collected data, as well as to keep memory usage low. This also helps keep Formalizr extension robust and responsive.

Note that this parameter should be adjusted depending on the type of device that Formalizr is running on. For instance, it will not be an issue for a desktop computer to store a large number of data entries due to its higher RAM capacity and faster CPUs, but that may become an issue on a battery powered, smaller, portable device that does not come with a lot of memory.

Maximum number of text boxes per web page

This parameter lets you control how many unique text boxes Formalizr will allow to store data from on a single web page. By default it allows up to 32 text boxes per web page.

To understand this parameter let's assume such hypothetical scenario: You set up this parameter for the maximum of 10 text boxes per page, and then go to some web page that contains 11 text boxes. As you begin typing into them, Formalizr will try to remember what you type, but as soon as it reaches the 11th text box, it will start discarding all collected data from the oldest text box to satisfy the limit of 10 per page. In our example this becomes the first text box that you began typing into. So as you see, it pays to keep this parameter relatively high, although I doubt that you'd find some online form with more than 32 text boxes on a single page. But in case you do, you'll need to adjust this parameter.

Note that since Formalizr reuses data entries from previously visited web pages, it may store text boxes with the old data. In this case recycling or removing old text boxes will free up space.

In case Formalizr automatically discards data from any text boxes on a page due to constraints imposed by this parameter, it will display a warning at the bottom of the page:
and the badge icon will indicate an error in red:

Maximum number of entries per text box

This parameter controls how many text entries are saved per each text box before old entries are recycled. By default Formalizr stores 32 entries per text box.

Each time Formalizr stores text that you type in a web page, it saves it as an entry, or a block of text that was currently in a text box. This allows you to view your typing history through the popup window available after a click on the Formalizr badge icon . This parameter controls how many text entries will be stored for each text box on a web page. Or, in other words, it defines the depth of your typing history buffer, or how far back you can view it.

In case the number of text entries saved for a text box reaches the limit set by this parameter, Formalizr will discard all older entries to satisfy the constraint. This mechanism works on a principle "first in, first out."

Decreasing the size of any of the parameters described above will automatically discard (or remove) any collected data to satisfy the constraint. Note that such will not happen until the new data is written into the cache memory.
To discard all extra collected data immediately, click "Apply settings" link. Keep in mind that after collected data is discarded, it will not be possible to restore it back!

Can I specify which text boxes Formalizr should collect data from?

Yes, you can. By default Formalizr will collect data from all accessible text boxes on the page, except password fields. In some situations you may want to adjust that.

To adjust the types of text boxes that Formalizr should collect data from, click the Formalizr badge icon , then click "Show options" button , and stay on the "General" tab. The following check boxes define which types of text boxes Formalizr will collect data from:

Single-line general input text boxes

This is the most common type of text boxes consisting of a single line of unformatted text.

Multi-line general input text boxes

These text boxes are made up of at least two rows and are used for typing longer messages that generally have no formatting.

Formatted input text boxes

This type includes text boxes with a wide variety of designs and formatting that may be applied to them. They usually consist of multiple lines of text, but can also be single-lined.

Numbers-only text boxes

This type of text boxes accepts numbers only. (Due to still existing legacy support of some older web browsers, it may not be widely used on the web.)

Search word text boxes

This type of text boxes is specifically intended for search words. (Due to still existing legacy support of some older web browsers, it may not be widely used on the web.)

URL text boxes

This type of text boxes is specifically intended for URLs, or web addresses, or what you would type in the web browser's address bar. (Due to still existing legacy support of some older web browsers, it may not be widely used on the web.)

Email text boxes

This type of text boxes is specifically intended for email addresses. (Due to still existing legacy support of some older web browsers, it may not be widely used on the web.)

Telephone number text boxes

This type of text boxes is specifically intended for telephone numbers. (Due to still existing legacy support of some older web browsers, it may not be widely used on the web.)

Collect data from text boxes with autocomplete disabled

If you uncheck this option Formalizr will not collect data from text boxes that are marked as "autocomplete disabled." Text boxes may be marked as such by designers of web pages to prevent your web browser from remembering any sensitive information that could be typed into those text boxes. For instance, a good web designer will mark a text box where users would type their credit card numbers as autocomplete disabled. Unfortunately, in practice, not all web sites follow this rule. And worse still, many web sites abuse this functionality by enabling it for text boxes that do not need it.

Note that the settings described above apply to all web pages.

By design Formalizr will remember unformatted text only. If any formatting was present in the text box when Formalizr remembered its text, such formatting will not be saved.

Formalizr doesn't seem to be collecting data from some text boxes on a page that are not password fields. Can you explain why?

In some circumstances, mostly depending on the design and technology used on a web page, Formalizr may not be able to collect data from some text boxes, as such:

Flash, Silverlight and similar plug-ins. These are special browser plug-ins that run outside of reach of web browser extensions and thus cannot be accessed by the Formalizr. It is not that we didn't want Formalizr to work with these plug-ins, their architecture makes it proprietary and thus inaccessible for the Formalizr.

Other browser extensions. By design Formalizr cannot access other extensions running alongside it. This is done mostly for your protection and security of the data that each extension operates with.

Offline web pages. By design Formalizr will not access offline web pages. This is done for your protection and security of your data.

Web pages accessible via a protocol other than HTTP or HTTPS. By design Formalizr will not access these web pages. This is done for your protection and security of your data.

Java plug-ins. Similar to Flash and Silverlight plug-ins, Java plug-ins are not accessible from the web browser extensions, including Formalizr.

Web pages supporting saving of their own drafts. A good example would be Google Docs, or Microsoft Office Online. Such web pages are specifically designed to save what you type and thus you do not need Formalizr to interfere with that process. Rely on the web page's native architecture to save your content.

Web pages designed with extra formatting features. This last example includes web pages that support their own (specialized) input formatting, such as specialized HTML markup input. In this case Formalizr will not be able to distinguish the correct layout of the page to properly collect the data. It is generally recommended to disable Formalizr on such pages using "Exceptions."

As a general rule of thumb, to ensure that Formalizr is collecting your data on a web page, check its badge icon as you type. The number on it will indicate the count of text boxes that Formalizr is currently collecting data from: . Additionally you may want to click on the badge icon itself to open the popup window and check if your text appears in the Formalizr.

How can I reset Formalizr without losing collected data?

In some situations you may need to reset Formalizr without losing the data it collected for you. This may be necessary if you start witnessing some "strange" behavior in the Formalizr, or if our tech support personnel instructs you to do so to address a bug or a glitch.

The easiest way to reset Formalizr is to restart your web browser (by closing all of its open tabs) or by logging off your operating system's user account, or by rebooting your device.

A slightly more advanced way to reset Formalizr is to go to the web browser settings, locate Formalizr extension and uncheck "Enabled". After that check it back on. This will reload the Formalizr extension.

When I copy text from Formalizr it doesn't look right. How can I correct it?

This may happen because of a mismatch between the format of newlines supplied by the Formalizr and the format acceptable by your operating system or by an app that you're pasting your text into. In most cases Formalizr should be smart enough to adjust it for you automatically. In case it doesn't, you can also adjust it manually.

To adjust the way Formalizr treats newlines when it copies text to the Clipboard, click Formalizr badge icon , then click "Show options" button , and switch to the "Advanced" tab. Then locate "Clipboard Copy Options" section, that will allow you to specify one of the following:

Do not change original newlines

This option will prevent Formalizr from modifying the format of newlines. Formalizr will use newlines as they appeared in text boxes at the moment when it copied text from them.

Convert to Windows newlines (CR+LF)

This option will be selected by default when Formalizr is installed on a Windows operating system. It will make Formalizr replace all newlines with Windows-specific carriage return, followed by line-feed, or 10, 13 in decimal notation.

Convert to OS X/Linux newlines (LF)

This option will be selected by default when Formalizr is installed on a Mac, or Linux-based operating system. It will make Formalizr replace all newlines with the Linux-specific line-feed single character, or 13 in decimal notation.

Convert to Apple II/OS-9 newlines (CR)

This option is provided for compatibility with legacy operating systems only. It will make Formalizr replace all newlines with the OS-9-specific carriage return single character, or 10 in decimal notation.

I want to minimize the impact Formalizr makes on my CPU. Can I do it?

If you're running Formalizr on an old hardware, or if for some reason you want to minimize the impact Formalizr has on the CPU of your device, you may consider changing the following options. You can also use these options to speed up the way Formalizr collects the data. In general though, it is not recommended to mess with these parameters!

Click Formalizr badge icon , then click "Show options" button , and switch to the "Advanced" tab. The following settings that control Formalizr performance will be available in the "Advanced Data Management" section:

Frequency of data collection from web pages

By default this parameter is set to 5000 ms, or 5 seconds. It defines the frequency in milliseconds with which Formalizr will poll text boxes on web pages for changes. This parameter also determines how often Formalizr will save data in cache memory (or RAM) after each change that you make to text when you type. Because of that, setting this parameter too low may significantly impact the number of CPU cycles taken up by the Formalizr extension and make your device run slower and use up more battery power. Such may also affect how quickly Formalizr uses up its available storage memory. On the other hand, setting this parameter too high may also impact Formalizr performance by making it miss changes that you make to text in web pages.

Frequency of saving collected data in persistent storage

By default this parameter is set to 10 seconds. It defines the frequency in seconds with which Formalizr will attempt to save all collected data in persistent storage. Note that Formalizr will perform saving only if data stored in cache memory (or RAM) was modified since it was last saved. When saving collected data Formalizr will save all data at once. This is a somewhat costly operation that may impact the number of CPU cycles used by the Formalizr extension, as well as the storage disk workload, in case of a larger amount of data being saved. Because of that it is not recommended to set this parameter too low. On the other hand, setting this parameter too high may prevent Formalizr from saving your collected data in due time.

Setting any of these parameters incorrectly may impact performance of the Formalizr extension, as well as the performance of your web browser and the operating system in general!

To check performance of the Formalizr extension, as well as performance of a specific web page in Google Chrome, click its menu button , then go to More Tools, and pick Task Manager. (You can achieve the same by using the Shift+Esc shortcut.) While in the Task Manager check CPU and Memory columns to locate the "offending" process that takes up most resources.

In case you experience a performance degradation in your web browser because of the Formalizr extension, make sure to check the size of the cache memory and the size of the persistent storage. You may consider lowering these parameters to improve Formalizr performance.

Can I export Formalizr settings from one device to another?

Yes, you can. Keep in mind though that Formalizr supports Chrome Sync, which means that your Formalizr settings will be synchronized across all your devices that are logged in with the same Google Account.

In case you want to manually move your Formalizr settings from one device to another, or to simply save them for later, click Formalizr badge icon , then click "Show options" button , and switch to the "Advanced" tab. Scroll down to the bottom of the page. You'll see the following options in the "Advanced Settings Management" section:

Export all settings

This link opens a popup window that will contain all current settings in the Formalizr on that specific device, presented in a special JSON format. It is recommended that you copy, then paste and save this data in a plain-text file. Do not use text files supporting formatting, such as Pages or Microsoft Word!

Keep in mind that Formalizr settings are exported unencrypted, in plain-text form, which may potentially expose your private or sensitive information!

In case you're intending to email this data, make sure to email it in a plain-text file attachment. Do not paste it into the body of the email. Doing so will most certainly corrupt the structure of the data, that will render it unusable!

Import all settings

This link opens a popup window that will allow you to paste Formalizr settings data previously exported from the same or another device. Click "Import" to check this data for correctness. Note that only after Formalizr finds your pasted data as being syntactically correct, it will proceed with importing. Otherwise it will display an error message. Formalizr will also display a confirmation window with information about settings being imported, before actually applying the changes.

Importing new data will overwrite all existing Formalizr settings! Make sure that you also trust the source where you're importing this data from. Importing from untrusted source may jeopardize your device!

Importing settings does not immediately affect the data collected by the Formalizr. Although importing settings that impose tighter constraints on the cache memory size or persistent storage type may discard some of your currently collected data.

Can I export data collected by Formalizr from one device to another?

Yes, you can. Formalizr allows exporting & importing all of its collected data at once. In other words, you can't just export data from some pages, you have to export or import all collected data.

To export or import all data collected in the Formalizr click its badge icon , then click "Show options" button , and Shift-click the "Memory" tab. This will expose "Advanced Memory Management" section at the bottom of the page with the following options:

Export collected data

This link opens a popup window that will contain all currently collected data in Formalizr on that specific device, presented in a special JSON format. It is recommended that you copy, then paste and save this data in a plain-text file. Do not use text files supporting formatting, such as Pages or Microsoft Word!

Keep in mind that data collected in the Formalizr is exported unencrypted, in plain-text form, which may potentially expose your private or sensitive information!

In case you're intending to email this data, make sure to email it in a plain-text file attachment. Do not paste it into the body of the email. Doing so will most certainly corrupt the structure of the data, that will render it unusable! You may also consider encrypting this attachment before you email it. (You can do this using 7-Zip , WinRAR or similar software.)

Import collected data

This link opens a popup window that will allow you to paste special JSON data previously exported from the same or another device to be imported & used in the Formalizr as collected data. Click "Import" to check this data for correctness. Note that only after Formalizr finds your pasted data as being syntactically correct, it will proceed with importing. Otherwise it will display an error message. Formalizr will also display a confirmation window with information about the data being imported, before actually applying the changes.

Importing new data will overwrite all existing data collected by the Formalizr! Make sure that you also trust the source where you're importing this data from. Importing from untrusted source may jeopardize your device!

Importing collected data does not affect Formalizr settings.

How can I check if there's an update for the Formalizr?

Formalizr will update itself automatically to the latest available version when you restart the web browser. In case you prefer to check for updates and update Formalizr manually without restarting the web browser, do the following:

Click Formalizr badge icon , then click "Show information" button , and click "Check for updates" link on top of the page:
If update is available it will be installed automatically and Formalizr will restart.
Otherwise it will show the latest available version on top.

How can I report a bug in the Formalizr?

We appreciate your willingness to report bugs in the Formalizr. Doing so will improve it for everyone. Although keep in mind that reporting a bug doesn't consist of just sending us a message saying, "Something doesn't work." We will need you to provide us with the following information:

Please navigate to the web page where you experience the bug (issue) or switch to an already open tab with the issue specific for the Formalizr.

Click Formalizr badge icon , then click "Show information" button , and switch to the "Feedback" tab. (You can also achieve this simply by Shift-clicking the "Show information" button.)

In the section where it says "Report bugs" make sure that the URL where you experience the bug is filled out. You can check it by clicking the "Open page" button on the right: . If you don't want to share the URL, you can leave this field blank.

Formalizr will attempt to remove all of your URLs from collected report.

After that click "Visit our web site" link to open our bug submission page. When the page loads up, paste the report collected above into it.

Although not necessary, it would help if you could share your unfiltered bug report with us. Keep in mind that such report will include all of the URLs that were opened in your web browser at the moment when it's generated. To collect this report, simply Shift-click the "Visit our web site" link. It will paste the full report into our web submission form automatically.

Before sending your report please provide any description of the bug. The rule of thumb is simple. The more details you provide for us, the quicker we'll be able to resolve the issue.

Although not required, it'd be nice if you provided your email address in case we needed to contact you for a follow-up question. We promise that we will not use your email address for anything else.

Click "Send" when your bug report is ready.

All bug reports submitted to our web server will remain private. Please make sure to remove any potentially sensitive information that you may not want to send. All bug reports received at our web server will not be disclosed to any outside vendors or third-parties.

How can I contact developers of the Formalizr extension?

We are always happy to hear back from our users. So please never hesitate to send us your feedback.

In case you want to report a bug or an issue with Formalizr, please read this FAQ.

If you have something to say about the Formalizr that is not bug-related, click its badge icon , then click "Show information" button , and switch to the "Feedback" tab. Use "Contact us" link on that page to bring up the contact form.

How can I help translate Formalizr to my own language?

We appreciate your willingness to help us translate the user interface for the Formalizr. Doing so will improve it for people who speak your language. Before you can actually begin translation, please do the following:

On top of the page open the drop-down menu with the languages that Formalizr user interface was already translated into. Make sure that your language is not there already.

Then pick the language that you want to translate Formalizr to from a drop-down menu below.

Click "Contact us" link to switch to our web site.

Specify your contact email address so that we can contact you back.

It is important to make sure that you can receive emails from us. For that set up your email service to "trust" our domain: dennisbabkin.com. We will never send you spam or sell your email address for marketing purposes.

Although not important it would be nice if you could provide a short note about yourself. Please make sure to do so in English.

Click "Send" to send your request.

When we receive your request for translation we will validate it, and if your services are required we will contact you back at your email address. After that we will provide you with further instructions and tools needed for the actual translation.

The following is required to qualify for translation:

You must be fluent in English.

You must be fluent in the language that you're translating to.

Inaccurate translations may be denied.

Keep in mind that translation is a voluntary offer. You will not get paid for the translation. As the acknowledgement of your work, we will include your name and a link to your web site or email address in the credits for the Formalizr.