Skip to content

Instantly share code, notes, and snippets.

@joelhelbling
Last active April 21, 2017 21:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joelhelbling/906ded46faf7c6701c13b2571aa3e0fc to your computer and use it in GitHub Desktop.
Save joelhelbling/906ded46faf7c6701c13b2571aa3e0fc to your computer and use it in GitHub Desktop.

ContinuousContext

A privacy-first, end-to-end encrypted system which presents context analysis for your everyday life. It can collect, collate and retrieve data from disparate sources and present tunable analysis to help you identify trends, habits and areas to target for improvement. It can also be used to assist with context recall, such as when you get Slack question about that thing you worked on with someone, way back when.

Now, for the naming of the parts.

Event Collectors

An event collector is any program which detects an event, and communicates corresponding data to the ContinuousContext API. The API should be well documented, so that new collectors can be added/written easily.

Encryption Provisioner

This is, perhaps, the most complicated part of the system. When an event collector transmits data, it's first destination is a encryptor which encrypts the data with multiple keys which are newly generated for for that specific piece of data. This is so that later, keys can be provided to decrypt some, but not all data in the stored collection. Partial decryption can be done on a record-by-record basis, or even for just a partial record.

Data Store

Decryption Provisioner

Context and Analysis Presenter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment