Update: We have made some updates to this blog to provide a more detailed description due to the interest in this topic, in particular to explain what Full Access means on iOS, and how SwiftKey uses this permission. This blog relates to SwiftKey; we cannot comment on how other keyboard apps use this permission, and what safeguards they may or may not have in place.
As we’re welcoming so many new users on iPhone, iPad and iPod touch – more than 1m in the first day alone – we wanted to help explain some of the process when you first download your new keyboard.
You might have noticed your iOS 8 device saying SwiftKey requires Full Access to work. Granting an iOS keyboard extension Full Access is the permission that allows it to share data with its “container” app (the SwiftKey app you see on your homescreen) and gain network access. We request this permission to allow SwiftKey’s keyboard extension to share data with its container app in order to provide you with a full SwiftKey feature-set and simplify how settings are managed.
We require Full Access because SwiftKey Keyboard stores language models, personalized learning and keyboard preferences outside the keyboard extensions framework on your device, as part of the broader SwiftKey app, and without this permission the keyboard extension would not be able to read or write to these files.
Architecting SwiftKey for iOS in this way allows us to make sure the keyboard is both as user friendly and powerful as possible. It allows you to manage your settings in a clear and simple way from the app on your home screen, have access to a library of frequently updated language models, have further customization of the keyboard with themes and additional downloadable content, and ensure all of this is presented within a reasonably-sized app.
It is important to state that SwiftKey Keyboard does not “transmit anything you type”, as Apple’s warning message may lead you to think. That warning message (which is displayed before a user allows Full Access) is there to make sure you are aware of what is technically possible before making a decision about whether to trust the developer of a keyboard extension.
No language data or words that you type will ever leave your device or be transmitted while using SwiftKey Keyboard unless you specifically opt in to our SwiftKey Cloud service (see below).
By having Full Access, we’re also able to seamlessly improve both language predictions and our feature-set in the future; for example, we can roll out new or improved languages without disrupting your typing by requiring the app to be updated. In order to keep up with how quickly language evolves, we update our language models from time to time.
Enabling the Full Access permission also means we are able to offer additional – but strictly opt-in – features through SwiftKey Cloud, where your language predictions can be backed up, synchronized and enhanced through other sources of personalization data that you make available.
Backup & Sync means your language insights are stored safely in case you upgrade or replace your device. It also means your personalized predictions are shared across your enabled SwiftKey devices, so you have the words and phrases that matter to you at your fingertips when you switch from, say your smartphone to your tablet, or from your Android device to your iPhone and vice versa. Personalization means SwiftKey learns from your message history on Gmail or Facebook (or other) accounts, to speed up its learning and ensure you get tailor-made predictions from the get-go.
We hope we’ve helped explain what ‘Full Access’ means. We want to make it as easy as possible to understand why this setting is there, why we require it, what data you do and do not share, and how we keep it safe. Privacy and data security are very important to us at SwiftKey, and we know they’re equally important to you, too.
More information can be found on our privacy and data security policies, to give you confidence. You can also head to our Support Portal to check out the FAQs there or engage with our expert community support team.
The SwiftKey Team