1Password update for Android featured image

1Password 6.3 for Android: Seek and Ye Shall Find

Our Android team has been working so hard lately that I wanted to get you caught up on the major goings-on before the story got too big for a single blog post! Thanks to their efforts and your feedback (including our amazing beta testers), we’ve got a fantastic app in the Google Play Store that recently surpassed one million installs! Thank you for your support. =)

1Password 6.3 for Android: 1 million installs!

Since we last checked in with the Android team a couple of months ago to talk about 1Password 6.0, there have been three major updates. We told you there would be more frequent and focused updates, and your response to that has been really wonderful! In 6.1, we improved Search so that you could access it more quickly. In 6.2, we added All Vaults for 1Password accounts—our Teams and Families customers. And now, we have added Large Type in 1Password 6.3.

The theme? Making it easier for you to find and access your 1Password items.

6.1: The Searchiest Search

1Password 6.3 for Android: Search

Gone are the days when you had to make sure you were on the right 1Password screen to search for something. Search is now accessible from wherever you are. Simply unlock 1Password and tap the Search icon to get started. It’s in the top right corner and looks like a magnifying glass. =)

It’s also a lot better: Search results are now immediately displayed inline, and get filtered as you continue to type. Plus, 1Password will now match your search term to URLs in addition to titles in Login items.

Finding exactly what you’re looking for is now as easy as 1-2-3. =)

6.2: Show Me the Vaults!

1Password 6.3 for Android: Vault Switcher

Vaults are a really effective way to compartmentalize your 1Password data. My favourite example is my archive vault, named Vaultemort. :D On January 1st, I moved thousands of 1Password items to this vault. Whenever I access it to retrieve an item, I move it to my Personal vault. This keeps my Personal vault uncluttered and up to date.

All Vaults is crucial to my plan, as it enables me to view only the vaults I want and exclude my Vaultemort vault. Now that All Vaults is supported by 1Password for Android for my Families account, I can view my items the same way on my Android phone as I do on my Mac.

6.3: Up Close and Personal

1Password 6.3 for Android: Large Type

One of my favourite features is Large Type, and I’m thrilled that it’s now available in 1Password for Android! I really love this feature on my iPad and Mac. It makes it so much easier for me to see my passwords when I have to type them in manually, like on my PS4.

I just love that the password is colour-coded, making it simple to tell apart letters, numbers, and symbols. This is true of the regular-sized password, too, but it looks so much nicer when it’s embiggened. Just look at that screenshot. Isn’t it pretty?

All Things Great and Small

There are way too many great improvements for me to talk about all of them at once, but I do have a few highlights:

  • Adding and working with 1Password accounts is much faster and simpler.
  • An item’s vault and account are included in its details. This is super handy when I’m in All Vaults, because it helps me make sure that an item is stored where I think it is.
  • OPVault support. This is the successor to the Agile Keychain format and it syncs a whole lot faster! If you want the nitty gritty, you can read about it in our knowledge base.

If you want the full details on what we’ve been up to the past several weeks, have a look at the detailed release notes.

Everything we’ve implemented since version 6.0 is the direct result of your feedback. We’re listening, and what you think is immensely important to us. Thanks for taking the time to share your thoughts, and thanks for continually pushing us to do better. I can’t wait to see where our adventure takes us next. =)

First Impressions header

Nexus 6P, meet 1Password 6

Last month I talked about how I’m using 1Password for Teams to keep my family organized and safe online. And earlier this week, Nik announced 1Password 6 for Android.

Today I thought it would be fun to talk about a combination of both and show you how I’m integrating the newest member of the Teare Family team: my new Nexus 6P :)

My New Nexus 6P

One of the best things about my job is that I get to test all the new devices from Apple, Microsoft, and Google. I need to be able to test 1Password on every platform, and of course, I require the latest devices for my testing. Well, that’s the reason I give Sara when I submit my expense reports anyway :)

