More than just a penny for your thoughts — $100,000 top bounty

We believe that we’ve designed and built an extremely secure password management system. We wouldn’t be offering it to people otherwise.  But we know that we – like everyone else – may have blind spots. That is why we very much encourage outside researchers to hunt for security bugs. Today we are upping that encouragement by raising the top reward in our bug bounty program.

bugcrowd-logoWe have always encouraged security experts to investigate 1Password, and in 2015 we added monetary rewards though Bugcrowd. This has been a terrific learning experience for both us and for the researchers. We’ve learned of a few bugs, and they’ve learned that 1Password is not built like the web services they are used to attacking. [Advice to researchers: Read the brief carefully and follow the instructions for where we give you some internal documentation and various hints.]

Since we started with our bounty program, Bugcrowd researchers have found 17 bugs, mostly minor issues during our beta and testing period. But there have been a few higher payout rewards that pushed up the average to $400 per bug. So our average payout should cover a researcher’s Burp Suite Pro license for a year.

So far none of the bugs represented a threat to the secrecy of user data, but even small bugs must be found and squashed. Indeed, attacks on the most secure systems now-a-days tend to involve chaining together a series of seemingly harmless bugs.

Capture the top flag to get $100,000

Capture the flag for $100,000

Our 1Password bug bounty program offers tiered rewards for bug identification, starting at $100. Our top prize goes to anyone who can obtain and decrypt some bad poetry (in particular, a horrible haiku) stored in a 1Password vault that researchers should not have access to. We are raising the reward for that from $25,000 to $100,000. (All rewards are listed in US dollars, as those are easier to transfer than hundreds or thousands of Canadian dollars worth of maple syrup.) This, it turns out, makes it the highest bounty available on Bugcrowd.

We are raising this top bounty because we want people really trying to go for it. It will take hard work to even get close, but that work can pay off even without reaching the very top prize: In addition to the top challenge, there are other challenges along the way. But nobody is going to get close unless they make a careful study of our design.

Go for it

Here’s how to sign-up:

  • Go to bugcrowd.com and set up an account.
  • Read the documentation on the 1Password bugcrowd profile
  • The AgileBits Bugcrowd brief instructs researchers where to find additional documentation on APIs, hints about the location of some of the flags, and other resources for taking on this challenge. Be sure to study that material.
  • Go hunting!

If you have any questions or comments – we’d love to hear from you. Feel free to respond on this page, or ping us an email at security@agilebits.com.

A year in the life of the Best Password Manager for Android

Hello again friends! 👋

When I last wrote about 1Password for Android, we had just released version 6.4 with support for Android 7.0 and all of its Nougat-y goodness. We’ve been hard at work since then, but before I tell you about some of the great changes we’ve introduced in version 6.5, I want to take a moment to celebrate.

android-central-1I’m incredibly proud to say that we’ve been awarded “Best Password Manager” by Android Central! While we naturally think that 1Password is the best, it’s always fantastic to have a great site like Android Central back us up with their recommendation. And the timing couldn’t have been better as we were also celebrating a birthday last month… 1Password 6 for Android just turned one!

So come with us on a journey as we celebrate 1Password 6 for Android’s birthday, and look back on a year of Googly wonder!

Birthday beginnings 🎁

Let’s start with the release of 1Password 6. This was a huge release that restyled our pixels with Material Design, made unlocking your vaults quick and easy with Fingerprint Unlock, and introduced support for 1Password memberships.

In the months that followed, we released 4 major updates to 1Password 6. These updates made search available from first launch, added All Vaults to allow you to view all of your items at once, and made it easier to type passwords into other devices with Large Type. We also made 1Password more convenient to use alongside other apps by adding support for Nougat’s split-screen mode.

All of these changes were focused on making it more convenient for you to stay secure with 1Password. Features like Fingerprint Unlock and Universal Search are all about getting you to the data you need quickly. 1Password memberships make your data available whenever and wherever you need it with instant sync and web-based access through 1Password.com.features

Speaking of 1Password memberships, I want to take a moment to celebrate another birthday. Not only did we release 1Password 6 for Android last February, but we also launched 1Password Families.

Enjoying Families with family ❤️

As you might imagine, I’m the resident password guru and all-around IT guy for my family. While I would never complain that it’s a burdensome job, anything that makes it easier to manage devices and accounts for Juliana and the kids is a big win for me. So when we launched 1Password Families a year ago, it was a no-brainer for me to switch us over. In the time since, my role in family tech support has gotten so much easier…

convenience-updatesSetting up 1Password on all our devices. Our house is littered with devices spanning the Android, iOS, and Mac platforms. Setting up each one is now as simple as installing 1Password, scanning an Account Code, and entering the Master Password.

