Wednesday, November 6, 2013

Masking Social Security Numbers and Other Toxic Fields - Is It a Good Thing for Users?

I'm a lead interaction designer working in a large, Fortune 500 company. Recently, a project dealing with masking form fields came across my virtual desktop. It seems that IT at my company desperately wants to desperately tighten security measures. So they have started an initiative to mask what are labelled as "toxic" form fields. I had to ask myself, "Wow, when did I last think of my date of birth as being a "toxic" field?" Then I remembered how old I was and considered there may be something to this. But being in the User Experience field, I need to ask, "Is it a good idea for the user?"

Masking is a technique by which the data is blocked from the user's view point, but not from the data that's transmitted. So masking prevents "shoulder surfing" - someone looking over your shoulder while you key in your date of birth, Social Security number or account number.

So here's the scenario. I go to sign up for an account at the insurance company of my choosing. As I key in names and numbers, certain fields show up as bullets. You know, those black round dots. I didn't ask for them, they just appeared when I tried to key in my SSN.

Q: Did I key it in correctly?
A: I don't know - I can't tell.


Q: Now that after I've entered my SSN, it's asking me to enter it again -- and the second time I have to key it in, it's all bullets, too. Did I enter that correctly?
A: About as correctly as I entered the first one -- I guess.

Q: Do I feel more safe and secure? 
A: Maybe?? No, not really. I feel more annoyed.

I do this every day when I enter my passwords. But here it just feels... odd. Why? Here are a few points to consider before masking these supposed toxicities.

1. Instant masking can frustrate users and cause errors. It prevents shoulder surfing in public areas, but is useless when the user is alone. Worse than being useless, it hinders users from seeing what they have keyed in - effectively placing a blindfold on the user. There are movements within the Usability field to eliminate masking altogether.

2. Keying in all numbers is not as easy as keying in passwords. Passwords are memorized, short and contain mostly letters - which most people can do without looking at the keyboard. Dates, account numbers and SSNs are NOT keyed in often and can cause users more errors in typing. A good user experience seeks to prevent errors before they happen.  That's Jakob Nielsen, if you're interested

3. A quick overview of Chase.com, Nationwide.com, Huntington.com and Schwab.com reveals that NO ONE is using masking in form sign-up information and no one is providing a verification field for SSNs or date of birth fields. If none of the leading banks, insurance companies or investment firms are doing it, there might be a good reason for it. 

4. You'll make the user repeat himself in a verification field. Having to key in everything twice never sets well with users. And forcing them to do it blind - twice - is a super bad idea. It's another chance to make a typo on top of working blind in the first field. And which field - the first or second - has been mistyped? The mere fact that you will need to add a verification field for a masked input field is like screaming "We know this is a bad idea, but we're going to do it anyway!"

5. Masking can cost users and companies time and money. If the user has to bother an online specialist to get a password back, both the user and the company pay. Leaving the password field unmasked means users can easily correct their errors. See Jakob Nielson's article on password masking

So to answer my own question, masking features is bad for both users and companies. Of course, some people may try to sign up for online sites in public places. But most of us do that sort of thing in a trusted area, anyway. As a user, I'm more worried about the guy who is downloading my data straight from the server. Masking doesn't help with a person's security as much as make a few people feel more secure -- if they are banking at Panera. By the way, that's a bad idea, too. 

Solutions:
OK, so what if your company wants to do it regardless of your dire warnings? I was in that situation. I wasn't holding the purse strings nor did I have enough influence to make the project die. What then?? I came up with three solutions. Let me know if you come up with more. 

1. If the SSN field must be masked, allow the user to see all numbers while keying it in and then mask the number AFTER the user tabs to another field. That way the user gets a good look at it before it's masked. It also eliminates the need for a verification field. 

2. Allow the user to select a check box or button that would show the number instead of masking it. This is a second-class solution because the user is forced into take an extra step to be able to see what s/he has keyed in. 

3. Showing the number for a split second works well on all mobile devices, but is less accepted for computer browsers. My IT friends tell me it's not a reliable solution for computers. But if you're on a mobile device, you're set. 

Let me know if you have other ideas!