When 1Password 6 for Android entered beta testing, I knew that I needed a new Android device. After a quick review I decided on the Nexus 6P in the Frost colour and placed my order. It arrived just a few days before we set sail for our 7th annual AgileBits conference, so I needed to get it set up quickly.

Setting up my new phone

The most important thing I need on every new device is my passwords. Of course I have 1Password for that, so my first order of business was to install 1Password from the Google Play Store.

I wanted to be on the beta team so I first needed to sign up to the beta program. If you enjoy being on the bleeding edge as much as I do, be sure to join our 1Password beta before jumping over to Google Play.

Install 1Password 6 for Android from Google Play

With 1Password installed, normally I would simply enter my Master Password to get started; but many of my passwords are shared with other people, so I keep them organized separately using multiple vaults.

Historically, adding all these vaults was a bit of a pain as I needed to manually add each one individually every time I got a new device. I have over 10 vaults, so I’d often be lazy and only add my primary vault. Then Murphy’s Law would get me and I’d invariably need access to one of the passwords in one of the other vaults.

Now that I’m using 1Password for Teams, however, it’s super easy to add all my vaults. All I have to do is add my AgileBits and Teare Family teams and 1Password instantly adds all the vaults I have access to.

Adding Team Accounts

To add my teams, I first need to go to the Settings screen and tap on 1Password for Teams. From there I simply tap Add Account.

Now I could manually enter my team domain, email address, Account Key, and Master Password, but I prefer to select Scan QR Code and take a picture of my Get the Apps page instead.

Adding a team using the QR code scanner in 1Password 6 for Android

1Password finds the QR Code and prepopulates most of the account information (note that the QR Code above contains my Account Key which should not be shared; I was careful and used a sample test account in the screenshot). All I need to do is enter my Master Password and my team account will be added.

Add team in 1Password 6 for Android

Once the team account is added, 1Password will automatically download all the vaults that I have access to. I only needed to add my Teare Family and AgileBits teams and 1Password did the rest.

The best part is how blazingly fast this is. I went from nothing to almost twenty vaults containing 2400 items in just a few seconds. Here’s what my Vault Switcher looks like after adding my teams:

The Vault Switcher in 1Password 6 for Android

Once I had all my passwords on my new phone, I could start installing my other apps. I started with Kindle, Audible, Slack, MindBody, and Twitter. So far I have resisted the games as we have a lot of 1Password updates we need to finish first :)

1Password 6 Highlights

Now that I have my new Nexus 6P all set up, I thought I’d share a few screenshots of my favorite new features in 1Password 6.

First and foremost, I love the new material design. Here’s how my Category list looks for my Personal vault:

Categories view in 1Password 6 for Android

And here’s a look at how great the item details screen looks:

Item details view in 1Password 6 for Android

As much as I love the new design, I simply adore Fingerprint Unlock. Being able to unlock using my fingerprint is especially awesome given my new Master Password. When I set up my new teams accounts I used a 34-character Master Password1, so I don’t enjoy typing it often.

Now when I launch 1Password 6, I don’t need to type my Master Password! I just scan my fingerprint and I’m in.

Fingerprint Unlock in 1Password 6 for Android

Given how easy it is to unlock 1Password, I will likely add a few extra characters to my Master Password as I’m a geek and 50 characters sounds pretty cool :)

General Impressions of the Nexus 6P

I have to be up front and start by saying that I’m an iOS guy through and through. While there are a lot of things I love about my Nexus 6P, I expect I’ll be switching back to iOS after WWDC this year when Apple announces iOS 10.

With that disclaimer out of the way, I can honestly say that the Nexus 6P is the best Android device I have ever used. It feels good to hold, the Nexus Imprint scanner is accurate and super fast, and the reversible USB charger fixed my biggest complaint about my old Nexus.

As for Android itself, it has improved a lot over the last two years. Marshmallow feels polished and very fast. The Photos app is wonderful and I especially love how I can purchase books directly within Kindle and Audible.

