...
The BUDD Daemon is either a process running in EC2 that consumes an SQS queue or a process running in the web portal, depending on other design decisions. (TBD What framework? How is this deployed?) The BUDD Daemon processes user data requests by querying the HealthDataRecord and HealthDataAttachment DDB tables Upload table in DDB and the attachments S3 bucketUpload bucket in S3, downloading the files, decrypting them, bundling them up, and uploading them to S3the bundle to S3.
One possible optimization is to make Upload Validation save the decrypted archive file in S3, probably in a structure that looks like: /[healthCode]/[date], so the BUDD Daemon doesn't have to do this work again. However, we'd have to backfill about 4 months worth of data, and we expect user data requests to be sparse, so it's not clear whether this is worth the effort to backfill.
Returning User Data
Alternative #1: Email with S3 Pre-signed URL
...