Security

Security related questions

Does Passio Nutrition-AI access Passio's cloud and what information is accessed?

Yes - the SDK is designed to send API calls to retrieve information from Passio's cloud.

There are several types of information exchanged between the mobile SDK and Passio's Google Cloud Platform:

  1. Upon activation of the SDK the SDK sends a request to Passio's SDK to get the license file required to decrypt models and other assets.

  2. The first activation of the SDK also sends an API request that starts the download of models required to run computer vision and provide nutrition results to users. The models are downloaded as encrypted files and are decrypted on-device if both local key and remote encryption file are present. The download of models typically happens on the first use, after the SDK is updated or if users delete and reinstall the app.

  3. During normal operation, the SDK sends API requests to Passio's cloud to retrieve food icons (small jpg files) and to retrieve nutrition data for packaged food logged via UPD barcode scanning. Passio does not store all the nutritional information on device because of space limitations and continued expansion of Passio's food database of over 1.5M foods.

Is there a way to avoid the need for the SDK to access Passio's cloud?

Yes, for large enterprise customers we can support a set up where all of the cloud-side assets and cloud APIs are deployed on the customer's infrastructure.

How are the models secured in Google Cloud?

The machine learning models and the SQLite database associated with the models are stored as encrypted files and contain no personal information. They are uploaded securely by Passio team members who are specifically assigned with permissions to upload the models controlled via GCP's IAM Admin access control.

What sort of encryption (at-rest and in-transit)?

The Machine Learning models and the SQLite Database are encrypted using AES128. The encryption is performed only to protect Passio Copy Right. There is no personal information and no source code in the files. The download by default is over SSL.

How does client's applications connect and get authorized (client tokens? certificates?) Are the model’s publicly downloadable?

The models are publicly downloadable. But they are encrypted as stated above.

Passio's SDK inside of the client's application is designed to send GET request to fetch assets when needed. Models are typically fetched when the SDK is initiated and used for the first time or after the SDK is updated.

What data is in the models? Is there any PHI/PII?

Models are essentially large matrices of numbers. Models also have associated SQLite database files that contain generic nutritional information.

What happens if Passio’s Google Cloud is hacked by a bad-actor? How does that affect client's apps?

The risk is fairly limited. The SDK is designed to decrypt files of a very specific format and only if there is a match between what the SDK is expecting and the data fetched from the cloud. If a bad actor planted a file on Passio's cloud that file would break SDK tests and would not be decrypted by the SDK.

Furthermore, Passio is actively monitoring GCP setup and has info sec processes in place.

What sort of change control is in place for building, testing, and deploying new models to PROD on Google Cloud

All models and file are tested encrypted and uploaded before each release.

(Leonie needs to answer this)

If at any point you need help from the Passio team, please reach out to us at support@passiolife.com

Last updated