My biennial switch to Android has been a great experience so far. And I’m incredibly proud of what our Android team has delivered in 1Password 6.

If you love 1Password 6 as much as I do, please leave a review. We’re sitting at 4.3 stars at the moment and now that we have these incredible new features I hope you’ll help us get to a solid 5 stars :)

1Password for Android update featured image

1Password 6 for Android: It’s time

Android family, today’s all about you! 1Password 6 for Android is here, and it’s available for immediate (and FREE) download from Google Play. Wait, come back! I have more to tell you. I’m so excited about the features in version 6, you’ve got to let me talk about some of them. =)

Material Design

An application’s interface—the way you interact with it—is one of the most important things. In 1Password 6, we’ve given our app a face lift. But Material Design means so much more than that. Material Design is the name of what Google describes as a “visual language” for application designers and developers. It’s not just about fonts and colours, it’s about various visual elements that help provide a more consistent experience for you.

You’ll find cleaner and more spacious layouts, a navigation drawer, toolbars, and umpteen other things, all focused on a simpler, clearer, more convenient user experience.

If your phone or tablet has access to the Google Play Store and is running Android OS 4.1 or newer, you’ve got everything you need to install 1Password 6.

Fingerprint Unlock

1Password 6 can be unlocked with your fingerprint, using the sensor on your phone! One of my friends recently got a Google Nexus 5X, which has a neat little circle on the back of the phone that reads her fingerprint. It’s so subtle, because it looks like she’s just picking up her phone in a natural way. It’s really cool to see how this natural motion quickly and securely unlocks 1Password.

Fingerprint Unlock works on devices that support this new Google technology and are running Android OS 6.0 Marshmallow.

1Password for Teams

Whether you are a team of 1 or 100, a family of 2 or 12, if you have information that you want to selectively share with others, 1Password for Teams is the safest and simplest way to do it.

If you’ve already set up your team, you’ll be happy to hear that 1Password 6 enables you to easily add your 1Password for Teams account using the built-in QR code reader. 1Password for Teams support is in beta, but we didn’t want to keep you waiting for this oft-requested feature!

If you’re new to 1Password for Teams, please join the public beta and create your team at teams.1password.com. You’ll need a phone or tablet running Android OS 5.0 or newer to access your Teams account in 1Password 6.

You mentioned that it’s time?

I did, didn’t I? Thanks for reminding me. =) It’s time for a bit of chest pounding. Time to dig deep and step up our game. It’s time for 1Password to exceed your expectations. We propose to do that with frequent-er updates and finely applied layers of polish on features that you already use and love.

Now that the new features have had their time in the spotlight, let’s talk about some significant fixes and improvements that are in version 6.0:

  • Fingerprint Unlock isn’t just for the main app—it also works on 1Password Keyboard!
  • Wi-Fi Sync is greatly improved, from the internal (database optimization) to the external (the notifications 1Password shows you).
  • There’s a toolbar everywhere now. Consistency means not having bits ‘n’ bobs poof in and out of view.
  • Icons for categories and settings have been refreshed.
  • There’s a floating button. I mean, it has a purpose: you can use it to add new items. But I think the more important thing here is that it’s a button that floats, like a magical blue orb.

For the full details on what’s new and wonderful in 1Password 6, be sure to check out the complete release notes.

Wait, version 6?

We’ve been focusing a lot on your 1Password experience. We want it to be delightful. Wherever possible, we want to simplify and clarify. So let’s talk for just a moment about the version number.

If you’ve been with us a while, you’ll note that we’ve skipped ahead a little bit. One small way of simplifying things is to use the same version number everywhere. Therefore, 1Password for Android is now version 6, aligning it with Mac and iOS (c’mon, Windows, we’re all cheering for you!).

