<commit_before>== What the html5 client can and can't do without hybrid enhancement ==

Expectation of degree to which various necessary [[HTML5ClientProject]]
functionalities are covered by pure HTML5:

||= Feature =||= Pure HTML5? =||= Comments =||
|| Filesystem access || no || html5 filesystem very limited - does not provide access to user regular files, system files ||
|| Secure storage - keychain || no || No reliably secure native html5 local storage||
|| Providing all necessary native UI operations || probably || jQm provides long-press (taphold), swipe, lots more. ||
|| Settings and persistent data || yes || html5 local storage. ([#lawnchair Lawnchair]?) - but no secure storage ||
|| Offline operation || yes || html5 cache manifest ||
|| Circumventing CORS restrictions || no, but || we cannot circumvent CORS with just html5 (really, javascript) access without opening ploys that others can use - see [[HTML5ClientAppSameOriginIssues]] ||

> ([=#lawnchair lawnchair] has a bunch of local storage adapters, for
> identical persistent key/value operation across available storage modes
> of most browsers we would need to consider.)<commit_msg>Include item for navy's platform data-encryption APIs requirement.<commit_after>== What the html5 client can and can't do without hybrid enhancement ==

Expectation of degree to which various necessary [[HTML5ClientProject]]
functionalities are covered by pure HTML5:

||= Feature =||= Pure HTML5? =||= Comments =||
|| Filesystem access || no || html5 filesystem very limited - does not provide access to user regular files, system files ||
|| Secure storage - keychain || no || No reliably secure native html5 local storage. ||
|| Platform data-encryption APIs || no || For navy. ||
|| Providing all necessary native UI operations || probably || jQm provides long-press (taphold), swipe, lots more. ||
|| Settings and persistent data || yes || html5 local storage. ([#lawnchair Lawnchair]?) - but no secure storage ||
|| Offline operation || yes || html5 cache manifest ||
|| Circumventing CORS restrictions || no, but... || we cannot circumvent CORS with just html5 (really, javascript) access without opening ploys that others can use - see [[HTML5ClientAppSameOriginIssues]] ||

> ([=#lawnchair lawnchair]: http://brian.io/lawnchair/ lightweight db wrapper around html5
> local storage. It provides a db abstraction and a bunch of local storage adapters, 
> auto-selectable for identical persistent key/value operation across available storage
> modes of most browsers we would need to consider. May not need it, but worth
> keeping in mind in case something like it is necessary.)
{'fraction_non_alphanumeric': 0.09754253308128544, 'fraction_numerical': 0.007939508506616257, 'mean_word_length': 4.95945945945946, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4008104', 'n_tokens_mistral': 679, 'n_tokens_neox': 638, 'n_words': 328}