covidwatchorg / covidwatch-ios-en Goto Github PK
View Code? Open in Web Editor NEWCovid Watch iOS Exposure Notifications app
Home Page: https://covidwatch.org
License: Apache License 2.0
Covid Watch iOS Exposure Notifications app
Home Page: https://covidwatch.org
License: Apache License 2.0
Figma: https://www.figma.com/file/36hmE4QIKKGXTcLBhHGzve/Covid-Watch-App-v4-dev?node-id=0%3A1
Execution plan
Note: There are several unaddressed comments and change requests in the Figma file.
Does this project support any type of third party contributions? In my specific case, I am thinking of UI contributions. I am a student/researcher at the University of Arizona and so am using this app, and I'd like to contribute in terms of how the UI could be improved, particularly as related to possible exposure notifications and the data that is presented.
Unfortunately, given that I am just a random person, I don't have the proper entitlements to run this app even in the simulator to test changes, so I'm hoping there may be another way to contribute.
Should build on what was delivered in v2
Also requires backend work and technical design to figure out storage of data, and how we initially report (can be just pulling from the DB initially)
Also requires security review for privacy concerns.
The Data Protection entitlement is not enabled within the Xcode project for the App. When enabled, the Data Protection capability will automatically protect all files created by the App with the strongest Data Protection class, NSFileProtectionComplete; this protection class ensures that the file is encrypted with the user's passcode whenever the device is locked.
As described in the iOS Security Guide in the "Data Protection" section, the default Data Protection class for files since iOS 7 is NSFileProtectionCompleteUntilFirstUserAuthentication, which only encrypts the user's data until the very first time they unlock their device:
Enable the Data Protection entitlement in the Xcode project configuration of the App. As shown in the screenshot, this setting is available in the "Capabilities" tab within Xcode.
Because the entitlement will cause iOS to encrypt all the App's files when the device is locked, it might cause problems if the App tries to access its files while running in the background (ie. when the device might be locked). To work around this problem, App can lower the protection level to NSFileProtectionCompleteUntilFirstUserAuthentication for the specific files that need to be accessed while in the background, as described in the Encrypting Your App's Files article within the Apple documentation.
Lastly, the applicationProtectedDataWillBecomeUnavailable: and applicationProtectedDataDidBecomeAvailable: App delegate methods can be used to manage the App's access to protected files.
post v3
Requested by Bermuda Dept of Public Health
As an end user, I can see how recently I was in contact with another user (i.e., when I last logged an RPI) so that I can see that my app is working correctly.
This will also build excitement and engagement with technical users.
We'd want to bucket the times and not provide an exact time, but something like "In the last 10 minutes", "last Hour", "in the last 24 hours", "in the last 3 days", "In the last 7 days", "Greater than 7 days".
Custom keyboards should be disabled as they have little value for this app and they also have security risks.
// To be added to the App's UIApplicationDelegate
- (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(UIApplicationExtensionPointIdentifier)extensionPointIdentifier
{
// Disable third-party keyboards on iOS 8+
return NO;
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.