![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
github.com/web-ridge/contact-tracing
Demo of whole application (in Dutch): https://www.youtube.com/watch?v=te_PKOa8TsY.
Demo of background scanning on iOS: https://www.youtube.com/watch?v=f5bY9dkNX2g.
For now APK-only. https://www.contactentraceren.nl/app-release.apk?v=2.
An app which respects your privacy while still tracking your contacts. All your Bluetooth contacts are stored locally fully encrypted. When you're infected you can scan the QR-code provided by your local health institute.
The method is similar as described in the DP3T statement with some deviation to give the user full control over his data and even more anonymity. As it is never shared publicly who is infected.
Alice installs the tracing app via the App Store. Bob installs the tracing app via the Play Store.
The app will create a secure local database which is fully encrypted with AES-256 + SHA2 encryption and a 64-byte encryption key
The applications generate a random ContactTracingsNumber* every hour and a half. Bob runs into Alice to chat with. If these persons are in contact with each other for longer, the risk of contamination increases and the devices will start saving an encounter.
With a strong signal, both applications store these 2 hashes locally on their own phone with date and strength of the signal (RSSI) and the number of times this signal has changed and the duration of this contact.
Alice has been tested positive on COVID-19.
Alice scans QR-code of their local health institute ;
Alice sends their contact moments with the following data:
signal strength
date,
period
hits (how many times signal did go stronger, the more reliable it is)
It not saved anywhere WHO sent in this data, so there can't be proved who has contact with whom.
Every so often, Bob asks the central server if any infections have been added to his ContactTracingsHashes* with their with associated ContactTracingsPasswords* from the past 2 weeks. Only he can do this because he knows the secret passwords of his ContactTracingNumbers.
He get back the following data
Some people say that Bluetooth solutions are not reliable enough. That is true in some cases. However, you can make a fairly good estimate of how much contact there has been between 2 phones. Of course there can be an incorrect conclusion, but was this not the case with the classic contact investigation? And how bad is it when people receive a message that they have to pay attention to symptoms / or stay indoors for 5 days. We all need to do that now! We can build the risk assessment in such a way that as few false reports as possible occur, but then there will also be people who do not receive a report even though they are infected.
Paper about RSSI signals and distances: https://www.researchgate.net/figure/Bluetooth-signal-strength-RSSI-as-a-function-of-distance-A-Scans-between-two-phones_fig2_263708916
The QR code is not linked to a sick person in order to guarantee his anonymity and to ensure that there is no record of who has been tested positive. However, this way it is possible to send your contacts with someone else's QR code. This theory is unlikely to happen in practice because abuse is often done by people who don't trust the app. If they don't have the app, they don't have contacts to make a fake report. Moreover, this QR code is only valid once. If someone does send their contacts with someone else's QR code, they must actually have been around people who get this message. So this person unnecessarily worries the people around him. Of course, there are some who do such a thing anyway, but for that you shouldn't reduce the privacy of the other users.
We look at the RSSI of the signal and the number of hits with this signal.= The closer the RSSI is to 0 and the more hits, and the longer the duration, the greater the chance of contamination.
The code for this is available here: https://github.com/web-ridge/contact-tracing/blob/master/backend/risk.go
Both devices registers a Bluetooth service with a 16 bit UUID and the ContactTracingNumber. On iOS in the background this is part of a secret overflow buffer only iOS devices can see this if they explicitly scan for this UUID. So in order to keep background scanning working we scan this 16 bit UUID in the background for iOS devices. On Android we listen to all services since this 16 bit UUID is not visible there. We need to use a 16 bit UUID for this since Android can't advertise their ContactTracingsNumber and more than 16 bits.
Because iOS devices hide all their service UUIDs while in background mode, we need to connect to the device with the 16 bit UUID. We set the ContactTracingsNumber aa a charesteric UUID on the 16 bit UUID advertiser. We don't need to read this charesteric on Android nor iOS since we know this UUID is the ContactTracingsNumber. Logic can be found here: https://github.com/web-ridge/contact-tracing/blob/master/app/src/BackgroundBluetoothDeviceScanned.tsx
It is fully working and already deployed. You can download the Android app on this link: https://www.contactentraceren.nl/app-release.apk?v=2.
We still want to improve some things
ContactTracingsNumber - BluetoothUUID which will be publicly visible.
ContactTracingsHash - Hash of the ContactTracingsNumber which will be stored on the server.
ContactTracingsPassword - Only known between server and user and not publicly visible.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.