In addition to encryption, there are a number of other mechanisms you can employ to protect data. In this course you will learn about common risks to data, how to protect files, how ensure that data is transmitted over a network securely, and how to protect data from inadvertent leakage. You will also learn how to authenticate your app to an online data source, and how to use good design, code, and iOS features to ensure that processes do not interfere with each other, causing unexpected results.
Common Data RisksDuration: 14:15
In this segment, we take a deeper look at risks to data, including common mistakes developers make and how to avoid those mistakes.
Common Data Risks, Part 2Duration: 7:55
In this segment, we continue to look at risks to data, including common reasons for unexpected data leakage and how to mitigate those risks.
Protecting FilesDuration: 7:48
In this segment, we continue our discussion of protecting data. We focus on strategies for protecting user files in Swift and iOS.
Protecting Files, Part 2Duration: 7:24
In this segment, we explore the popular Realm database and how to implement it in Swift.
Activity: Saving Data in a Realm DatabaseDuration: 13:42
In this activity, we implement a Realm database in Swift.
Network Security and iOSDuration: 14:52
In this segment, we focus on how to protect data from unauthorized interception on the network and man-in-the-middle attacks.
Activity: Making an HTTP ExceptionDuration: 10:28
In this activity, we practice making an HTTP exception to the Apple's App Transport Security.
App BackgroundingDuration: 4:56
In this segment, we learn about the risk of exposure of sensitive data when an app goes into the background, and how to mitigate that risk.
Activity: Securely Backgrounding an AppDuration: 11:52
In this activity, we implement in Swift a simple but powerful countermeasure to leaking data through app backgrounding.
API SecurityDuration: 11:52
In this segment, we learn what API security is and examine the various strategies for implementing that security.
Activity: Storing an API Key in KeychainDuration: 9:11
In this activity, we learn how to securely store an API key in iOS Keychain.
Inter-Process CommunicationsDuration: 13:59
In this segment, we learn what inter-process communications are and how Grand Central Dispatch manages concurrent operations. We study the two most common IPC risks to your data and how to mitigate those risks.
Inter-Process Communications, Part 2Duration: 4:28
In this segment, we learn how to use locks and GCD queues to manage concurrency and mitigate the risk of deadlocks.
Activity: Preventing Race ConditionsDuration: 8:09
In this activity, we learn how to use good design to mitigate the risk of a race condition.