1Password 6 for Android is a free download for everyone. It offers a one-time, in-app purchase to unlock its Premium features. If you’ve previously unlocked the Premium features, the version 6 upgrade is absolutely free. Thank you for your support!

We’d love to hear what you think about the new version, and invite you to join us in our discussion forums or leave a comment below. We’re also on Twitter and Facebook, if you prefer to chat with us there.

Oh, one more thing. If you’re the adventurous sort and want to jump on the beta train, we’d love to welcome you to our beta family! Simply sign up for the 1Password beta for Android newsletter to get started.

Thanks for choosing 1Password!

Shield Security header

When a Leak Isn’t a Leak

Over the weekend Dale Myers wrote a blog post that examined our .agilekeychain format. The post featured a good discussion and analysis of our older data format, but it raised some questions among 1Password users and the wider technology community.

Dale states that he plans to continue using 1Password and has no concerns over the safety of his passwords themselves, but his main concern was how the AgileKeychain handles item URLs. While we widely documented this design decision and shared it publicly, Dale was surprised to find out that we didn’t encrypt URLs within the keychain. We want to reassure users that rely on AgileKeychain that their password data is safe and secure, and take the time to walk through our data formats to explain the issue completely.

AgileKeychain & OPVault Data Formats

Back in 2008, we introduced the AgileKeychain as a way to help our users better synchronize data across platforms and devices. At this time, 1Password had significantly less processing power to draw from for tasks like decryption, and doing something as simple as a login search would cause massive performance issues and battery drain for our users. Given the constraints that we faced at the time, we decided not to encrypt item URLs and Titles (which resembled the same sorts of information that could be found in browser bookmarks).

In December 2012, we introduced a new format that encrypted much more of the metadata. OPVault, our newer and stronger data format, provided authenticated encryption as well as many other improvements for 1Password users.

This format worked well in situations where we didn’t need to worry about backwards compatibility, including iCloud and local storage on iOS and Mac. For Windows, Android, and Dropbox syncing, however, we needed to decide if we should migrate to the new format or provide compatibility with older versions of 1Password.

We decided to take a conservative approach and not automatically migrate everyone over to OPVault because many users depend upon older versions of 1Password and they wouldn’t be able to log into their accounts. We knew we could trust the security of the AgileKeychain to protect confidential user data so we didn’t want to rush into something that would disrupt people’s workflows.

Switching to OPVault

Despite the security of AgileKeychain remaining intact, Dale reminded us that its time to move on. The OPVault format is really great in so many ways and we should start sharing it with as many users as possible.

We’ve already started making changes to use OPVault as the default format. In fact, the latest beta of 1Password for Windows does this already. Similar changes are coming to Mac and iOS soon, and we’re planning on using the new format in Android in the future. Once all of these things are complete, we will add an automatic migration for all 1Password users. For users who would like to switch to OPVault sooner than this, here’s how you can get started immediately:

To avoid losing access to your data, be sure to back up your 1Password data beforehand, and only follow these instructions if you are NOT using any legacy versions of 1Password. If you have any questions or concerns, or would like to migrate but aren’t sure if your version of 1Password is affected, our knowledgebase, forums and support team are here to help.

1Password tips

Quick Tip: Move a locally synced vault

Pop quiz, hotshot. You’ve chosen to sync your vault to local storage using 1Password 4 for Android. Now you’ve got a new device and you need to migrate that data onto it. What do you do? What do you do?

Not to worry. Migrating your vault to another device isn’t as daunting as it may appear at first glance. You’ll just need access to a desktop computer and a USB cable.

Move the vault from the old device

1P4 Android bot

The first thing you’ll need to do is connect your Android phone or tablet to your desktop with a USB cable. Then, open the device to view its files and folders on your computer.

Note: If you’re using a Mac, make sure you have installed the Android File Transfer tool.

Using Finder or Windows Explorer, navigate through your device’s local storage until you find the .agilekeychain folder that is your 1Password vault. Copy the entire folder to the desired location on your computer.

