How to use Windows 1PW to find aged passwords, entries missing tags

Options

I have 1PW for OSX and for Windows. My Mac has been sick (needs major parts repair) so I've been sticking to using my Windows laptop.

In the Windows version, how can I....

1) See which passwords have not been changed in the last year?

2) See which records are missing vital tags? I have tags that map login records to my email addresses. I have Tag-Email1, Tag-Email2, Tag-Email3. I want to see only the records that do not have at least one of these 3 tags.

If there isn't an in app way of doing this, can I export the data out of 1PW into a csv file or something to do this analysis in Excel?


1Password Version: 4.6.0.592
Extension Version: Primary Firefox 4.4.3
OS Version: Win8.1 Pro
Sync Type: Dropbox

Comments

  • MrC
    MrC
    Volunteer Moderator
    Options

    Hi @Superfandominatrix,

    I have bad news and good news.

    First the bad news - 1Password for Windows doesn't have either a way to filter or sort by password change date, nor does it have the ability to export the Tag data in a Login item to a CSV file.

    Now the good news - if you export the data as a 1PIF (a text file), the data is all there, but will require some work to massage it for filtering / reporting purposes. I'm happy to create a tool for you to do this, but it will likely require you to install the same environment that my converters require (Strawberry Perl). Its easy enough, but just thought I'd bring this to your attention up front. Let me know if this is a route you want to go.

  • Superfandominatrix
    Options

    Hi @MrC I am generally cautious about installing stuff on my machine, but I'm willing to consider it. How are you affiliated with Agile Bits? I did try exporting the PIF myself but I didn't see where & how the relevant data was being stored. I have some specialized software and configuration on my Windows machine for a data sciences course. Could you outline the system dependencies to make sure there are no conflicts between my environment and your tool?

  • MrC
    MrC
    Volunteer Moderator
    edited December 2015
    Options

    Hi @Superfandominatrix ,

    And cautious you should be!

    There is nothing to install; you will only run a script. If i write you a tool to do what you need, it will be in a scripting language (Perl) that excels in this type of thing. So I'd point you to the Strawberry Perl toolkit (a highly-regarding package of Perl), specifically the portable install where nothing gets installed into your system (you could place it on a thumbdrive); there are no system dependencies to be concerned about. The script will simply grab the bits from the 1PIF data to produce the reports you want.

    Why Perl? Because its script code, you can read/examine it, and because I won't write in the toy language called Visual Basic, nor a batch script in the silly Window command shell environment, nor interested in using JavaScript for this (too clumsy). Perl is the right tool for the job, its just that there is no native Perl interpreter in Windows (there is in all Unix variants, Linux, and OS X).

    I have no affiliation with AgileBits - I'm just a user like you. I wrote this converter suite that has been used by hundreds (and perhaps by now thousands) of users. I've been a professional software developer / consultant for more years than I care to think about (hint: the sitting US president enjoyed peanuts).

    The 1PIF is a rather simple JSON data structure. For each 1Password entry, the tags are contained in an array:

      "openContents" : {
         "tags" : [
            "Some Tag",
            "Another Tag",
         ]
    

    and the password change dates are stored also in an array, each entry with timestamp values in UNIX epoch dates, and these can be converted to human readable form:

      "passwordHistory" : [
         {
            "time" : 1377651145,
            "value" : "oldpassword"
         },
         {
            "time" : 1413506106,
            "value" : "an older password"
         }
      ]
    

    Hope this helps.

  • Superfandominatrix
    Superfandominatrix
    Community Member
    edited December 2015
    Options

    How does your script decrypt the PIF file? I actually may have a utility already available to me to examine a JSON object. If I can figure out how to decrypt the files on my own, it would be a good exercise for me to script this myself. I need a bit more exposure to JSON manipulation.

    I'm guessing your script somehow interacts with the following files?

    • contents.js
    • encryptionKeys.js

    P.S. Thanks for such a detail response~!

  • MrC
    MrC
    Volunteer Moderator
    Options

    @Superfandominatrix ,

    There is nothing to decrypt.... The 1PIF file you export via File > Export is plaintext.

  • Superfandominatrix
    Options

    Ahhhhh! Interesting. Okay, this will make a fun holiday mini-project. I may come back for help if I crash and burn :-)

  • AGAlumB
    AGAlumB
    1Password Alumni
    edited December 2015
    Options

    @Superfandominatrix: Be sure to reach out if you need anything! :chuffed:

    Indeed, MrC is not directly affiliate with AgileBits, but he's an illustrious member of the forum community here. We're lucky to have him around, and I'll be happy to vouch for him any day. :) :+1:

    I also wanted to reiterate this, because I think it's an important point:

    Why Perl? Because its script code, you can read/examine it

    While a lot of software is open source these days, this is usually only useful to most of us if we happen to be programmers familiar with the language. MrC's Perl scripts are very person-readable (and well-documented), so you can look at the contents before you run them. It's a 'feature' I appreciate. Cheers! :)

This discussion has been closed.