Local shared object

A local shared object (LSO), commonly called a Flash cookie (due to its similarity with an HTTP cookie), is a piece of data that websites that use Adobe Flash may store on a user's computer. Local shared objects have been used by all versions of Flash Player (developed by Macromedia, which was later acquired by Adobe Systems) since version 6.

Flash cookies, which can be stored or retrieved whenever a user accesses a page containing a Flash application, are a form of local storage. Similar to cookies, they can be used to store user preferences, save data from Flash games, or track users' Internet activity. LSOs have been criticised as a breach of browser security, but there are now browser settings and addons to limit the duration of their storage.

Storage

Local shared objects contain data stored by individual websites. Data is stored in the Action Message Format. With the default settings, the Flash Player does not seek the user's permission to store local shared objects on the hard disk. By default, an SWF application running in Flash Player from version 9 to 11 (as of Sept 1, 2011) may store up to 100 kB of data to the user's hard drive. If the application attempts to store more, a dialog asks the user whether to allow or deny the request.

Adobe Flash Player does not allow third-party local shared objects to be shared across domains. For example, a local shared object from "www.example.com" cannot be read by the domain "www.example.net". However, the first-party website can always pass data to a third-party via some settings found in the dedicated XML file and passing the data in the request to the third party. Also, third-party LSOs are allowed to store data by default. By default, LSO data is shared across browsers on the same machine. As an example:

  • A visitor accesses a site using their Firefox browser, then views a page displaying a specific product, then closes the Firefox browser, the information about that product can be stored in the LSO.
  • If that same visitor, using the same machine now opens an Internet Explorer browser and visits any page from the site viewed in Firefox, the site can read the LSO value(s) in the Internet Explorer browser, and display dynamic content or otherwise target the visitor.

This is distinct from cookies which have directory isolated storage paths for saved cookies while LSOs use a common directory path for all browsers on a single machine.

Application to games

Flash games may use LSO files to store the user's personal game data, such as user preferences and actual game progress. Backing up files such as these requires some technical understanding of software. However, both browser updates and programs designed to remove unused files may delete this data.

To prevent cheating, games may be designed to render LSO files unusable if acquired from another location.

Privacy concerns

As with HTTP cookies, local shared objects can be used by websites to collect information on how people navigate them, although users have taken steps to restrict data collection. Online banks, merchants, or advertisers may use local shared objects for tracking purposes.

On 10 August 2009, Wired magazine reported that more than half of the top websites used local shared objects to track users and store information about them, but only four of them mentioned it in their privacy policy. "Flash cookies are relatively unknown to web users," the article said, "even if a user thinks they have cleared their computer of tracking objects, they most likely have not." The article further says that some websites use Flash cookies as hidden backups so that they can restore HTTP cookies deleted by users.

According to the New York Times, by July 2010 there had been at least five class-action lawsuits in the United States against media companies for using local shared objects.

In certain countries, it is illegal to track users without their knowledge and consent. For example, in the United Kingdom, customers must consent to the use of cookies/local shared objects:

Cookies or similar devices must not be used unless the subscriber or user of the relevant terminal equipment:

  • is provided with clear and comprehensive information about the purposes of the storage of, or access to, that information; and
  • is given the opportunity to refuse the storage of, or access to, that information.
    — Information Commissioner's Office

Local shared objects were the first subject to be discussed in the Federal Trade Commission (FTC) roundtable in January 2010. FTC Chairman Jon Leibowitz has been talking with Adobe about what it describes as "the Flash problem."

User control

Users can disable local shared objects using the Global Storage Settings panel of the online Settings Manager at Adobe's website. However, this places a permanent flash cookie on the computer, informing all other websites that the user does not want flash cookies stored on their computer. Users can opt out of LSOs from specified sites from Flash Player's "Settings", accessed by right-clicking the Player, or using the Website Storage Settings panel; the latter also allows users to delete local shared objects.

Users may also delete local shared objects either manually or using third-party software. For instance, CCleaner, a standalone computer program for Microsoft Windows and Mac OS X, allows users to delete local shared objects on demand. There is also a Firefox add-on, Clear Flash Cookies, which will automatically clear out all LSOs each time the browser is restarted.