Migrate to a new device

To get that vault onto a new Android device, connect the new Android to the computer with the USB cable. Then, copy the entire folder to your new device’s local storage.

Once the folder is on the new device, configure 1Password for Android to sync with local storage, as usual.

Migrating to Dropbox

If you’ve decided to switch to Dropbox for easier syncing between devices, you can do that easily. Make sure that Dropbox is installed on your Mac or Windows PC.

Once you’ve got Dropbox installed, open the Dropbox folder on your device and copy the .agilekeychain folder to it. You can use 1PasswordAnywhere to confirm that your vault transferred to Dropbox properly.

That’s it! If you’re syncing to local storage with 1Password 4 on Android, it’s a good idea to back up your vault to another device this way every now and then, just in case something bad should happen. That’s just perfectly normal paranoia. Everyone in the universe has that. :shifty_eyes:

The AgileBits team wearing their finest tin foil hats

The AgileBits team wearing their finest tin foil hats

Questions? We’d love to hear from you. Leave a comment here or join us in the forums. If you’d like to join our beta family and be the first to try new features, you’re most welcome to sign up for our beta newsletter.

1Password for Android header

Wi-Fi Sync comes to 1Password for Android

Yesterday evening, after several weeks of collaboration with our beta family, we published the highly anticipated 1Password version 4.5 for Android. The big news, of course, is that it is now possible to sync your primary vault with 1Password for Mac or Windows using the new Wi-Fi Sync feature.

Look, Ma, no hands! (or clouds)

1Password for Android Wi-Fi logo

We’re thrilled to offer you even greater control over how you sync your 1Password data. If you prefer to keep your vault on your local Wi-Fi network and not fuss with manually copying your 1Password vault to and from your Android phone or tablet, you’ll enjoy the convenience of Wi-Fi Sync. You can read about setting up Wi-Fi Sync in our user guide. If you’re interested in reading more about Wi-Fi Sync from a developer’s perspective, we posted a DevBits article about this on our blog last month.

In related news, you know that “pull to refresh” gesture, where you tap your screen and drag it down? Well, we kind of love it. But that’s not a good enough reason to use it. After all, we don’t just throw things into 1Password, all willy nilly-like. While we were working on improvements for 4.5, we thought, What if you could use that easy, convenient gesture to manually trigger a sync? That would be cool! So now you can.

Polyglottery, levelled up.

One of the ways in which we make 1Password more accessible to folks is by localizing it, and we were immensely proud when we began doing that last year. Today, we add Korean to the list of available localizations.
안녕하세요!

You are awesome and we love you.

You are some seriously passionate people! Every day, our inbox and forums are filled with new conversations. The time you take to submit feature requests and bug reports means the world to us. It helps our developers prioritize resource allocation so we can make 1Password even better for you. The complete rundown of the improvements in version 4.5 can be found on our version history page.

If you use 1Password beta for Android, we have to extend an extra special thank you to you. We love our beta families on every platform, but especially on Android! There are so many different Android devices and without your help, it would be exponentially more difficult for us to make sure every 1Password update is a solid one. Thank you for all that you do.

1Password 4.5 for Android is available now in your local Google Play Store. If you’d like to join our beta team, you’re most welcome! Please sign up on our website. Got feedback? That’s fantastic, we love to hear from you. Please share your thoughts with us in our Android forum.

DevBits header

Wi-Fi Sync in 1Password for Android: Design Overview

Today, I’m happy to tell you that Wi-Fi Sync is coming to 1Password for Android! In fact, it is already available in the latest beta, so you can join our beta family and try it out right now. In this edition of our DevBits series, I am going to talk about how we implemented Wi-Fi Sync in 1Password for Android.

Wi-Fi Sync in 1Password for Android uses only standard Android APIs. We don’t use any third-party libraries. All the required communication logic was written in-house (although inspirational ideas for WebSocket implementation were taken from elsewhere). Using Android APIs keeps the .apk file small and eliminates version incompatibility, licensing issues, or any other trouble that might arise when incorporating third-party code into the app.

