diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee
index 87c414a55..125845fe9 100644
--- a/server/users/user_handler.coffee
+++ b/server/users/user_handler.coffee
@@ -9,7 +9,7 @@ errors = require '../commons/errors'
 async = require 'async'
 
 serverProperties = ['passwordHash', 'emailLower', 'nameLower', 'passwordReset']
-privateProperties = ['permissions', 'email', 'firstName', 'lastName', 'gender', 'facebookID', 'music', 'volume']
+privateProperties = ['permissions', 'email', 'firstName', 'lastName', 'gender', 'facebookID', 'music', 'volume', 'aceConfig']
 
 UserHandler = class UserHandler extends Handler
   modelClass: User
@@ -18,7 +18,7 @@ UserHandler = class UserHandler extends Handler
     'name', 'photoURL', 'password', 'anonymous', 'wizardColor1', 'volume',
     'firstName', 'lastName', 'gender', 'facebookID', 'emailSubscriptions',
     'testGroupNumber', 'music', 'hourOfCode', 'hourOfCodeComplete', 'preferredLanguage',
-    'wizard'
+    'wizard', 'aceConfig'
   ]
 
   jsonSchema: schema
diff --git a/server/users/user_schema.coffee b/server/users/user_schema.coffee
index d43a8d6b6..8c10fa769 100644
--- a/server/users/user_schema.coffee
+++ b/server/users/user_schema.coffee
@@ -45,6 +45,11 @@ UserSchema = c.object {},
   wizard: c.object {},
     colorConfig: c.object {additionalProperties: c.colorConfig()}
 
+  aceConfig: c.object {},
+    keyBindings: {type: 'string', 'default': 'default', 'enum': ['default', 'vim', 'emacs']}
+    invisibles: {type: 'boolean', 'default': false}
+    indentGuides: {type: 'boolean', 'default': false}
+
 c.extendBasicProperties UserSchema, 'user'
 
 module.exports = UserSchema