Search results finding unrelated(?) results?

I was recently excited when I found your article on adding one time passwords (OTP) to 1Password 6. Awesome feature!

So this morning after opting into the 1Password 7 beta I decided to go looking for those "OTP" records. 1Password 7 is strangely returning other records that do not have my newly added "OTP" field, and I cannot find anywhere within these extra results any sequence of "OTP". I've expanded the web form details and examined passwords and any data that I can see as stored. What is 1Password 7 finding?


1Password Version: 7.0.BETA-4
Extension Version: 7.0.BETA-4
OS Version: macOS 10.13.4
Sync Type: iCloud & Dropbox

Comments

  • JacobJacob

    Team Member

    Hey @elDub! How are you searching for those items? If your search is OTP, that wouldn't find items with TOTPs unless the fields are called OTP, and you would need to expand the search to all fields for that to work. I just did a search for OTP in all fields and found my O2 DE account in the results, because it has a field called otp in its web form details. Click "show web form details" to see those, and you might find the field 1Password is finding in its searches.

    A more accurate search for TOTPs would be something like what Drew mentions here. :) Hope that helps!

  • LarsLars Junior Member

    Team Member

    @elDub - It kind of depends what you're looking for, and how: searching for "OTP" won't return records that have a TOTP field active, because it's not actually called that. If you want to have a way to search for only those items that have one-time password fields, you can create a tag called TOTP or OTP, and add this tag each time you create a new TOTP record.

  • Hey Jacob.

    I am executing my search in the main search bar as follows:

    And I have named the one-time-password fields "OTP". In the search results it does find all the correct entries with the "OTP" as a field name, however it includes 2 additional records in which I cannot find any such text that has the sequence of "o"-"t"-"p" anywhere.

  • JacobJacob

    Team Member

    @elDub Okay good to know. Let's check out those items and see what's causing your search to turn up the way it does. First, enable the ability to copy an item's JSON so you can see its source:

    1. Open and unlock 1Password for Mac.
    2. Click 1Password > Preferences and select Advanced.
    3. Enable Copy JSON.

    Now select one of the items that shouldn't be in the search results and in the menu bar choose Item > Copy JSON. Paste that in a text editor, then remove or replace any sensitive information like your username, password, and anything else in the item. Post the rest here, along with the JSON for the other item that is in the search results. Thanks! :)

  • Ok, that revealed how these records were included in the search results... Now to determine if they should be in the results.

    Within the "details":"fields" section of the JSON there are some form fields that are not visible in the UI. (I'm assuming that this rather strange collection of fields is part of what makes 1Password do its magic.) Note the 6th field (index 5) as it has the name of forgotPassword, which contains the sequence O T P.

    json[:details][:fields]

    [
        [ 0] {
                  :value => "REDACTED",
                     :id => ";opid=__0",
                   :name => "user",
                   :type => "E",
            :designation => "username"
        },
        [ 1] {
                  :value => "REDACTED",
                     :id => ";opid=__1",
                   :name => "pass",
                   :type => "P",
            :designation => "password"
        },
        [ 2] {
            :value => "Sign in",
               :id => ";opid=__2",
             :name => "login",
             :type => "I"
        },
        [ 3] {
            :value => "",
               :id => ";opid=__3",
             :name => "",
             :type => "I"
        },
        [ 4] {
            :value => "",
               :id => ";opid=__4",
             :name => "user",
             :type => "E"
        },
        [ 5] {
            :value => "Submit",
               :id => ";opid=__5",
             :name => "fogotPassword",
             :type => "I"
        },
        [ 6] {
            :value => "",
               :id => ";opid=__6",
             :name => "powerCardNumber",
             :type => "T"
        },
        [ 7] {
            :value => "",
               :id => ";opid=__7",
             :name => "powerCardPin",
             :type => "T"
        },
        [ 8] {
            :value => "",
               :id => ";opid=__8",
             :name => "",
             :type => "I"
        },
        [ 9] {
            :value => "",
               :id => ";opid=__9",
             :name => "",
             :type => "I"
        },
        [10] {
            :value => "",
               :id => ";opid=__10",
             :name => "",
             :type => "I"
        },
        [11] {
            :value => "",
               :id => ";opid=__11",
             :name => "",
             :type => "I"
        },
        [12] {
            :value => "",
               :id => ";opid=__12",
             :name => "",
             :type => "I"
        },
        [13] {
            :value => "",
               :id => ";opid=__13",
             :name => "",
             :type => "I"
        },
        [14] {
            :value => "",
               :id => ";opid=__14",
             :name => "",
             :type => "B"
        },
        [15] {
            :value => "",
               :id => ";opid=__15",
             :name => "",
             :type => "I"
        },
        [16] {
            :value => "",
               :id => ";opid=__16",
             :name => "",
             :type => "I"
        },
        [17] {
            :value => "",
               :id => ";opid=__17",
             :name => "",
             :type => "T"
        },
        [18] {
            :value => "Search Locations",
               :id => ";opid=__18",
             :name => "",
             :type => "I"
        },
        [19] {
            :value => "",
               :id => ";opid=__20",
             :name => "",
             :type => "T"
        },
        [20] {
            :value => "Search Locations",
               :id => ";opid=__21",
             :name => "",
             :type => "I"
        }
    ]
    
  • elDubelDub
    edited March 2018

    Awesome... this reveals why these items were included in the search results. Now to determine if they should be included in the search results.

    When I examined the [details][fields] attribute of the JSON data, I can see what I assume are field names and form data that allows 1Password to do its magic. Note the 6th field (index 5) and how the name is fogotPassword. The other odd search result entry also had a field with the same name. This is where I assume the match is happening... the otP.

    Also note how these fields are not visible at all in the UI, probably because it would be hard to explain them to the user.

    Should/Could these fields be omitted from search results?

    UI:

    JSON:

    [
        [ 0] {
                  :value => "REDACTED",
                     :id => ";opid=__0",
                   :name => "user",
                   :type => "E",
            :designation => "username"
        },
        [ 1] {
                  :value => "REDACTED",
                     :id => ";opid=__1",
                   :name => "pass",
                   :type => "P",
            :designation => "password"
        },
        [ 2] {
            :value => "Sign in",
               :id => ";opid=__2",
             :name => "login",
             :type => "I"
        },
        [ 3] {
            :value => "",
               :id => ";opid=__3",
             :name => "",
             :type => "I"
        },
        [ 4] {
            :value => "",
               :id => ";opid=__4",
             :name => "user",
             :type => "E"
        },
        [ 5] {
            :value => "Submit",
               :id => ";opid=__5",
             :name => "fogotPassword",
             :type => "I"
        },
        [ 6] {
            :value => "",
               :id => ";opid=__6",
             :name => "powerCardNumber",
             :type => "T"
        },
        [ 7] {
            :value => "",
               :id => ";opid=__7",
             :name => "powerCardPin",
             :type => "T"
        },
        [ 8] {
            :value => "",
               :id => ";opid=__8",
             :name => "",
             :type => "I"
        },
        [ 9] {
            :value => "",
               :id => ";opid=__9",
             :name => "",
             :type => "I"
        },
        [10] {
            :value => "",
               :id => ";opid=__10",
             :name => "",
             :type => "I"
        },
        [11] {
            :value => "",
               :id => ";opid=__11",
             :name => "",
             :type => "I"
        },
        [12] {
            :value => "",
               :id => ";opid=__12",
             :name => "",
             :type => "I"
        },
        [13] {
            :value => "",
               :id => ";opid=__13",
             :name => "",
             :type => "I"
        },
        [14] {
            :value => "",
               :id => ";opid=__14",
             :name => "",
             :type => "B"
        },
        [15] {
            :value => "",
               :id => ";opid=__15",
             :name => "",
             :type => "I"
        },
        [16] {
            :value => "",
               :id => ";opid=__16",
             :name => "",
             :type => "I"
        },
        [17] {
            :value => "",
               :id => ";opid=__17",
             :name => "",
             :type => "T"
        },
        [18] {
            :value => "Search Locations",
               :id => ";opid=__18",
             :name => "",
             :type => "I"
        },
        [19] {
            :value => "",
               :id => ";opid=__20",
             :name => "",
             :type => "T"
        },
        [20] {
            :value => "Search Locations",
               :id => ";opid=__21",
             :name => "",
             :type => "I"
        }
    ]
    
  • BenBen AWS Team

    Team Member
    edited May 2018

    Ah, yep! I see what is happening. The ‘forgot password’ appears to be a button, and we don’t show those in the interface (because there is nothing you can edit about them). I’ll pass the suggestion along that only fields that are visible in the UI be searched.

    Ben

    ref: apple-326

  • This is still an issue with beta 16. Searching for "twitter" results with a lot of logins that had hidden fields with the label of "twitter" collected.

  • BenBen AWS Team

    Team Member

    @elDub Unfortunately we have not had a chance to address this yet, and at this stage I doubt it will be fixed before the stable release of 7.0. That doesn’t mean it is off the radar, though.

    Ben

  • 1Password search results for a common phrase like "twitter" bringing up many many many undesired and incorrect results seems like it would be sort of important with regard to the usability of the tool. I hope it will be addressed BY the release of 7.0.

  • BenBen AWS Team

    Team Member

    I agree that it is something we need to get fixed up. :)

    Ben

This discussion has been closed.