Wi-Fi Sync in 1Password for Android consists of three parts: Network Service Discovery (NSD), Network Service Resolution, and the actual sync itself. Both the Network Service Discovery and Network Service Resolution are based on the NSD framework built in to Android. The sync is implemented using synchronous Websocket communication with a service provided by 1Password for Mac or 1Password for Windows.

Network Service Discovery

When you choose to sync using Wi-Fi in 1Password for Android, Network Service Discovery is launched asynchronously and continues to run in the background until you stop it. The service looks for all network services matching the type used by 1Password (in our case “_1password4._tcp.”).

This network service type matches the type used by the latest versions of 1Password on both Mac and Windows when Wi-Fi Sync is enabled. Any discovered Wi-Fi services are displayed in a list for you to select from in order to set up the initial sync. It is important to note that the service info found by NSD contains no information other than the service name and type.

Network Service Resolution

Once you have decided which service you want to use, the Network Service Resolution process is launched asynchronously for the chosen service. 1Password for Android is given the service credentials, including the IP address and port, so that communication with the server can be established. The service name is stored in 1Password preferences and used for subsequent communication sessions. This allows service discovery during incremental sync to automatically stop when a service matching the one stored in preferences is found.

Next, 1Password proceeds with service resolution. If the connection is successful, the actual sync process is launched using the provided service IP address and port. If service discovery is unable to discover the service in two seconds, or if the resolution is invalid, you will be asked to ensure that 1Password is running on the computer you are trying to sync with, and the sync attempt is aborted.

The actual sync

1Password for Android Wi-Fi logo

The actual sync process is handled by a subclass of Android’s AsyncTask that establishes synchronous communication with the server using the WebSocket protocol. In order to establish a connection, this task first requires valid service credentials (address and port) and a reference to the database manager. Once connected with the service, communication proceeds according to a proprietary JSON-based command protocol which is itself based on the WebSocket protocol.

Once 1Password for Android is successfully authenticated by the server it receives an item/folder list. Next, a request is made for items from the list which have been updated on the server, and these are then decrypted and saved in the 1Password for Android internal database.

In order to decrypt these items, your Master Password is requested during initial sync. Although the communication secret is stored in 1Password preferences, it should be noted that your Master Password is never stored in the system preferences or in the database.

Once the initial sync is complete and an incremental sync has begun, you may notice some minor differences between syncing with 1Password for Mac and 1Password for Windows. These differences are the result of architectural differences between the two versions, namely that 1Password for Windows doesn’t rely on an internal database. This results in slightly faster syncing with 1Password for Windows and the need to enter your Master Password on each incremental sync.

When the Wi-Fi Sync server has transmitted all of its updated items to 1Password for Android, and it has transmitted all of its updated items back to the Wi-Fi Sync server, the communication session is terminated and the network socket is closed. Detailed sync results of the latest session are written to the Diagnostics Report, which you can generate from the Settings > Advanced screen and review at any time.

At present, Wi-Fi Sync is designed to work between one computer and one or more mobile devices. We do not recommend switching between multiple desktops when syncing using Wi-Fi. Note that the sync method cannot be changed once it has been selected. For example, if your initial sync uses Wi-Fi, you cannot later switch to Dropbox. Because 1Password for Android supports sync with only the primary vault at this time, it is not possible to switch to a different vault once the Wi-Fi Sync connection to the chosen server has been established.

The addition of Wi-Fi Sync to 1Password for Android furthers our goal of placing you in control of your data. In addition to local storage and sync with Dropbox, you now have a third option for syncing your vault from your Android devices to your other devices. We hope you enjoy using it and welcome your feedback in our beta forums.

DevBits header

Filling with 1Password for Android

1Password is all about bringing convenience to security. Of course, there are always challenges to overcome. On Android, one particular challenge we have been working on is how to make it both secure and convenient for you to use your login credentials. Until recently, your options for filling these credentials were limited to either using the 1Browser built into 1Password or using the clipboard to copy and paste.

While 1Browser helps you fill your login credentials into your favorite sites, it probably isn’t as fully featured as your favorite browser. 1Browser also isn’t much help when you want to use your login credentials to sign into an app. In these situations, you were previously limited to using copy and paste to get your login information out of 1Password and into that browser or app. Unfortunately, using the clipboard for this purpose is not at all convenient, and as we have mentioned before, not particularly secure.

Something better

When evaluating ways to provide a Login filling solution, we wanted to address the following concerns:

  • It needed to be more secure and more convenient than using the clipboard.
  • It needed to provide login filling for both third-party apps and browsers.

In order to make this happen, we needed to implement a service that could detect login fields when displayed in apps and browsers, and insert text directly into those fields. So, we split this functionality across two different services: the 1Password Automatic Filling service detects login fields and gives them focus when appropriate, while the 1Password Keyboard displays the interface for selecting the right Login and sends the credentials for that Login to the appropriate text fields.

Login detection

Twitter Login PageThe first step in filling your credentials is determining when there is a login form on screen that 1Password can fill into. To do this, we take advantage of the Accessibility APIs included in Android to get information about the elements displayed on screen in the form of an AccessibilityEvent.

Our implementation of the 1Password Automatic Filling service starts with this callback:

 @Override
 public void onAccessibilityEvent(AccessibilityEvent event) {
 // Insert magic here
 }

The onAccessibilityEvent callback is fired whenever a user interface event occurs for which we have registered. In our case, we are interested in events which indicate that the elements on the screen have changed. In particular, we register to receive typeViewFocused, typeWindowStateChanged, and typeWindowContentChanged events. By monitoring these events, we can keep an eye out for potential login screens or other opportunities for 1Password to fill.

When the callback is fired for one of these events, our next step is to see if we can identify login fields on the updated screen. We can determine which user interface elements are displayed on screen by invoking AccessibilityEvent.getRootInActiveWindow(). From the root AccessibilityNodeInfo object returned by this method, we can obtain information about all the user interface elements displayed in the active window. In particular, we look for arrangements of text fields matching the pattern for login entry. Once login fields have been identified, the 1Password Keyboard is notified that automatic filling is available. The keyboard is also passed the package name of the application or the URL of the website in which the login fields were detected.

Login selection

1Password keyboard Login sectionKeyboards on Android are built upon the InputMethodService APIs provided by the OS and, in this sense, the 1Password Keyboard is similar to other third-party keyboards. However, the benefit of creating a custom keyboard is that it can be tweaked to do a whole lot more than simple text entry. In the case of 1Password, our keyboard also allows you to view and select the Login items contained in your vault. When you tap the 1Password button on the keyboard, we expand the keyboard to full screen in order to display a list of relevant Logins.

If the 1Password Keyboard has been notified that automatic filling is available, it will look at the package name or URL provided by the 1Password Automatic Filling service and attempt to match it with the Logins contained in your vault. We display any matching Logins and offer the ability to browse for additional logins when appropriate. From here, you can tap on a Login to select it for filling.

Login filling

1Password keyboard filling completeOnce you have selected the appropriate Login for filling, the 1Password Keyboard exits fullscreen mode and once again shows the keyboard keys. You will now see two buttons displayed above the keyboard for filling the username and password corresponding to the selected Login. These buttons provide the ability to manually fill Login credentials in those instances when the 1Password Automatic Filling service isn’t enabled or when it doesn’t correctly identify the login fields in question.

However, when the 1Password Automatic Filling service is enabled and has detected the login fields, the 1Password Keyboard will do all of that work for you. The keyboard asks the 1Password Automatic Filling service to select the appropriate login fields by invoking:

 AccessibilityNodeInfo.performAction(AccessibilityNodeInfo.ACTION_FOCUS);

