“View” link removed from attachments on message read screen in “Public Terminal” mode

Post categories

Profile picture for Rob Mueller

Founder & CTO

When you enable the “Public Terminal” option on the login screen, FastMail sets the “no-cache” and “no-store” cache control headers on every page. This means that browsers should not store a copy of the pages you visit (e.g. emails you read) to their local disk. Even after you logout of your session and leave the computer, someone comes along and tries to view a page in the browser history, it should re-check with the server first, which of course will return “this user is now logged out, show the login page instead”.

However this is a problem with this whole setup related to attachments. When an email has an attachment, the content of the attachment might be in a form the browser doesn’t understand (e.g. Microsoft Word document). In that case, the browser has to save a copy of the attachment to the local disk, and then launch Microsoft Word to open the file.

Now in the case of the “View” link, the saving to disk would be done automatically into a temporary file storage area. However in IE, if you try and download an SSL document with the no-cache or no-store attributes set, IE will explicitly not save the file to disk, and then when it tries to launch Microsoft Word to read the file, you’ll get a “file does not exist” error or the like.

http://support.microsoft.com/kb/812935
http://support.microsoft.com/kb/815313

For other browsers, it appears they work around this problem by actually saving a copy to disk in the temporary storage area, but they delete the file when you close the browser (at least that’s what Firefox did when I tested). That still potentially does leave the file on disk for some time.

To ensure the best privacy possible, while still allowing people to view attached documents in “Public Terminal” mode, we’ve decided to do the following:

  • When you login with the “Public terminal” mode, we’ve removed the
    “View” link next to attachments. This solves two problems; the
    unexpected “file not found” in IE, and the privacy concern of
    storing attachments to disk in the temporary file area of other
    browsers
  • We’ve left the “View” link next to image attachments, because the
    web browser can display images itself, without launching a separate
    program, so it can obey the “no-cache”/“no-store” directives
  • With the “Download” link (which automatically brings up a “Save as…”
    dialog box), we’ve removed the “no-cache” and “no-store” settings,
    which means that IE will let you download it and save it somewhere
    so you can open it to view the document.

We like this solution because it makes things clearer to the user. In “Public Terminal” mode, if you want to view an attachment, you have to download it first, explicitly save it somewhere and then view it. The alternative approach of letting the browser do it either fails (IE), or causes an auto-save of the file to a temporary area which leaves it temporarily cached on the machine when the user doesn’t expect it.

Profile picture for Rob Mueller

Founder & CTO