freezr.info - Towards data freedom
Technical Specs - Introduction 1

freezr is an open source personal server, built on node.js.

It acts as a thin layer providing identity and permissions management, to connect apps to the data owner's files, data and even compute resources.


Apps define their parameters and permissions via an App Manifest

Apps communicate with the server via a Core API which is CEPS-compatible.


Apps can be independent third party apps outside of the freezr server (eg a smart phone app that communicates with your freezr, or even a third party server that stores your data on your freezr.) But freezr also allows html apps to be served from your freezr server. Such a "freezr app" is just a collection of html, css and js files which you can "install" on your server. ie you just download the html/css/js files on your freezr, define how a page should be served in the manifest and then.


Of course, this would mean that, for security reasons, freezr apps can't directly run any code on the back end. However, back end code can either be run on serverless instances or on the server if it is trusted. See here for more details.


Within freezr, all data is stored within a user's preferred storage medium - their personal data store, which can be on AWS, Azure or even Dropbox, or any other storage medium that is connected to freezr via its Resource APIs. Here, data refers to actual data sitting in the freezr database, any files which you store there (eg pictures), as well as the freezr-app's actual program files (ie html/css/js files served.)

Details on all of this can be found in the sections below.

  • App Manifest
  • Core API for Apps (CEPS+)
  • Microservices - for running code on the server
  • Resource API