anchor.diff:    (catch-errors (res)
       (alet* ((user-id (user-id req))
               (note-id (car args))
  +            (persona-id (get-var req "persona"))
               (disable-redirect (get-var req "disable_redirect"))
               (hash (get-var req "hash"))
  -            (file-url (get-note-file-url user-id note-id hash))
  +            (file-url (if persona-id
  +                          (with-valid-persona (persona-id user-id)
  +                            (get-note-file-url persona-id note-id hash))
  +                          (get-note-file-url user-id note-id hash)))
               (headers (unless (string= disable-redirect "1")
                          `(:location ,file-url))))
         (if file-url
  
positive.code:   "Attach file contents to a note. The HTTP content body must be the raw,
     unencoded (encrypted) file data."
    (catch-errors (res)
      (if *local-upload*
          (upload-local req res args)
          (upload-remote req res args))))
  
  (defroute (:delete "/api/notes/([0-9a-f-]+)/file") (req res args)
    "Remove a note's file attachment."
  
negative.code:   (catch-errors (res)
      (alet* ((user-id (user-id req))
              (note-id (car args))
              (persona-id (get-var req "persona"))
              (file-id note-id)
              (hash (get-var req "hash"))
              (file (make-note-file :hash hash))
  