Once each login field has been focused by the 1Password Automatic Filling service, the 1Password Keyboard is notified. It then inputs the username or password text directly into that field. Once this is done, all that is required of you is to tap the “Sign In” button.

Security and convenience

By combining the 1Password Keyboard with the 1Password Automatic Filling service, we are able to provide a filling solution that avoids use of the clipboard entirely and doesn’t rely on passing your credentials through a third party. Whether you use the 1Password Keyboard as your main keyboard or in addition to your favorite keyboard, securely filling Logins into apps and browsers is only a couple of taps away.

If you would like to read more about enabling the 1Password Keyboard and Automatic Filling service on your Android device, please see our helpful documentation.

1Password for Android header

Fingerprint unlock coming to 1Password for Android [Update: Sneak peek!]

A strong Master Password is critical to keeping your 1Password vault secure. It’s also not the easiest thing to type out on a mobile device. What if you had another way to unlock your vault, in addition to your master password? One that is both convenient and secure?

For some time now, we’ve been wanting to give you the ability to unlock 1Password for Android using your fingerprint. The challenge has been that there was no standard way for us to implement it that would work across a variety of devices made by different manufacturers. And so we waited, and you waited.

Now, our wait is over.

The Android M Developer Preview was just announced at Google I/O, Google’s annual developer conference going on right now in San Francisco. For us, one of the most exciting new features is the standardized fingerprint support that is coming to the Android platform. This means that we have some awesome news for you:

We will be adding support for fingerprint unlock to 1Password for Android when Android M launches later this year!

Fingerprint unlock (1Password for Android)

We don’t usually talk about upcoming features, but we were just too excited about this one to keep it a secret.

As we get closer to the launch of Android M, we will need your help to beta test fingerprint unlock. If you’d like to be among the first to try it out, we invite you to join our beta team. We will share more information in time; for now, we hope you are as excited about this new development as we are!

Update: We had the privilege of being demoed at Google I/O today! If you happened to be in the audience, we’d love to hear what you thought of the demo. And if you weren’t, we’re happy to be able to show you a very, very quick sneak peek. Here’s what it might be like to access your 1Password vault using fingerprint unlock.

because we love you sale, feature image

The Because We Love You Sale

UPDATE: The Because We Love You Sale will be ending the evening of May 27, 2015.

Everything we do here at AgileBits is with you in our hearts & minds: whether it’s sharing tips & tricks to enhance your security, squashing bugs & implementing exciting new features, or answering your questions in our Support Forums, our focus is always on you.  And every once in a while we like to go all out and show how much we appreciate you by having a good old-fashioned sale.

We usually like to focus a sale around a holiday or a release from a certain California-based fruit company, but today we were searching for another reason to celebrate. So we gathered our crack marketing team around the MacBook and started brainstorming ideas:

  • Dinosaurs are awesome! Okay, maybe we’re just really excited for that new prehistoric blockbuster that’s coming soon to a theater near you.
  • Someone on the team had a birthday! It’s true, there’ve been a number of May birthdays here at AgileBits, but we’ve already overdosed on sugary frosting.
  • Baseball’s back! But really, we just wanted to sing “Take me out to the ballgame.”
  • Spring is here?  It’s been done a billion times before.  Boring.
  • We love you! Oh, there it is. What better reason do we need than just to simply say…

we love you. And to show how much we care, we’re knocking 30% off 1Password across the board on Mac, Windows, iOS, and Android.

While our love for you will last forever, this sale won’t. So if you or someone you love has been holding off on buying 1Password, now is the time to say, “I love you, too.”

You can pick up a Mac/Windows bundle (or grab them separately) on our AgileBits Store. 1Password for Mac is also available on the Mac App Store. And 1Password for iOS is on the iOS App Store, and 1Password for Android on Google Play.