# Legend (highest priority items at top): # . still to do, doable # - still to do, blocked # + done . make 'remove persona' actually work . draw some more animal icons . fix bug: if you add the PassPet tool to your toolbar, it doesn't have an actual animal or message until you restart the browser a second time . fix bug: if you move the toolbaritem (in toolbar customization), event handlers no longer respond . find login forms and password fields in subframes . fix order of personas on toolbar -- new personas should be added at right . automatically activate setup when passpet is installed . make passpet look reasonable in large icons or icons+text mode . check if Firefox is vulnerable to the basic constraints problem (see http://www.thoughtcrime.org/ie-ssl-chain.txt) . what if the remote account goes away or is corrupted? don't collapse... . test cases . setup new persona + new account from host A, use persona immediately, put to sleep, wake up and use persona again . setup new persona + new account from host A, quit, wake up on host A . setup new persona + new account from host A, access from host B . setup new persona + new account from host A, create second persona with same address on host A . access second persona on host B + pop a message if there's no login form + put something grabbable on the toolbar palette to drag to the toolbar + show something grabbable on the toolbar if there are no personas + complete the setup procedure + choose master address + introduce the persona + choose master secret + create account properly + make the label collision warning actually meaningful + wake up immediately if the password can be verified from the persona's local cache; connect to remote server in the background + fix question marks on labelled non-SSL sites -- they creep into the names + fix site label appearance for non-SSL, SSL, local URLs + check for actual existence of Passpet server site in background + set up data structure in memory for storing the site label database + store encrypted site label database in a local cache file + implement serialization of the database + implement AES encryption + make it possible to assign and edit petnames + stick site password into password field + hash sitename with hashed master password to get site password + make sure this actually works + hide zzz/sitelabel + sort of done, in a really gross way + cache hashed master secret on client side + hash your master password repeatedly + fix bug: my pet is "Linda the pig1" + SRP implementations using some TCP socket or something + client + initialization: connect, list, authenticate, read + update: connect, authenticate, write + server + accept connections + perform authentication + handle create + handle delete + handle list + handle read + handle write + make it possible to create a second passpet + two toolbar items + two icons, two names, two master secrets, etc. . add UI to let the user choose a custom persona name and image