I'm currently working on a web application where the user can enter some data. Unless the user is logged in, the data will only be stored in localStorage (i.e. in his browser).

I will support syncing that data to the server, but that obviously requires the user to authenticate in some way.

How do I inform the user that the data he entered might not be long-lived unless he logs in/registers?

I do not want to force the user to log in, just to test the webapp (and there's no technical reason to do this). I want them to try it, see if they like it so far and then make the decision if they want to log in/register.

This is similar to this question: How to inform user that settings are in localstorage, and apply to this browser only?

  • Is the data persistent between restarts/sessions? Or do you clear/forget about the local storage if the user closes the browser and later returns?
    – uliwitness
    Commented Aug 21, 2013 at 12:26
  • @uliwitness: the data is persisted in the users browser between sessions. But (similar to cookies) it might get lost when the browser decides to clean up or when the user re-installs or ... In short: it's persistent in theory, but depending on that is gutsy ;-) Commented Aug 21, 2013 at 12:27

7 Answers 7


Just put a global marker stating the fact Local Storage is being used:

enter image description here

Actual placement depends on the application.

enter image description here

It is also possible to show an explanation in order to let the user know what is actually going on.

enter image description here

  • 6
    Does 'local storage' mean anything to the user though? They may think 'local' means "Oh, this company must be based in my home town".
    – JonW
    Commented Aug 21, 2013 at 11:15
  • 2
    "Temporary storage" can be used instead of "Local storage". Anyway, it might be useful to have some additional help message, available by a link or as a balloon. Commented Aug 21, 2013 at 11:27
  • I like the phrase "temporary storage", that will most likely get the main point across. Commented Aug 21, 2013 at 11:34
  • 2
    Temporary storage, local storage: No difference. Both is to technical.
    – rit
    Commented Aug 21, 2013 at 16:28
  • 1
    "Your data is being stored on your computer." But telling them the data is on their computer doesn't really tell them how dangerous it is to rely on it. I would rather just say, "your data is not being saved," possibly with a dialog explaining what that means. That gets the most important message across to the user: that their data might be lost.
    – Brian
    Commented Aug 27, 2013 at 21:24

Users expect any "saved" work to be available to them later. Unless you're persisting data on a server, you're not reliably saving it. (Local storage is easy to accidentally clear). So I wouldn't tell them it's "saved" at all.

Instead, write a very short sentence, using a positive voice, with zero technical jargon, and give them a call to action:

"Sign up to save your work"


Notification pattern is widely used now.
enter image description here

So in data-related tasks you could notify user of saving data on this computer. It's better not to use 'local storage' term as it could be misinterpreted.

The advantages of notification is:

  • it is tied to data-related operations
  • it is not obtrussive as shown only at some moments
  • help link with description could be placed in notification message
  • it is familiar pattern

Instead of confusing users with things like "local storage", could you use a term like "Save" that most users are more familiar with? Display "Unsaved" somewhere, and warn the user before they leave the site, using an alert?

Of course, local storage can be persistent across sessions, if you're using it that way, Alexey's approach of using notifications (which are really a bit annoying if they're persistently visible while you're working, and users tend to ignore annoying things that don't seem to be relevant after a while, like banner ads) might be a better compromise.

Alternately, have you thought about separating the local storage-based "demo mode" from actual use of the app more explicitly? I.e. have two buttons, "sign in" and "demo". The demo could have a big "Demo" badge or banner somewhere and will say "Data is not saved to the server" when you start the demo, but remain quiet thereafter about it, and will offer to upload demo data when you log in. That still makes it easy to try (and even use if local is enough for your users) but might save you support issues.


I would not bother the user with the technical term 'local storage'. I would go with an approach that when the user is not logged in and saves the data, an explanation gets shown which states, that the data is only saved on this computer and not transferred to the server / cloud / service / ... and therefor it is not persisted in a save way.

Of course if the user takes a lot of work before he hits the save button (and could expect that his data is available afterwards, even as unauthenticated user) then you should show him the information before he starts to work, otherwise it could lead to data loss.


Maybe simple "You have unsynced data"?

  • 2
    Could you expand on this answer with a little rationale?
    – Matt Obee
    Commented Aug 22, 2013 at 13:51
  • 1
    Do you have any examples that might show your approach in use? Commented Aug 22, 2013 at 15:25
  • I see similar approach, but without the text tip: ux.stackexchange.com/a/33148/34809
    – Ivan
    Commented Aug 22, 2013 at 21:24
  • @matt-obee, the goal is to inform the user that he can lose your entered data without registration. what I feel reading these messages: * You have unsaved data (But I pressed "Save" button twice) * Temporary storage is used (fully? or part of it? what's a temporary storage? I'm very confused.) * You have unsynced data * Sync status: unsynced Hint: If you do not register you can lose your entered data. Please register and sync your data right now!
    – Ivan
    Commented Aug 23, 2013 at 8:03

Just set a button conveying the following information: "log in to save your data (in the server)", with all the wording caveats mainly avoiding the use of technical terms.
Don't feel that you are forcing the user to log in, just offer then the option.
Some users will care more than others. Don't care about users who don't care.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.