         xhr.setRequestHeader "PRIVATE-TOKEN", root.token if root.token
     , options)
     Backbone.sync method, model, extendedOptions
-  
+
   @Model = Backbone.Model.extend(sync: @sync)
   @Collection = Backbone.Collection.extend(sync: @sync)
-  
+
   # Users
   # --------------------------------------------------------
-  
+
   @User = @Model.extend(
     backboneClass: "User"
     url: -> "#{root.url}/user"
     initialize: ->
       @sshkeys = new root.SSHKeys()
   )
-  
+
   # SSH Keys
   # --------------------------------------------------------
-  
+
   @SSHKey = @Model.extend(
-    backboneClass: "SSHKey"
-  )
-  
+    backboneClass: "SSHKey",
+    initialize: ->
+      @truncate()
+
+    truncate: ->
+      key = @get('key').split(/\s/)
+      @set "truncated_key", "...#{S(key[1]).right(20)} #{key[2]}"
+      true
+
+  )
+
   @SSHKeys = @Collection.extend(
     backboneClass: "SSHKeys"
     url: -> "#{root.url}/user/keys"
     model: root.SSHKey
   )
-  
+
   # Project
   # --------------------------------------------------------
-  
+
   @Project = @Model.extend(
     backboneClass: "Project"
     url: -> "#{root.url}/projects/#{@id || @escaped_path()}"

        content: @get("content")
        commit_message: @get("commit_message") || @defaultCommitMessage()
      }
    
    defaultCommitMessage: ->
      if @isNew()
        "Created #{@get("file_path")}"
      else
        "Updated #{@get("file_path")}"
    
    fetchContent: (options) ->
      @fetch(
        _.extend(

      else
        options.url = "#{baseURL}/files"
      root.sync.apply(this, arguments)

    toJSON: ->
      {
        file_path: @get("file_path")
