

The 1Password extension is built along with 1Password itself and is signed with the same cryptographic keys. Only the makers of the container app can make an extension for it. You need to tap on the 1Password extension button each and every time you want the ACME app to make a request to the 1Password extension. It can only make a request to the extension when you take explicit action. The host app cannot silently poke at the extension to get data. The only time that the host app is able to talk to an extension is when the user-that’s you-asks it to. The host app doesn’t get to decide when it makes a request to an extension. Fortunately, it isn’t, thanks to a couple of things that are built into the foundation of this system. What I have just described sounds dangerous.
#1password firefox ios password#
As another example, the 1Password extension might pass back a username and password to the ACME app. After the extension does its stuff, it gives a response back to the host app.

So in our case, our extension can do stuff within the 1Password container just as the 1Password app itself can. The extension is allowed to do stuff within the container app’s container. For example, the ACME app might make a request to the 1Password Extension to look up a username and password that a user might have in 1Password for.

The host app makes a request to an extension. In this article, I will be using the word “extension” to refer to the app extensions in iOS.
#1password firefox ios mac#
This is not to be confused with the 1Password browser extension on Mac and PC. In this way, it “extends” the container app. It may have access to the container app’s container.
#1password firefox ios full#
The extension is a special program (it is not a full app in its own right) that takes requests from the host app. Like every app, the container app operates within its container. In our example, the container app is 1Password. The container app is the app with which the extension is built. In iOS, each app runs inside of its own “container.” This is forced by the operating system, and it prevents one app from interfering with the operation or data of another. In our example video, the Host App is ACME application (for ordering your catapults, rockets and other tools needed to catch desert fowl). The Host App is the application from which the user calls the extension. The human being who is using all of this stuff. I will try to follow the same terminology that Apple uses in their documentation. To explain all of this, we are going to need some terminology. But to summarize, all of my points and these safeguards in both iOS extensions and 1Password are built on an important design principle: Nothing happens without your explicit action.

Naturally, this new-fangled way for apps to interact in iOS 8 is leading people to ask how we do this in a secure manner:Īre we really letting third-party apps poke around inside of your 1Password data?Īnswer: No, that is not how extensions work.Ĭan these third party apps ask 1Password for your PayPal password?Īnswer: Well, they can ask, but you decide if they should get what they ask for.Ĭan they trick you into entering your 1Password Master Password into something that isn’t 1Password?Īnswer: The very same mechanisms that prevent that today apply to application extensions. IOS 8 has an incredible feature coming called App Extensions, and we’re thrilled to say we have a 1Password extension ready for developers to use right in their apps! In apps that gain support for our extension, you will no longer have to copy and paste passwords from 1Password.