Making passwords easy! No one in my family needs to think too hard about creating strong unique passwords. Instead, we simply use the strong password generator in 1Password to create a new password for each new account we create. No re-using passwords and no arcane rules or formulas to follow.

securely-shareStoring more than passwords. We also use 1Password to store everything from credit cards to passports to locker combinations. Anything that should be kept secret, yet be available whenever and wherever we need it, goes in 1Password.

Sharing with the right people. There are some items that I only want to share with Juliana and other items that I want the kids to have access to as well. 1Password makes it easy for me to organize our items into multiple vaults and share those vaults appropriately.

Recovery Time Machine

Restoring previous versions of items. I no longer need to worry that an item will be accidentally changed or deleted. If that ever did happen, the new Item History feature will help me get it back. All I need to do is log in on 1Password.com and restore the version of the item back the way it was.

As you can see, 1Password Families adds up to a lot of peace of mind for everyone and makes my IT role in my family much easier! And now that I’ve gone on about how our 1Password membership has made managing my digital life easier, I’m eager to help you do the same.

The best gets better! 🎉

In version 6.5, we’ve made it easier than ever to get started with 1Password and get straight to what matters – keeping your personal information safe and secure.

If you’re a current 1Password customer but haven’t started your 1Password membership yet, you really should check it out. We’ve made it super easy to move your items over, so you can experience the best way to use 1Password.

You can sign up for a new individual account in Settings > 1Password accounts and then migrate your existing data in with the new ability to copy items.

And if you’ve never used 1Password before, you can sign up for a new individual 1Password membership and start your free 30-day trial right from first launch. Start with something for yourself and then when you’re ready, invite family members or team members to join you.

Wowzas! what a year! 🎉

We’ve got even more new features and improvements planned for the year ahead, and I look forward to sharing more about these with you soon. In the meantime, I hope you enjoy the best version of the Best Password Manager for Android yet!

out-of-the-storm

P.S. Here’s Paddy chilling on the beach after winning the Best Password Manager for Android. Our developers weren’t invited as she has us working on the next update already. She’s a tough project manager, but the results speak for themselves ?

PSA for macOS Developers: Renew Your Certificates & Provisioning Profiles

Welcome to Part 3 in a three-part series of posts that go in-depth on recent events that caused macOS to prevent 1Password for Mac from launching on our customer’s machines. In this thrilling conclusion we’ll go into what we’ve learned and what the rest of the developer community needs to do to prevent this same sort of pain in their own apps.

In case you need to catch up on your reading:

Part 1 : 1Password for Mac 6.5.5: Manual update required

Part 2 : Certificates, Provisioning Profiles, and Expiration Dates: The Perfect Storm

We never take for granted that 1Password is an integral part of our customer’s workflows. It’s an app that has engendered a great deal of trust and any time we stumble and hurt our customers, we spend as much time as needed to fully understand what happened and make sure we cover our bases for the future. The events of this past week are no exception.

We’ve learned a fair amount over the last week, so let’s dive in.

Who This Affects

provisioning-bandaids@2xWe went over this a bit in part 2, but we’ve been able to confirm that the issue we ran into is one that affects any Developer ID signed application also containing a Provisioning Profile. If your app has declared any codesign entitlements there’s a good chance you’ve got a provisioning profile. Often developers think of codesign entitlements only in the context of sandboxing an application, but they’re used for other things as well. In our case it is used to declare a keychain access group.

The presence of the provisioning profile will depend on your use of app services, which you can see in the Capabilities pane in the project editor when viewing the target in Xcode. If any of these options are set, there’s a relatively good chance that your app is shipping with a provisioning profile.

terminal-icon@2xAs a user, you can see if an app contains a provisioning profile by right clicking on the app in Finder, and choosing “Show Package Contents”. Then navigating to Contents to see if there’s a “embedded.provisionprofile” file. Seeing its expiration date requires that you open Terminal and use the security cms -D -i command followed by the path to embedded.provisionprofile file. It will output the xml plist which will contain something that looks like this:

<key>ExpirationDate</key>

<date>2022-02-17T23:59:55Z</date>

Generally, this provisioning profile is set to expire at the same time as your Developer ID certificate. One of the hallmarks of 1Password is that it tends to adopt the latest and greatest technologies that Apple has to offer right on day one. For this reason our provisioning profile was generated relatively early on and therefore we are one of the first ones to experience this pain.

We urge all developers that distribute an app outside of the Mac App Store to check whether their app ships with a provisioning profile, and to verify its expiration date.

 

Short Term Fix

