WebApps with LocalStorage and AppCache/Privacy friendly Software Design

From Wikiversity
Jump to navigation Jump to search

Privacy Friendly Software Design[edit | edit source]

Privacy friendly application minimize the digital footprint of users on remote servers. Of course if you load a WebApp from a server this load operation creates at least a digital footprint in the log-files of the server. Minimizing the digital footprint excludes libraries in the WebApp, that

  • (not AppLSAC) submit information about processed data in the WebApp to a remote server,
  • (not AppLSAC) submits data about an application's use patterns
  • (not AppLSAC) usage of minified compressed libraries only - without the uncompressed version of the library it is difficult to perform a code analysis if the library does not contact remote servers (e.g. having mylib.min.js without the uncompressed version mylib.js of the compressed library).

To minimize the digital footprint of remote servers, the main objective is:

  • (AppLSAC) to perform the task within the browser. The browser is regarded as runtime environment for the WebApp. The WebApp can be opened on the device with the browser without the need to contact a remote server or the requirement to be online.
  • (AppLSAC) perform the processing without submission of data to a remote server.
  • (AppLSAC) applied on Digital Learning Environment in Open Source with Open Educational Resources the learning environment can executed on the mobile device

Code Analysis for Privacy Friendliness WebApps[edit | edit source]

  • Analyse the javascript code elements and list mechanisms by which Javascript can send data to a remote server (e.g. by HTML forms in hidden iFrames).
  • Write a documentation by which you can identify, if the WebApp transmits transparently or non transparently data to a remote server! What are indicators for submission of data and what is the purpose of data submission? Can the user decide if data is submitted or is the usage of e.g. digital learning environment possible without the submission of data?
  • Client-Server Interaction is a standard mechanism for database management. Define programming elements by which you would assess, that a WebApp violates the privacy friendliness.
  • Summarize typical data that you don't want to share in a client server interaction, and explain methods to protect your data.
  • Explain the role of Open Source, that computer scientist can assess and analyze the source code for harmful code.

See also[edit | edit source]