Since version 10.3 of Flash, the Online Settings Manager (letting users configure privacy and security permissions via Adobe's website) is superseded by the Local Settings Manager on Windows, Mac, and Linux platforms. It can be accessed via the Windows Control Panel or Mac OS System Preferences. Users of other operating systems still use the Adobe Online Settings Manager. Since at least April 2012 (v 11.2.202.233), updating by downloading a new Flash version resets the security and privacy settings to the defaults of allowing local storage and asking for media access again, which may be against users' wishes.

Browser control

Browser control refers to the web browser's ability to delete local shared objects and to prevent the creation of persistent local shared objects when privacy mode is enabled. As for the former, Internet Explorer 8, released on March 19, 2009, implements an API that allows browser extensions to co-operate with the browser and delete their persistent data stored when user issues a Delete Browsing History command. However, two years passed since its introduction until Adobe, on March 7, 2011, announced that Flash Player v10.3, which was still in development at the time, supports co-operating with Internet Explorer 8 or later to delete local shared objects.

Also on January 5, 2011, Adobe Systems, Google Inc., and Mozilla Foundation finalized a new browser API (dubbed NPAPI ClearSiteData). This will allow browsers implementing the API to clear local shared objects. Four months later, Adobe announced that Flash Player 10.3 enables Mozilla Firefox 4 and "future releases of Apple Safari and Google Chrome" to delete local shared objects, so since version 4, Firefox treats LSOs the same way as HTTP cookies - deletion rules that previously applied only to HTTP cookies now also apply to LSOs. This caused loss of data and backward-incompatible flash application behavior for those Firefox and Flash users who used HTTP cookies and Flash local shared objects for different goals. Mainly this affected flash gamers, who rely on Flash LSOs to store saved games. The resulting support requests cannot be solved favorably for Mozilla Firefox users without changes to the browser, because of the introduced equivalence between HTTP and flash cookies. Currently, the workaround in use is to either configure the browser to never clear history data and cookies or to revert the part of the changes affecting this use case, using third-party patches.

As for the behavior in browser's privacy mode, Adobe Flash Player 10.1, released on June 10, 2010, supports the privacy modes of Internet Explorer, Mozilla Firefox, Google Chrome, and Safari. Local shared objects created in privacy are discarded at the end of the session. Those created in a regular session are also not accessible in privacy mode.

Third-party software

Viewers and editors

Software Developer Platform Abilities First public release Latest stable version License
Read Write Format
.minerva (GitHub) Gabriel Mariani Web platform Yes Yes AMF0/AMF3, JSON ~2008-07-15 (1.5.1) 4.1.1 (2015-01-10) BSD
.sol Editor Alexis Isaac Windows Yes Yes AMF0 Feb. 2005 1.1.0.1 (2005-02-21) MPL
SOLReader Alessandro Crugnola Windows Yes No AMF0/AMF3 2007-10-25 1.0.0 (2007-10-25) ?
FlashDevelop Mika Palmu, Philippe Elsass Windows Yes No AMF0/AMF3 2009-06-14 (3.0.0) 4.4.0 (2013-04-18) MIT
SolVE Darron Schall Windows, macOS Yes Yes AMF0 Nov. 2004 0.2 (2004-10-15) CPL

Libraries and frameworks

Software Developer Abilities First public release Latest stable version License
Read Write Format
Dojo Toolkit Dojo Foundation No Yes AMF0/AMF3 (in browser via Flash) 2004 1.9.0 (2013-05-01) BSD, AFL
PyAMF (GitHub/PyPI) Nick Joyce Yes Yes AMF0/AMF3 2007-10-07 0.8.0 (2015-12-17) MIT
s2x Open Source Flash Aral Balkan Yes Yes AMF0, XML Dec. 2003 0.75 (Dec. 2003) Freeware

Cleaners

Software Developer Platform First public release Latest stable version License
PrivacyScan SecureMac.com, Inc. macOS 10.6 - 10.10 2012-01-30 1.5 Shareware
Cookie Stumbler WriteIt! Studios Ltd. macOS 10.8 - 10.9 2011-04-01 2.1.2 Shareware
Cookie SweetP Productions macOS 10.6 - 10.10 2011 4.3.2 Shareware
Safari Cookies SweetP Productions macOS 10.5 - 10.10 2009-04-12 2.0 (2014-10-27) Freeware
MAXA Cookie Manager Maxa Research Windows ? 5.3 (2011-12-11) Shareware
Click&Clean Vlad & Serge Strukoff Windows, macOS, Linux, BSD, Firefox add-on 2010-01-23 (3.6.5.0) 4.1 (2013-03-16) MIT
CCleaner Piriform (company) Windows ? ? Freemium

See also