taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

082-wallet-diagnostics.rst (2175B)


      1 DD 82: Wallet Diagnostics Export
      2 ################################
      3 
      4 Summary
      5 =======
      6 
      7 This design document describes a new wallet feature to make gathering
      8 diagnostics information from wallet users safer and more convenient.
      9 
     10 Motivation
     11 ==========
     12 
     13 When users have a problem with their wallet, right now the only
     14 reliable way to diagnose it is a database export.
     15 
     16 This is a problem, because:
     17 
     18 * It requires us to deal with sensitive user data, including private keys and
     19   PII
     20 * It teaches the user that it's okay to export and send around their wallet
     21   database via e-mail etc.
     22 
     23 Requirements
     24 ============
     25 
     26 * Must be easy to use
     27 * Must give us relevant information to enable diagnostics
     28 * Must not contain 
     29 
     30 Proposed Solution
     31 =================
     32 
     33 Wallet-core implements a new ``testingGetDiagnostics`` request. This request
     34 returns diagnostics information in a JSON format. The export **MUST NOT**
     35 contain private keys. IBANs **MUST** be truncated to six characters and user
     36 names should be scrubbed or truncated.
     37 
     38 The following new functionality is implemented in the UIs:
     39 
     40 * In settings mode, a new option "Save diagnostics information"
     41   is added. This option should *not* be restricted to the developer
     42   mode.
     43 * Clicking/tapping the option creates a diagnostics export
     44 
     45   * On mobile platforms, the user should be the option to
     46     share or save the export
     47   * In the browser, just saving the export should be sufficient
     48 
     49 Test Plan
     50 =========
     51 
     52 Since the UI for this is very static, a simple manual test
     53 of an export and share/save should be enough.
     54 
     55 Future Extensions
     56 =================
     57 
     58 In future versions, we might ask users to exclude/include certain types of
     59 information from the export.
     60 
     61 Alternatives
     62 ============
     63 
     64 There is no good alternative, we don't want telemetry, we don't want full DB
     65 exports.
     66 
     67 Instead of JSON, we could export it to something more human-readable like
     68 YAML, to make it easier for users to review what the diagnostics export contains.
     69 
     70 Drawbacks
     71 =========
     72 
     73 * One more option that clutters the settings dialogue
     74 
     75 Discussion / Q&A
     76 ================
     77 
     78 (This should be filled in with results from discussions on mailing lists / personal communication.)