strongbox-password-safe / Strongbox

A KeePass/Password Safe Client for iOS and OS X
https://strongboxsafe.com
GNU Affero General Public License v3.0
1.32k stars 101 forks source link

Share Extension for Form Filling #85

Open georgesnow opened 5 years ago

georgesnow commented 5 years ago

curious if you would consider adding a Share Extension (I think that's what they are called)? not sure if this would even work but there is some standard with other Keepass functions (OTP fields) and some autofill apps support this.

basically allows apps to interact with an app. in this case form filling. I noticed with TOTP Strongbox auto detected the TOTP Seed and Settings field in an entry. It got me thinking is it possible if you used Custom Fields with a Value like (these fields would have to be documented in Strongbox so people know to add them properly) Name on Credit Card Value "First Last" Credit Card Number Value "12345678909"

I noticed 1P offer this functionality as well LastPass. so there is some mechanism to read the webpage (or app) fields to know what they are. ie Name, CC# etc..

attached some pictures. this might a slightly bigger undertaking, but since I use Keepass database to store all the info thought this might interesting and value add.

thoughts or clarification?

(attached screenshots)last screen shot I did enter a bogus credit card and it indeed properly filled out the form.

IMG_9413

IMG_9414

IMG_9415

mmcguill commented 5 years ago

That's interesting @georgesnow, I hadn't seen that, and seems like an interesting way of injecting into that fill context. Do you know if other iOS KeePass apps are doing this too? If so, do you know if there is a custom field naming convention somewhere?

georgesnow commented 5 years ago

let me dig a little deeper. i have not come across any other keepass app that supports "form filling" generically or even in the case of credit cards. but let me go through the iOS keepass apps i have and see if there is one.

however, i did find a few references and these resources suggest there is a standard for labeling the fields for autocomplete. that being said i am not sure the special sauce for detecting the fields.

that means in the help or reference docs refer to the standard and say if you set the Key in the custom field to match the standard. the app will be able to grab the value. basically what you are doing with TOTP Seeds Example :

HTML standard for credit card numbers: "cc-number" https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete-cc-number

Custom Field Entry Key: cc-number Value: 1234567890123548


forum discussing on how chrome tries to detect the fields (bottom 3 responses are more recent): https://stackoverflow.com/questions/15168261/how-does-chrome-detect-credit-card-fields

in that post they refer to this HTML standard: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill

this shows browser support for autocomplete detection i believe: https://caniuse.com/#feat=input-autocomplete-onoff

georgesnow commented 5 years ago

just to clarify about the special sauce thing. thats in reference detecting when a webpage or app has those other fields.

georgesnow commented 5 years ago

Any further thought on the extension? I was thinking the autofill of forms would be nice but even if you could just invoke strongbox from the extension in other apps or safari when you need data to copy. Like license plate number, SSN, account number etc.. so you could copy it and paste it without having to leave the app.

mmcguill commented 5 years ago

Let me try look into/research this in the next week or so and get back to you...

ghost commented 5 years ago

Please make Share extension for Safari iOS. I don't like iOS autofill function. Why?? You don't see the entries in the iOS keyboard. Only after unlocking the vault.

https://github.com/strongbox-password-safe/Strongbox/issues/99#issuecomment-526951282

mmcguill commented 5 years ago

Cool, got your +1

Cheers!

Doc-Steve commented 4 years ago

I also like the idea of form autofill. If it works it would save a lot of time.

For implementing this there should be some template functionality for items in strongbox.

E.g. 1Password not only has login items, but also adress items, credit-card items etc. Without these templates the field matching would barely work, as you have to guess the right field names for your custom fields.

These templates would even be great without "form autofill" :) I manually use them already today to save adresses etc. in Strongbox - because I migrated from 1Password.