It’s a story becoming more common: Some company (ahem, Google and Facebook) that people entrust with their personal information accidentally "exposes" that information to the public’s view. Sometimes it can be days or months before the error is even realized, leaving GPS locations or email addresses vulnerable.
With a new programming language called Jeeves, one MIT researcher hopes to make it much easier for developers to avoid privacy gaffes. The program could allow a programmer to write his or her privacy policies just once. Jeeves would automatically make sure it gets applied in all cases, even in situations when a single software update creates a complicated cascade of changes to a program.
"We are detangling the privacy policies from the rest of the code," says Jean Yang, the PhD student researcher at MIT's Computer Science and Artificial Intelligence Laboratory who is leading the project.
Yang hopes that Jeeves will do more than reduce the number of mistakes they make. By simplifying the process developers use to implement privacy, the language could make it easier for companies to give more privacy choices.
She also hopes Jeeves could speed up the pace at which web technologies advance, especially because it would help programmers deal with growing complexity. "In the last few years, I think privacy has become a huge bottleneck in development. If you think about it, every time Facebook adds a new feature they risk breaking privacy settings. ... There’s all of these subtle interactions of site features," she says. "As you put a lot of data into one place, and it’s interacting in this complex way, there are these cracks that are starting to form."
Jeeves is still just a research language, which means it’s not quite ready to be used for major commercial software. Yang is experimenting by building new applications now, such as a course management systems for universities, teachers, and students—where privacy settings would be required for who can see assignments, comments, and discussion forums.
And it’s unlikely it would ever be adopted as a completely new language on its own, but rather it would be kind of a tack-on addition. Yang is already working to incorporate it into major languages already in use, such as Python (she just posted that code to Github last month).
Jeeves is named after the brilliant butler in a fictional series of stories by PG Wodehouse in the 19th century and has since a bit of a generic term (it also inspired the 1990s search engine, Ask Jeeves). " We sort of think of Jeeves as a robotic butler," says Yang.