2015-02-09 39 views
3

我一直在阅读https://docs.truevault.com/的文档,但我有点困惑。我读这对真正的保管库站点:移动应用程序可以使用TrueVault存储没有“中间人”服务器的JSON数据吗?

如果您在使用任何服务器端库的计划,请确保您 使用任何主机环境是符合HIPAA。

我认为这意味着TrueValut可以支持独立的(仅客户端)移动应用程序体系结构。 TrueVault API是唯一的服务器端交互。

但是我的文档的理解是:

  1. API_KEY需要注册一个新用户。
  2. 任何API_KEY均提供对TrueVault中存储的所有数据保险库和JSON文档的完全访问权限。

如果这两个假设都是正确的,那将意味着无法直接从客户端应用程序注册新用户,这迫使我使用昂贵且耗费资源的HIPPA恭维Web服务器。解决此问题的唯一方法是在应用中将API_KEY硬编码,如果该API_KEY可以访问我的所有TrueVault数据,那么显然不会。

对于我的使用情况下,我有TrueVault以下要求对我来说,能够考虑使用它(我可以想象,这些要求是任何人都希望开发一个客户端仅医疗保健应用程序相同的):

  1. 用户可以直接从我的客户端应用程序通过API注册,而不需要任何敏感密钥或根认证数据。
  2. 用户只能使用他们提供的数据进行身份验证(用户名/电子邮件/密码)。我的应用程序是多平台,我不能让他们记住他们的API密钥登录。
  3. 用户可以读/写/更新/删除链接到他们的个人资料的数据。他们无法使用其凭据访问其他用户的任何数据。

TrueVault是否能够提供这三个基本要求?

如果这个问题的答案是“否”我会建议您在网站上更新该文本也不会,我认为可以通过TrueVault没有一个独立的服务器侧的接口支持的任何可行的HIPPA恭维应用。

+0

您是否得到了此解决方案@eamonn – 2015-08-19 19:46:38

回答

0

我目前使用AWS Lambda作为解决方案。 Lambda符合HIPPA,更多信息hereLambda也是一个低成本的解决方案。

这里是我使用Node.js在Lambda上运行的代码示例。

var request = require('request-promise'); 
var _ = require('lodash'); 

function encodeBase64(str) { 
    return (new Buffer(str)).toString('base64'); 
} 

var baseUrl = 'https://api.truevault.com/v1/'; 
var headers = { 
    'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' 
}; 
var req = request.defaults({ 
    baseUrl: baseUrl, 
    headers: _.extend({ 
    Authorization: 'Basic ' + encodeBase64('your api key:') 
    }, headers), 
    transform: function(body) { 
    return JSON.parse(body); 
    } 
}); 

exports.handler = function(event, context) { 
    req.post('users', { 
    form: { 
     username: event.email, 
     password: event.password, 
     attributes: encodeBase64(JSON.stringify({ 
     name: event.name 
     })) 
    } 
    }).then(function() { 
    context.succeed({user: user}); 
    }).catch(context.fail); 
} 
相关问题