short-term-fix@2xWhen we generated our new provisioning profile last week we also created a new Developer ID certificate. Both this new certificate and the associated provisioning profile expire in 2022. In the short term this buys us a bit of time.

By the time you read this 1Password 6.6.1 will have been published on our website (with a major new version in the Mac App Store as well). This new version will help some users who have been having issues with the manual update process and also comes with a load of other goodies.

 

longterm-fix@2xLonger Term Fix

Apple has posted a thread on their Developer Forum indicating they’ve made changes to the developer center to help with this problem. Newly generated Developer ID Provisioning Profiles are now valid for 18 years instead of 5. That takes us up to 2035, just in time for us to start worrying about y2k38 bugs. If our customers are still using 1Password 6.6.1 in 2035 then they’ve certainly missed a few update notifications. ?

Apple recommends developers generate new provisioning profiles to obtain one that has the longer expiration date. We’ll be doing this on our side shortly.

In practical terms, this solves the issue for our customers.

 

Proper Long Term Fix

Ideally there would be no expiration that affects users. A few years ago I resurrected a system from 1988 and set up an operating system from 1994 on it. Expiration dates on software would have made this impossible. It pains me to think of someone being unable to run 1Password in the future out of curiosity because of arbitrary limits such as this.

The issue we’ve filed with Apple (rdar://30631939) regarding the inability to run apps with expired provisioning profiles remains open. We will continue to advocate for this to be changed and recommend that all developers of affected software do the same (please dupe the rdar). We’ll keep you updated if this changes.

 

out-of-the-storm@2x

Watchtower keeps you safe on cloudy days

Cloudflare is a large internet technology provider used by millions of websites around the world. Last week they announced a vulnerability that potentially affected all their clients.

In many ways this is a “no news” report for us as your 1Password data was safe during this entire time, and remains so today. 1Password was designed with multiple layers of encryption, and your data is encrypted before it ever leaves your computer. In short, we anticipated the day when HTTPS (SSL/TLS) might fail, so we weren’t worried when that day came.

Even though your data is safe in 1Password, and you don’t need to change your Master Password, it’s important to pay attention to the websites you visit. Some of them may have been using Cloudflare, and you may need to change their individual passwords.

Thankfully 1Password can help with that!

Use Watchtower to find passwords you need to change

Watchtower tells you about password breaches and other security problems on the websites you have saved in 1Password. It’s included on Mac and iOS with every 1Password subscription, and we’ve already added sites that were affected by the issue last week.

It’s easy to get started! Check Watchtower to see if any of the sites you have saved in 1Password are vulnerable. If so, change your passwords for those sites. 1Password can generate strong passwords for you.

? Get started with Watchtower

To keep ahead of future problems:

  • Avoid reusing passwords. Always use unique, randomly generated passwords for each website.
  • Turn on item counts. Choose View menu > Show Item Counts, and you’ll be able to see at a glance if Watchtower is reporting any vulnerabilities.

We continually update Watchtower as security breaches are reported, so you can change your passwords right away. We do this without ever knowing what websites you have saved in 1Password. 1Password downloads Watchtower information to check your websites on your devices. Learn more about how Watchtower protects your privacy.

Introducing 1Password 6.6 for Mac

I’m happy to announce we just finished assembling a new version of 1Password! It’s working its way through the update engines around the world now and hopefully it’s ready for you by the time you finish reading this. ?

The biggest change in this release is a whole new setup experience. We’ll dive into that in a moment, but first I’d like to share a cool new feature for those of you lucky enough to have one of those sexy new MacBook Pros.

We’ve been experimenting with the new Touch Bar since the beginning and added Touch Bar support along with Touch ID back in November as soon as the new Macs were available.

Today we’re taking the next step tap and giving you the ability to customize your Strong Password Generator settings directly from your Touch Bar!

I always enjoy the feel of tapping actions on the Touch Bar but sliding your finger across it is even better! Trust me, you’ll have a hard time customizing your password length just once. ?

There’s several other changes in this release as well, but let’s dive right into the big one now.

New Setup Flow

The biggest change is one that most of you probably won’t see until the next time you’re setting up a new Mac. Those new MacBook Pros with Touch ID really are pretty sweet so hopefully this isn’t too far in your future! ?

Starting today we have a lovely new flow for the setup screens1. Like their little cousin on iOS did earlier, 1Password for Mac makes getting started much simpler.

Now when you launch 1Password on a new Mac you’ll be greeted with a lovely page asking you if you’ve used 1Password before:

opm6-6-setup-screen

Those of you who have already been rocking with 1Password can use your existing data, and everyone else who’s just getting started can begin their free trial.

Free Trials From Mac App Store

We’ve always wanted everyone to be able to try 1Password before needing to purchase. Our website version has supported free trials since the very beginning, but it wasn’t possible in the Mac App Store when we first published 1Password there way back in 2011.

Thankfully Apple gave us a wonderful present at their Worldwide Developers Conference last year that made this possible for Mac App Store users as well.

1Password now comes with a 30 day free trial in the Mac App Store. Those downloading 1Password for the first time will start their trial and be prompted to subscribe once their trial expires:

opm-6-6-subscribe

Your single subscription allows you to use 1Password on all your devices and always have access to the latest versions.

Those who previously purchased 1Password in the Mac App Store will continue to be able to use 1Password as before and are not required to subscribe to our 1Password membership. Although there are a lot of great reasons why you should…

Benefits of a 1Password Membership

introducingI’ve been a license holder since the beginning. In fact, I’m pretty sure I got the first license we ever made!

If you’re a longtime license holder of 1Password like I was, I’m sure you’re wondering what all the hullabaloo is over our new service. I’m glad you asked and I’m happy to unlock that mystery for you! ?

There are a lot of benefits to a 1Password Membership over a standalone license, but for me it boils down to convenience, security, and peace of mind.

convenience-updatesLet’s start with convenience. With a membership, all I do is log in on a new device and all my data is there. I can even organize my items in multiple vaults and they all appear instantly.

And the best part is my membership gives me access to the latest version of 1Password on all my devices so I don’t need to worry about managing any licenses. I’m really happy that I don’t need to say “1Password is sold on a per-person, per-platform basis, with paid upgrades for major new versions” anymore. ?

double-securityOn the security side of things, I absolutely love our new encryption design that leverages Galois/Counter Mode for efficient authenticated encryption and our ingenious Two Secret Key Derivation starring our unique Account Key.

I know I know, I’m a huge geek and love the details, but these and many other things all add up to better performance and a secure-er than ever way to protect your data. You can check out our security page for a nice high level review, along with a detailed White Paper for my fellow geeks reading this. ?

As for peace of mind, this one is priceless. I simply sleep better at night.

sleep-at-night

With my 1Password membership, I know that all my data is backed up automatically for me, and every change is remembered so I can go back in time and restore my precious items whenever I need to. And with our Family account I can securely share passwords with Sara so she has access to everything she needs.

In short, I’m absolutely loving my 1Password membership. It’s the best way to use 1Password.

love-1password

Becoming a 1Password Member

If these benefits excite you and you want to join me, becoming a 1Password member is super easy.

You can jump on board and migrate all of your data over in just a few short steps. We have a quick guide on how to setup a new account and move over your data, along with a nice video showing how easy it is to do.

I know you’re busy so I’m happy to say you can finish the entire process in just a few minutes. Start by creating your new account here:

Start Your Free Trial Today

Often it feels like I’ve been using all these great new features for a lifetime, but looking back we introduced 1Password Teams only 15 months ago, 1Password Families almost exactly one year ago, and 1Password Memberships just 6 months ago.

It’s amazing how quickly I came to rely on these benefits and how I was able to fall in love with 1Password all over again. I think you will, too.

Enjoy! ❤️ ??


  1. Those with eagle eyes might be saying “again?” since 1Password 6.5 had a new setup experience for those who downloaded from our website. But we’ve iterated on the design and now everyone gets to join in on the fun, including those who install using the Mac App Store. 

Three layers of encryption keeps you safe when SSL/TLS fails

No 1Password data is put at any risk through the bug reported about CloudFlare. 1Password does not depend on the secrecy of SSL/TLS for your security. The security of your 1Password data remains safe and solid.

We will provide a more detailed description in the coming days of the CloudFlare security bug and how it (doesn’t) affect 1Password. At the moment, we want to assure and remind everyone that we designed 1Password with the expectation that SSL/TLS can fail. Indeed it is for incidents like this that we deliberately made this design.

No secrets are transmitted between 1Password clients and 1Password.com when you sign in and use the service. Our sign-in uses SRP, which means that server and client prove their identity to each other without transmitting any secrets. This means that users of 1Password do not need to change their Master Passwords.

UmbrellaBearYour actual data is encrypted with three layers (including SSL/TLS), and the other two layers remain secure even if the secrecy of an SSL/TLS channel is compromised.

The three layers are

  1. SSL/TLS. This is what puts the “S” in HTTPS. And this is what data may have been exposed due to the Cloudflare bug during the vulnerable period.
  2. Our own transport layer authenticated encryption using a session key that is generated using SRP during sign in. The secret session keys are never transmitted.
  3. The core encryption of your data. Except for when you are viewing your data on your system, it is encrypted with keys that are derived from your Master Password and your secret Account Code. This is the most important layer, as it would protect you even if our servers were to be breached. (Our servers were not breached.)

Certificates, Provisioning Profiles, and Expiration Dates: The Perfect Storm

As you may have read, this weekend was a little hectic for us and some of our app developer friends1. On Saturday we got word that users of 1Password for Mac were seeing the app fail to launch correctly. It took a few hours, but we diagnosed the problem and released an update that corrected the issue. This issue will only have affected users that downloaded 1Password for Mac directly from our website, so if you downloaded it from the Mac App Store you had a much more calm weekend than we did.

But alas, that story has already been told. Now it’s time for the nitty gritty technical details about all the forces that aligned against us that had us staring up a giant wall of crashing water like George Clooney and Mark Wahlberg.

Prologue: Not All Certificates Are Created Equal

There’s a lot of information to unpack in this post, but before I get started, I’d like to address an assumption I’m seeing far too many people making: that what happened to us was simply an issue of an expired certificate and that all we needed to do was create a new one, just like you do for SSL certificates.

That’s simply not true.

Developer certificates are much different than SSL certificates and serve a very different purpose. Unlike a simple SSL certificate, our developer certificate is used to sign 1Password and needs to be valid during build time. The expiry time of a certificate or provisioning profile should have no impact on whether or not macOS will allow an app to launch or not.
An analogy may be helpful here: if you think of the developer certificate as a carton of eggs, and 1Password as a cake, then it is important not to use expired eggs to make the cake. The fact that the eggs may expire a few days after making the cake should have no effect on the cake itself. After all, the cake is already made and delivered.

Jumping out of the galley and back into our developer world, an expired certificate typically doesn’t affect us until the next time we need to do a release, which would have been this week with our next betas. Certificates control our ability to sign new apps. They don’t affect existing released apps.

For example, we have some users still using 1Password 3 for Mac (hey there, if that’s you, you should really consider upgrading to a 1Password membership as soon as possible!). The first release of 1Password 3 was in 2009, around 8 years ago. Assuming a user is happy with 1Password 3, how long should they expect to be able to continue using the software they paid for? The only acceptable answer to that question is: as long as they feel like it.

Obviously there’s plenty of reasons for why a user would want to upgrade to newer versions, but the fact of the matter is that a user shouldn’t be reliant on us to keep providing updated builds of an unmaintained app just to keep it running. Unlike an SSL certificate, this isn’t something we can simply fix from our end. Fixing the issue we ran into this weekend is a matter of creating a new build of the app and having users update to the new version.

Taking a Tour of the Engine Room

iCloud Sync

To properly understand what happened, let’s take a step back and look at the different parts of this.

In Mac OS X 10.7 Apple introduced Gatekeeper. Gatekeeper is really quite awesome as it gives users control over what software is allowed to run on their system. The default is to allow software from verified and trusted developers: those apps that have been uploaded to the Mac App Store, or those signed with Developer ID certificates made available to the developer by Apple.

Gatekeeper ensures that apps that have been tampered with will refuse to run, and also provides Apple with a way to revoke certain certificates if a developer has been found to be doing harm (i.e. distributing Developer ID signed malware). These simple steps stop a wide variety of attack vectors and we think the world of Apple for having implemented this.

The next layer is the Provisioning Profile. Provisioning Profiles provide information about what the app can do, as well as who can run it. There are certain services on the Mac that require that the app include a Provisioning Profile. In our case, we needed to start using a Provisioning Profile when we added support for unlocking 1Password using Touch ID.

To be clear, Touch ID itself doesn’t necessitate the profile, but in order to unlock your vault we need to store a secret and we choose to store it the OS X keychain. The specific configuration we’re using for that requires declaring that we want access to a specific keychain access group, which needs to be declared in a provisioning profile. The provisioning profile is included in the app bundle and cannot be updated independently of the app.

Next up… XPC. We use XPC to communicate between the 1Password main app and 1Password mini – the little 1Password that runs in your menu bar – and it’s really quite awesome. 1Password mini acts as the brains of the whole operation, and the larger app is mostly just responsible for displaying information. The reason we love XPC so much is because it’s an inter process communication tool that actually provides us the building blocks we need to perform mutual authentication. What this means is that 1Password mini will refuse to communicate with the main app unless it can prove that it’s signed by us. The inverse is true as well.

Storm Clouds Gather

clouds-gathering@2xAt around 3pm EST on February 18th we started getting reports of failures in 1Password for Mac. Folks were seeing an error appear that 1Password was unable to connect to 1Password mini.

Unable to start 1Password

This initial failure occurred due to the fact that the provisioning profile embedded in 1Password mini had an expiration date. Expiration dates seem to be required, and due to the fact that the expiration date elapsed, Gatekeeper decided that 1Password mini was no longer safe to run. We’ve filed a bug with Apple as we feel that this shouldn’t be the case (rdar://30631939 for those of you reading along inside the Mothership).

Only 1Password mini contains the Provisioning Profile as all Touch ID operations happen within that process. This meant that Gatekeeper was deciding that our main 1Password app could launch. Upon launching, 1Password performs its start up sequence which includes asking the system to launch 1Password mini if it’s not already running. When doing so, the system would log the following to the console:

com.apple.xpc.launchd[1] (2BUA8C4S2C.com.agilebits.onepassword4-helper[11038]): Binary is improperly signed.
com.apple.xpc.launchd[1] (2BUA8C4S2C.com.agilebits.onepassword4-helper[11038]): removing service since it exited with consistent failure reason When validating /Applications/1Password 6.app/Contents/Library/LoginItems/2BUA8C4S2C.com.agilebits.onepassword4-helper.app/Contents/MacOS/2BUA8C4S2C.com.agilebits.onepassword4-helper:
Code has restricted entitlements, but the validation of its code signature failed.
Unsatisfied Entitlements:
com.apple.xpc.launchd[1] (com.apple.ReportCrash[11041]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.ReportCrash

The 1Password main app detected the failure and provided an error panel telling the user that it couldn’t connect to mini.

Due to the expired Provisioning Profile, 1Password mini wouldn’t launch. And without mini running, 1Password itself was unable to startup successfully. Both mini and 1Password itself were signed with the same Developer ID certificate. Gatekeeper allowed 1Password to run, but due to the different rules for apps with provisioning profiles, it would not allow mini to run.

As far as we can tell, the only way to correct this problem is to provide a new build of the app with an updated provisioning profile with a new expiration date. Within a few hours we were able to publish a new version which did exactly this. As of 6.5.4, we had an app that users could download and run again.

The Eye Of The Storm

eye-of-the-storm@2xAfter this initial bout of terror, death defying feats, and mad scrambles we figured the technical portion of this exercise was finished and had begun transitioning into customer support mode; helping allay the fear, uncertainty, and doubt that this event had caused.

Little did we know at the time, we were only in the eye of the storm – the calm center before things would get rough again.

1Password for Mac includes an updater within the app so that users can easily upgrade to the latest versions as they become available. This updater validates downloads before performing the update to ensure that the updated app is in fact from AgileBits. One of the steps taken during validation is looking at the code signature of the downloaded app and ensuring that it satisfies the following security requirement:

anchor apple generic and identifier com.agilebits.onepassword4 and certificate leaf[subject.CN] = “Developer ID Application: Agilebits Inc.”

This check has worked really well for us. It’s simple and does the trick.

This check is also extremely specific about the common name2 it looks for. When we generated our updated provisioning profile we also needed to generate a new Developer ID certificate. We didn’t realize it at the time, but the common name of newly created certificates now include the team identifier in addition to the company name;  “Developer ID Application: AgileBits Inc. (2BUA8C4S2C)” vs. “Developer ID Application: AgileBits Inc.”. Close. Super close. But we weren’t looking for a “close” match.

The result of this new common name was that even though our app would now launch, the automatic updater would never run successfully because as far as it was concerned the update being provided wasn’t valid and therefore needed to be rejected. This is what users who could still run 6.5.3 and tried to update to 6.5.4 saw.

Once we discovered this problem we had no choice but to pull the 6.5.4 update and issue a 6.5.5 update that included a modified security requirement check. Sadly this didn’t address the fact that users running 6.5.3 and earlier are not able to automatically update to 6.5.5.

Moving Forward and Heading Home

heading-home@2xThis was painful for everyone. We lost sleep over the weekend, but worse than that… our users temporarily lost access to some of their most important information. This is unacceptable to us and we want to make sure this doesn’t happen again.

We’ve reached out to Apple for help and guidance on what we can do to avoid this happening again in the future. Our new provisioning profile doesn’t expire until 2022, but we’ll make sure that this is resolved far before then so that you need not worry about that happening.

If you’re a developer of a Developer ID signed app, we recommend that you check to see if your app includes a provisioning profile. Since that’s mostly handled automatically by Xcode, it’s likely that there are apps out there whose developers aren’t even aware of the inclusion of the provisioning profile. Check the expiration date, and ensure that you release an updated build with an updated provisioning profile well before the expiration date is hit so your users have time to update.

We’ve also filed an enhancement request with Apple asking that developers be notified via email of impending distribution certificate or provisioning profile expirations with explanations of repercussions. This was filed as rdar://30631968.

If you have questions about any of this, please don’t hesitate to ask us in the comments below.

Love,
The 1Password Mac Team
❤️

P.S. Happy 5th Birthday to Gatekeeper! ? We were one of the first apps to sign with Developer ID certificates, use XPC, and leverage the entitlements required for Touch ID. It’s always exciting being on the cutting edge of technology but we wouldn’t have it any other way. ?

Further Reading

This was the second post in a three part series. See the exciting prequel and sequel here:

Part 1 : 1Password for Mac 6.5.5: Manual update required

Part 3 : PSA for macOS Developers: Renew Your Certificates & Provisioning Profiles


  1. The exact same perfect storm appears to caused our friends at Smile to hit the same rough seas that we had. You can see Adam Engst’s story in TidBITS for details on how this affected PDFPen. 
  2. The Common Name is the subject.CN part of the security requirement. As our Chief Defender of the Dark Arts often says of Common Names: they are often very uncommon. The name is inherited from older identify management systems. I don’t need to say much more as Jeff loves explaining things, so let’s all sit back and watch what he says in his comment that I’m sure he’ll be adding soon. 

Secure Your Whole Family with Our Special Family Day Special!

Happy Family Day week, everyone!

photosEvery year around Valentine’s Day we celebrate Family Day here in Canada. It’s a wonderful chance to spend some extra time with our families and harvest maple syrup. ?

And with the turkey hangover from the holidays long gone, it’s a great time to cook up a lovely family feast. After all, it’s important to keep our weight up so we can stay warm during the cold winter ?

No family gathering would be complete without our customers so we wanted to do something special for you and your family. So from our family to yours, we’re having a special 1Password Families celebration!

Special Family Day Special!

double-the-famWe introduced 1Password Families exactly one year ago today and it’s been awesome to see all the families who have signed up.

With 1Password Families, everyone in your entire family gets the security and convenience of 1Password. This includes free upgrades and access to 1Password everywhere, including Mac, Windows, iOS, and Android. And you get all of this for only $5 a month for a family of 5.

I was trying to decide how to make this even more special for our Special Family Day Special and I thought of the perfect thing. While inviting my family over for dinner I realized that 5 people is not always enough.

To celebrate Family Day, everyone who signs up their family this week will get an additional 5 family members for free! You can start by signing up here:

Special Family Day Special

maple-ham

Oh, and by the way, we’re also throwing in twice the storage! If you like ham and maple syrup as much as I do, you’ll wish your jeans had as much storage space as your 1Password account! ?

What is 1Password Families?

Quite simply, 1Password Families is the best way to protect your entire family. With your membership everyone in your family gets everything they need to stay safe online and preserve their privacy, including:

  • Their own vault for storing their personal items and passwords
  • All the 1Password apps, including Mac, Windows, iOS, and Android
  • Free upgrades to every new version
  • Item History for restoring accidentally deleted or changed items
  • 1 GB 2 GB of Secure Document storage

And since we take care of everything for you, every account has built-in data loss protection. There’s no need to worry about losing everything to accidental file deletion or leaving your laptop in the oven1.

securely-shareAs great as these benefits are, where 1Password Families really shines is how it allows you to work together as a family. Together your family can:

  • Invite additional family members quickly and easily
  • Create additional vaults to keep things organized
  • Share passwords & documents with each other securely
  • Manage exactly who can see and modify individual vault contents
  • Restore access for locked out family members using Account Recovery

These features allow you to be stronger together, just like any loving family.

As you can see, 1Password Families really is the best way to use 1Password with your entire family. And you don’t all need to live at the same household to enjoy these benefits. As great as having family over can be, it’s also nice to have your own space. ?

To get all these features and start protecting your entire family, sign up here:

Sign Up Now

Oh, and if you’re already using 1Password, you can easily move your existing items into your new 1Password Families account, so there’s no need to worry there.

Whether you celebrate Family Day or not, take care and have a wonderful week with your family. And don’t forget the maple syrup.

?? ❤️


  1. True story. My friend thought the oven was a great place to hide their laptop. It was found after preheating the oven. 

1Password for Mac 6.5.5: Manual update required

tl;dr

As a result of an expired provisioning profile and format change in the developer certificate, customers who downloaded 1Password for Mac directly from our site will need to manually update to the latest version. Those using 1Password from the Mac App Store are not affected.

For those who are interested, here are the events that conspired against us to make for an interesting Family Day weekend…

Fire at the office

I was out at the gym yesterday when I received a call from my wife. I thought she was calling about our belated Valentine’s dinner we had planned. Instead she rather alarmingly told me that “Sara called and said there is a fire at the office”.

Rushing home, I was expecting to hear that the hammocks and standing desks had gone up in flames. (Happily our servers are all virtual so I wasn’t too concerned). The “fire at the office” turned out to be a fire with 1Password for Mac. Customers were getting an error message when trying to start 1Password!

Unable to start 1Password

I urgently gathered our Mac team who were enjoying their holiday weekend to figure out what happened. We quickly recreated the issue and found this error in the logs: Binary is improperly signed. This seemed very strange to me as this version was released back in 2016.

We knew our developer certificate was going to expire on Saturday, but thought nothing of it because we believed those were only necessary when publishing a new version. Apparently that’s not the case. In reality it had the unexpected side effect of causing macOS to refuse to launch 1Password properly.

New certificate, new format

We renewed our certificate and released 1Password 6.5.4 thinking all would be well. And that’s when the other shoe dropped. When we created the new certificate it had a new format for the Common Name.

While this sounds like an inconsequential change, our built-in installer goes to great lengths to validate that every 1Password update is actually 1Password. Since our installer did not recognize the new certificate format it refused to update.

No problem can’t be solved without yet another build, so we created 1Password 6.5.5 ?

Long story short, 1Password 6.5.5 is now available and solves all these problems. The only catch is it requires you to install it manually.

Moving forward

As you might imagine, we have a whole new level of understanding of the importance of expiring provisioning profiles and certificates. Our new certificate expires in 2022 but I can guarantee you we will be renewing it far before then.

I do apologize for the inconvenience and extra work that this will cause you. I am sure you had better things to do on your long weekend too. If you have any problems with this update please let us know.

I also want to take a quick moment to say “Thank You”. The understanding that I’ve seen from the 1Password community is overwhelming. You never cease to amaze me. It has truly been a humbling experience.

Having spent all Saturday fighting this fire, I still owe Brenda the dinner we were supposed to have had. After missing Valentine’s Day dinners two weeks in a row, I kind of wish the actual office had been on fire ?

Further Reading

This was the first post in a three part series. The story continues here:

Part 2 : Certificates, Provisioning Profiles, and Expiration Dates: The Perfect Storm

Part 3 : PSA for macOS Developers: Renew Your Certificates & Provisioning Profiles

Having a blast at AGConf[7]

Every year since I joined the AgileBits family, I’ve looked forward to our annual reunion. It’s a rare opportunity to see the faces and hear the voices that only exist in my head and in text most of the time. AGConf gives us the chance to get together, discuss, plan, collaborate, joke, sing, dance, and occupy the same space for one glorious week.

Suffice it to say that AGConf[7] was a blast. We all met in Fort Lauderdale, Florida, where we boarded the Independence of the Seas for a five day Caribbean cruise. We visited Labadee, Haiti, and Falmouth, Jamaica, before making the return trip and parting ways.

Seeing the same old friendly faces

Most of us work remotely, and with the exception of the odd trip to the mothership (Toronto), we don’t get to see each other. The first day is filled with hellos and hugs–and an abundance of both. We always keep our eyes out for the official AGConf tees, and this year’s 007 themed one was a big hit!

Seeing the shiny new faces

In addition to seeing our old friends and colleagues, it’s always fun to meet the new Bits on the team! It seems like we’re growing exponentially these days, and by some wonderful Agilemagic, everyone fits in just right. I’m already looking forward to meeting more new Bits next year!

Getting some work done

Getting such great minds together always makes for some interesting discussion. It’s fun to put our heads together to help customers, solve problems, and make plans for the future. It’s also one of the few times during the year where we can have face to face discussions. Any big plans we’ve been working on in secret can finally be revealed. Any questions we’ve been wanting to ask get answered, sometimes with a full lecture.

Beyond all of the enlightening and productive internal discussion, we also spend a lot of time supporting our customers. At AgileBits, we take customer support very seriously, and everyone takes part in it. On the high seas, we all have each other to bounce ideas off of, or help with tricky issues we may not be too sure about. Need a developer? Just grab one. Have a security question? Goldberg’s got you covered. Working during AGConf almost doesn’t feel like work at all.

Having lots of fun

And of course, when we get together, we have fun. We play games, soak in the hot tubs, drink Labadoozies and rum punches galore, get dressed up fancy for dinner, sing karaoke, eat lots of dessert, get late night pizza, do yoga, watch the sun rise and set…I could go on. There’s so much to do, and so many people to see, it’s hard to make sure to get enough sleep! For a bunch of computer geeks, we’re a pretty rad crew.

 

Parting is such sweet sorrow

Like all other good things, AGConf, too, must come to an end. We came, we saw, we conquered, and we did some other stuff too. Now it’s time to get back to developing software we’re passionate about, and supporting customers we love. Until next time, Bits!