首页> 中国专利> 对用户账户访问进行安全许可、包括对汇总用户账户数据的安全分发

对用户账户访问进行安全许可、包括对汇总用户账户数据的安全分发

摘要

一种用于对用户账户的访问进行安全许可、包括对汇总用户账户数据的安全分发的系统和方法,该方法可以包括以下步骤:基于与一个或多个用户账户相关联的账户信息生成财务报告;接收对该用户账户的财务报告的财务报告请求,其中,该财务报告请求被标识为是从第三方系统接收的;生成与该财务报告相关联的审计报告令牌;响应于该财务报告请求而与该第一第三方系统共享该审计令牌;以及通过该报告令牌向该第一第三方系统提供对该财务报告的账户访问,其中,该审计报告令牌可以与第二第三方系统共享,并由该第二第三方系统提供,以确认对该报告的授权和该报告的完整性。

著录项

  • 公开/公告号CN112272835A

    专利类型发明专利

  • 公开/公告日2021-01-26

    原文格式PDF

  • 申请/专利权人 普拉德有限公司;

    申请/专利号CN201980038292.9

  • 申请日2019-04-15

  • 分类号G06Q20/32(20120101);G06Q40/00(20120101);G06F21/62(20130101);H04L29/06(20060101);

  • 代理机构44414 深圳中一联合知识产权代理有限公司;

  • 代理人王丽

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 09:40:06

说明书

相关申请的交叉引用

本申请要求2018年4月13日提交的并且名称为“Secure Permissioning ofAccess to User Accounts,Including Secure Distribution of Aggregated UserAccount Data[对用户账户访问进行安全许可、包括对汇总用户账户数据的安全分发]”的美国临时专利申请号62/657377的权益,该美国临时专利申请通过引用以其全部内容结合在此。

技术领域

本发明总体上涉及财务数据管理领域,并且更具体地涉及一种用于对用户账户访问进行安全许可、包括对汇总用户账户数据的安全分发的新型且有用的系统和方法。

背景技术

存在一个人必须与某个其他方共享私有数据的许多场景。特别地,财务数据是通常必须共享以供其他人审阅的一种敏感数据。访问这种财务数据是耗时的、可能是不安全的并且对于信息的发送者和信息的接收者而言,总体上是糟糕的用户体验。

该问题在借贷领域是很常见的,在借贷领域中,个人的财务信息必须被汇集并与贷方共享。贷款领域的其他问题在于贷款通常会从初始贷方转移到其他贷方。贷款的这种转移通常将意味着第三方在个人不知情和/或未许可的情况下接收该人的财务记录信息。

因此,在财务数据管理领域中需要创建一种用于对用户账户的访问进行安全许可、包括对汇总用户账户数据的安全分发的新型且有用的系统和方法。本发明提供了这种新型且有用的系统和方法。

附图说明

图1是展示了优选实施例的用于对用户账户访问进行安全许可并对汇总用户账户数据进行安全分发的方法的流程图;

图2是展示了用于向第二第三方系统提供对汇总用户账户数据的访问的变型的流程图;

图3是提供管理用户界面的变型的示意性表示;

图4是展示了用于生成用户账户的财务报告的变型的详细流程图;

图5是展示了根据实施例的处理交易的示例方法的流程图;

图6是根据实施例的图1的计算系统和网络环境的简化框图;

图7至图8展示了根据实施例的系统的API请求流和响应流的示例;

图9至图11是展示了根据各个实施例的处理交易的示例方法的流程图;

图12是根据实施例的系统的示例架构的框图;

图13展示了根据实施例的许可管理系统可以在其中操作的示例网络环境;

图14A至图14B和图15至图16是展示了根据各个实施例的网络环境的各方面之间的示例交互的动作图;

图17A至图17B是根据各个实施例的生成令牌的示例方法的流程图;

图18展示了根据实施例的令牌映射和记录库的示例;

图19是根据实施例的系统的示例方法的流程图;

图20描绘了诸如本文所述的系统的简化数据流图;

图21A描绘了诸如本文所述的系统的简化信号流图;

图21B描绘了诸如本文所述的系统的另一简化信号流图;

图22A描绘了电子设备执行提供用于选择一个或多个银行机构或金融机构的用户界面的应用程序;

图22B描绘了图22A的电子设备提供用于安全地访问由所选择的银行机构或金融机构存储的财务记录的另一用户界面;

图22C描绘了图22B的电子设备提供用于审阅由所选择的银行机构或金融机构存储的财务记录的另一用户界面;

图22D描绘了图22B的电子设备提供用于批准或拒绝第三方审阅财务记录的请求的另一用户界面;

图22E描绘了图22B的电子设备提供用于批准或拒绝第三方审阅财务记录的请求的另一用户界面;

图224F描绘了图22B的电子设备提供用于审阅、修改或拒绝第三方审阅财务记录的请求的另一用户界面;

图22G描绘了图22B的电子设备提供用于审阅由所选择的银行机构或金融机构存储的财务记录的另一用户界面;

图22H描绘了图22B的电子设备提供用于批准或拒绝第三方审阅来自一个或多个特定账户或账户类型的财务记录的请求的另一用户界面;

图22I描绘了图22B的电子设备提供用于批准或拒绝第三方审阅来自一个或多个特定账户或账户类型的财务记录的请求的另一用户界面;

图22J描绘了图22B的电子设备提供用于向该电子设备的用户确认操作已经执行的另一用户界面;

图22K描绘了图22B的电子设备提供用于审阅由所选择的银行机构或金融机构存储的财务记录的另一用户界面;

图22L描绘了图22B的电子设备提供用于审阅由各种银行机构或金融机构存储的财务记录的另一用户界面;

图23是描绘访问由所选择的银行机构或金融机构存储的财务记录的方法的示例操作的简化流程图;

图24是描绘了将策展财务数据安全地路由到第三方的方法的示例操作的简化流程图;

图25是描绘了将策展财务数据安全地路由到第三方的另一种方法的示例操作的简化流程图;

图26是针对创建报告令牌的示例性请求和响应

图27A和图27B是针对访问财务报告的示例性请求和响应的表示;

图28A和图28B是用于管理对财务记录的访问的方法的示例性实施方式的通信流程图;

图29是请求用户输入的通信流程图的变型;

图30是展示了根据实施例的计算系统以及计算系统可以在其中实施的网络环境的各个方面的框图;

图31展示了根据实施例的一些示例代理实例的各方面;

图32是展示了根据实施例的访问用户账户数据的示例方法的流程图;

图33A展示了根据实施例的应用程序代理系统的各方面;以及

图33B展示了根据实施例的一些示例代理实例的各方面。

具体实施方式

以下对本发明实施例的描述并非旨在将本发明限制于这些实施例,而是使得本领域技术人员能够制造和使用本发明。

一种用于对用户账户访问进行安全许可的系统和方法用作用于保护和自动化报告财务信息的过程的技术驱动解决方案。优选地,用于进行安全许可的系统和方法另外地包括对汇总用户账户数据的安全分发。在一个优选变型中,汇总用户数据的示例包括可与计算机操作和数据操作兼容的财务记录的数据表示。因此,该方法可以另外地适用于管理对优选实施例的财务记录的访问。

在特定用例中,该系统和方法可能适用于通过数字资产验证来简化借方体验并提高效率。该系统和方法可以用于促进对示出以下各项的合并资产或财务报告的检索:账户余额、历史交易、账户持有者身份信息、理财分析和/或其他财务或资产相关的报告或数据。

可以在主机数字系统内使用该系统和方法来节制外部第三方实体(例如,银行、贷方、监管机构等的数字系统或电子系统)对财务报告的访问。

在该系统和方法的交互中通常涉及三个主要角色:管理系统角色、财务数据源角色和第三方系统角色。

管理系统角色优选地是管理对财务记录的访问的系统的角色,该管理系统角色可以用作数据管理平台或数据转移平台。管理系统优选地是该系统和方法的主要操作者和执行者。然而,如本文所讨论的,系统的可替代实施例可以表征由财务数据源和/或第三方系统执行的操作。例如,可替代地,用于管理对财务记录的访问的方法可以由第三方执行的过程来表征。

财务数据源角色或更一般地外部数据源角色优选地是财务数据、资产数据和/或任何合适的数据或信息所源自或得自的系统的角色。在一些实例中,可能存在多个系统或实体充当财务数据源。在一些实施方式中,管理系统可以另外是财务数据源。

第三方系统角色优选地是请求财务报告信息或数据的系统的角色。第三方系统可以是试图使用户有资格获得潜在贷款的贷方的计算机系统。第三方系统也可以是对从初始贷方获取贷款进行评估的第二贷方。第三方系统可以是对一个或多个个人、贷方、银行或其他实体的财务活动执行审计的监管机构。可替代地,第三方系统可以是请求对财务报告进行访问的任何合适类型的实体。如本文所述,该系统和方法的不同实例可以涉及一个、两个或更多个第三方系统。

在一些变型中,可以结合财务数据平台实施方式来实施该系统和方法。财务数据平台通常被表征为提供工具或对财务数据的访问的网络可访问软件平台或web可访问软件平台。财务数据平台优选地是提供应用程序编程接口的平台,通过该应用程序编程接口,其他实体可以以编程方式进行交互。财务数据平台实施方式可能不是财务数据的主要来源,而是财务数据平台可以与外部金融机构进行接口连接,并访问源自该财务数据平台外部的财务数据。在一些变型中,该系统和方法可以包括代理服务,该代理服务被配置为与外部金融机构进行接口连接并从该外部金融机构访问数据。

在可替代变型中,可以结合诸如银行的数字平台、支付服务、信用卡系统、投资系统和/或任何类型的金融机构等金融机构系统来实施该系统和方法。金融机构通常将包括通过金融机构系统的操作而产生的至少一定量的财务数据。例如,银行的数字平台将包括银行账户持有者的财务记录。在一些变型中,金融机构系统另外可以以如上述财务数据平台的方式访问外部金融机构系统。

该系统和方法优选地在多租户计算系统内实施,在这些多租户计算系统中,多个用户和实体由共享的计算资源和基础设施服务。在一些变型中,可以使用代表多个不同实体的集体操作来改变和/或影响针对单个实体执行的操作。例如,可以针对预期行为和可疑行为来分析和监控多个借贷实体对各种用户的财务报告请求的监控,并且然后将其用于自动监管(例如,许可、限制或阻止)财务记录请求。

作为该系统和方法的一个方面,可以以密码方式促进私有数据并且更具体地财务报告的转移。优选地,生成使用的密码密钥或令牌、将密码密钥或令牌分发给第三方并且在许可访问财务记录时验证这些密码密钥或令牌。另外,可以与各种实体相关联地生成和共享令牌,使得可以生成和共享第二令牌,从而可以准予审计机构或第二第三方进行访问。

作为相关方面,该系统和方法促进对充当个人财务的时间点快照的财务报告的收集和共享。财务报告优选地将财务数据表征为其在生成财务报告的时间是有效的。这在诸如贷款批准等许多情况下可能是重要的,在贷款批准的情况下,审计将想要审阅贷款决策所基于的信息状态。

可以通过各种媒介来促进财务报告的共享。在一个变型中,财务报告作为报告文档(例如,PDF、图像等)、原始数据(例如,JSON、CSV等)和/或任何合适的格式被共享。在另一变型中,财务报告可以在用作用户管理访问门户的用户界面内共享。例如,可以提供用户界面,通过该用户界面可以查看和浏览(explored)财务报告。另外,在通过用户界面提供访问时,在准予对财务报告的访问之后可以以某种方式使其到期、撤销和/或更改。

另外,管理系统可以向最终用户公开对财务报告访问的可见性和控制。其中,在用户无法控制传统财务报告之前,一旦传统财务报告被共享,该系统和方法可以使得用户能够看到谁访问了财务报告并且可能对谁以及何时可以访问财务报告产生影响。

作为另一潜在方面,该系统和方法可以涉及财务报告的创建。在一个优选实施方式中,该系统和方法有助于从外部金融机构的一个或多个系统访问财务数据并生成财务报告。作为一个潜在益处,另外可以为用户规范化访问不同金融机构的方式,从而优选地创建增强的用户体验。作为另一潜在益处,该系统和方法对跨各种不同信息源的财务数据进行规范化。在一些变型中,该系统和方法可以自动选择适当的账户和/或数据。

另外,该系统和方法可以提供新形式的财务报告,该新形式的财务报告可以执行财务数据过滤、分析和/或其他合适的增强的形式以标准化财务数据。使来自各种数据源的财务数据规范化可以使得该系统和方法能够跨两个或多个源执行更高级财务分析的形式。

可以在可能涉及对私有数据(如,财务数据)的访问和分发的各种用例中使用该系统和方法。如所提及的,特别是贷款批准领域可以潜在地受益于这种系统和方法。在一个示例性实施方式中,该系统和方法可以被集成到数据管理平台中,使得贷方可以容易地获得资产报告。贷方可以将数据管理平台集成到数字贷款应用程序系统中。数字贷款应用程序系统可以使用数据管理平台的编程接口(例如,API服务)来允许用户的客户端设备向一个或多个外部用户账户系统进行认证。该数据管理平台将优选地向一个或多个银行或其他类型的金融机构进行认证,并收集特定于账户的财务数据。然后可以将私有财务数据规范为标准格式的资产报告。资产报告可以详细列出各种金融账户细节,诸如经清理和规范化的交易数据。资产报告可以包括附加补充元数据,诸如,类别、位置、商户名称、用户信息等。

作为对于最终用户的一个潜在益处,当与手动收集和上传各种财务文档相比时,通过该系统和方法提供的向最终用户的各种账户进行认证的过程可以是更简单、更快且更安全的过程。另外,数据管理平台可以对财务报告进行净化,使得诸如通过排除不必要的账户和账户信息,仅公开和共享所期望的信息。此外,直接从可信金融机构访问资产报告,该受信任金融机构可以用来帮助验证用户的身份以及验证财务记录的真实性。

优选地,与第三方共享的密码令牌被第三方用于从数据管理平台访问资产报告。在一些情况下,诸如当第二贷方想要接管贷款时,第二贷方将想要审阅资产报告。在其他情况下,监管机构可能想要对贷款执行审计或审阅。在这种情况下,该系统和方法可以促进第二密码令牌(例如,“审计令牌”)的创建。通常,原始第三方传输针对要与第二第三方的标识符相关联的第二令牌的请求。作为回应,数据管理平台可以创建第二令牌并将第二令牌与原始第三方共享,该原始第三方进而可以与第二第三方共享第二令牌。然后,第二第三方的系统可以使用第二令牌来请求访问资产报告。由于资产报告被存储为指定时间点的历史记录。因此无论何时以及何人访问资产报告,该报告的信息都将保持一致。然而在一些变型中,可以由数据管理系统基于谁正在访问资产报告和所设置的访问许可来修改或编辑该信息。

作为另一方面,可以向用户提供对资产报告的某种程度的可见性并且在一些情况下提供对该资产报告的控制。数据管理平台可以向用户提供管理用户界面,使得用户可以查看何时以及何人访问财务报告和/或何时以及何人请求访问。另外,用户可以设置更改对访问财务报告的许可的一个或多个规则或指令。在一个变型中,仅在用户提交批准后才准予和/或确认第二令牌允许访问,这样的作用是允许用户控制与谁共享财务报告。

该系统和方法的一些变型可以涉及用于经由对第一方软件应用程序的虚拟化实例或模拟实例的实例化来安全且高效地获得用户账户数据的系统和技术。例如,该系统可以包括生成的软件应用程序的代理实例、虚拟化实例或模拟实例,这些实例被配置为经由公共或非公共(例如,专有)应用程序编程接口(API)与外部系统进行接口连接。可以向外部系统认证软件应用程序的虚拟化实例或模拟实例,就好像虚拟化/模拟实例实际上是在用户计算设备上执行的第一方软件应用程序一样。经由公共/非公共API,可以获得和处理用户账户信息,从而可以对数据进行规范化并经由系统的规范化API将该数据提供给其他软件系统。因此,本披露内容的系统在从外部系统获得用户账户数据并且从而从外部系统获得财务数据方面可以比现有技术显著更加高效。进一步地,用户账户数据可以被规范化并经由规范化API被请求和/或提供,从而使得其他人能够以高效的方式从单个标准化接口高效地访问这种数据(最初从多个外部系统获得)。通过这种方式,可以从来自各个金融机构的用户账户中生成规范化的且更一致的财务报告。

一些变型还可能涉及用于使得用户能够安全地授权第三方系统发起与账户相关的交易、而不会向第三方系统披露账户凭证(例如,账户的身份)的系统(例如,许可管理系统)和技术。这样的交易可以包括例如发起电子支付等。进一步地,本披露内容的系统和技术可以使得用户能够安全地解除第三方系统发起与账户相关的交易的授权。在一些实施例中,本披露内容包括对安全地存储账户信息的电子记录的自动生成。在一些实施方式中,电子记录可以包括与账户和第三方相关的一个或多个许可。令牌(例如,与电子记录相关联的唯一标识符,在本文中也称为“唯一记录标识符”)可以与第三方系统共享,但在一些实施方式中,电子记录本身和用户账户凭证都不可以与第三方共享。因此,第三方(例如,由开发人员开发的商户系统或软件应用程序)可以通过提供令牌来请求用户账户数据和/或发起交易,但第三方自身并不知道例如账号等。进一步地,在一些实施方式中,用户可以设置与令牌/电子记录相关的各种许可,并且还可以撤消与令牌/电子记录相关联的许可(例如,解除对第三方的授权),从而为用户的账户提供更高的安全性。本披露内容进一步包括用于促进上述功能的各种交互式用户界面。在提供财务报告的背景下,不发起交易或不直接访问交易数据。而是生成财务报告,并使用报告令牌来许可访问财务报告。

在各个实施例中,响应于应用程序编程接口(API)请求和其他用户输入,自动地且动态地检索和处理大量数据,并且客户或用户还可以经由来自系统的规范化API响应或以资产/财务报告的形式高效地且紧凑地访问所检索到的数据。例如,可以经由对移动应用程序的虚拟化/模拟实例的实例化,以高效的方式检索数据。因此,在一些实施例中,与数据不被规范并且不会响应于这种请求被紧凑且高效地提供给客户用户的先前接口相比,本文所述的API接口更加高效。有利地,使用该系统,客户或用户可以以标准化的方式访问来自多个不同的数据源(例如,数据存储装置)和/或系统的数据,这些数据源和/或系统中的每一个可以使用专有接口。

进一步地,如本文所述,该系统可以被配置为和/或被设计为生成可用于渲染所描述的各种交互式用户界面的用户界面数据。该系统和/或另一计算机系统、设备和/或软件程序(例如,浏览器程序)可以使用该用户界面数据来渲染交互式用户界面。交互式用户界面可以显示在例如电子显示器(包括例如启用触摸的显示器)上。

交互式且动态的用户界面优选地包括可以为用户提供减少的精神工作量、改善的作决策、减少的工作压力等的改善的人机交互。例如,经由本文所述的输入与交互式用户界面进行的用户交互可以提供对交易数据和账户数据的优化显示以及与交易数据和账户数据的优化交互,并且与先前系统相比可以使得客户用户能够更快速且更准确地访问、导航、评估和消化账户数据。

进一步地,本文所述的交互式且动态的用户界面是通过在用户界面与基础系统和组件之间的高效交互方面进行创新来实现的。例如,本文所披露了以下改进的方法:接收用户输入;对这些输入进行转换并将其递送到各个系统组件;响应于输入递送而自动且动态地执行复杂的过程;在系统的各个方面和过程之间进行自动交互;以及自动且动态地更新用户界面。因此,经由本文所述的交互式用户界面的交互和数据呈现可以提供认知效率和人体工程学效率以及优于先前系统的优点。

本披露内容的各个实施例提供了对各种技术和技术领域的改进。例如,如以上所提及的,现有账户和/或交易数据检索技术以各种方式(例如,每个系统或源的接口不同、数据以不同的格式被提供等)受到限制,并且本披露内容的各个实施例提供对这种技术的显著改进。另外,本披露内容的各个实施例与计算机技术密切相关。特别地,各个实施例依赖于基于计算机的API请求的接收、经由例如移动应用程序的虚拟化/模拟实例对交易和/或其他数据的访问、对所检索到的数据的规范化以及经由API以标准化方式对请求作出的响应。这种特征和其他特征与计算机技术密切相关并通过计算机技术实现,并且要是没有计算机技术将不存在。例如,以下参考各个实施例描述的API请求和响应以及对例如移动应用程序的虚拟化/模拟实例的实例化在没有实施它们所依据的计算机技术的情况下不能由人独自合理地执行。进一步地,经由计算机技术实施本披露内容的各个实施例实现了本文所述的许多优点,包括与各种类型的数据进行的更高效的交互。

尽管以下披露了某些优选实施例和示例,但是本发明的主题超出了具体披露的实施例,延伸至其他可替代实施例和/或用途以及其修改和其等效物。因此,所附权利要求的范围不受以下描述的任何特定实施例的限制。例如,在本文披露的任何方法或过程中,该方法或过程的动作或操作可以以任何合适的顺序和组合来执行,并且不必限于任何特定披露的顺序。

可以以可能有助于理解某些实施例的方式将各种操作依次描述为多个不同操作。然而,描述的顺序不应解释为暗示这些操作与顺序有关。另外,本文所述的结构、系统和/或设备可以体现为集成组件或独立组件。为了比较各个实施例,描述了这些实施例的某些方面和优点。不一定通过任何特定实施例来实现所有这些方面或优点。因此,例如,可以以以下方式来执行各个实施例:实现或优化如本文所教导的一个优点或一组优点而不必实现本文也可以教导或建议的其他方面或优点。

本文所述的实施例总体上参考用于对第三方存储的数据进行编程式验证以及另外用于将以编程方式验证的交易(或其他财务数据或私有数据)的子集分发、路由或以其他方式披露给一个或多个第三方的系统和方法。

例如,一些实施例包括可选地由证书颁发机构或其他类似组织认证的一个或多个服务器或计算机网络系统(在本文中称为“数据管理平台”、“数据转移平台”或更一般地称为“平台”),以用于在分别由不同的实体或个人操作、管理和控制的账户服务器、软件应用程序与第三方服务器之间安全地汇总和路由数据。

更具体地,示例数据管理平台包括数据库,该数据库存储从众多源(在本文为“远程数据源”)获得关于个体或实体(在本文称为“主体”)的汇总数据。如本文所使用的,术语“汇总数据”通常是指以下操作的产物:将从一个或多个不同数据源获得的格式化或未格式化数据合并、格式化、规范化、结构化和/或结合到一个或多个结构化数据库中,使得对该一个或多个结构化数据库的查询可以从该一个或多个不同数据源中的每一个返回匹配结果(如果有的话)。

返回上面的示例,在一些实施例中,主体可以查询数据库以方便对其自己数据进行单源访问。示例上下文是关于主体的财务数据或银行数据的汇总。在该示例中,主体可以(例如,经由在移动设备上操作的软件应用程序)查询数据管理平台,以方便对从多个不同的金融机构或银行机构获得的、在单个用户界面中呈现的该主体的所有汇总财务数据或银行数据进行访问。

另外,对于本文所述的实施例,数据管理平台被配置为提供用于接受来自(由“第三方”操作的)第三方服务器的针对关于主体的数据(“所请求的私有数据”)的请求的接口。如所讨论的,当被许可时,第三方系统可以能够访问财务数据并且更具体地是财务报告。在一个变型中,在将所请求的私有数据披露给第三方之前,数据管理平台向主体提供批准、修改或拒绝该请求的机会。更具体地,在一个示例中,数据管理平台通过经加密且经认证通道向由主体操作的软件应用程序发送请求,以向主体征求将所请求的私有数据披露给第三方的许可。如果主体拒绝该请求,则不会将任何数据披露给第三方,并且该主体的数据隐私得以维护。

可替代地,如果主体批准或修改报告访问请求(例如,仅批准请求的一部分、仅拒绝请求的一部分、添加补充信息、为特定数据点添加注释或上下文、编辑各个数据点等),则通过经加密且经认证通道以结构化格式(例如,JSON、XML、xBRL、HTML、PDF、XLS、CSV等)将与该请求(或修改)匹配的数据子集(并且仅该数据子集)传输给第三方。本文披露了提供访问的替代方法。该数据在本文中称为“披露的私有数据”。可以理解,如果请求被主体修改,则披露的私有数据可能不同于所请求的私有数据。

以这种方式,第三方从单个可信源中获得其需要的关于主体的所有数据,并且另外,该主体保持对其数据的披露和路由的控制而不必独立地审阅从多个不同源获得的数据,从而防止过度披露私有信息。

在一些实施例中,数据管理平台用附加信息或数据(例如,标记、类别等)补充存储在数据库中的数据。在其他实施例中,数据管理平台周期性地或自动地检查存储在数据库中的数据,以识别不同数据点或交易之间的模式、关系或关联、数据不规则性或错误等。在又另一实施例中,数据管理平台可以被配置为确定、估计和/或计算跨存储在数据库中的数据集或子集的元数据。

在另一示例中,披露的私有数据可能不会通过数据管理平台分发给第三方,而是可能被打包、加密或以其他方式准备好并作为数字副本或物理副本发送给主体,以便路由至第三方。在其他示例中,披露的私有数据可能不会通过数据管理平台传输给第三方或主体,而是可能被打包、加密或以其他方式准备好作为数字副本或物理副本并保管在数据托管(由数据管理平台或由第三方数据托管代理管理或实施)中,以便在事件发生后分发/传输给第三方。

由于这些通信架构,因此可以从多个可信源(远程数据源)中收集一方(主体/用户)的私有数据,对该私有数据进行汇总,并且以以下方式将该私有数据安全地且私密地传输给另一方(第三方):使主体和第三方两者均保持对披露的私有数据是准确的、真实的且当前的信任。

第三方可以将披露的私有数据用于经第一方批准的任何目的。如在一个优选用例中,所请求的私有数据是可以被组织成财务报告的财务数据(例如交易、余额、账号等),第三方可使用该财务报告来评估违约风险、财务健康状况、信誉、资金杠杆位置、净资产、净收入等。在另一实施例中,私有数据是第三方用来确认对不动产或个人财产的所有权或者雇用情况的身份数据(例如,姓名、地址、雇用信息等)。在另一替代用例中,私有数据是第三方用来确定临床试验资格、药物之间的潜在相互作用、健康保险费等的健康数据(例如,处方、血型、性别,年龄等)。

然而,为了简化描述,许多实施例遵循参考网络架构和通信架构,这些参考网络架构和通信架构促进对交易(例如,“私有财务数据”)的编程式验证,并且另外地或可选地,促进将潜在债务人(例如“借方”)的该经编程方式验证的私有财务数据传输给潜在债权人(例如“贷方”)。在该示例中,贷方可以使用向贷方披露的财务数据来全面性地确定借方的违约风险,或用于与债务或信贷交易相关的另一目的。然而,如上所述,应当理解,这仅仅是一种示例交易类型和可以在各方之间披露的私有数据的一个示例;本文所描述的实施例可以等效地适用于其他交易、交易类型和各方,并且可以涉及对其他私有数据和/或其他私有数据类型的交换和披露。

根据一个实施例,披露了一种方法,该方法包括:在被构造为以编程方式访问财务数据的金融平台系统处:创建模拟外部金融服务系统的应用程序的应用程序代理实例;接收针对指定账户的外部金融服务系统的财务数据的规范化账户请求,该规范化账户请求由外部金融应用程序系统通过使用金融平台系统的财务数据API来提供;响应于该规范化账户请求:通过使用应用程序代理实例与外部金融服务系统进行协商通信,以通过使用外部金融服务系统的专有应用程序编程接口(API)从外部金融服务系统访问所请求的财务数据;并将该财务数据提供给外部金融应用程序系统,作为对规范化账户请求的响应。

根据一个方面,该方法进一步包括通过代理实例建立会话。

根据另一方面,该规范化账户请求是根据金融平台系统的财务数据API的请求,并且财务数据API被构造为提供用于从具有不同专有API的外部金融服务系统访问财务数据的规范化接口。

根据又另一方面,协商通信包括:基于由规范化账户请求指定的信息来形成根据专有API的请求。

根据另一方面,该金融平台系统包括针对外部金融服务系统的机构接口模块,该机构接口模块对外部金融服务系统的专有API进行建模,并且该机构接口模块用于从外部金融服务系统访问所请求的财务数据。

根据又另一方面,金融平台系统通过以下操作中的至少一项操作来生成机构接口模块:解析外部金融服务系统的应用程序的源代码;以及解析该应用程序与外部金融服务系统之间的通信。

根据另一方面,该机构接口模块定义发送到外部金融服务系统的消息的报头。

根据又另一方面,所指定的账户是外部金融服务系统的账户。

根据另一方面,所指定的账户是金融应用程序系统的用户账户,并且从外部金融服务系统访问的财务数据是与外部金融服务系统的至少一个账户相对应的财务数据,该至少一个账户与应用程序代理实例的用户凭证相关联。

根据又另一方面,所指定的账户是金融应用程序系统的用户账户,其中,使用与该指定的用户账户相对应的多个应用程序代理实例来从多个外部金融服务系统访问财务数据,并且其中,提供给应用程序系统的财务数据对应于外部金融服务系统的、与应用程序代理实例的用户凭证相关联的账户。

根据另一实施例,披露了一种方法,该方法包括:在被构造为以编程方式访问金融平台系统外部的至少一个金融服务系统的多租户金融平台系统处,并且响应于由与该金融平台系统的账户相关联的外部应用程序系统提供的规范化金融服务请求:针对与规范化金融服务请求相对应的每个外部金融服务系统,使用与金融平台系统的账户相关联的应用程序代理实例,根据金融服务系统的专有应用程序编程接口(API)向金融服务系统提供专有API请求;并且基于从外部金融服务系统接收到的至少一个专有API响应,向外部应用程序系统提供规范化金融服务响应,其中,使用应用程序代理实例包括使用被构造为通过模拟外部金融服务系统的应用程序向代表外部应用程序系统的用户账户的相应外部金融服务系统提供专用API请求的应用程序代理实例。

根据一个方面,金融平台系统包括针对各个外部金融服务系统的机构接口模块,其中,各个机构接口模块对相关联的外部金融服务系统的专有API进行建模,其中,通过使用针对金融服务系统的机构接口模块以及与金融服务系统和用户账户相对应的应用程序代理实例将各个专有API请求提供给对应的金融服务系统,并且其中,该金融平台系统通过以下操作中的至少一项操作生成各个机构接口模块:解析对应金融服务系统的应用程序的源代码;以及解析应用程序与对应金融服务系统之间的通信。

根据另一方面,主要应用程序代理实例和至少一个第二应用程序代理实例与对应于规范化金融服务请求的金融服务系统相关联,并且其中,响应于确定不能通过使用主要应用程序代理实例来处理规范化金融服务请求,使用第二应用程序代理实例来处理规范化金融服务请求。

根据又另一方面,主要应用程序代理实例对应于相应金融服务系统的移动应用程序,并且第二应用程序代理实例对应于相应金融服务系统的基于web的应用程序和桌面应用程序中的至少一者。

根据另一方面,金融服务系统的专有API的专有API请求包括以下各项中的至少一项:针对金融服务系统的至少一个账户的交易清单的请求;针对与金融服务系统的账户相关联的交易的细节的请求;财务转移请求、支付安排请求;电子支票存款请求;账户更新请求;欺诈报告请求;以及服务请求,并且其中,金融平台系统的API的规范化API请求包括以下各项中的至少一项:针对外部应用程序系统的用户账户的交易清单的请求;针对与该用户账户相关联的交易的细节的请求;财务转移请求;支付安排请求;电子支票存款请求;账户更新请求;欺诈报告请求;以及服务请求。

根据又另一方面,规范化金融服务请求是针对用户账户的交易清单的请求,其中,与该规范化金融服务请求相对应的金融服务系统包括与外部应用程序系统的用户账户的应用程序代理实例相对应的金融服务系统,并且其中,每个专有API请求是针对与用于提供专有API请求的相关联应用程序代理实例的用户凭证相对应的账户的财务数据的请求。

根据另一方面,提供规范化金融服务响应包括将接收到的财务数据转换成规范化形式,并且其中,转换接收到的财务数据包括处理财务数据、清理财务数据、用附加信息补充财务数据以及增强财务数据中的至少一项,并且其中,附加信息包括分类标签、标记和地理位置信息中的至少一项。

根据又另一方面,规范化金融服务请求是针对与用户账户相关联的交易的细节的请求,其中,规范化金融服务请求指定标识交易、相关联的金融服务系统和该金融服务系统的相关联账户的信息,并且其中,专有API请求是针对所指定的金融服务系统的所指定的账户的交易的细节的请求。

根据另一方面,规范化金融服务请求是财务转移请求,其中,规范化金融服务请求指定标识源金融服务系统、该源金融服务系统的源账户、目标金融服务系统、该目标金融服务系统的目标账户以及交易金额的信息,并且其中,使用源金融服务系统的应用程序代理实例和目标金融服务系统的应用程序代理实例中的至少一者通过向相应金融服务系统提供专有转移API请求来发起将所指定的交易金额从源账户转移到目标账户的财务转移请求。

根据又另一方面,金融平台系统基于源金融服务系统和目标金融服务系统的功能和交易费用中的至少一者来选择源金融服务系统的应用程序代理实例和目标金融服务系统的应用程序代理实例之一来发起财务转移请求。

根据又另一实施例,披露了一种方法,该方法包括:金融平台系统接收与至少一个金融账户端点相关联的规范化金融API请求,该规范化金融API请求由外部金融应用程序系统通过使用金融平台系统的金融平台API来提供,该规范化金融API请求指定规范化金融API请求的每个金融账户端点的账户凭证;响应于该规范化金融API请求:通过使用与金融账户端点相关联的应用程序代理实例来收集规范化金融API请求的每个金融账户端点的交易信息,以通过使用由规范化金融API请求所指定的相关联账户凭证以及对应的金融机构系统的专有应用程序编程接口(API)来从该金融机构系统收集交易信息;并且向外部金融应用程序系统提供规范化金融API响应,该规范化金融API响应提供规范化金融API请求的每个金融账户端点的交易信息,其中,每个应用程序代理实例都被构造为模拟对应的外部金融机构系统的应用程序。

根据一个方面,针对每个金融账户端点所收集的交易信息至少包括用于在自动清算所(ACH)交易中使用的账号和对应的路由号码。

根据另一方面,通过处理从对应的外部金融机构系统访问的至少一个财务报表来收集交易信息。

根据又另一方面,该金融平台系统包括针对各个外部金融机构系统的机构接口模块,各个机构接口模块对外部金融机构系统的专有API进行建模,并且各个应用程序代理实例使用对应的机构接口模块来从外部金融机构系统收集交易信息。

根据另一方面,金融平台系统通过以下操作中的至少一项操作来生成各个机构接口模块:解析相关联的外部金融机构系统的应用程序的源代码;以及解析该应用程序与相关联的外部金融机构系统之间的通信。

根据又另一方面,各个机构接口模块定义发送到相关联的外部金融机构系统的消息的报头,并且其中,专有API不同于web浏览器接口。

根据另一实施例,披露了一种方法,该方法包括:在金融平台系统处:接收与至少一个金融账户端点相关联的规范化金融API请求,该规范化金融API请求由外部金融应用程序系统通过使用金融平台系统的金融平台API来提供,该规范化金融API请求指定规范化金融API请求的每个金融账户端点的金融交易以及账户令牌和账户凭证中的至少一者;响应于该规范化金融API请求:通过使用与金融账户端点相关联的应用程序代理实例来收集规范化金融API请求的每个金融账户端点的交易信息,以通过使用由规范化金融API请求所指定的相关联账户令牌和相关联账户凭证中的至少一者并且通过使用对应的金融机构系统的专有API来从该金融机构系统收集交易信息;通过使用所收集的交易信息来执行由规范化金融API请求指定的交易;并且向外部系统提供规范化金融API响应,该规范化金融API响应提供交易的状态和交易的结果中的至少一者,其中,每个应用程序代理实例被构造为模拟对应的外部金融机构系统的应用程序。

根据又另一实施例,披露了一种方法,该方法包括:被构造为以编程方式访问金融平台系统外部的至少一个外部金融机构系统的金融平台系统,并且响应于由金融应用程序系统通过使用金融平台系统的金融平台API来提供的规范化金融API请求,该规范化金融API请求指定与该至少一个外部金融机构系统的至少一个金融账户端点相对应的用户信息:使用与规范化API请求相关联的至少一个应用程序代理实例通过向金融机构系统提供专有金融API请求来从对应的金融机构系统收集交易信息,该专有金融API请求至少指定与由规范化金融API请求指定的用户信息相关联的账户凭证,该交易信息包括在由金融机构系统提供的至少一个专有金融API响应中;基于所收集的交易信息生成规范化金融API响应;并且向金融应用程序系统提供规范化金融API响应,其中,每个应用程序代理实例被构造为模拟代表与应用程序代理实例相关联的用户的对应金融机构系统的应用程序。

根据一个方面,每个专有API是相应金融机构系统的私有API,并且其中,每个专有API不同于web浏览器接口。

根据另一方面,代表金融应用程序系统的用户账户来提供规范化金融API请求,并且其中,所指定的用户信息包括与该用户账户相关联的信息。

根据又另一方面,代表金融应用程序系统的用户账户来提供规范化金融API请求,并且其中,所指定的用户信息包括与这样的用户相关联的信息:该用户不同于金融应用程序系统的用户账户的用户。

根据另一方面,规范化金融API请求是针对金融账户端点信息的请求,其中,所收集的交易信息包括金融账户端点信息,并且其中,生成规范化金融API响应包括将金融账户端点信息包括在规范化金融API响应中。

根据又另一方面,规范化金融API请求是将资金从至少一个提款账户端点转移到至少一个存款账户端点的请求,并且规范化金融API请求指定要转移的资金金额,其中,用户信息指示该至少一个提款账户端点和该至少一个存款账户端点,其中,使用金融平台系统的交易引擎来执行ACH交易,以通过使用所收集的交易信息将指定资金金额从该至少一个提款账户端点转移到该至少一个存款账户端点,并且其中,生成规范化金融API响应包括将转移的状态和转移的结果中的至少一者包括在规范化金融API响应中。

根据另一方面,规范化金融API请求指定用于执行转移的原始金融机构系统。

根据又另一方面,金融平台系统是多租户金融平台系统,其中,应用程序系统是与金融平台系统的账户相关联的外部应用程序系统,其中,每个应用程序代理实例与金融平台系统的账户相关联,并且其中,每个应用程序代理实例被构造为通过模拟外部金融机构系统的应用程序来向代表外部应用程序系统的用户的相应外部金融机构系统提供专有金融API请求。

根据另一方面,金融平台系统是单租户金融平台系统,其中,应用程序系统是金融平台系统的应用程序系统,并且其中,每个应用程序代理实例被构造为通过模拟外部金融机构系统的应用程序来向代表应用程序系统的用户的相应外部金融机构系统提供专有金融API请求。

根据又另一方面,用户信息包括与规范化金融API请求相对应的应用程序系统的至少一个用户账户的用户账户标识符,每个用户账户标识符用于选择至少一个应用程序代理实例中的至少一个,并且每个至少一个应用程序代理实例包括用于访问相关联金融机构系统的用户凭证,并且其中,每个专有金融API请求都指定对应的用户凭证。

根据另一方面,用户信息包括与规范化金融API请求相对应的应用程序系统的至少一个用户账户的至少一组用户凭证,并且其中,至少一个专有金融API请求指定用户信息中的一组对应的用户凭证。

根据又另一方面,用户信息包括与规范化金融API请求相对应的应用程序系统的至少一个用户账户的至少一个账户令牌,并且其中,至少一个专有金融API请求指定与用户信息中的对应账户令牌相关联的用户凭证。

根据另一方面,该方法进一步包括以下操作中至少一项操作:基于至少一个提款账户端点的功能、至少一个提款账户端点的可用性、至少一个提款账户端点的配置和规范化金融API请求的参数中的至少一项来选择该至少一个提款账户端点中的至少一个以进行转移;以及基于至少一个存款账户端点的功能、至少一个存款账户端点的可用性、至少一个存款账户端点的配置、和规范化金融API请求的参数中的至少一项来选择该至少一个存款账户端点中的至少一个以进行转移。

根据另一实施例,披露了一种计算机系统,该计算机系统包括:一个或多个计算机可读存储设备,该一个或多个计算机可读存储设备被配置为存储多个计算机可执行指令;以及一个或多个硬件计算机处理器,该一个或多个硬件计算机处理器与该一个或多个计算机可读存储设备进行通信,并被配置为执行该多个计算机可执行指令,以使该计算机系统进行以下操作:执行计算机系统的应用程序编程接口(API),该计算机系统的API被配置为根据该计算机系统的API的规范化格式来接收并提供对来自开发人员计算设备的请求的响应;经由API并根据规范化格式从开发人员计算设备接收针对与用户相关联的交易数据的请求,该请求至少包括:与用户相关联的用户名、与用户相关联的密码以及外部机构标识符;基于外部机构标识符,确定与请求相关联的外部机构;响应于该请求:访问计算机系统的机构接口模块,其中:该机构接口模块被独特地配置为使得能够经由外部机构的外部计算设备的非公共API与外部机构的外部计算设备进行通信,并且该机构接口模块是基于对同外部机构相关联的移动设备应用程序的实际实例与外部机构的外部计算设备之间的交互的分析而生成的;并且对与外部机构相关联的移动设备应用程序的虚拟化实例进行实例化,其中:该移动设备应用程序的虚拟化实例被配置为与计算机系统的机构接口模块进行通信,以便经由外部机构的外部计算设备的非公共API与外部机构的外部计算设备进行接口连接,该外部机构的外部计算设备的非公共API被配置为与移动设备应用程序进行交互,并且该移动设备应用程序的虚拟化实例是基于对移动设备应用程序的分析而生成的;经由机构接口模块,基于以下各项中的至少一项,向外部机构的外部计算设备认证移动设备应用程序的虚拟化实例:移动设备标识码、移动设备认证令牌或移动设备介质访问控制(MAC)地址;由移动设备应用程序的虚拟化实例并经由外部机构的外部计算设备的非公共API通过以下方式从外部机构的外部计算设备请求与用户相关联的交易数据:向外部机构的外部计算设备提供与用户相关联的用户名和与用户相关联的密码;从外部机构的外部计算设备接收针对第二因素认证信息的请求;经由计算机系统的API从开发人员计算设备请求第二因素认证信息;经由计算机系统的API从开发人员计算设备接收第二因素认证信息;向外部机构的外部计算设备提供第二因素认证信息;从外部机构的外部计算设备接收指示接受了第二因素认证信息的响应;从外部机构的外部计算设备请求交易信息;并且从外部机构的外部计算设备接收与用户相关联的交易数据;通过以下方式来增强与用户相关联的交易数据以生成增强交易数据:基于对交易数据的分析,用相应的类别标签来对交易数据中的多个交易数据项进行加强;基于对交易数据的进一步分析,用相应的地理位置信息来对交易数据中的多个交易数据项进行加强;并且对交易数据的格式进行标准化,使得计算机系统可以以规范化格式提供增强交易数据;经由计算机系统的API并以规范化格式向开发人员计算设备提供增强交易数据;以及在计算机系统的一个或多个计算机可读存储设备中持久保存移动设备应用程序的虚拟化实例,使得可以经由移动设备应用程序的虚拟化实例获得针对与用户相关联的交易数据的将来请求。

根据一个方面,该一个或多个硬件计算机处理器被配置为执行多个计算机可执行指令,以便进一步使该计算机系统执行以下操作:进一步响应于该请求:确定要从其获得与用户相关联的第二交易数据以实现该请求的第二外部机构;访问计算机系统的第二机构接口模块,其中:该第二机构接口模块被独特地配置为使得能够经由第二外部机构的外部计算设备的非公共API与第二外部机构的外部计算设备进行通信,该第二外部机构的外部计算设备的非公共API不同于外部机构的外部计算设备的非公共API,并且该第二机构接口模块是基于对同第二外部机构相关联的第二移动设备应用程序的实际实例与第二外部机构的外部计算设备之间的交互的分析而生成的;并且对与第二外部机构相关联的第二移动设备应用程序的虚拟化实例进行实例化,其中:该第二移动设备应用程序的虚拟化实例被配置为与计算机系统的第二机构接口模块进行通信,以便经由第二外部机构的外部计算设备的非公共API与第二外部机构的外部计算设备进行接口连接,该第二外部机构的外部计算设备的非公共API被配置为与第二移动设备应用程序进行交互,并且该第二移动设备应用程序的虚拟化实例是基于分析第二移动设备应用程序而生成的;经由第二机构接口模块,基于以下各项中的至少一项,向第二外部机构的外部计算设备认证第二移动设备应用程序的虚拟化实例:与移动设备相关联的标识码,与移动设备相关联的认证令牌或与移动设备相关联的介质访问控制(MAC)地址;由第二移动设备应用程序的虚拟化实例并经由第二外部机构的外部计算设备的非公共API通过以下方式从第二外部机构的外部计算设备请求与用户相关联的第二交易数据:向第二外部机构的外部计算设备提供与用户相关联的用户名和与用户相关联的密码;从第二外部机构的外部计算设备请求第二交易信息;并且从第二外部机构的外部计算设备接收与用户相关联的第二交易数据;通过以下方式来增强与用户相关联的第二交易数据以生成第二增强交易数据:基于对第二交易数据的分析,用相应的类别标签来对第二交易数据中的多个交易数据项进行加强;基于对第二交易数据的进一步分析,用相应的地理位置信息来对第二交易数据中的多个交易数据项进行加强;并且对第二交易数据的格式进行标准化,使得计算机系统可以以规范化格式提供第二增强交易数据;将增强交易数据与第二增强交易数据相组合,以生成组合的增强交易数据;经由计算机系统的API并以规范化格式向开发人员计算设备提供组合的增强交易数据;以及在计算机系统的一个或多个计算机可读存储设备中持久保存第二移动设备应用程序的虚拟化实例,使得可以经由第二移动设备应用程序的虚拟化实例获得针对与用户相关联的交易数据的将来请求。

根据另一方面,基于以下操作中的至少一项操作来进一步生成机构接口模块:解析移动设备应用程序的源代码或者解析移动设备应用程序与外部机构的外部计算设备之间的通信。

根据又另一方面,该机构接口模块定义发送到外部机构的外部计算设备的消息的报头。

根据另一方面,该一个或多个硬件计算机处理器被配置为执行多个计算机可执行指令,以便进一步使该计算机系统执行以下操作:经由API并根据规范化格式从开发人员计算设备接收针对以下各项中的至少一项的请求:与外部机构处的用户账户相关联的交易清单、与外部机构处的用户账户相关联的交易的细节、从或向外部机构处的用户账户进行的财务转移、外部机构处的支付安排、对外部机构处的用户账户的电子支票存款、对外部机构处的用户账户的更新、外部机构处的欺诈报告或外部机构处的服务请求。

根据又另一方面,响应于从开发人员计算设备接收到针对从或向外部机构处的用户账户的财务转移的请求,该一个或多个硬件计算机处理器被配置为执行多个计算机可执行指令,以便进一步使计算机系统进行以下操作:由移动设备应用程序的虚拟化实例并经由外部机构的外部计算设备的非公共API、基于针对财务转移的请求来请求从或向外部金融机构处的用户账户进行转移。

根据又另一实施例,披露了一种计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件计算机处理器执行多个计算机可执行指令来进行以下操作:执行计算机系统的应用程序编程接口(API),该计算机系统的API被配置为根据该计算机系统的API的规范化格式来接收并提供对来自开发人员计算设备的请求的响应;经由API并根据规范化格式从开发人员计算设备接收针对与用户相关联的交易数据的请求,该请求至少包括:与用户相关联的用户名、与用户相关联的密码以及外部机构标识符;基于外部机构标识符,确定与请求相关联的外部机构;响应于该请求:访问计算机系统的机构接口模块,其中:该机构接口模块被独特地配置为使得能够经由外部机构的外部计算设备的非公共API与外部机构的外部计算设备进行通信,并且该机构接口模块是基于对同外部机构相关联的移动设备应用程序的实际实例与外部机构的外部计算设备之间的交互的分析而生成的;并且对与外部机构相关联的移动设备应用程序的虚拟化实例进行实例化,其中:该移动设备应用程序的虚拟化实例被配置为与计算机系统的机构接口模块进行通信,以便经由外部机构的外部计算设备的非公共API与外部机构的外部计算设备进行接口连接,该外部机构的外部计算设备的非公共API被配置为与移动设备应用程序进行交互,并且该移动设备应用程序的虚拟化实例是基于对移动设备应用程序的分析而生成的;经由机构接口模块,基于以下各项中的至少一项,向外部机构的外部计算设备认证移动设备应用程序的虚拟化实例:移动设备标识码、移动设备认证令牌或移动设备介质访问控制(MAC)地址;由移动设备应用程序的虚拟化实例并经由外部机构的外部计算设备的非公共API通过以下方式从外部机构的外部计算设备请求与用户相关联的交易数据:向外部机构的外部计算设备提供与用户相关联的用户名和与用户相关联的密码;响应于从外部机构的外部计算设备接收到针对第二因素认证信息的请求:向外部机构的外部计算设备提供第二因素认证信息;并且从外部机构的外部计算设备接收指示接受了第二因素认证信息的响应;从外部机构的外部计算设备请求交易信息;并且从外部机构的外部计算设备接收与用户相关联的交易数据;通过以下方式来增强与用户关联的交易数据以生成增强交易数据:基于对交易数据的分析,用相应的类别标签来对交易数据中的多个交易数据项进行加强;基于对交易数据的进一步分析,用相应的地理位置信息来对交易数据中的多个交易数据项进行加强;并且对交易数据的格式进行标准化,使得计算机系统可以以规范化格式提供增强交易数据;经由计算机系统的API并以规范化格式向开发人员计算设备提供增强交易数据;以及在计算机系统的一个或多个计算机可读存储设备中持久保存移动设备应用程序的虚拟化实例,使得可以经由移动设备应用程序的虚拟化实例获得针对与用户相关联的交易数据的将来请求。

根据一个方面,该计算机实施的方法进一步包括:通过一个或多个硬件计算机处理器执行多个计算机可执行指令来进行以下操作:进一步响应于该请求:确定要从其获得与用户相关联的第二交易数据以实现该请求的第二外部机构;访问计算机系统的第二机构接口模块,其中:该第二机构接口模块被独特地配置为使得能够经由第二外部机构的外部计算设备的非公共API与第二外部机构的外部计算设备进行通信,该第二外部机构的外部计算设备的非公共API不同于外部机构的外部计算设备的非公共API,并且该第二机构接口模块是基于对同第二外部机构相关联的第二移动设备应用程序的实际实例与第二外部机构的外部计算设备之间的交互的分析而生成的;并且对与第二外部机构相关联的第二移动设备应用程序的虚拟化实例进行实例化,其中:该第二移动设备应用程序的虚拟化实例被配置为与计算机系统的第二机构接口模块进行通信,以便经由第二外部机构的外部计算设备的非公共API与第二外部机构的外部计算设备进行接口连接,该第二外部机构的外部计算设备的非公共API被配置为与第二移动设备应用程序进行交互,并且该第二移动设备应用程序的虚拟化实例是基于分析第二移动设备应用程序而生成的;经由第二机构接口模块,基于以下各项中的至少一项,向第二外部机构的外部计算设备认证第二移动设备应用程序的虚拟化实例:与移动设备相关联的标识码,与移动设备相关联的认证令牌或与移动设备相关联的介质访问控制(MAC)地址;由第二移动设备应用程序的虚拟化实例并经由第二外部机构的外部计算设备的非公共API通过以下方式从第二外部机构的外部计算设备请求与用户相关联的第二交易数据:向第二外部机构的外部计算设备提供与用户相关联的用户名和与用户相关联的密码;从第二外部机构的外部计算设备请求第二交易信息;并且从第二外部机构的外部计算设备接收与用户相关联的第二交易数据;通过以下方式来增强与用户相关联的第二交易数据以生成第二增强交易数据:基于对第二交易数据的分析,用相应的类别标签来对第二交易数据中的多个交易数据项进行加强;基于对第二交易数据的进一步分析,用相应的地理位置信息来对第二交易数据中的多个交易数据项进行加强;并且对第二交易数据的格式进行标准化,使得计算机系统可以以规范化格式提供第二增强交易数据;将增强交易数据与第二增强交易数据相组合,以生成组合的增强交易数据;经由计算机系统的API并以规范化格式向开发人员计算设备提供组合的增强交易数据;以及在计算机系统的一个或多个计算机可读存储设备中持久保存第二移动设备应用程序的虚拟化实例,使得可以经由第二移动设备应用程序的虚拟化实例获得针对与用户相关联的交易数据的将来请求。

根据另一方面,基于以下操作中的至少一项操作来进一步生成机构接口模块:解析移动设备应用程序的源代码或者解析移动设备应用程序与外部机构的外部计算设备之间的通信。

根据又另一方面,该机构接口模块定义发送到外部机构的外部计算设备的消息的报头。

根据另一方面,该计算机实施的方法进一步包括:通过一个或多个硬件计算机处理器执行多个计算机可执行指令来进行以下操作:经由API并根据规范化格式从开发人员计算设备接收针对以下各项中的至少一项的请求:与外部机构处的用户账户相关联的交易清单、与外部机构处的用户账户相关联的交易的细节、从或向外部机构处的用户账户进行的财务转移、外部机构处的支付安排、对外部机构处的用户账户的电子支票存款、对外部机构处的用户账户的更新、外部机构处的欺诈报告或外部机构处的服务请求。

根据又另一方面,该计算机实施的方法进一步包括:通过一个或多个硬件计算机处理器执行多个计算机可执行指令来进行以下操作:响应于从开发人员计算设备接收到针对从或向外部机构处的用户账户的财务转移的请求:由移动设备应用程序的虚拟化实例并经由外部机构的外部计算设备的非公共API、基于针对财务转移的请求来请求从或向外部金融机构处的用户账户进行转移。

根据另一实施例,披露了一种存储软件指令的计算机可读存储介质,响应于由一个或多个硬件计算机处理器的执行,这些软件指令将该一个或多个硬件计算机处理器配置为执行包括以下各项的操作:执行计算机系统的应用程序编程接口(API),该计算机系统的API被配置为根据该计算机系统的API的规范化格式来接收并提供对来自开发人员计算设备的请求的响应;经由API并根据规范化格式从开发人员计算设备接收针对与用户相关联的交易数据的请求,该请求至少包括:与用户相关联的用户名、与用户相关联的密码以及外部机构标识符;基于外部机构标识符,确定与请求相关联的外部机构;响应于该请求:访问计算机系统的机构接口模块,其中:该机构接口模块被独特地配置为使得能够经由外部机构的外部计算设备的非公共API与外部机构的外部计算设备进行通信,并且该机构接口模块是基于对同外部机构相关联的移动设备应用程序的实际实例与外部机构的外部计算设备之间的交互的分析而生成的;并且对与外部机构相关联的移动设备应用程序的虚拟化实例进行实例化,其中:该移动设备应用程序的虚拟化实例被配置为与计算机系统的机构接口模块进行通信,以便经由外部机构的外部计算设备的非公共API与外部机构的外部计算设备进行接口连接,该外部机构的外部计算设备的非公共API被配置为与移动设备应用程序进行交互,并且该移动设备应用程序的虚拟化实例是基于对移动设备应用程序的分析而生成的;经由机构接口模块,基于以下各项中的至少一项,向外部机构的外部计算设备认证移动设备应用程序的虚拟化实例:移动设备标识码、移动设备认证令牌或移动设备介质访问控制(MAC)地址;由移动设备应用程序的虚拟化实例并经由外部机构的外部计算设备的非公共API通过以下方式从外部机构的外部计算设备请求与用户相关联的交易数据:向外部机构的外部计算设备提供与用户相关联的用户名和与用户相关联的密码;响应于从外部机构的外部计算设备接收到针对第二因素认证信息的请求:向外部机构的外部计算设备提供第二因素认证信息;并且从外部机构的外部计算设备接收指示接受了第二因素认证信息的响应;从外部机构的外部计算设备请求交易信息;并且从外部机构的外部计算设备接收与用户相关联的交易数据;通过以下方式来增强与用户关联的交易数据以生成增强交易数据:基于对交易数据的分析,用相应的类别标签来对交易数据中的多个交易数据项进行加强;基于对交易数据的进一步分析,用相应的地理位置信息来对交易数据中的多个交易数据项进行加强;并且对交易数据的格式进行标准化,使得计算机系统可以以规范化格式提供增强交易数据;经由计算机系统的API并以规范化格式向开发人员计算设备提供增强交易数据;以及在计算机系统的一个或多个计算机可读存储设备中持久保存移动设备应用程序的虚拟化实例,使得可以经由移动设备应用程序的虚拟化实例获得针对与用户相关联的交易数据的将来请求。

根据一个方面,进一步响应于由一个或多个硬件计算机处理器的执行,这些软件指令将该一个或多个硬件计算机处理器配置为执行包括以下各项的操作:进一步响应于该请求:确定要从其获得与用户相关联的第二交易数据以实现该请求的第二外部机构;访问计算机系统的第二机构接口模块,其中:该第二机构接口模块被独特地配置为使得能够经由第二外部机构的外部计算设备的非公共API与第二外部机构的外部计算设备进行通信,该第二外部机构的外部计算设备的非公共API不同于外部机构的外部计算设备的非公共API,并且该第二机构接口模块是基于对同第二外部机构相关联的第二移动设备应用程序的实际实例与第二外部机构的外部计算设备之间的交互的分析而生成的;并且对与第二外部机构相关联的第二移动设备应用程序的虚拟化实例进行实例化,其中:该第二移动设备应用程序的虚拟化实例被配置为与计算机系统的第二机构接口模块进行通信,以便经由第二外部机构的外部计算设备的非公共API与第二外部机构的外部计算设备进行接口连接,该第二外部机构的外部计算设备的非公共API被配置为与第二移动设备应用程序进行交互,并且该第二移动设备应用程序的虚拟化实例是基于分析第二移动设备应用程序而生成的;经由第二机构接口模块,基于以下各项中的至少一项,向第二外部机构的外部计算设备认证第二移动设备应用程序的虚拟化实例:与移动设备相关联的标识码,与移动设备相关联的认证令牌或与移动设备相关联的介质访问控制(MAC)地址;由第二移动设备应用程序的虚拟化实例并经由第二外部机构的外部计算设备的非公共API通过以下方式从第二外部机构的外部计算设备请求与用户相关联的第二交易数据:向第二外部机构的外部计算设备提供与用户相关联的用户名和与用户相关联的密码;从第二外部机构的外部计算设备请求第二交易信息;并且从第二外部机构的外部计算设备接收与用户相关联的第二交易数据;通过以下方式来增强与用户相关联的第二交易数据以生成第二增强交易数据:基于对第二交易数据的分析,用相应的类别标签来对第二交易数据中的多个交易数据项进行加强;基于对第二交易数据的进一步分析,用相应的地理位置信息来对第二交易数据中的多个交易数据项进行加强;并且对第二交易数据的格式进行标准化,使得计算机系统可以以规范化格式提供第二增强交易数据;将增强交易数据与第二增强交易数据相组合,以生成组合的增强交易数据;经由计算机系统的API并以规范化格式向开发人员计算设备提供组合的增强交易数据;以及在计算机系统的一个或多个计算机可读存储设备中持久保存第二移动设备应用程序的虚拟化实例,使得可以经由第二移动设备应用程序的虚拟化实例获得针对与用户相关联的交易数据的将来请求。

根据又另一方面,基于以下操作中的至少一项操作来进一步生成机构接口模块:解析移动设备应用程序的源代码或者解析移动设备应用程序与外部机构的外部计算设备之间的通信。

根据另一方面,该机构接口模块定义发送到外部机构的外部计算设备的消息的报头。

根据又另一方面,进一步响应于由一个或多个硬件计算机处理器的执行,这些软件指令将该一个或多个硬件计算机处理器配置为执行包括以下各项的操作:经由API并根据规范化格式从开发人员计算设备接收针对以下各项中的至少一项的请求:与外部机构处的用户账户相关联的交易清单、与外部机构处的用户账户相关联的交易的细节、从或向外部机构处的用户账户进行的财务转移、外部机构处的支付安排、对外部机构处的用户账户的电子支票存款、对外部机构处的用户账户的更新、外部机构处的欺诈报告或外部机构处的服务请求。

根据另一方面,进一步响应于由一个或多个硬件计算机处理器的执行,这些软件指令将该一个或多个硬件计算机处理器配置为执行包括以下各项的操作:响应于从开发人员计算设备接收到针对从或向外部机构处的用户账户的财务转移的请求:由移动设备应用程序的虚拟化实例并经由外部机构的外部计算设备的非公共API、基于针对财务转移的请求来请求从或向外部金融机构处的用户账户进行转移。

根据又另一实施例,披露了一种授权进行电子用户账户访问的计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件处理器执行程序指令来进行以下操作:接收与用户账户相关联的账户凭证;接收与该用户账户相关联的一个或多个许可;接收对与该一个或多个许可相关联的外部应用程序的指示;确定与该用户账户相关联的外部用户账户;确定被配置为与外部用户账户进行接口连接的第一方应用程序;对第一方应用程序的虚拟化实例进行实例化;使用账户凭证,向外部用户账户认证第一方应用程序的虚拟化实例,以建立与外部用户账户的通信;经由第一方应用程序的虚拟化实例来访问与该用户账户相关联的一项或多项用户账户数据;并且生成包括以下各项的电子令牌:该一项或多项用户账户数据、该一个或多个许可以及对外部应用程序的指示。

根据一个方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:生成唯一令牌标识符;将该唯一令牌标识符与电子令牌相关联;并且将该唯一令牌标识符传送给外部应用程序。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:从第三方处理器接收以下各项:与交易相关联的一项或多项交易细节以及唯一令牌标识符;基于该唯一令牌标识符,标识电子令牌;将该一项或多项交易细节与该一个或多个许可进行比较;基于该比较,确定外部应用程序是否被授权发起交易;并且基于确定外部应用程序是否被授权发起交易,将授权指示传送给第三方处理器。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:基于该比较,确定外部应用程序被授权发起交易,其中,授权指示指示外部应用程序被授权发起交易;并且将该一项或多项用户账户数据传送给第三方处理器。

根据另一方面,该一项或多项用户账户数据至少包括:账号或路由号码。

根据又另一方面,该计算机实施的方法进一步包括:由第三方处理器并且基于该一项或多项用户账户数据来执行与外部用户账户的交易;以及将表明交易已执行的指示传送给外部应用程序。

根据另一方面,该计算机实施的方法进一步包括:基于该一项或多项用户账户数据,使第三方处理器执行与外部用户账户的交易;以及将表明交易已执行的指示传送给外部应用程序。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:基于该比较,确定外部应用程序未被授权发起交易,其中,授权指示指示外部应用程序未被授权发起交易。

根据另一方面,将该一项或多项交易细节和唯一令牌标识符从外部用户账户传送给第三方处理器。

根据又另一方面,该一项或多项交易细节包括以下各项中的至少一项:交易金额或交易频率。

根据另一方面,该电子令牌进一步包括与外部应用程序相关联的交易历史,并且其中,该比较进一步包括将一项或多项交易细节与交易历史进行比较。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:生成唯一令牌标识符;将该唯一令牌标识符与电子令牌相关联;将该唯一令牌标识符传送给外部应用程序;接收对该一个或多个许可进行更改的指示;并且更新电子令牌以反映对该一个或多个许可的更改。

根据另一方面,对该一个或多个许可的更改包括撤销电子令牌,并且其中,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:从第三方处理器接收以下各项:与交易相关的一项或多项交易细节以及唯一令牌标识符;基于该唯一令牌标识符,标识电子令牌;将该一项或多项交易细节与该一个或多个许可进行比较;基于该比较,确定由于撤销电子令牌而导致外部应用程序未被授权发起交易;并且传送表明外部应用程序未被授权发起交易的指示。14.如权利要求1所述的计算机实施的方法,其中,这些账户凭证至少包括与该用户账户相关联的用户名和密码。

根据又另一方面,该一个或多个许可包括以下各项中的至少一项:可允许交易频率的指示、可允许交易金额的指示、可允许交易的类型的指示、在某一时间段内可允许交易金额的指示或可允许使用交易的指示。

根据另一方面,该外部应用程序包括以下各项中的至少一项:被配置为在用户的计算设备上运行的应用程序,或可经由用户的计算机设备访问的应用程序。

根据又另一方面,该一项或多项用户账户数据至少包括:账号或路由号码。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:安全地存储电子令牌。

根据另一实施例,披露了一种授权进行电子用户账户访问的计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件处理器执行程序指令来进行以下操作:接收与用户账户相关联的账户凭证;接收与该用户账户相关联的一个或多个许可;接收对与该一个或多个许可相关联的外部应用程序的指示;确定与该用户账户相关联的外部用户账户;确定被配置为与外部用户账户进行接口连接的第一方应用程序;对第一方应用程序的虚拟化实例进行实例化;使用账户凭证,向外部用户账户认证第一方应用程序的虚拟化实例,以建立与外部用户账户的通信;经由第一方应用程序的虚拟化实例来访问与该用户账户相关联的一项或多项用户账户数据;向第三方处理器传送以下各项:该一项或多项用户账户数据、该一个或多个许可以及对外部应用程序的指示;使第三方处理器执行以下操作:生成包括以下各项的电子令牌:一项或多项用户账户数据、该一个或多个许可以及对外部应用程序的指示;生成唯一令牌标识符;将该唯一令牌标识符与电子令牌相关联;并且将该唯一令牌标识符传送给外部应用程序;从外部应用程序接收以下各项:与交易相关联的一项或多项交易细节以及唯一令牌标识符;并且使第三方处理器进一步执行以下操作:基于该唯一令牌标识符,标识电子令牌;将与交易相关联的该一项或多项交易细节同该一个或多个许可进行比较;基于该比较,确定外部应用程序被授权发起交易;通过与外部用户账户进行交互来执行交易;并且将表明交易已经执行的指示传送给外部应用程序。

根据一个方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:接收对该一个或多个许可的更改的指示,其中,对该一个或多个许可的更改包括撤销电子令牌;使第三方处理器进一步执行以下操作:更新电子令牌以反映对该一个或多个许可的更改;从外部应用程序接收以下各项:与第二交易相关的一项或多项交易细节和以及唯一令牌标识符;并且使第三方处理器进一步执行以下操作:基于该唯一令牌标识符,标识电子令牌;将与第二交易相关联的该一项或多项交易细节同该一个或多个许可进行比较;基于与第二交易相关联的该一项或多项交易细节同该一个或多个许可的比较,确定由于撤销电子令牌而导致外部应用程序未被授权发起交易;并且向外部应用程序传送表明外部应用程序未被授权发起交易的指示。

根据又另一实施例,披露了一种计算机系统,该计算机系统包括:一个或多个计算机可读存储设备,该一个或多个计算机可读存储设备被配置为存储多个计算机可执行指令;以及一个或多个硬件计算机处理器,该一个或多个硬件计算机处理器与该一个或多个计算机可读存储设备进行通信,并被配置为执行该多个计算机可执行指令,以使该计算机系统进行以下操作:从第一计算设备接收针对与用户相关联的数据的请求,该请求包括与该用户相关联的认证凭证;识别与该请求相关联的机构;对与该机构相关联的软件应用程序的模拟实例进行实例化,其中:该软件应用程序的模拟实例被配置为经由API与同该机构相关联的第二计算设备进行接口连接,并且该软件应用程序的模拟实例被配置为从第二计算设备的角度来看,表现为在用户的物理计算设备上执行的软件应用程序;由软件应用程序的模拟实例并经由API,从第二计算设备请求与用户相关联的数据;从第二计算设备接收与用户相关联的数据;并且将该数据提供给另一计算设备。

根据一个方面,该一个或多个硬件计算机处理器被配置为执行多个计算机可执行指令,以便进一步使该计算机系统执行以下操作:基于以下各项中的至少一项,向第二计算设备认证软件应用程序的模拟实例:标识码、认证令牌或介质访问控制(MAC)地址。

根据另一方面,与用户相关联的认证凭证至少包括与用户相关联的用户名和与用户相关联的密码;并且请求与用户相关联的数据进一步包括向第二计算设备提供与用户相关联的用户名和与用户相关联的密码。

根据又另一方面,该一个或多个硬件计算机处理器被配置为执行多个计算机可执行指令,以便进一步使该计算机系统执行以下操作:由软件应用程序的模拟实例并经由API,通过以下方式进一步从第二计算设备请求与用户相关联的数据;从第二计算设备接收针对第二因素认证信息的请求;从第一计算设备请求第二因素认证信息;从第一计算设备接收第二因素认证信息;并且向第二计算设备提供第二因素认证信息。

根据另一方面,该一个或多个硬件计算机处理器被配置为执行多个计算机可执行指令,以便进一步使该计算机系统执行以下操作:基于对数据的分析,用相应的类别标签来对数据中的多个数据项进行加强;并且基于对数据的进一步分析,用相应的地理位置信息来对数据中的多个数据项进行加强。

根据又另一方面,该一个或多个硬件计算机处理器被配置为执行多个计算机可执行指令,以便进一步使该计算机系统执行以下操作:对数据格式进行标准化,使得可以以规范化格式提供数据。

根据另一方面,基于以下各项中的至少一项来生成软件应用程序的模拟实例:对软件应用程序的实际实例的分析,或者对软件应用程序的实际实例与第二计算设备之间的交互的分析。

根据又另一方面,该一个或多个硬件计算机处理器被配置为执行多个计算机可执行指令,以便进一步使该计算机系统执行以下操作:在一个或多个计算机可读存储设备中存储软件应用程序的虚拟化实例,使得可以经由软件应用程序的虚拟化实例获得针对数据的将来请求。

根据另一方面,该另一计算设备是第一计算设备。

根据又另一方面,该另一计算设备是不同于第一计算设备和第二计算设备的第三计算设备,其中,该第三计算设备与可信第三方处理器系统相关联。

根据又另一实施例,披露了一种提供用户账户数据的计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件处理器执行程序指令来进行以下操作:从第一计算设备接收与授权请求相关联的信息,其中,该信息至少包括:与一个或多个用户账户相关联的账户凭证;至少生成以下各项:信息的电子记录以及与该电子记录相关联的令牌;将该令牌提供给第一计算设备;从第二计算设备至少接收以下各项:令牌以及针对与一个或多个用户账户中的至少一个用户账户相关联的用户账户数据的请求;并且基于账户凭证将与一个或多个用户账户中的至少一个用户账户相关联的用户账户数据提供给第二计算设备。

根据一个方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:基于令牌验证对访问用户账户数据的授权。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:向第一计算设备提供针对附加信息的请求。

根据又另一方面,该附加信息包括以下各项中的至少一项:多因素认证信息、对多个用户账户中的某个用户账户的选择或对文档的同意指示。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:从第一计算设备接收对附加信息请求的响应,其中,直到接收到该响应之后才将用户账户数据提供给第二计算设备。

根据又另一方面,该信息进一步包括以下各项中的至少一项:对外部应用程序的指示或对与第二计算设备相关联的实体的指示。

根据另一方面,该第二计算设备被配置为将用户账户数据提供给与外部应用程序相关联的计算设备。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:接收解除对外部应用程序访问用户账户数据的授权的请求;并且响应于解除访问授权的请求,撤销令牌或撤销对与令牌相关联的用户账户的访问。

根据另一方面,该信息进一步包括一个或多个许可。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:响应于接收到针对用户账户数据的请求,基于一个或多个许可来确定对外部应用程序访问用户账户数据的授权。

根据另一方面,该第一计算设备包括程序指令,这些程序指令在由该第一计算设备的处理器执行时使该第一计算设备向第二计算设备提供令牌。

根据另一实施例,披露了一种提供用户账户数据的计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件处理器执行程序指令来进行以下操作:从第一计算设备接收与授权请求相关联的令牌,其中,该令牌进一步与机构、外部应用程序以及该机构持有的用户账户相关联;从第二计算设备接收针对用户账户数据的请求,其中,该第二计算设备与外部应用程序相关联;向与该机构相关联的计算设备提供以下各项:令牌以及针对与该用户账户相关联的用户账户数据的请求;并且从与该机构相关联的计算设备接收用户账户数据。

根据一个方面,该令牌是从与该机构相关联的计算设备接收的。

根据另一方面,该令牌是从第一计算设备接收的。

根据又另一方面,该令牌是由该机构的计算设备基于经由第一计算设备提供给与该机构相关联的计算设备的账户凭证来生成的。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:向第一计算设备提供指示将账户凭证提供给与该机构相关联的计算设备的指令。

根据又另一方面,该令牌被机构用于基于与该令牌相关联的账户凭证来授权对用户账户数据的访问。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:向与外部应用程序相关联的计算设备提供与令牌相关联的唯一标识符,其中,针对用户账户数据的请求包括该唯一标识符。

根据又另一方面,至少通过以下方式将与令牌相关联的唯一标识符提供给与外部应用程序相关联的计算设备:将公共令牌或密钥提供给与外部应用程序相关联的计算设备;从与外部应用程序相关联的计算设备接收包括以下各项的认证信息:公共令牌或密钥、秘密密钥以及与外部应用程序相关联的标识符;并且验证认证信息的有效性。

根据另一方面,该第二计算设备被配置为将用户账户数据提供给第一计算设备。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:接收解除对外部应用程序访问用户账户数据的授权的请求;并且响应于解除访问授权的请求,撤销令牌或撤销对与令牌相关联的用户账户数据的访问。

根据另一方面,该信息进一步包括一个或多个许可。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:响应于接收针到对用户账户数据的请求,基于一个或多个许可来确定对外部应用程序访问用户账户数据的授权。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:向以下各项中的至少一项提供用户账户数据:第二计算设备或与可信第三方交易处理器相关联的计算设备。

根据又另一实施例,披露了一种提供用户账户数据的计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件处理器执行程序指令来进行以下操作:向与机构关联的第一计算设备提供与授权请求关联的信息,其中,该信息至少包括:与一个或多个用户账户相关联的账户凭证;从第一计算设备接收针对附加信息的请求,其中,该附加信息包括以下各项中的至少一项:多因素认证信息、对多个用户账户中的某个用户账户的选择或对文档的同意指示;从与该机构相关联的计算设备接收与该机构、外部应用程序以及一个或多个用户账户中的至少一个用账户相关联的令牌;并且将令牌提供给第二计算设备。

根据一个方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:渲染图形用户界面;并且经由该图形用户界面接收账户凭证,其中,这些账户凭证被安全地接收并且被提供给第一计算设备、并且不可被第二计算设备或第三计算设备访问。

根据另一方面,该信息进一步包括以下各项中的至少一项:对外部应用程序的指示或对与第二计算设备相关联的实体的指示。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:从与外部应用程序相关联的第三计算设备接收与一个或多个用户账户中的该至少一个用户账户相关联的用户账户数据。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:从与可信第三方交易处理器相关联的计算设备接收与一个或多个用户账户中的至少一个用户账户相关联的用户账户数据。

根据另一实施例,披露了一种与用户账户进行交互的计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件处理器执行程序指令来进行以下操作:从第一计算设备接收与授权请求相关联的信息,其中,该信息至少包括:与同机构相关联的用户账户相关联的账户信息以及与外部应用程序相关联的标识符;至少生成以下各项:信息的电子记录以及与该电子记录相关联的令牌;使与令牌相关联的唯一标识符或令牌中至少一者被提供给第二计算设备,其中,该第二计算设备与外部应用程序相关联;从第二计算设备至少接收以下各项:与令牌相关联的唯一标识符或令牌中的至少一者,以及使得执行与用户账户相关的交易的请求;并且经由与第三计算设备的通信来发起交易,其中,该第三计算设备与该机构或另一机构、或交易处理器相关联。

根据一个方面,将与令牌相关联的唯一标识符或令牌的至少一者经由第一计算设备提供给第二计算设备。

根据另一方面,将与令牌相关联的唯一标识符或令牌中的至少一者直接提供给第二计算设备。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:基于与令牌相关联的唯一标识符或令牌中的至少一者,验证使得执行交易的授权。

根据另一方面,该信息进一步包括一个或多个许可。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:响应于接收到使得执行与用户账户相关的交易的请求,基于该一个或多个许可来确定对外部应用程序使得执行与用户账户相关的交易的授权。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:向第二计算设备提供是否存在对外部应用程序使得执行与用户账户相关的交易的授权的指示。

根据又另一方面,该信息进一步包括以下各项中的至少一项:对外部应用程序的指示或对机构的指示。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:接收解除对外部应用程序执行与用户账户相关的交易的授权的请求;并且响应于解除交易执行授权的请求,撤销与令牌相关联的唯一标识符或令牌中的至少一者。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:向第二计算设备提供交易是否成功执行的指示。

根据另一方面,与用户账户相关联的账户信息包括以下各项中的至少一项:账号或路由号码。

根据又另一方面,该生成是响应于从与外部应用程序相关联的计算设备接收到的请求而执行的。

根据又另一实施例,披露了一种提供用户账户数据的计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件处理器执行程序指令来进行以下操作:从与外部应用程序相关联的第一计算设备接收包括用户账户的指示的授权请求;从与机构相关联的第二计算设备接收与该机构持有的用户账户相关联的信息;将与用户账户相关联的信息的至少一部分提供给与第三方交易处理器相关联的第三计算设备;接收与该机构、外部应用程序以及该机构持有的用户账户相关联的令牌;并且向与外部应用程序相关联的计算设备提供与令牌相关联的唯一标识符或令牌中的至少一者。

根据一个方面,至少通过以下方式将与令牌相关联的唯一标识符提供给与外部应用程序相关联的计算设备:将公共令牌或密钥提供给与外部应用程序相关联的计算设备;从与外部应用程序相关联的计算设备接收包括以下各项的认证信息:公共令牌或密钥、秘密密钥以及与外部应用程序相关联的标识符;并且验证认证信息的有效性。

根据另一方面,与外部应用程序相关联的计算设备被配置为向与第三方交易处理器相关联的计算设备发送包括与令牌相关联的唯一标识符或令牌中的至少一者的请求。

根据又另一方面,该令牌是从与第三方交易处理器相关联的计算设备接收的。

根据另一方面,该令牌是从与该机构相关联的计算设备接收的。

根据又另一方面,该令牌是由与第三方交易处理器相关联的计算设备基于与用户账户相关联的一部分信息而生成的。

根据另一方面,第三方交易处理器使用令牌或与令牌相关联的信息来授权与用户账户相关的交易。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:接收解除对外部应用程序访问用户账户的授权的请求;并且响应于解除访问授权的请求,使得撤销令牌或使得撤销对与令牌相关联的用户账户的访问

根据另一方面,该令牌进一步与一个或多个许可相关联。

根据又另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:向第四计算设备提供指示将账户凭证提供给与该机构相关联的第二计算设备的指令,其中,响应于第四计算设备将账户凭证提供给第二计算设备而接收到与该机构相关联的信息。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:向第四计算设备提供针对附加信息的请求。

根据又另一方面,该附加信息包括以下各项中的至少一项:多因素认证信息、对多个用户账户中的某个用户账户的选择或对文档的同意指示。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:从第四计算设备接收对附加信息请求的响应,其中,直到接收到该响应之后才将与用户账户相关联的一部分信息提供给第三计算设备。

根据又另一方面,与用户账户相关联的一部分信息包括以下各项中的至少一项:账号或路由号码。

根据另一方面,该计算机实施的方法进一步包括:通过该一个或多个硬件处理器执行程序指令来进行以下操作:至少通过以下方式从与该机构相关联的第二计算设备请求与该机构持有的用户账户相关联的信息:对与该机构相关联的软件应用程序的模拟实例进行实例化,其中:该软件应用程序的模拟实例被配置为经由API与同该机构相关联的第二计算设备进行接口连接,并且该软件应用程序的模拟实例被配置为从第二计算设备的角度来看,表现为在与用户账户相关联的用户的物理计算设备上执行的软件应用程序;并且由软件应用程序的模拟实例并经由API,从第二计算设备请求与用户账户相关联的信息。

根据另一实施例,披露了一种计算机实施的方法,该计算机实施的方法包括:通过一个或多个硬件处理器执行程序指令来进行以下操作:从与外部应用程序相关联的第一计算设备至少接收以下各项:执行交易的请求,以及与同机构相关联的用户账户相关联的账户信息;从第二计算设备至少请求授权外部应用程序使得执行交易的指示;从第二计算设备接收授权外部应用程序使得执行交易的指示;并且响应于接收到该指示而发起交易。

根据一个方面,还从第一计算设备接收令牌。

根据另一方面,该令牌由第二计算设备生成,并且由第二计算设备提供给第一计算设备。

根据又另一方面,该令牌与账户信息、外部应用程序和一个或多个许可相关联。

根据另一方面,请求授权外部应用程序使得执行交易的指示包括将令牌发送到第二计算设备,并且其中,第二计算设备将该请求与同该令牌相关联的许可进行比较。

根据又另一方面,交易经由与第三计算设备的通信,其中,该第三计算设备与该机构或另一机构、或交易处理器相关联。

根据另一方面,该账户信息包括以下各项中的至少一项:账号或路由号码。

以下参考所附权利要求描述本披露内容的附加实施例,这些附加实施例可以用作本披露内容的附加概要。

在各个实施例中,披露了系统和/或计算机系统,这些系统和/或计算机系统包括:计算机可读存储介质,该计算机可读存储介质具有随其而体现的程序指令;以及一个或多个处理器,该一个或多个处理器被配置为执行这些程序指令以使得该一个或多个处理器执行包括以上和/或以下所述的实施例的一个或多个方面(包括所附权利要求的一个或多个方面)的操作。

在各个实施例中,披露了计算机实施的方法,其中,通过一个或多个处理器执行程序指令,实施和/或执行以上和/或以下所述的实施例的一个或多个方面(包括所附权利要求的一个或多个方面)。

在各个实施例中,披露了一种包括计算机可读存储介质的计算机程序产品,其中,该计算机可读存储介质具有随其体现的程序指令,这些程序指令可由一个或多个处理器执行以使该一个或多个处理器执行包括以上和/或以下所述的实施例的一个或多个方面(包括所附权利要求的一个或多个方面)的操作。

另外,本文所述的一些实施例引用了至少包括存储器和处理器的数据管理平台(或更一般地是“计算系统”)。存储器存储指令集和数据库。当指令由处理器执行时,处理器对用于与三个单独的远程系统、设备和/或软件应用程序进行通信和/或交互的三个接口进行实例化。特别地,在一个实施例中,第一接口被实例化用于与软件应用程序(例如,用户客户端)进行交互,第二接口被实例化用于与远程数据源服务器(例如,金融机构系统)进行交互,并且第三接口被实例化用于与第三方服务器进行交互。

在该示例中,这三个接口促进第三方服务器、远程数据源服务器与软件应用程序之间的通信。在一个示例中,相互可信数据管理平台被配置为经由第一接口接收用于访问诸如金融机构、公用事业或服务提供商等机构的远程数据源服务器的凭证。通常,该凭证包括手动输入到由软件应用程序呈现的图形用户界面的用户名和密码。一旦相互可信数据管理平台接收到该凭证,就访问远程数据源服务器,以获得与该凭证相对应的一组数据(例如,财务数据)。此后,可以将所获得的数据存储在相互可信数据管理平台的数据库中。

在一些实施例中,相互可信数据管理平台还被配置为从第三方服务器接收针对从账户服务器获得的并被存储在相互可信数据管理平台的数据库中的一种或多种类型的数据的请求。一旦接收到该请求,相互可信数据管理平台就可以被配置为向软件应用程序提交针对许可提供所存储数据的子集的请求,该子集对应于所请求的私有数据类型。如果接收到许可,则通常可以通过由第三接口建立的加密通道将数据子集提交给第三方服务器。在其他情况下,软件应用程序的操作者可以在提供许可之前审阅和/或修改数据子集,以将修改后的数据子集提交给第三方服务器。在其他变型中,由数据管理平台监管并选择性地许可访问,而可能不需要从软件应用程序请求用户输入。

如以上所提及的,根据各个实施例,披露了用于经由对第一方软件应用程序的虚拟化实例或模拟实例的实例化来安全且高效地获得用户账户数据的系统。例如,本披露内容的系统包括生成的软件应用程序的代理实例、虚拟化实例或模拟实例,这些实例被配置为经由公共或非公共(例如,专有)应用程序编程接口(API)与外部系统进行接口连接。可以向外部系统认证软件应用程序的虚拟化实例或模拟实例,就好像虚拟化/模拟实例实际上是在用户计算设备上执行的第一方软件应用程序一样。经由公共/非公共API,可以获得和处理用户账户信息,从而可以对数据进行规范化并经由系统的规范化API将该数据提供给其他软件系统。因此,本披露内容的系统在从外部系统获得用户账户数据方面可以比现有技术显著更加高效。进一步地,用户账户数据可以被规范化并经由规范化API被提供,从而使得其他人能够以高效的方式从单个标准化接口高效地访问这种数据(最初从多个外部系统获得)。

也如以上所提及的,本披露内容的实施例还涉及用于使用户能够安全地授权第三方系统发起与账户相关的交易、而不会向第三方系统披露账户凭证(例如,账户的身份)的系统(例如,许可管理系统)和技术。这样的交易可以包括例如发起电子支付等。进一步地,本披露内容的系统和技术可以使得用户能够安全地解除第三方系统发起与账户相关的交易的授权。在一些实施例中,本披露内容包括对安全地存储账户信息的电子记录的自动生成。在一些实施方式中,电子记录可以包括与账户和第三方相关的一个或多个许可。令牌(例如,与电子记录相关联的唯一标识符,在本文中也称为“唯一记录标识符”)可以与第三方系统共享,但电子记录本身和用户账户凭证都不可以与第三方共享。因此,第三方(例如,由开发人员开发的商户系统或软件应用程序)可以通过提供令牌来请求用户账户数据和/或发起交易,但第三方自身并不知道例如账号等。进一步地,在一些实施方式中,用户可以设置与令牌/电子记录相关的各种许可,并且还可以撤消与令牌/电子记录相关联的许可(例如,解除对第三方的授权),从而为用户的账户提供更高的安全性。本披露内容进一步包括用于促进上述功能的各种交互式用户界面。

现在将参考附图描述本披露内容的实施例,其中,贯穿附图,相同的附图标记指代相同的元件。本文中所呈现的描述中使用的术语并不旨在以任何受限或限制性方式来解释,仅仅因为将其与本披露内容的某些特定实施例的详细描述结合使用。此外,本披露内容的实施例可以包括几个新颖的特征,这些特征中没有单个特征单独地负责其期望的属性或者每个特征对于实践本文所述的本披露内容的实施例是必不可少的。

为了促进对本文所讨论的系统和方法的理解,以下定义了多个术语。以下所定义的术语以及本文中使用的其他术语应被广义地解释为包括所提供的定义、术语的普通和惯用含义和/或各个术语的任何其他隐含含义。因此,以下定义不限制这些术语的含义,而仅提供示例定义。

许可管理系统(也称为数据管理平台或与数据管理平台相关):计算系统,在本披露内容中详细地描述了该计算系统的功能。许可管理系统的功能(以下将进一步详细地描述)包括但不限于:从外部用户账户系统访问和/或提取用户账户数据;经由外部用户账户系统发起执行交易或者执行交易;基于用户账户数据生成安全电子记录和令牌(例如,与电子记录相关联的唯一标识符);使得能够许可访问用户账户系统上的用户账户并在这些用户账户上执行交易;使得能够撤销对访问用户账户系统上的用户账户的许可或者解除对访问这些用户账户的授权;和/或使得能够撤销对经由用户账户系统上的用户账户执行交易的权限的许可或者解除对该权限的授权。这些功能中的一项或多项功能可以经由许可管理系统来实施(如以下所述的),并且可以经由标准化的应用程序编程接口(API)供客户访问。因此,客户可以经由标准化的应用程序编程接口(API)来访问许可管理系统的任何功能(包括例如访问用户账户数据、许可访问用户账户数据等)。

外部用户账户系统:外部机构的计算系统或服务。为了便于描述,本文中对外部机构(或简称为“机构”)的一般提及可以理解为是指这些机构的外部用户账户系统。因此,外部用户账户系统在本文中也可以称为“外部机构系统”、“外部银行系统”、“银行系统”、“银行”、“机构”、“外部服务”等。如以下所述,外部用户账户系统可以提供公共和/或非公共(例如,专有)应用程序编程接口(API),外部机构的第一方软件应用程序(例如,移动设备软件应用程序)可以通过该公共和/或非公共API访问用户账户数据。然而,如以下进一步描述的,本披露内容的系统可以通过例如对外部机构的第一方软件应用程序的虚拟和/或代理实例进行实例化来使得能够经由外部用户账户系统的这种公共和/或非公共API访问用户账户数据。外部用户账户在本文中也可以称为“用户账户”。

外部机构:维护用户账户的实体。外部机构(在本文中也称为“机构”)的示例包括但不限于银行、信用卡提供商、投资服务、贷款提供商和/或其他合适的金融机构或用户账户持有机构。

应用程序编程接口(API):用于构建软件应用程序的一组例程、协议和/或工具。通常,API定义了一组标准化的操作、输入、输出和基础类型,使得可经由API以高效的方式访问功能。该系统提供了API,客户可以通过API访问系统的任何功能,如本文所述。因此,该系统有利地(从客户的角度)抽象出该系统的功能中可能涉及的大部分的复杂性,并使得客户能够快速且高效地利用该系统的功能来构建其他系统和服务。本文通常将API的格式描述为可以在REST API中实施,但是API的协议和介质可以是任何合适的变型,诸如,GraphQLAPI、简单对象访问协议(SOAP)、远程过程调用(RPC)和/或任何合适类型的协议。

客户:利用系统的API来在客户的软件应用程序中访问系统的功能的人,如本文所述。系统的客户可以包括但不限于软件开发人员(其可能正在开发例如诸如商店app或移动app等软件应用程序)、第三方处理器(例如,第三方支付处理器)、外部机构、商户等。

面向外部用户的系统/应用程序:经由系统的API与系统交互的客户的软件应用程序和/或计算系统(例如,由客户开发的)。面向外部用户的系统/应用程序的示例包括但不限于桌面软件应用程序、移动设备软件应用程序、服务器软件应用程序等。通常,面向外部用户的系统/应用程序向用户提供商品或服务。在一些实例中,为了便于描述,这种软件应用程序在本文中可以称为“app”。另外,面向外部用户的系统/应用程序在本文中也可以称为“开发人员系统”、“开发人员计算设备”等。面向外部用户的系统/应用程序的示例包括用于进行以下各项的app:支付处理、账户数据审阅/分析、预算、账户监控、提供储蓄推荐等。

第三方处理器:处理交易(例如,商户的金融交易)的实体。在提供有账户信息(例如,信用卡/借记卡信息、银行账户信息等)和支付信息(例如,支付多少、向谁支付以及何时支付等)时,执行并处理交易。在一些实施方式中,该系统可以与一个或多个第三方处理器系统进行交互以执行和/或处理支付。可替代地,该系统可以包括用于处理交易的功能,并且因此可以有效地充当其自己的“第三方”处理器(因此,“第三方”在该上下文中有些用词不当,但是为了清楚起见,在本披露内容中使用术语“第三方”)。第三方处理器在本文中可以称为“可信”第三方处理器,因为在一些实施方式中,向第三方处理器委托用户账户数据,而不是向例如面向外部用户的系统/应用程序委托用户账户数据。第三方处理器在本文中可以称为“第三方交易处理器”。如本文所使用的,术语“交易”可以包括与账户相关的各种类型的活动中的任何一种,包括但不限于:金融交易(例如,ACH转移、信用卡交易、借记卡交易、其他类型的支付或转账等)、更新账户信息、设置警报等。另外,该系统可以启用在一些实例中在本文中可以称为执行交易等的各种其他类型的活动(例如,更新账户信息、请求服务等)。

用户:外部机构处的用户账户的持有者。通常,用户维护用于访问其用户账户的账户凭证,并为客户的面向外部用户的系统/应用程序(例如开发人员的“app”)提供对以有限且安全地访问用户账户(例如,发起对商品或服务的支付)的授权和/或解除授权,。如本文所述,这种授权和/或解除授权(以及其他功能)由系统并且经由系统的API来启用。有利地,根据一些实施例,面向外部用户的系统/应用程序永远不能访问用户的账户凭证。而是,该系统可以安全地使得用户能够指示授权和/或解除授权,而不会在系统(和/或系统的可信实体,诸如可信第三方处理器)之外暴露账户凭证。

用户输入(也称为“输入”):个人(例如,用户或客户)与计算系统进行的交互(诸如,由用户/客户提供的旨在由系统接收和/或存储的任何类型的输入),用于使得能够对由系统显示和/或存储的数据进行更新、使得能够对由系统显示和/或存储数据的方式进行更新。这种用户输入的非限制性示例包括键盘输入、鼠标输入、数字笔输入、语音输入、手指触摸输入(例如,经由触敏显示器)、手势输入(例如,手移动、手指移动、手臂移动、任何其他附属肢体的移动和/或身体移动)等。另外,用户对系统的输入可以包括经由用户操纵的工具和/或其他物体进行的输入。例如,用户可以移动诸如工具、触笔或识别笔等物体以提供输入。进一步地,用户输入可以包括运动、位置、旋转、角度、对准、取向、构型(例如,拳头、手平伸、一根手指伸出等)等。例如,用户输入可以包括手和/或3D鼠标的位置、取向和/或运动。

数据存储装置:任何计算机可读存储介质和/或设备(或数据存储介质和/或设备的集合)。数据存储装置的示例包括但不限于光盘(例如CD-ROM、DVD-ROM等)、磁盘(例如硬盘、软盘等)、存储器电路(例如固态驱动器、随机存取存储器(RAM)等)等。数据存储装置的另一示例是托管存储环境,该托管存储环境包括可以被远程访问并且可以根据需要被快速提供的物理数据存储设备的集合(通常称为“云”存储)。

数据库:用于存储和/或组织数据的任何数据结构(和/或多个数据结构的组合),包括但不限于关系数据库(例如,Oracle数据库、mySQL数据库等)、非关系数据库(例如,NoSQL数据库等)、存储器中数据库、电子表格、如逗号分隔值(CSV)文件、可扩展标记语言(XML)文件、TeXT(TXT)文件、平面文件、电子表格文件和/或用于数据存储的任何其他广泛使用的格式或专有格式。数据库通常存储在一个或多个数据存储装置备中。因此,本文(例如,在本文的描述和/或本申请的附图中)所指的每个数据库应被理解为被存储在一个或多个数据存储装置中。

如图1所示,用于对用户账户访问进行安全许可并对汇总用户账户数据进行安全分发的方法S100可以包括:生成用户账户的用户账户报告S110,从第一第三方系统接收账户报告请求S120,向第一第三方系统共享报告令牌S130,通过报告令牌向第一第三方系统提供对用户账户报告的访问S140,这样的作用是使得外部实体能够访问用户的财务报告信息。

初始报告令牌可以用于访问报告。可替代地,报告令牌可以用作审计令牌。作为另外的或可替代的变型,该报告令牌可以与第二第三方系统共享,并且然后由该第二第三方系统提供,以确认对该报告的授权和该报告的完整性。例如,在用户账户报告由第一第三方与第二第三方共享的情况下,报告令牌可以用作审计令牌。报告令牌可以伴随报告,并且然后第二第三方可以使用该报告令牌来验证报告的真实性和完整性。

此外,如图2所示,该方法可以包括用于管理对用户账户报告的共享访问的功能,其中,该方法可以包括:共享财务报告的第二报告令牌S150;以及通过第二报告令牌向第二第三方系统提供对用户账户报告的访问S160。另外,如图3所示,该方法可以包括:向用户提供管理用户界面并且监管对用户账户报告的访问S170。

用户账户报告优选地是来自外部机构的汇总用户账户数据。在优选的应用中,外部机构是金融机构,并且用户账户报告被表征为财务报告,其中,该方法用于管理对财务记录的访问。

因此,优选实施例的用于管理对财务记录的访问的方法的变型可以被更具体地描述为包括:生成用户账户的财务报告S110,从第一第三方系统接收财务报告请求S120,向第一第三方系统共享报告令牌S130,通过报告令牌向第一第三方系统提供对财务报告的访问S140,这样的作用是使得外部实体能够访问用户的财务报告信息。此外,该方法可以包括用于管理对财务报告的共享访问的功能,其中,该方法可以包括:共享财务报告的第二报告令牌S150,以及通过第二报告令牌向第二第三方系统提供对财务报告的访问S160。另外,该方法可以包括:向用户提供管理用户界面并且监管对财务报告的访问S170。

该方法可以应用于对任何合适的汇总用户账户数据进行安全分发。本文中参考财务报告提供的描述不将该方法限制成与财务报告一起使用,并且对于本领域的技术人员显而易见的是,本文描述的方法可以被修改、调整或以其他方式适应于替代财务报告或除了财务报告之外的其他类型的用户账户数据(诸如,医疗记录、个人数据等)。

财务报告优选地是由从金融机构服务器获得的用户账户的汇总财务数据组成的资产报告。财务报告将优选地包括账户/用户信息、历史交易信息、金融账户余额、历史每日账户余额和/或任何合适的相关信息。在一些用例中,第一第三方系统是贷方的贷款管理系统的一部分。第二第三方系统可以是第二贷方的另一贷款管理系统、审计员的计算系统和/或另一实体的任何合适的系统。

优选地,结合本文所描述的系统来实施方法S100。主要地,该方法被描述为其可以由与一个或多个外部财务数据源进行接口连接的数据管理平台实施。诸如当该方法由银行系统实施时,一个或多个财务数据源可以是数据管理平台的一部分。

主要地,该方法S100在本文中被描述为其适用于一个或两个第三方系统,但是该方法可以被扩展为使得可以许可任何数量的第三方系统通过使用多个不同的第二令牌来访问财务报告。

另外,该方法S100被描述为其可以用于一个用户。然而,在多个实例中,该方法可以在数据管理平台上针对一个或多个用户中实施。通常,在贷款批准过程中,用户将需要提供对多个财务数据源的访问。因此,该方法可以被实施成使得可以许可用户通过数据管理平台对多个金融用户账户进行认证,从而可以访问多个财务记录(或者可替代地,可以创建单个汇集的财务记录)。另外,在数据管理平台内,该方法被优选地实施成使得可以跨多个用户和第三方执行该方法的多个实例。

优选地,通过各种计算机系统之间的一系列应用程序编程接口(API)通信来促进方法S100。该API在本文中主要被描述为RESTful API,但是其可以是任何合适类型的API,诸如graphQL、简单对象访问协议(SOAP)、远程过程调用(RPC)和/或任何合适类型的协议。

另外,本文描述了可以与方法S100结合使用或单独使用的、该方法的各个方面的详细描述。

包括生成用户账户的财务报告的框S110的功能是准予数据管理平台访问用户的私有财务数据。财务报告优选地是基于来自至少一个时间点的数据的数据呈现。换句话说,财务报告一旦被创建,则无论何时被访问,其都优选地保持不变。尽管一些变型可能会启用通过其可以刷新财务报告的过程。原始数据优选地从诸如银行处的支票或储蓄账户或者信用卡账户等金融机构获得。在一个变型中,财务报告对应于金融机构处的一个账户。在一些变型中,可以从多个账户和/或金融机构获得数据,并且可以将数据汇集成单个财务报告。

生成财务报告优选地包括认证用户账户、访问财务数据以及创建财务报告。

在财务数据源的外部系统上对用户账户进行认证,这样的作用是验证具有金融机构所指示的用户账户的用户的身份。该用户通常将具有独立于第三方系统处的用户账户的金融系统用户账户。金融系统用户账户优选地具有用户凭证和各种认证机制(例如,双因素认证、认证令牌、安全性问题等)。用户凭证优选地被接收和/或被引导到财务数据源以获得对金融系统用户账户的访问。

作为一个变型,框S110可以包括通过代理服务来接收用户凭证,该代理服务被配置为与财务数据源进行接口连接并且从财务数据源访问数据。用户凭证优选地通过第二客户端被接收,该第二客户端优选地不同于第一第三方系统的客户端或计算系统。

在一个变型中,用户可以通过单独的应用程序建立数据管理平台与财务数据源之间的连接。在另一变型中,用户可以从嵌入在第三方系统的应用程序内的iframe小部件/应用程序建立数据管理平台与财务数据源之间的连接。嵌入式应用程序优选地是沙箱式的,以便第三方系统不能访问用户凭证。可以提供用户界面以促进对金融机构的选择和对用户凭证的收集、后续认证步骤(例如,双因素验证)的完成。

优选地,数据管理平台可以采用应用程序代理系统来促进完成向金融机构系统进行的对外部金融用户账户的认证并且促进对金融用户账户的私有数据的访问。取决于金融机构,该方法可以包括通过提供的编程接口(例如,银行账户API)或通过模拟金融机构系统的用户界面访问来进行访问。各种机构接口模块可以用于对访问金融机构的应用程序的内部接口进行建模。

因此,如图4所示,生成财务报告可以包括:从用户客户端接收金融账户凭证S112,使用该金融账户凭证向金融机构进行认证S114,从金融机构获得财务数据S116,以及至少根据财务数据来汇集财务记录S118。在一些变型中,可以针对一个或多个金融机构的不同金融用户账户多次重复S112、S114和S116,并且框S118可以包括根据自多个金融用户账户的财务数据来汇集一个或多个财务记录。在一个变型中,框S114和S116可以包括:利用移动设备应用程序的虚拟化实例向金融机构进行认证;由移动设备应用程序的虚拟化实例并经由金融机构的非公共API来请求与该金融机构处的用户账户相关联的交易数据和账户余额;以及从外部机构的外部计算设备接收与用户相关联的交易数据和账户余额。另外,访问金融机构的模式可能取决于可用的机构接口模块。因此,基于金融机构,可以选择适当的机构接口模块。

作为另一变型,当该方法的操作者是账户财务数据的持有者时(诸如当银行正促进对财务记录进行访问时),可以直接访问财务数据。优选地,银行系统通过诸如接收银行凭证等某种机制、通过在银行系统上的账户管理门户内准予许可或通过任何合适的机制来认证来自用户的许可。

当在外部系统上对用户账户进行认证时,数据平台优选地将财务数据源建立为与用户账户的平台标识符和第一第三方的平台标识符两者相关联的经认证数据通道。优选地,该第三方最初已向数据管理平台注册,并促进其相关联标识符的共享。例如,当使用嵌入式应用程序关连到金融账户时,向该嵌入式应用程序提供第三方标识符,使得通过该嵌入式应用程序执行的动作可以与该第三方相关联并被映射到该第三方。

在一种实施方式中,用户通过代理服务认证其金融用户账户的过程会建立与第三方系统的客户端共享的访问令牌。随后,可以将访问令牌从第三方系统传送到数据管理平台,以建立对数据管理平台代表第三方系统的请求来访问金融用户账户的许可。

访问财务数据并创建财务报告的作用是聚集所期望的数据并产生可以用于提供财务报告的数字资源。

访问财务数据的作用是从一个或多个金融用户账户收集财务数据。可以使用金融机构的编程接口来导入财务数据(如果编程接口存在的话)。可替代地,可以从报告、控制面板、数据导出和/或其他信息源获得或下载数据。

优选地,该财务报告呈现金融用户账户在指定时间段内的交易数据和/或账户余额。优选地,该财务报告用类别标签、位置和商户名称来清理交易数据。另外,该财务报告可以返回账户名称和身份信息、余额、历史每日余额信息、历史交易。

创建财务报告优选地包括对财务数据进行规范化,这样的作用是清理财务数据并将其更新为一致的格式。对财务数据进行规范化可以解决不同金融机构之间的不一致问题,从而使得第三方系统更易于进行处理。对财务数据进行规范化可以包括清理交易和/或商户名称、将原始交易记录信息映射到标准标识符。

另外,创建财务报告可以包括合并、净化、匿名化和/或以其他方式更改原始私有数据的表示。作为一个示例,可以将来自相似类型的商户的多个交易合并成单个交易记录,以模糊用户的行为细节。类似地,可以将商户名称转换为更通用的占位符。

另外,生成财务报告可以包括对财务数据进行过滤,这可以用于排除各种类型的数据。这可以用于提供仅表示完整财务数据的有限视图的财务报告。作为一个示例,过滤财务数据可以包括将财务报告限制为来自指定时间段(诸如最近24个月)内的交易数据。例如,被配置用于收入验证的财务报告可能仅汇集总结了与收入相关联的交易数据的信息。

在一些变型中,创建财务报告可以另外包括处理财务数据并提供一个或多个财务分析概要。财务分析概要优选地用作由财务数据得出的更高级别的评估或指标。财务分析概要可以包括一个或多个财务概要指标、图表或数据集。财务分析概要可以用作财务报告的补充属性,但可替代地可以用来替代某些信息。例如,财务分析概要可以用来替代各项交易明细。可以使用各种类型的财务分析概要。在一个变型中,财务分析可以提供一种或多种风险度量。在另一变型中,收入可以通过基本收入水平来度量和/或通过不同的收入来源来区分。在另一变型中,开销可以被分成不同的开销类别。

另外,创建财务报告可以包括提取账户信息,诸如名称、地址、位置、账户持续时间和/或可从财务数据源获得的其他合适类型的数据。

优选地,响应于来自框S120的财务报告请求而执行访问财务数据并创建财务报告。可替代地,可以响应于用户动作而创建财务报告。例如,可以通过管理用户界面来许可用户手动地发起财务报告的创建。优选地,与被许可访问财务报告的一个或多个第三方账户相关联地执行该报告的创建。

包括从第一第三方系统接收财务报告请求的框S120的作用是发起财务报告的建立。更具体地,财务报告请求是创建请求。优选地,数据管理平台响应于有效的财务报告请求而发起针对相关金融用户账户的财务报告的创建。

财务报告请求优选地作为通过API接收的编程请求来接收。来自第三方的API请求优选地从第三方系统的计算系统提交。更具体地,第三方客户端设备进行该请求。可替代地,可以通过提供给第三方的用户/管理员的用户界面来接收财务报告请求。

优选地,财务报告请求由以下各项构成:指示请求实体的参数(例如,第一第三方账户ID和秘密令牌)、财务报告的属性(诸如财务报告中涵盖的日期)、金融账户标识符、要被添加到报告中的附加数据(例如,如法定名称、SSN、联系信息等用户信息)。可以提供金融账户标识符作为结合在数据管理平台与用户的金融用户账户之间建立关连而生成的访问令牌。可以提供一组金融账户标识符(例如,访问令牌),每个财务数据源的金融账户标识符都将包括在财务报告中。在某个实例中,该请求可以指示数据管理平台可以在适当的时间(诸如,在财务报告被创建并准备好进行访问时)调用的回调URI(即Webhook URL)。

在内部,数据管理平台将优选地发起指定财务报告的创建,这可以包括如上所述的访问财务数据并创建财务报告。

在一些变型中,可以根据先前的财务报告生成新的财务报告。在一个变型中,可以做出刷新现有报告的请求。财务报告是用户资产和财务状况在某个时间点的快照,并且优选地是不可变的。因此,该方法可以进一步包括:接收与财务报告相关联的更新请求,这样的作用是刷新或更新财务报告。该方法优选地包括:响应于更新请求,基于新财务数据和原始财务报告请求而创建更新的新更新财务报告,并且共享或以其他方式返回经更新财务报告的经更新报告令牌。

经刷新的财务报告的设置可以与之前的财务报告基本上相同。然而,请求可以指定不同的参数来覆写之前的请求参数。在另一变型中,可以做出通过限制所包括的账户、交易或其他合适的信息来将现有财务报告缩小到仅包括财务数据的子集的请求。正如以上所述,优选地,响应于过滤请求而创建新的财务报告。过滤器请求将优选地指示财务报告令牌和过滤对象(例如,要排除的金融用户账户清单)。访问所得财务报告并共享经刷新的财务报告或过滤后的财务报告优选地基本上类似于本文中针对新创建的财务报告所描述的过程。

包括向第一第三方系统共享报告令牌的框S130的作用是向第三方系统提供可用于访问相关联财务报告的密码密钥。共享报告令牌优选地包括建立报告令牌并将第二报告令牌传送到第一第三方系统。优选地,结合创建财务报告来生成或以其他方式分配财务报告标识符。另外,创建或生成报告令牌,并将报告令牌与财务报告(及其标识符)唯一地相关联。另外,报告令牌可以与第三方账户标识符唯一地相关联,使得只有该账户身份才能使用该特定报告令牌来访问财务报告。可替代地,报告令牌可以与多个第三方账户相关联。存储相关报告令牌信息(例如,财务报告标识符、报告令牌和第三方账户标识符的映射)的数据库优选地被更新为相应地存储报告令牌的记录。

在创建报告令牌时,将报告令牌优选地传送给第三方系统。优选地,如图26所示出的,在对框S120的财务报告请求的通信响应中传送报告令牌。

第三方系统优选地将账户标识符存储在安全且持久保存的数据存储装置中,以用于随后访问财务报告。

在又另一变型中,报告令牌可以用作可以用于验证财务报告的完整性的审计令牌。在一些变型中,财务报告可以与报告令牌一起共享。报告令牌可以用作通过其可以验证财务报告的完整性的机制。例如,第二第三方系统可以将审计令牌提交到数据管理平台,从而将可以诸如通过验证共享财务报告包括相同信息或至少该信息被验证为与数据管理平台的用户账户数据和报告的至少一部分一致来提供报告完整性的指示。

包括通过报告令牌向第一第三方系统提供对财务报告的访问的框S140的作用是向第一第三方系统递送财务报告或公开对财务报告的访问。

优选地,一旦财务报告完成,就提供访问。在一个变型中,在财务报告完成时,数据管理平台会调用第三方系统的回调URI。在另一变型中,第三方系统周期性地轮询数据管理平台,以检查财务报告何时完成。可替代地,当准备好财务报告时,可以使用websocket或其他机制在第三方系统与数据管理平台之间建立连接。

因此,提供一个优选变型的第一第三方访问包括:在财务报告完成时,向指定的URI发送通信;从第三方系统接收财务报告访问请求;以及返回财务报告。可以使用如所提及的其他方法来通知第三方系统财务报告已完成。本文中,从第三方系统接收到通信表明接收到包括认证凭证或密码令牌的通信(例如,HTTP/S消息),这指示原始客户端被理解为代表第三方。所接收到的财务报告访问请求将优选地另外包括或涉及如图27A所示的报告令牌。报告令牌优选地被确认为属于相关联的第三方。在一种实施方式中,可以使用报告令牌来查询报告令牌数据库,然后可以使用检索到的报告令牌来识别财务报告并验证对相关联的第三方身份的访问许可。

在一个变型中,财务报告可以被创建为可共享的媒体文件,诸如PDF、数据导出(例如,csv、json、xml等)或其他合适的媒体文件。财务报告访问请求可以指定财务报告的媒体格式,并且财务报告的对应格式被返回。如图27B所示,财务报告的json数据表示可以细分(breakout)各种属性,诸如账户信息、余额、历史余额、交易等。

作为一个附加或可替代变型,财务报告可以通过受控用户界面共享,而不作为数字数据对象进行递送。受控用户界面优选地是用于在受控媒体内呈现财务报告的财务报告访问用户界面。因此,通过报告令牌向第一第三方系统提供对财务报告的访问可以包括:接收伴随该报告令牌的访问请求;以及呈现财务报告访问用户界面。在财务报告访问用户界面内,呈现财务报告可以包括呈现静态文档表示。可替代地,呈现财务报告可以包括将交互式界面渲染到财务报告,其中,可以在交互式用户界面中查询和浏览财务报告的结果。受控计算环境可能会限制第三方不受数据管理平台控制地下载财务报告和共享该财务报告的机会。在一些情况下,财务报告访问用户界面以及其他可共享媒体文件格式可以是可选选项。在一些情况下,访问格式可能受某个其他因素控制。例如,第二贷方使用审计报告令牌来访问财务报告可能仅限于用户界面格式。

如所提及的,该方法可以另外包括:共享财务报告的第二报告令牌S150,以及通过第二令牌向第二第三方系统提供对财务报告的访问S160,这样的作用是允许为指定的第三方实体生成附加报告令牌。附加报告令牌优选地与第三方实体标识符唯一地相关联,这些第三方实体标识符在功能上可以是数据管理平台内的账户标识符。第一第三方系统将优选地请求创建附加报告令牌。在一些变型中,一旦其他第三方实体具有报告令牌,则这些其他第三方实体可以另外请求生成附加报告令牌。在一些变型中,可以以各种方式来限制对创建新报告令牌的许可。

包括共享财务报告的第二令牌的框S150的作用是向第二第三方系统提供可用于访问相关联财务报告的密码密钥。框S150以与框S120和S130相似的方式操作。框S150与S120和S130的不同之处至少在于以下事实:为新的第三方请求报告令牌。

优选地,共享财务报告的第二令牌包括:从第一第三方系统接收第二报告令牌请求,建立第二报告令牌,以及将第二报告令牌传送给第一第三方系统。

第二报告令牌请求优选地是创建新的第二报告令牌的请求。第二报告令牌请求优选地包括第二第三方实体的标识符。在一些变型中,可用的第二第三方实体清单是一组有限的经授权的第三方。例如,在共享财务报告以进行监管合规时,第二第三方实体可以是“Fannie Mae”。

在一些变型中,不需要针对第二报告令牌的请求。在一个可替代变型中,可以响应于生成财务报告而自动生成第二报告令牌。例如,创建财务报告的原始请求可以指定期望其第二报告令牌的一个或多个第二第三方实体。在另一变型中,各种审计要求的指示可以预先配置数据管理平台以提供对指定审计机构的访问。

建立第二报告令牌优选地涉及创建新的报告令牌。以与原始报告令牌类似的方式,第二报告令牌与财务报告唯一地相关联(例如,经由财务报告标识符),并且与第二第三方唯一地相关联,使得只有第二第三方的账户才可以使用该特定第二报告令牌来访问财务报告。可以将新的报告令牌标注为第二报告令牌。可替代地,第二报告令牌可能未与原始报告令牌明确区分开。例如,可以使用同一报告令牌数据库来存储这些报告令牌。

优选地,通过外部通信通道将第二报告令牌传送给相关联的第二第三方实体。然而,在一些变型中,第二报告令牌可以直接被递送给第二第三方。例如,可以将第二报告令牌与某些标识信息一起添加到报告令牌的存储库中。可以向第二第三方通知最新添加的报告令牌。在另一变型中,(例如,通过针对创建第二报告令牌的请求,或者在表现为第三方账户时由第二第三方)提供回调URI,并将第二报告令牌递送给回调URI。如果将回调URI发往第二第三方系统,则第二第三方实体将直接传送第二报告令牌。

可替代地,第二报告令牌可以被称为审计令牌,但是第二报告令牌的用途不限于审计。例如,在评估接管贷款时,可以向其他贷方提供对原始财务报告的访问。

包括通过第二令牌向第二第三方系统提供对财务报告的访问的框S160的作用是向第二第三方系统递送财务报告或公开对财务报告的访问。框S160优选地基本上类似于框S140,并且框S140的许多变型可以应用于S160。

通常,在向第二第三方系统提供用于访问财务报告的第二报告令牌时,财务报告已经创建好。如果未创建财务报告,则当财务报告可用时,可以使用与框S140中使用的机制类似的机制来通知第一和/或第二第三方。

类似于框S140,框S160可以包括:从第二第三方系统接收财务报告访问请求,以及返回财务报告。该第二财务报告访问请求优选地是从第二第三方系统发送的,并且被认证为来自第二第三方账户。财务报告访问请求可以另外包括第二报告令牌,该第二报告令牌被验证为映射到财务报告和第二第三方账户。可以类似地请求财务报告的格式。

可替代地,通过第二报告令牌向第二第三方系统提供对财务报告的访问可以包括:接收伴随该第二报告令牌的访问请求;以及呈现财务报告访问用户界面。

包括向用户提供管理用户界面以及监管对财务报告的访问的框S170的作用是向用户提供用于监督其财务报告由谁来处理的机制。尽管用户通常可以理解与第一第三方进行的财务报告的初始共享,但是对财务报告所采取的后续动作(尤其是在通过传统手段执行时)通常不会向最终用户公开。框S170提供了各种机制,用户可以通过这些机制查看与其财务报告相关的活动和/或采取动作来表达对财务报告的某种控制措施。

在框S170的一个变型中,监管对财务报告的访问可以包括提供财务报告的访问历史,这样的作用是提供对访问请求以及第三方访问财务报告的实例的审计。优选地,将访问历史与诸如事件时间等细节以及第三方信息一起呈现在管理用户界面内。用户可以审阅已经与谁共享财务报告。

在框S170的附加或可替代变型中,监管对财务报告的访问可以包括:通过管理用户界面接收访问许可;以及根据访问许可来许可访问财务报告。

根据访问许可来许可访问财务报告可以包括限制以下各项:谁可以访问财务报告、何时可以访问财务报告、谁可以为其他第三方创建新的报告令牌、谁可以查看财务报告内的特定信息和/或其他监管措施。可以在管理用户界面中先发地执行访问许可设置。例如,用户可以选择用于限制与第二第三方共享财务报告的选项。

另外,可以配置在数据管理平台内管理访问处理的设置。在一个示例中,响应于用户输入,可以许可新的第三方对财务报告进行初始访问。可替代地,可以将用户的响应输入配置为如图29中的S2821和S2822所示的默认功能。

在一个变型中,通过管理用户界面接收访问许可并根据访问许可来许可访问财务报告可以包括:通过管理用户界面向用户通知新访问请求;接收对该新访问请求的用户输入;以及根据该用户输入来许可该访问请求。可以在为第三方创建报告令牌之前、在提供对财务报告的访问之前或在任何合适的时间执行对新访问请求的通知。还可以针对其他动作(诸如用更新近的财务数据刷新财务报告)执行类似的用户输入验证。

在一个示例中,数据管理平台通过经加密且经认证通道向用户的管理界面发送请求,以向用户征求将所请求的财务报告披露给一个或多个指定的第三方的许可。如果用户拒绝该请求,则不会将任何数据披露给第三方,并且该用户的数据隐私得以维护。如果用户批准该请求,则可以由指定的第三方访问该财务报告。在一种实施方式中,当已经提供用户响应时,通知第三方系统的回调URI。

在获得用户输入的附加或可替代变型中,该方法可以另外包括自动监管第三方的访问。自动监管第三方的访问可以包括动态地且选择性地许可有效访问请求并拒绝无效访问请求。访问请求的有效性可以基于各种因素。由于数据管理平台具有对各个第三方的活动的可见性。因此数据管理平台可以实施用于使用该平台来分析跨多个用户和多个第三方的财务报告访问的过程。有效地,该方法可以包括评估第三方的平台交互。评估平台交互优选地涉及分析请求的历史和对数据管理平台的使用,并且可以另外涉及分析数据管理平台外部的信息。平台交互的所得评估可以生成第三方的可信分数,或者可替代地可以用于标记特定的使用模式。

在自动监管访问时,可以自动允许标准的或预期的访问请求。例如,可以自动许可监管机构和可信第三方使用其报告令牌来访问财务报告。第三方的非典型行为和/或指示非法的或不想要的行为的活动可能会导致自动拒绝访问请求。在一些情况下,可以通过获得用户输入将许可或拒绝的决定委托给用户。例如,代替自动拒绝有问题的访问请求,数据管理平台可以通过管理用户界面通知用户并且接收用户对此事的输入。

在图28A和图28B所示的示例性实施方式中,该方法可以结合数据管理平台的API来实施以管理资产报告的创建和安全访问。如图21B所示,第一第三方系统和第二第三方系统可以与API交互以访问报告。如图28A所示,数据管理平台初始地被设置为访问用户的金融账户。用户优选地使用数据管理平台的账户访问接口。该账户访问接口优选地是代理服务或一组编程接口,数字系统可以使用该代理服务或一组编程接口来提供用于将数据管理配置成充当用于访问外部用户账户的私有数据的可信源的安全认证流程。例如,诸如在图22A至图22L中所示的用户界面可以允许用户利用他们的银行用户账户的银行凭证进行认证,使得数据管理平台可以访问该银行用户账户的财务数据。因此,用户将优选地发起创建条目S2801,其中,该条目表示外部用户账户的一组凭证。该条目用于对外部系统(诸如,外部金融机构系统)进行认证。然后,使用这些认证凭证来访问金融账户及其相关联的私有数据(S2802和S2803)。优选地,可以针对任意数量的用户账户重复金融账户到用户账户的关连。例如,可以针对期望从其得到财务报告的多个银行重复S2801至S2803。

用户客户端可以是单独的应用程序,或者是集成到贷方系统中的组件。优选地,将访问令牌在客户端与贷方系统之间共享,并且然后在贷方系统与数据管理系统之间共享(S2804)。

当贷方系统准备好创建资产报告时,贷方系统优选地发送创建资产报告的请求(S2805)。然后,数据管理系统初始化资产报告的创建(S2806),该资产报告提供从某个时间点开始的财务记录的历史记录。内部标识符在数据管理系统内被创建(S2807),并且然后被用来分配资产令牌(S2808),该资产令牌被与贷方系统共享(S2809)。

如果数据不是当前的,则内部财务记录访问系统优选地访问一个或多个金融机构的私有数据。一旦访问了该数据,就生成资产报告。一种优选的实施方式是使用webhook(即,传送到贷方系统的指定URI的HTTP/S通信)来通知贷方系统(S2810),但是可以使用任何合适的通知放贷系统的模式。一旦被通知,放贷系统就可以联系数据管理平台以请求完整的资产报告(S2811)。该请求优选地包括资产令牌。该资产令牌被映射到记录并且被验证为对应于贷方标识符和资产标识符(S2812)。然后优选地将对应的资产报告返回到贷方系统(S2813)。在递送资产报告时,数据管理平台可以应用任何种类的访问策略。该访问策略可以部分地由最终用户管理。另外,可以跟踪针对访问和/或所提供访问的请求,并将这些请求报告给用户或其他方。

在一些使用场景中,资产报告的初始获取者可能期望向其他人提供对资产报告的信息的访问,如图28B所示。例如,审计员或另一贷方可能对访问财务报告感兴趣。例如,访问共享过程可以用于向Fannie Mae提供访问。优选地,贷方做出创建新令牌的请求,指定方也可以使用该新令牌来访问财务报告(S2814)。优选地,创建第二资产令牌(S2815),并将该第二资产令牌与第二第三方的账户标识符相关联,在图28B的情况下,该账户标识符是审计员的账户ID。可以将第二资产令牌(例如,“审计令牌”)返回给贷方(S2816),该贷方然后优选地与审计员共享审计令牌(S2817)。利用审计令牌,审计员可以向数据管理平台提出其自己的请求(S2818)。平台可以验证审计员的账户与审计令牌相关联并访问资产报告(S2819),并且然后将资产报告递送给贷方(S2820)。优选地,唯一报告令牌被创建并由期望进行访问的每个第三方使用。在一些情况下,只有原始第三方才可以生成第二报告令牌。在其他情况下,另外或可替代地,可以使得第二报告令牌的用户和/或持有者能够许可新的报告令牌。

图30展示了可以从一个或多个外部用户账户系统访问用户账户数据的计算系统100(例如,系统)的某些方面。系统100可以包括应用程序编程接口(API)服务110、应用程序代理系统120和至少一个机构接口模块(例如,模块131、132和133)。该系统用于向不具备公开的编程式访问的一个或多个外部用户账户系统(例如,外部用户账户系统141、142和143)提供编程式访问。外部用户账户系统可以包括专有金融服务和外部金融服务(例如,如以上所述的金融机构服务等)。这样的机构可以具有使得用户能够从移动设备或桌面设备访问用户账户数据/信息的第一方软件应用程序(例如,移动应用程序)。这样的第一方应用程序通常使用专有的或定制的应用程序编程接口(API)(例如,API 161、162和163)。这些API通常不是公共的并且不被公开。例如,通常阻止开发人员注册账户和使用开放API认证方法来任意访问这样的外部用户账户系统的API资源。另外,外部用户账户系统的API(例如,API161、162和163)是可能不会与其他机构共享的非平凡的定制接口协议;例如,每个外部用户账户系统都符合其自己的接口。

系统100用于向该一个或多个外部用户账户系统(例如,外部用户账户系统141、142和143)提供规范化接口(例如,API服务110)。系统100通过利用应用程序代理系统120来使得能够对外部用户账户系统内的用户账户进行访问。应用程序实例的虚拟化“图像”或数字模拟在应用程序代理系统120中维护,并用于访问外部用户账户系统的未公开的API(例如,API 161、162和163)。尽管该系统可以应用于金融机构,但是另外或可替代地,该系统可以应用于向具有封闭的或受限的API访问的其他外部系统提供API访问。

系统的API 110用于提供面向客户的规范化接口。API 110可以在以下意义上被规范化:到充当用户账户数据源的外部用户账户系统(例如,外部用户账户系统141、142和143)的基础非公共(或公共)API被抽象出,并且到各种不同的外部用户账户系统的API 110基本上被标准化。在一些变型中,当与外部用户账户系统进行接口连接时,API 110的各个方面可能受到限制。例如,一个机构可能不支持诸如数字支票存款等功能,而第二机构则支持该功能。在这种情况下,API 110可以将API定义成使得针对第一机构阻止用于支票存款的API功能。系统100并且更具体地API 110可以用于向例如外部开发人员等客户提供可访问的API服务。因此,系统100可以是允许众多账户共享对系统100的使用的多租户系统。可替代地,系统100并且更具体地API 110可以是单租户系统。例如,该系统可以用作提供在线财务管理产品的网站的内部系统。

API服务110可以是RESTful API,但是可替代地可以是任何合适的API(诸如,SOAP或定制协议)。RESTful API根据HTTP请求和响应模型进行工作。到系统100的HTTP请求(或任何合适的请求通信)可以遵循RESTful设计原理。在本文档中,RESTful被理解为描述了本领域中已知的代表性状态转移架构。RESTful HTTP请求可能是无状态的,因此所传送的每个消息都包含用于处理请求和生成响应的所有必要信息。API服务110可以包括充当端点的各种资源,这些端点充当用于指定所请求的信息或请求特定动作的机制。资源可以表示为URI路径或资源路径。另外,RESTful API资源可以响应于不同类型的HTTP方法,诸如GET、PUT、POST和/或DELETE。

API服务110可以提供针对如由系统100提供的各种信息资源和动作资源的接口。可以通过经由API 110查询特定API资源来访问与用户账户相关的信息/数据。例如,可以通过API 110的不同API调用来访问交易清单和关于每个单独交易的信息。另外,信息可以涉及账户概要信息、账户细节(诸如,地址和联系信息)、关于其他各方(诸如,交易中所涉及的实体)的信息和/或任何合适的信息。另外,可以使用API 110来触发或促进执行某个动作。例如,API调用可以用于转移资金、更新账户信息、设置警报或执行任何合适的动作。本领域技术人员将理解的是,这样的示例API特征使得可以使用任何合适的API特征可能性和语义体系结构。

在一个示例实施方式中,经由API 110的API调用可以支持添加用户、完成认证、访问交易信息及其他动作。例如,应用程序可以POST到API 110的“/connect”REST API资源以认证用户;如果机构包括多因素认证,则可以提交“/connect/step”资源以完成多因素认证凭证;并且然后对“/connect”资源执行GET可以访问与用户/用户账户相关的交易数据。另外,API 110可以包括信息资源,以用于访问关于交易中所涉及的实体的信息。例如,API110可以允许访问特定的业务资源以获得关于业务的上下文信息,诸如名称、位置和分类。在本文描述的系统和方法的优选用例中,存在用于诸如以下各项等动作的一组API和一组API资源/端点:请求创建财务报告、访问财务报告、为第二第三方创建新的报告令牌、创建经更新的财务报告和/或创建过滤后的财务报告。

应用程序代理系统120用于管理对第一方软件应用程序访问机构的模拟。应用程序代理系统120与一个或多个机构接口模块(例如,机构接口模块131、132和133)协作地操作,以建立充当虚拟化应用程序实例或模拟应用程序实例(在本文也称为“应用程序代理实例”、“代理实例”、“虚拟化实例”、“模拟实例”等)(例如,代理实例121、122和123)的数据模型和/或数据图像。从机构的角度来看,代理实例(例如,代理实例121、122和123)表现为安装在正在由用户使用的物理用户设备(例如,用户设备171和172)上的第一方应用程序(例如,银行2应用程序153)。换句话说,从代理实例接收到的请求被视为来自用户的第一方移动app、桌面app或基于web的应用程序的请求。应用程序代理系统120可以存储和维护多个应用程序代理实例(例如,代理实例121、122和123)。代理实例可以包括配置设置和属性,当根据限定的机构接口(例如,机构接口模块131、132和/或133的机构接口)使用这些配置设置和属性时,这些配置设置和属性将表现为来自机构(例如,机构141、142和/或143)的第一方应用程序(例如,应用程序153)的请求。可以为每个用户账户-机构对创建和维护不同的代理实例。给定的用户可能关于不同的机构具有多个用户账户。代理实例可以包括一组属性,可以使用这些属性向机构系统(例如,机构141、142和/或143)认证该代理实例。应用程序代理系统120提供用于以编程方式为用户创建代理实例的方法。用户可以提供一些账户凭证,这些凭证可以在通过该机构的非公共或公共API初始注册代理实例时使用。代理实例可以被表征为可以被存储和被维护的一组属性。这些属性中的一些属性可以自动生成、可以在协商注册期间从机构提供、可以是正被模拟的应用程序的属性和/或可以包括任何合适的标识信息和认证信息。这些属性可以包括唯一用户标识码、认证令牌、MAC地址(例如,用户设备171或172的MAC地址)或任何合适的信息。当代表用户向银行提出请求时,可以调用代理实例的属性来代表相关联用户获得对机构的访问。

图31描绘了图30的示例代理实例121、122和123。如图31所示,用户A在银行1和银行2中具有账户,而用户B在银行2中具有账户。如图31所示,每个代理实例都包括账户凭证和属性。

机构接口模块(例如,机构接口模块131、132或133之一)用于对至少一个应用程序(例如,应用程序153)与外部机构(例如,机构141、142或143之一)的内部接口(例如,与API161、162或163之一的交互)进行建模。可以为系统100可以与之进行接口连接的每个机构建立机构接口模块。例如,针对系统中可用的每个银行和/或信用卡公司,可以存在机构接口模块。机构接口模块可以包括特定机构的一组规则和过程。机构接口模块可以包括定义机构如何识别和/或认证特定应用程序的代理子模块。一些银行可以取决于设备的MAC地址(例如,用户设备171和/或172的MAC地址),一些银行可以取决于非对称密码令牌,而其他银行可以生成加密令牌。代理子模块用于建立代理实例信息。另外,机构接口模块可以包括机构协议子模块,该机构协议子模块定义了所提供的API 110功能与同外部机构(例如,机构141、142或143)进行的通信的形式和模式之间的映射。机构协议子模块可以定义发送到相关联机构的消息的报头、正文和其他属性。另外,协议子模块可以定义应如何处理数据以形成该消息。在一些情况下,可以以协议子模块可以定义的标准格式或专有格式来加密数据。另外,协议子模块可以定义用于实现请求的通信流。在一些情况下,可能需要进行多个请求才能完成请求目标。另外,与外部机构(例如机构141、142和/或143)的接口(例如API 161、162和/或163)进行交互的其他方面(诸如,多因素认证规则)可以内置到机构接口模块中。

可以基于对实际第一方应用程序(例如,应用程序153)的使用来构造机构接口模块。例如,可以对第一方应用程序的通信和/或源代码进行解析和分析,以建立一些或全部机构接口模块。在一些实施方式中,对外部机构的第一方应用程序(例如,应用程序153)的源代码进行解析和分析,以建立用于外部机构的一些或全部机构接口模块。在一些实施方式中,对外部机构与外部机构的第一方应用程序(例如,应用程序153)之间的通信进行解析和分析,以建立用于外部机构的一些或全部机构接口模块。

图32是展示了根据实施例的访问用户账户数据的示例方法的流程图。如图32所示,该方法可以包括:创建应用程序代理实例(框310),可选地通过代理实例来建立通信会话(框320),接收规范化账户请求(框330),通过代理实例与外部接口进行协商通信(框340),以及返回结果(框350)。该方法用于向不具备公开的编程式访问的一个或多个外部服务(例如,外部机构的外部用户账户系统)提供编程式访问。外部服务可以是非公共的(例如专有的)或公共的。如以上所述,外部服务可以由外部机构提供。这样的机构可以具有使得用户能够经由移动应用程序或桌面应用程序访问用户账户信息的第一方应用程序。这样的第一方应用程序可以使用外部机构的专有或定制API(例如,API 161、162和/或163)。这种API通常不是公共的并且不被公开。例如,通常阻止开发人员注册账户和使用开放API认证方法来任意访问外部机构的API资源。另外,这样的API是不与其他机构共享的非平凡的定制接口协议,例如,每个机构都符合其自己的接口。另外,该方法可以向多个外部服务(例如,外部机构141、142和/或143)提供规范化接口。该方法通过利用应用程序代理方法来使得能够实现针对机构内的账户的编程接口。应用程序实例的虚拟化“图像”或数字模拟在应用程序代理系统120中维护,并用于访问机构的未公开的API(例如,API 161、162和/或163)。尽管系统100可以应用于金融机构,但是另外或可替代地,系统100可以应用于向具有封闭的或受限的API访问的任何其他外部实体提供API访问。该方法可以通过如以上所述的系统100来实施,但是该方法可以可替代地由任何合适的系统来实施。

在包括创建应用程序代理实例(例如,应用程序代理实例121、122和/或123)的框310处,系统100用于为所选择的机构(例如,银行2 142)建立第一方应用程序实例(例如,应用程序实例153)的数字图像。可以响应于接收到初始请求而发起创建应用程序代理实例。该初始请求可以通过用户(或实体)(例如,用户A或用户B)与客户(例如,开发人员)的面向外部用户的系统/应用程序(例如,在用户设备171或172中的任一个和/或另一合适的设备上执行的、和/或在应用程序实例151、152的另一系统上进一步执行的应用程序实例151和/或152)进行交互来发起。然后,面向外部用户的系统/应用程序可以将初始请求发送到系统100。用户(例如,用户A和/或用户B)可以关于外部机构具有用户账户(例如,在线银行账户)。可以在初始注册期间或稍后的时间创建应用程序代理实例(例如,代理实例121、122和/或123之一),该应用程序代理实例将提供对外部机构的账户信息的访问。该用户的应用程序代理实例被创建之后,可以持久保存并在稍后的时间用于该给定的用户-机构组合(例如,“用户A-银行1”、“用户A-银行2”、“用户B-银行2”)。然而,当代理实例变为无效(例如,由于机构API更改、机构内进行的密码/登录更改和/或使代理实例无效的其他更改而导致的)时,可以创建新的代理实例。可以通过规范化API(例如,API 110)接收初始请求作为连接请求。该连接请求可能伴随着指定所选择的机构(如果有多个机构选项的话)的参数以及针对该机构的用户凭证。用户凭证可以包括用户名、密码、pin码和/或任何合适的凭证。另外,API请求可以包括认证凭证(诸如客户端标识符)以及与系统中的账户相关联的秘密令牌。

创建代理实例可以包括协商代理实例向机构的注册,这样的作用是建立关于所选择的外部机构的代理实例。机构接口模块(例如,模块131、132或133之一)可以促进在初始登录期间导航通信握手。不同的机构可能具有用于注册或登记新应用程序(在该方法中为代理实例)的不同过程,诸如,多因素认证。在协商期间,可以提取各种元素并将这些元素存储为代理实例的一部分。类似地,可以基于与机构的通信来生成一些属性。例如,在连接到外部机构的服务时,可以使用MAC地址或唯一设备标识符。这样的属性可以被存储为代理实例的一部分。

如以上所提及的,多因素认证(MFA)可能是与外部机构进行协商的一部分。例如,外部机构可能会通过指示MFA凭证要求进行响应。这种MFA要求可以通过将MFA质询/任务转发给用户来实现。在一种实施方式中,系统100接收指示应该询问安全性问题以完成协商的消息。该安全性问题被传回到相关联的应用程序(例如,可以由系统100的客户/开发人员账户操作的应用程序151和/或152)。然后,相关联的应用程序可以某种方式提出安全问题,以获得用户响应。MFA可以包括安全性问题、附加pin码(诸如,由一次性密码生成器提供的码或传输到第二设备的码)或任何合适形式的MFA。

在框330处,系统经由系统100的API 110接收规范化账户请求。如以上所提及的,对传送API请求的语法和模式进行规范化,使得格式独立于机构。这些请求可以包括各种类型的请求,这些请求可以包括:获得交易清单;请求关于特定交易的细节;执行某种财务转移(将资金从储蓄转为支票、设置到另一账户的转移、进行已安排支付、支票的数字存款等)、更新账户信息(例如,更新联系信息、更改密码、管理警报等)、请求服务(例如,新卡、报告欺诈等)等。规范化账户请求可以被映射到机构接口模块(例如,机构接口模块131、132或133之一)或定义用于实现API请求的通信的其他合适的组件。

在包括通过代理实例(例如,代理实例121、122和/或123之一)与外部接口(例如,API 161、162和/或163之一)进行协调通信的框340处,系统100用于在实现账户请求时执行和管理系统与外部机构系统(例如,系统141、142和/或143之一)之间的通信。代理实例(例如,代理实例121、122和/或123之一)提供了可以通过其准予访问的机制。在经认证的会话是活动的时,执行通信。系统100或外部机构可能会出于各种原因(诸如保持不活动持续设置的时间量)使通信会话过期。通信会话可能在登记代理实例之后是活动的,或者可能需要通过如以下所述的代理实例来建立会话。

协商通信可以包括创建符合外部机构预期的消息的请求。这请求可以包括设置报头、正文内容和其他消息属性。机构可能预期特定的报头。例如,报头可以包括主机或路径、数据、内容类型、cookie、MAC地址、用户标识符、授权属性和/或其他合适的报头。另外,创建请求可以包括将请求属性转换为预期的形式,这可以包括将设置的加密模式应用于请求。在一个变型中,对请求进行转换涉及根据公钥对内容进行加密,其中,公钥可以被存储为代理实例的一部分。这些机构可以采用各种方法来传送信息。在可替代机构中,消息的内容可能未加密,在这种情况下,内容可能以明文未加密的形式提交。除了创建符合外部机构预期的消息的请求之外,该方法还可以包括遵循请求-响应模式。该模式可以涉及单个请求和响应,但可以可替代地包括一系列不同的请求和响应以获得所期望的信息。

在一些变型中,信息或动作可能无法通过第一代理实例获得,并且因此该方法可以包括自动切换到具有所支持功能的第二代理实例。例如,完整的银行对账单在移动应用程序中可能不可获得,并且机构API(例如,API 161、162和/或163之一)可能不包括这种功能。因此,当需要该功能来实现API 110的API请求时,则可以使用第二代理接口。在一些变型中,经由API 110的API请求可以要求查询多个机构。这样的API请求对于总结跨多个账户的财务报表可能特别有用。该方法可以包括针对多个机构进行协商通信以及将结果组合为组合形式。

在包括返回结果的框350处,系统100用于递送结果作为对请求的响应。返回结果包括将从外部机构获得的数据转换为规范化形式。信息被格式化为标准化格式,该标准化格式在系统100所服务的不同机构之间的表示基本上相似。另外,对数据进行转换可以包括处理、补充和/或以其他方式增强信息。由机构提供的某项信息可能格式不良。例如,用于特定交易的存储信息可能标记不良,并且可能表示方式与其他机构不同。可以清理和/或用附加信息来补充关于外部实体的这种上下文信息。例如,实体可以补充有分类标签、标记、地理位置信息和/或其他合适的信息。返回的结果可以被表示为数据格式,诸如JSON、XML或任何合适的格式。

另外,该方法可以可选地包括框320,该框包括通过先前创建的代理实例来建立会话,并且其作用是在协商用于账户和机构的代理实例之后促进对信息的访问。代理实例可以存储和维护后续访问所需的信息。外部机构可能会限制对已设置会话的访问,该会话可能会在一定时间量后过期或者可能需要重新确认用户凭证。因此,当在通信会话过期之后发生针对账户的API请求时,则该方法可以使用先前的用户凭证和代理实例凭证来自动建立新会话。在一些变型中,MFA质询(例如安全性问题)可能会自动完成。

另外,该方法可以包括重新捕获更新的凭证,这样的作用是更新机构的用户凭证。当用户在机构内更改更新的凭证或者当代理实例以其他方式被账户锁定在外时,可能会更新这些更新的凭证。可能会发生表明通信会话不成功的错误,并且然后可以提交API请求以利用新凭证来更新代理实例。

再次参考图30,在一些实施方式中,外部机构的外部用户账户系统可以包括公共web浏览器界面。例如,如图30所示,银行1系统141可以包括用于经由web浏览器(或任何合适的web客户端)(例如,用户设备173的web浏览器181)访问银行1系统141的web浏览器界面191。如本文中以及以下参考图6和图7进一步所描述的,系统100经由外部机构的私有的专有API(例如,API 161)提供对用户账户数据的访问(与经由公共web浏览器界面191进行的访问相反)。在一些实施方式中,web浏览器界面191是托管用于经由web浏览器通过互联网访问外部机构系统的网站的web服务器。

图33A展示了根据实施例的应用程序代理系统120的各方面。如图33A所示,应用程序代理系统120包括针对系统100处的开发人员账户(例如,开发人员账户B 431和开发人员账户A 432)的用户账户(例如,用户账户411、412和413)的应用程序代理实例(例如,代理实例421、422、423、424和425)。应用程序代理系统120包括应用程序代理实例管理模块441,该应用程序代理实例管理模块被构造为生成应用程序代理实例、配置应用程序代理实例、删除应用程序代理实例等。

在一些实施方式中,每个应用程序代理实例(例如,代理实例421、422、423、424和/或425)指定开发人员账户、该开发人员账户的用户账户、相关联的外部用户账户系统(例如外部机构)、以及外部机构的用户账户的凭证,如图33B所示。在一些实施方式中,每个应用程序代理实例指定应用程序代理实例的属性。在一些实施方式中,属性包括唯一用户标识码、认证令牌、MAC地址(例如,用户设备171和/或172的MAC地址)或任何合适的信息中的一个或多个。

在一些实施方式中,应用程序代理实例管理模块441响应于创建应用程序代理实例的请求而创建应用程序代理实例。在一些实施方式中,创建应用程序代理实例的请求指定标识外部用户账户系统和面向外部用户的系统/应用程序的用户账户(例如,图30的面向外部用户的系统/应用程序152的用户账户)的信息。在一些实施方式中,创建应用程序代理实例的请求指定针对外部用户账户系统的用户凭证。在一些实施方式中,创建应用程序代理实例的请求指定标识与面向外部用户的系统/应用程序相关联的系统100的账户的信息。在一些实施方式中,创建应用程序代理实例的请求指定应用程序代理实例的属性。在一些实施方式中,应用程序代理实例的属性包括唯一用户标识码、认证令牌、MAC地址、对应的外部用户账户系统的用户账户和/或任何其他合适的信息中的至少一个。

在一些实施方式中,应用程序代理实例管理模块441存储所创建的与面向外部用户的系统/应用程序的用户账户(例如,图33A和图33B的“用户A”411)(例如,图30的面向外部用户的系统/应用程序152的用户账户)相关联的应用程序代理实例。在一些实施方式中,应用程序代理实例管理模块441存储所创建的与系统100的账户(例如,图33A和图33B的“开发人员账户B”431)相关联的应用程序代理实例,该系统的账户与面向外部用户的系统/应用程序相关联(该系统的账户例如是图30的面向外部用户的系统/应用程序152的用户账户)。在一些实施方式中,应用程序代理实例管理模块441存储所创建的与系统100的账户(例如,“开发人员账户B”431)相关联的应用程序代理实例(例如,图33A和图33B的“代理实例用户A银行1”421),该系统的账户与面向外部用户的系统/应用程序以及面向外部用户的系统/应用程序的用户账户(例如,“用户A”411)相关联。在一些实施方式中,应用程序代理实例管理模块441存储所创建的与系统100的账户相关联的应用程序代理实例,该系统的账户与以下各项相关联:面向外部用户的系统/应用程序、该面向外部用户的系统/应用程序的用户账户、以及标识应用程序代理实例的外部用户账户系统(例如,图33B的“银行1141”)的信息。在一些实施方式中,应用程序代理实例管理模块441存储所创建的与系统100的账户相关联的应用程序代理实例,该系统的账户与以下各项相关联:面向外部用户的系统/应用程序、该面向外部用户的系统/应用程序的用户账户、标识该应用程序代理实例的外部用户账户系统的信息以及标识该应用程序代理实例的用户账户的信息。

在一些实施方式中,创建应用程序代理实例包括控制应用程序代理实例管理模块441来构造应用程序代理实例,该应用程序代理实例用于模拟(应用程序代理实例的外部用户账户系统的)应用程序(例如,图30的应用程序153)向代表应用程序系统的用户账户(例如,“用户A”、“用户B”)的外部用户账户系统的通信、注册、协商注册等。

经由系统的代理实例访问用户账户数据的附加示例和细节可以在2015年7月2日提交的名称为“SYSTEM AND METHOD FOR PROGRAMMATICALLY ACCESSING FINANCIAL DATA[用于以编程方式访问财务数据的系统和方法]”的美国专利申请号14/790840(在本文中称为“’840申请”)中找到。因此,该申请的全部披露内容成为本说明书的一部分,如同在本文完整阐述的那样并出于所有目的通过援引以其所包含的全部内容结合在此。

如以上所提及的,系统100还可以经由API 110用于访问各种类型的用户账户数据,包括文档(诸如,报表)。系统100还可以经由API 110用于发起交易(诸如账户之间的资金转移、安排支付等)。系统100还可以经由API 110用于更新账户信息或请求服务。以下提供了系统的这种功能的附加的示例和细节并且也可以在’840申请中找到这些附加示例和细节。

图5是展示了根据实施例的处理交易的示例方法的流程图。如图5所示,该方法可以包括:获取用户账户(在本文也称为“机构账户”)凭证(框510);接收与至少一个端点相关联的交易请求(框520);收集端点的交易信息(框530);以及返回交易响应(框540)。在一些实施例中,该方法可以可选地包括执行交易(框550),其用于处理两个端点之间的交易。在一些实施例中,该方法不进行交易的执行,接收交易请求用于发起对至少一个端点的交易寻址信息的检索;收集端点的交易信息包括收集端点的交易寻址信息;并且返回交易响应用于传输所收集的端点的交易寻址信息。该方法用于在交易过程期间利用账户访问权限。该方法的变型可以用于添加诸如以下功能:验证在财务转移中使用的账户信息,以编程方式转移资金,设置程序性事件,捕捉错误和欺诈,执行对交易的条件处理和/或其他合适的操作。该方法可以由系统100来执行。在一些实施方式中,交易是自动清算所(ACH)交易,但是可以使用任何合适类型的交易。在第一实施方式中,该方法使顾客/开发人员能够经由API110来获得经验证的ACH端点信息。例如,可以获得账号和路由号码,并且验证账号的所有权。在该变型中,系统100提供用于执行交易的信息。在另一个实施例中,该方法另外在已经获得所需信息和验证的前提下执行交易。图5的方法可以由系统100来实施,但是该方法可以可替代地由任何合适的系统来实施。

图6是根据实施例的图30的计算系统和网络环境的简化框图。下面参考图6(或者可替代地,图30)的某些方面来描述图5的方法

在包括获取机构账户凭证的框510处,系统100用于获得机构(例如,机构142)的登录信息。机构账户凭证可以包括用户名和密码。该账户可以是外部机构的账户。另外,如上所述,机构可以另外包括认证质询,诸如,pin码、安全性问题、一次性密码、辅助设备代码验证、生物特征识别和/或任何合适形式的多因素认证(MFA)。此类附加的认证质询可以与账户凭证同时收集,但是可以可替代地在API协议中定义MFA认证过程。例如,如果主账户凭证不充足,则MFA质询可能会在响应中返回,此附加的凭证请求可以在获得对账户的访问权限之前根据需要而被重复。可以另外存储机构账户凭证,并将其自动用于完成后续访问或登录尝试。

账户凭证可以通过客户/开发人员的API请求或顾客/开发人员对API110的应用来提供。API 110可以用于建立、设置或登记新的用户账户。一个用户可能在一个外部机构具有至少一个相关联的用户账户,也可能在多个外部机构与多个用户账户关连或相关联。可以获得每个用户账户的账户凭证。

在包括接收与至少一个端点相关联的交易请求的框520处,系统100用于发起对端点的交易寻址信息的检索。该端点可以是交易端点,其可以是可以提款或存款的任何合适的端点。在普通交易中,存在单个提款账户和单个存款账户。该方法可以用于获得一个或多个端点的信息。在一些变型中,可能存在多个提款和/或存款账户。在一种变型中,交易请求与用于获得框510的用户凭证的登记用户请求相同。可替代地,账户凭证可以预先获得或响应于交易请求而获得。

在交易请求针对关于账户的信息的一种变型中,API请求可以指定机构和账户凭证。可能另外需要附加的凭证,诸如pin码、创建账户时的状态或MFA质询答案。可以提交具有类似参数的第二请求以获得所涉及的其他交易端点的账户凭证。

在另一种变型中,交易请求可以明确定义交易细节。交易请求可以包括至少一个提款账户端点和存款账户端点。可以为每个端点指定账户凭证。在一种变型中,单个API请求可以包括这两个端点的账户凭证。在另一种变型中,使用交易资源,使得可以异步地指定提款端点信息、存款账户信息和交易细节。例如,经由API 110通过API请求来创建交易资源。稍后,API请求(通过指定交易标识符)命中新的交易资源以指定提款信息,然后是存款信息,并且然后是要转移的金额。一旦填充了所有信息,交易就可以自动地、响应于已执行的命令、或者安排在稍后的时间来执行命令。可以在请求中另外指定批量交易、汇总交易或分组交易。如果多个实体是提款端点,则可以指定资金划分(例如,百分比明细或金额明细)。类似地,可以指定多个存款端点的资金。

在包括收集端点的交易信息的框520处,系统100用于访问和确定交易端点的属性。收集端点的交易信息可以涉及使用账户凭证来获得对机构的账户访问权限。如上所述,可以通过使用代理应用程序来促进账户访问。账户访问可以用于请求和获得包括端点信息的账户文档。账户文档可以包括银行对账单或其他合适的文档。如果文档为PDF或其他替代性格式,则可以抓取内容以识别交易信息。

在框530处,系统100收集端点的交易信息和/或交易寻址信息。账户寻址信息可以是账户的账号和路由号码。账单地址、电汇号码和/或其他账户信息可以另外提取。在一种变型中,账号和路由号码可在银行对账单中获得。可以使用提取脚本来提取文档,并且然后将信息与文档隔离。以自动化方式访问账号和路由号码可以避免出现错误的机会。作为第一益处,对账户的访问提供了账户的所有者参与提供交易端点信息的证据。另一个益处是,信息被自动提取,从而避免了人为错误。

在框530处收集端点的交易信息可以另外包括收集端点的交易状态信息,该交易状态信息可以包括对资金需求的指示、账户欺诈检查以及其他状态信息。可以为提供交易信息构建各种阶段,从而为金融交易提供不同的保障和/或特征。

在第一可选阶段中,交易状态信息可以确定充足资金状态。充足资金状态可以应用于提款账户,以确保该账户具有用于完成交易的资金。交易历史和/或当前资金价值可以通过账户访问来访问。在一种变型中,在响应中返回资金金额,使得顾客/开发人员/应用程序可以以适当方式进行响应。在另一种变型中,将交易金额与可用资金进行比较。如果未找到充足的资金,则可能会引发错误或警告。

在另一个可选阶段中,可以处理账户以检测欺诈模式。例如,可以访问账户的年龄。与具有较长历史的已建立账户相比,新创建的账户可能不那么值得信赖。类似地,可以评估交易历史以检测欺诈行为。如果账户用于指示正常行为的多种多样的交易,则该账户可以被识别为正常。如果账户仅参与重复的高价值交易或其他欺诈模式,则该账户可以被标记为欺诈账户。另外,交易中所涉及的实体也可能指示欺诈。

该方法可以另外包括在一个或多个阶段期间验证交易条件。可以使用交易条件来采取任何适当的动作。可用动作可以包括允许交易或阻止交易。另外,该动作可以包括发送通知。该通知可以包括电子邮件、文本消息、平台消息、电话或任何合适的通知。该动作可以另外包括触发程序性事件。在一种变型中,程序性事件是回调事件,其中,HTTP消息被发送到目的地。条件可以自定义或从一组提供的条件中选择。示例条件可以包括:针对超过特定金额的交易触发通知的条件;基于交易后的可用资金提醒用户资金低于阈值的条件;以及基于交易频率或交易账户所涉及实体的条件。条件的范围可以针对开发人员账户、特定机构账户或者任何合适的实体范围。

在框540处,系统100返回交易响应,以便传输交易请求的结果。可以在响应于初始请求而从API 110发送的同步API消息中做出交易响应。可替代地,可以使用状态API资源,使得应用程序/服务可以周期性地检查状态API资源来确定处理状态和/或结果。可替代地,可以使用任何合适的方法来提供初始请求的结果。

在实施方式中,该响应提供用于端点的寻址信息。如果没有关于账户的错误或警告,则账户信息可能符合NACHA,因为端点信息被以验证账户的所有权的方式(例如,通过提供凭证和可选的多因素认证响应)访问和获得。交易响应可以包括账号、路由号码和/或用于在执行交易时使用的端点的任何其他信息。交易响应可以另外包括可用资金,使得请求实体可以检查是否有充足的资金。响应可以另外指示在提供了交易金额的情况下是否有充足的资金可用,其用于在防止透支交易的同时向请求实体隐藏可用资金。交易响应可以另外包括其他字段,诸如状态字段,其中可以根据账户的任何分类来标记账户。例如,状态可以指示账户是正常账户还是欺诈账户。

另外地或可替代地,该方法可以包括可选框550。在框550处,系统100执行交易,其用于处理两个端点之间的交易。在该变型中,接收到在至少两个端点之间执行交易的请求。另外,返回交易响应可以包括在响应中返回交易的结果。在另一实施方式中,该方法包括执行交易。交易响应可以包括关于交易状态(即,已提交、正在处理和/或已完成)的信息。交易可能不是瞬时的,并且这样的话,初始交易响应可能会指示是否已成功发起交易。已成功发起意指已成功检索交易端点信息,并且任何条件阶段(诸如,充足资金阶段、欺诈检查阶段和自定义条件)都被满足。可以更新后续响应或状态资源以反映交易状态。当交易被发起并正常进行时,可以使用待决过程来更新交易资源。可以以可能指示完成时间的已完成状态来更新交易资源。如果遇到错误或问题,则可以更新交易资源的状态以反映该错误或问题。该方法可以另外包括监测交易的状态并根据该状态来触发程序性事件。

在一种变型中,执行交易可以包括:在至少两个机构中建立代理账户,以及通过向第一机构中的第一代理账户的内部存款和来自第二机构中的第二代理账户的第二内部存款来促进两个机构之间的交易。在一些情况下,机构之间的交易比机构内的交易更慢。通过建立跨机构账户网络,可以促进不同机构中的两个账户之间的交易以与内部交易相似的速度进行。代理账户可以包括资金储备,可以在代理账户之间周期性地平衡资金储备以维持资金的运营储备。

另外,该方法可以应用于在用户与基础账户之间创建抽象联系。交易端点可以被抽象为用户实体,该用户实体可以与多个可选的交易端点(例如,不同的银行账户)相关联。因此,该方法可以包括选择机构,从而动态地选择有联系的账户来参与交易。可以设置各种条件以对接收交易请求、收集交易信息和/或执行交易时的事件做出响应。在一种变型中,将一个机构设置为主账户,将由同一实体管理的另一账户设置为辅助账户。如果主账户不能够完成交易,则该方法可以检测到错误状况并自动失败转移到辅助账户。在另一种变型中,可以将一组账户预先配置为取决于请求的属性来使用。在与代理转移端点组合的情况下,可以使用代理端点的标识信息,但是基础服务将自动使用自动选择的账户以用于获得资金。例如,可以将一组实体和/或一类实体/交易设置为使用特定账户。类似地,可以将到一个代理账户的交易自动分成与多个相关联的账户的交易。例如,一个账户持有人可以设置代理账户,以便自动以30/70余额在两个账户之间分存款。

现在参考图6,系统100用于为应用程序和服务提供可以促进资金转移过程的接口(例如,经由API 110)。系统100可以用于提供在ACH转移中使用的经验证的账户信息,执行资金转移,在转移过程中启用程序性事件,减轻风险和错误,和/或提供替代性交易功能。如以上参考图30所描述的,系统100是更大的API平台的一部分,该平台除其他项目之外还提供API以访问账户数据并执行交易。在一些变型中,系统100是多租户API平台的一部分,该平台使多个开发人员能够创建账户并构建利用该API平台的API的应用程序和/或服务。在替代性变型中,系统100是单租户API平台的一部分,并且可以提供用于专用的一组产品或服务的内部API。例如,可以在API平台之上构建产品,该产品使最终用户能够创建账户来管理一个或多个机构(例如,银行、信用卡公司、投资经理等)的账户。

API 110用于提供用于访问机构交易端点信息的接口。API 110可以另外提供规范化的面向顾客的接口。在一种实施方式中,API 110利用应用程序代理实例121,该应用程序代理实例对访问机构(例如,机构142)的封闭式API的专有第一方应用程序进行模拟。系统100可以包括特别有助于访问与交易端点有关的信息的附加的组件或服务。例如,可以将服务、脚本或模块配置为访问可以包含端点信息(诸如,账号和路由号码信息)的报表或其他合适的文档。可以以PDF或其他合适的文档格式包含报表或信息。系统100可以包括文档读取器,该文档读取器可以访问并从报表中提取所请求的信息。

在一种变型中,API 110允许API请求指定账户,并且响应输出提供与执行与端点的交易有关的信息。在一种实施方式中,API 110可以包括用于与交易端点交互的至少一个API资源。如图7所示,端点信息请求可以包括账户的机构凭证。凭证可以包括用户名和密码。API协议可以另外提供用于完成多因素认证质询(诸如安全性问题、或基于代码的多因素认证)的机制。API请求可以另外包括其他属性,诸如开发人员账户标识符、API认证令牌、机构类型标识符和其他合适的参数。该响应是数据对象,该数据对象至少包括自动获得的信息,诸如追踪号码、路由号码和/或电汇号码。附加的响应信息可以包括:资金金额(或者如果资金充足,则可替代地为布尔值指示符)、账户状态(例如,账户是否为欺诈账户、可信账户等)、账户的账单地址、机构名称、账户类型(例如储蓄、存款等)和其他合适的属性。其他API属性或特征可以包括用于指定是否请求端点信息或是否应该执行交易的机制。

机构接口模块132用于对至少一个第一方应用程序与外部机构(例如,机构142)的内部接口进行建模。用户账户的账户凭证(以及可选的多因素认证凭证)可以用于应用程序代理通过机构接口模块访问机构。系统100可以另外包括交易引擎193,该交易引擎可以促进两个账户之间的资金转移。交易引擎193可以与API 110集成在一起,使得API请求可以引导交易的执行。交易引擎193可以执行ACH交易,但是也可以替代地或另外地使用其他金融工具来提款和/或存款。利用交易引擎,可以在已配置有账户凭证的两个账户之间执行交易。API响应可以包括交易的状态、交易错误、状态URI或如图8所示用于促进执行交易的任何合适的响应。在一种变型中,可以在不同机构中使用代理账户。在储备金充足的情况下,机构之间的转移可以通过将资金转入和转出代理账户,并且然后异步地更新代理账户来促进。

在一些实施方式中,系统100还可以包括令牌生成引擎195(如本文所述,其可以管理令牌生成)和/或记录库1302(如本文所述,其可以存储与令牌相关联的电子记录)。

系统100可以另外包括其他方面,诸如,可以管理警报和/或触发程序性事件(例如,回调)的消息传递/通知系统、用于生成用户界面和/或用户界面数据的引擎等。系统100可以另外地或可替代地包括任何其他合适的组件以实施本披露中描述的功能。

在一些实施方式中,系统100包括文档处理引擎194。在一些实施方式中,文档处理引擎194被构造为处理外部机构的外部用户账户系统(例如,银行系统142)的账户文档(例如,账户文档192)。可以处理账户文档以识别和/或获得交易信息。在一些实施方式中,在文档为PDF格式的情况下,文档处理引擎194被构造为抓取PDF文档的内容以识别交易信息。在一些实施方式中,文档处理引擎194是提取脚本,其被构造为提取文档,并且然后将交易信息与文档隔离(例如,如以上参考图5所述)。在一些实施方式中,系统100访问文档,存储所访问的文档(例如,存储在系统100的存储器或其他存储介质中),并且然后控制文档处理引擎以处理所存储的文档从而识别交易信息。

图9至图10是展示了根据各个实施例的处理交易的示例方法的流程图。以下参考图30(或者,可替代地图6)的某些方面描述了图5至图6的方法。

参考图9,用于在系统100处对规范化API请求进行处理的方法包括:接收与至少一个账户端点相关联的规范化API请求,该规范化API请求是由面向外部用户的系统/应用程序(例如,图30的系统/应用程序152)通过使用系统100的API 110来提供的,该规范化API请求指定规范化API请求的每个账户端点的账户凭证(框910)。

响应于该规范化API请求:通过使用与账户端点相关联的应用程序代理实例(例如,图30的代理实例121、122和/或123之一)来收集规范化API请求的每个账户端点的交易信息,以通过使用由系统100的规范化API请求和专有API(例如,图30的API 161、162和/或163之一)所指定的相关联的账户凭证从对应的机构系统(例如,图30的外部用户账户系统141、142和/或143)收集交易信息(框920)。

进一步地,将规范化API响应提供给面向外部用户的系统/应用程序(框930)。规范化API响应提供了规范化API请求的每个账户端点的交易信息。每个应用程序代理实例都被构造为模拟对应的外部机构系统的应用程序。

在一些实施方式中,针对每个账户端点所收集的交易信息至少包括用于在自动清算所(ACH)交易中使用的账号和对应的路由号码。在一些实施方式中,通过处理从对应的外部机构系统访问的至少一个报表来收集交易信息。

经由系统的代理实例获得交易信息和账户信息的附加示例和细节可以在2015年7月2日提交的名称为“SYSTEM AND METHOD FOR FACILITATING PROGRAMMATICVERIFICATION OF TRANSACTIONS[用于促进交易的程序性验证的系统和方法]”的美国专利申请号14/790897中找到(本文中称为“’897申请”)。因此,此申请的全部披露内容构成本说明书的一部分,就如同被本文完全阐述并出于所有目的通过援引以其所包含的全部内容结合在此。

图10描绘了用于在金融平台系统处对规范化API请求进行处理的方法1000。该金融平台系统被构造为以编程方式访问该金融平台系统外部的至少一个外部金融机构系统。图10的方法1000的过程1010、1020和1030可以响应于金融应用程序系统通过使用金融平台系统的金融平台API来提供的规范化金融API请求而执行。规范化金融API请求指定与至少一个外部金融机构系统的至少一个金融账户端点相对应的用户信息。

过程1010包括使用与规范化API请求相关联的至少一个应用程序代理实例通过向金融机构系统提供专有金融API请求来从对应的金融机构系统收集交易信息,该专有金融API请求至少指定与由规范化金融API请求指定的用户信息相关联的账户凭证。该交易信息包括在由金融机构系统提供的至少一个专有金融API响应中。

过程1020包括基于所收集的交易信息生成规范化金融API响应。过程1030包括将规范化金融API响应提供给金融应用程序系统。

每个应用程序代理实例被构造为模拟代表与应用程序代理实例相关联的用户的对应金融机构系统的应用程序。

在一些实施方式中,每个专有API是相应金融机构系统的私有API,并且,每个专有API不同于web浏览器接口。

在一些实施方式中,代表金融应用程序系统的用户账户来提供规范化金融API请求,并且所指定的用户信息包括与该用户账户相关联的信息。

在一些实施方式中,代表金融应用程序系统的用户账户来提供规范化金融API请求,并且所指定的用户信息包括与这样的用户相关联的信息:该用户不同于金融应用程序系统的用户账户的用户。

在一些实施方式中,规范化金融API请求是对金融账户端点信息的请求,并且每个专有金融API请求是对金融账户端点信息的请求,并且其中,交易信息包括金融账户端点信息。

在一些实施方式中,规范化金融API请求是对将资金从至少一个提款账户端点转移到至少一个存款账户端点的请求,并且规范化金融API请求指定要转移的资金的金额。

在一些实施方式中,针对每个金融账户端点所收集的交易信息至少包括用于在自动清算所(ACH)交易中使用的账号和对应的路由号码。

在一些实施方式中,通过处理从对应的外部金融机构系统访问的至少一个财务报表来收集交易信息。

在一些实施方式中,该金融平台系统包括针对各个外部金融机构系统的机构接口模块,各个机构接口模块对外部金融机构系统的专有API进行建模,并且各个应用程序代理实例使用对应的机构接口模块来从外部金融机构系统收集交易信息。

在一些实施方式中,金融平台系统通过以下操作中的至少一项操作来生成各个机构接口模块:解析相关联的外部金融机构系统的应用程序的源代码;以及解析该应用程序与相关联的外部金融机构系统之间的通信。

在一些实施方式中,每个机构接口模块定义被发送到相关联的外部金融机构系统的消息的报头。

在图10的示例实施例中,方法1000由金融平台系统500来实施。在示例实施例中,金融平台系统被构造为以编程方式访问交易信息,如本文针对方法1000所述。

参考图11,用于在系统110处对规范化API请求进行处理的方法包括:接收与至少一个账户端点相关联的规范化API请求(框1110)。规范化API请求由外部应用程序系统通过使用平台系统的平台API来提供。规范化API请求指定交易、以及规范化API请求的每个账户端点的账户令牌和账户凭证中的至少一者。

响应于规范化API请求,收集规范化API请求的每个账户端点的交易信息(框1120)。通过使用与账户端点相关联的应用程序代理实例来收集交易信息,以通过使用由规范化API请求所指定的相关联的账户令牌和相关联的账户凭证中的至少一者并通过使用机构系统的专有API来从对应的机构系统收集交易信息。

通过使用所收集的交易信息来执行由规范化API请求所指定的交易(框1130)。将规范化API响应提供给外部系统(框1140)。规范化API响应提供交易的结果。每个应用程序代理实例都被构造为模拟对应的外部机构系统的应用程序。

在一些实施方式中,针对每个账户端点所收集的交易信息至少包括用于在自动清算所(ACH)交易中使用的账号和对应的路由号码。

在一些实施方式中,通过处理从对应的外部机构系统访问的至少一个报表来收集交易信息。

在一些实施方式中,交易信息(和/或任何其他与账户相关的信息)是经由以下一种或多种方法来收集的:应用程序代理实例、(例如,对机构网页的)屏幕抓取、对(例如,系统被授权访问的)机构API的API请求、或这些方法的任何组合。交易信息可以在API响应中提供。然而,在创建财务报告的情况下,收集交易信息的过程可以被收集并用于创建财务报告。

系统的这种功能的附加的示例和细节可以在’897申请中找到。

在一些实施方式中,规范化API请求的用户信息包括与规范化API请求相对应的面向外部用户的系统/应用程序(例如,面向外部用户的系统/应用程序162)的每个用户账户的用户账户标识符。

在一些实施方式中,规范化API请求包括表1中所示的参数。

表1

在一些实施方式中,用于选择至少一个对应的应用程序代理实例,并且每个所选择的应用程序代理实例包括用于访问相关联的机构系统的用户凭证(例如,如图33B所描绘的)。

在一些实施方式中,系统110(例如,图7至图8)基于参数、参数、以及参数来确定与规范化API请求相关联的应用程序代理实例。在一些实施方式中,系统110识别应用程序代理系统130中的与参数、参数、以及参数相关联地管理的应用程序代理实例,并且使用所识别的应用程序代理实例来收集交易信息。

在一些实施方式中,每个专有API请求都包括表2中所示的参数。

表2

在各种其他实施方式中,取决于API的细节和所涉及的请求类型,规范化API请求和/或专有API请求可以包括其他参数集。例如,其他请求可以包括标识符令牌、多个账户标识符(例如,当请求资金转移时)等。此类其他请求类型和系统功能的附加的示例和细节可以在’897申请中找到。

在一些实施方式中,系统可以向用户计算设备(例如,图30的用户计算设备181、182和/或183)发送各种类型的警报和/或其他指示。这些各种类型的警报和/或其他指示可以在用户计算设备上激活一个或多个应用程序(例如,SMS(短消息服务)和/或MMS(多媒体消息服务)过程和/或应用程序、电子邮件过程和/或应用程序、与系统相关的过程和/或应用程序、(例如,机构和/或面向用户的应用程序/服务的)第一方和/或第三方过程和/或应用程序等)。例如,如本文所述,出于完成多因素认证过程的目的,可以将警报传送给用户计算设备。在这样的示例中,可以将具有秘密/认证代码的SMS消息传送到用户计算设备,从而在用户计算设备上激活SMS过程和/或应用程序(和/或另一过程和/或应用程序)。这样的警报可以由系统和/或机构系统发送。在另一示例中,系统可以向用户计算设备发送与对用户的用户账户的访问、交易等有关的警报。这样的警报可以通知用户新交易已经过账到其账户、交易已经过账特定金额、交易被拒绝等。如上所述,这样的警报可以包括SMS消息、电子邮件消息和/或可以激活各种过程和/或应用程序的其他类型的消息。在又一示例中,系统可以向包括账户文档的用户计算设备发送警报,这可以使得在用户计算设备上激活适合于读取账户文档的过程和/或应用程序。

图12是根据实施方式的系统110的架构图,其中,该系统由服务器设备实施。可替代地,该系统可以在托管的计算环境中(例如,在云服务器中)和/或在任何其他合适的环境中由多个设备来实施。

总线1202与以下各项进行接口连接:处理器1201A至1201N、主存储器(例如,随机存取存储器(RAM))1222、只读存储器(ROM)1204、计算机可读存储介质1205(例如,非暂态计算机可读存储介质)、显示设备1207、用户输入设备1208和网络设备1211。

处理器1201A至1201N可以采用许多形式,例如ARM处理器、X86处理器等。

在一些实施方式中,系统包括中央处理单元(处理器)和多处理器单元(MPU)中的至少一者。

处理器1201A至1201N与主存储器1222一起形成处理单元1299。在一些实施例中,处理单元包括通信地耦合到RAM、ROM和计算机可读存储介质中的一个或多个的一个或多个处理器;处理单元中的一个或多个处理器经由总线接收由RAM、ROM和计算机可读存储介质中的一个或多个存储的指令;并且该一个或多个处理器执行接收到的指令。在一些实施例中,处理单元是ASIC(专用集成电路)。在一些实施例中,处理单元是SoC(片上系统)。在一些实施例中,处理单元包括以下各项中的一项或多项:API、应用程序代理系统、一个或多个实例接口模块、账户文档、交易引擎、文档处理引擎、和/或如本文所述的系统的任何其他功能或方面。

网络适配器设备1211提供一个或多个有线或无线接口,用于在系统与其他设备(诸如,外部用户账户系统(例如,机构151、152和/或153)、面向外部用户的系统/应用程序(例如,应用程序161和/或162)、用户设备(例如,用户设备181和/或182)等)之间交换数据和命令。这样的有线和无线接口包括例如,通用串行总线(USB)接口、蓝牙接口、Wi-Fi接口、以太网接口、近场通信(NFC)接口等。在一些实施例中,系统经由互联网与其他设备通信。

软件程序(诸如,操作系统、应用程序和设备驱动程序)中的机器可执行指令(例如,计算机可读程序指令)从处理器可读存储介质1205、ROM 1204或任何其他存储位置加载到(处理单元1299的)存储器1222中。在这些软件程序的执行期间,相应的机器可执行指令被(处理单元1299的)处理器1201A至1201N中的至少一个经由总线1202访问,并且然后被处理器1201A至1201N中的至少一个执行。由软件程序使用的数据也存储在存储器1222中,并且此类数据在软件程序的机器可执行指令的执行期间被处理器1201A至1201N中的至少一个访问。处理器可读存储介质1205包括操作系统1212、软件程序/应用程序1213、设备驱动程序1214、API 120、应用程序代理系统130、机构接口模块141、142和143以及账户文档202。在一些实施方式中,处理器可读存储介质1205包括交易引擎203、文档处理引擎204、令牌生成引擎205和/或记录库1402(其可以包括被加密或以其他方式进行保护的数据库或数据存储,如下所述)。

以下描述有关系统架构的进一步细节。

图13展示了根据实施例的许可管理系统1304(即,数据管理平台)可以在其中操作的示例网络环境1300。如图所示,网络环境包括许可管理系统1304、外部用户账户系统1306、面向外部用户的系统/应用程序1308、许可插件1310、许可插件1311、可信第三方处理器系统1312、用户计算设备1314和用户1316。网络环境1300的各个方面可以经由网络/互联网1302进行通信。网络/互联网1302可以包括有线和/或无线网络,和/或在某些实施例中可以包括一个或多个有线和/或无线网络。网络环境1300的各个组件可以经由网络/互联网1302进行通信,和/或可替代地可以经由一个或多个其他有线或无线连接彼此直接通信。在一些实施例中,许可管理系统1304可以包括上述系统110的功能,和/或上述系统110的功能可以在网络环境1300中的一个或多个其他计算系统中实施。然而,为了描述的清楚,以下描述假定许可管理系统1304包括上述系统110的功能。

另外,外部用户账户系统1306可以包括机构的系统(例如,机构系统151、152和/或153之一),并且虽然与许可管理系统1304的通信中可能涉及到多于一个外部用户账户系统1306,但是为了清楚起见,图13中示出了一个外部用户账户系统1306。

进一步地,面向外部用户的系统/应用程序1308可以包括用户可以与之交互的系统和/或应用程序、商户等。例如,用户1316可以经由用户计算设备1314与面向外部用户的系统/应用程序1308交互。在一个示例中,面向外部用户的系统/应用程序1308可以包括如上文(例如参考app 161和/或162)所述的在用户计算设备1314(例如,移动设备等)上运行和/或由该用户计算设备呈现的app和/或基于web的应用程序。

在实施例中,面向外部用户的系统/应用程序1308可以包括许可插件1310。许可插件1310可以包括软件/代码模块、代码片段等,其可以被集成到面向外部用户的系统/应用程序1308中。许可插件1310可以由许可管理系统1304和/或外部用户账户系统1306提供,使得面向外部用户的系统/应用程序1308可以包括由许可管理系统1304(直接、或经由外部用户账户系统1306间接)提供的功能。在一种实施方式中,许可插件1310包括集成到面向外部用户的系统/应用程序1308中的JavaScript代码(或用任何其他编程语言编写的代码)。例如,贷款管理系统应用程序可以集成许可插件1310,以促进将用户账户与外部金融机构相关连。JavaScript代码在被执行时可以与许可管理系统1304和/或外部用户账户系统1306通信,以提供如本文所述的特定功能。有利地,在一些实施方式中,许可插件1310可以生成可以呈现给用户1316的交互式用户界面。可以经由许可插件1310的交互式用户界面从用户1316获得信息(例如,账户凭证等)。许可插件1310可以获得这种信息,并且以安全的方式将该信息传送到许可管理系统1304和/或外部用户账户系统1306,使得面向外部用户的系统/应用程序1308无法访问用户1316提供的信息。

进一步地,许可插件1310可以有利地处理与许可管理系统1304和/或外部用户账户系统1306和/或如本文所述的其他功能建立安全通信,使得面向外部用户的系统/应用程序1308的开发人员不需要关注这些方面(从而加快了面向外部用户的系统/应用程序1308的开发)。

在实施例中,用户计算机设备1314可以包括许可插件1311,该许可插件的功能类似于上述的许可插件1310。类似于许可插件1310,许可插件1311可以包括软件/代码模块、代码片段等。许可插件1311可以被集成到由用户计算设备1314执行的另一个软件应用程序(例如,专用于使得能够与例如外部用户账户系统1306进行通信的软件应用程序)中,或者可以另外可由用户计算设备1314(例如,由用户计算设备1314的web浏览器)执行。许可插件1311可以由许可管理系统1304和/或外部用户账户系统1306提供,使得用户计算设备1314可以包括由许可管理系统1304(直接、或间接地经由外部用户账户系统1306)提供的功能。在一种实施方式中,许可插件1311包括JavaScript代码或用任何其他编程语言编写的代码。JavaScript代码在被执行时可以与许可管理系统1304和/或外部用户账户系统1306通信,以提供如本文所述的特定功能。有利地,在一些实施方式中,许可插件1311可以生成可以呈现给用户1316的交互式用户界面。可以经由许可插件1311的交互式用户界面从用户1316获得信息(例如,账户凭证等)。许可插件1311可以获得这种信息,并且以安全的方式将该信息传送到许可管理系统1304和/或外部用户账户系统1306,使得面向外部用户的系统/应用程序1308无法访问用户1316提供的信息。进一步地,许可插件1311可以有利地处理与许可管理系统1304和/或外部用户账户系统1306和/或如本文所述的其他功能建立安全通信,使得面向外部用户的系统/应用程序1308的开发人员不需要关注这些方面(从而加快了面向外部用户的系统/应用程序1308的开发)。

除了下面提供的功能的详细描述之外,附加的示例和细节可以在2115年9月8日提交的名称为“Link[关连]”的美国临时专利申请号*62/225603中找到,该专利申请先前通过援引结合在此。

图14A至图14B是根据实施例的展示网络环境1300的各方面之间的示例交互的动作图。如下所述,网络环境1300的各个方面之间的交互可以使得能够许可访问外部用户账户系统1306(或多个外部用户账户系统1306)上的用户账户并在其上执行交易。进一步地,网络环境1300的各个方面之间的交互可以使得用户能够授予对访问其账户的授权和/或撤销该授权。

在各种实施方式中,在图14A至图14B的动作图以及本文所述的其他动作图中,可以以与所示出的顺序不同的顺序来执行所示出和描述的动作。例如,根据各种实施方式,某些动作可以在其他动作之前或之后发生。

如上文总体上所述,可以经由各种API调用(例如,通过API 120)来实现网络环境1300的各个方面之间的交互。因此,例如,可以经由规范化API请求来传送账户凭证、用户信息、令牌标识符、交易请求和/或在下文描述的交互期间传输的任何其他信息。如上所述,有利地,可以清楚地定义许可管理系统1304的API,使得软件应用程序和/或系统可以被高效地开发,以便以高效的方式与许可管理系统1304交互。另外,网络环境1300的各个方面之间的每次通信可以包括多个请求和/或确认,以确保有效的通信。进一步地,可以经由安全连接进行通信。

图14A是根据实施例的展示网络环境1300的各方面之间的示例交互的动作图。在图14A的动作图中,根据实施例,系统使得用户能够授权对用户账户的访问。

在动作1a中,用户计算设备1314与外部用户账户系统1306交互。例如,当用户计算设备1314的用户提供了指示提供对用户账户的授权的意图的输入时,可能会发生这种交互。例如,用户可能正在经由用户计算设备1314与面向外部用户的系统/应用程序1308进行交互(例如,用户可以在其移动设备或台式计算机上访问商户的app和/或网站)。用户可能希望或可能被提示向面向外部用户的系统/应用程序1308提供对访问该用户的用户账户(例如,与外部用户账户系统1306相关联的机构所持有的用户账户)的用户账户数据的授权。因此,在实施例中,许可插件1311可以由用户计算设备1314执行,使得可以向用户呈现交互式用户界面(如下文参考图19进一步详细描述的)。下文参考图22A至图22L描述许可插件1311实现的交互式用户界面的示例。

在各种实施方式中,交互式用户界面可以由许可插件1310、许可插件1311、另一个软件应用程序和/或这些的任何组合来生成。通过交互式用户界面,用户可以提供账户凭证和/或用于访问用户的账户的其他授权。如下所述,授权可以包括对账户的访问权限的各种限制(本文中称为“许可”等)。对账户的访问权限可以包括例如执行交易的能力、获得与用户相关的信息的能力、获得交易信息的能力等。如上所述,可以经由许可插件1311以安全的方式向外部用户账户系统1306提供授权、账户凭证等,使得所提供的信息可由面向外部用户的系统/应用程序1308或许可管理系统1304访问。因此,有利地,根据本披露内容的各个实施例,用户可以安全地向外部用户账户系统1306提供敏感信息,而不会将此类信息泄露给面向外部用户的系统/应用程序1308(例如,商户、开发人员等)或许可管理系统1304。

许可插件1311与外部用户账户系统1306之间的通信可以包括特定信息的传输。例如,许可插件1311可以将客户端ID(例如,与面向外部用户的系统/应用程序1308相关联的唯一标识符,其可以从面向外部用户的系统/应用程序1308获得)、用户标识符(例如,与用户相关联的唯一标识符)、账户凭证、秘密密钥等传输到外部用户账户系统1306,这些信息可以由外部用户账户系统1306进行处理和验证。

在动作1b中,基于从用户计算设备1314接收到的信息,外部用户账户系统1306生成电子记录。如下文进一步详细描述的,电子记录由外部用户账户系统1306生成,然而,电子记录可以包括以下各项中的一项或多项:唯一记录名称、账户凭证、与用户相关联的标识符、与面向外部用户的系统/应用程序1308关相联的标识符(例如,客户端ID)、用户账户信息或一个或多个许可。

如图所示,外部用户账户系统1306可以包括记录库1402,该记录库如本文所述地包括安全地存储所生成的电子记录的一个或多个数据库。相应地,在动作1a中,由外部用户账户系统1306生成的电子记录被存储在记录库1402中。每个所生成的电子记录可以与令牌(例如,与该电子记录相关联的唯一标识符,在本文中也称为“唯一记录标识符”)相关联并且由该令牌标识。在实施例中,令牌(例如,唯一记录标识符)基于电子记录的一个或多个元素的加密散列来生成。可替代地,令牌可以是随机生成的。

在实施方式中,电子记录和/或令牌可以在不验证账户凭证是否有效或正确的情况下生成。

在动作1c中,令牌被传输到用户计算设备1314,并且在动作2中,令牌被传输到许可管理系统1304。可替代地,令牌可以被直接传输到许可管理系统1304。

在动作3中,许可管理系统1304可以使用令牌与外部用户账户系统1306交互,以发起或实现对与用户相关联的用户账户数据的访问。此时,外部用户账户系统1306可以验证账户凭证是否有效,并且可以向许可管理系统1304返回是否有效的消息。如果是,则外部用户账户系统1306可以生成并存储类似于令牌的访问密钥(例如,唯一标识符),许可管理系统1304可以使用该访问密钥来请求对用户账户数据的附加的访问。因此,访问密钥可以被传输到许可管理系统1304。在一些实施方式中,访问密钥和令牌是相似或相同的,使得可以不生成访问密钥,而是可以使用令牌来访问用户账户数据。

另外,在动作3中,由用户提供的账户凭证可以用于获得用户账户数据(例如,用户账户信息、账号、路由号码等)。与外部用户账户系统1306的通信可以经由API(公共或非公共)或其他合适的通信方法来完成。在一些实施方式中,通信如上文参考各个附图总体上所述地完成,其中,例如,可以生成外部用户账户系统1306的应用程序的虚拟化实例,以经由公共/非公共API与外部用户账户系统1306进行通信。

在动作4中,如果账户凭证被验证为有效,则外部用户账户系统1306可以与用户计算设备1314通信,以提示用户接受外部用户账户系统1306所需的其他形式的条款和条件。在一些实施方式中,可以在验证账户凭证之前提供这种提示。

另外,在动作4中,外部用户账户系统1306可以与用户计算设备1314通信,以提示用户经由例如由许可插件1311呈现给用户的交互式用户界面从多个账户(或其他信息)中选择特定账户。

在一些实施方式中,如下文参考例如图14B的动作1和2所述,可以经由许可管理系统1304、外部用户账户系统1306、许可插件1310和/或许可插件1311提供交互式用户界面,用户可以通过该交互式用户界面提供账户凭证和其他信息。在一些实施方式中,同样如下所述,不是用户经由许可管理系统1304提供账户凭证,而是许可管理系统1304、外部用户账户系统1306、许可插件1310和/或许可插件1311可以使向用户显示的交互式用户界面被重定向到外部用户账户系统1306直接提供的页面或用户界面。

在动作5中,许可管理系统1304可以将令牌和/或访问密钥存储在安全数据库1404中,该数据库可以类似于本文所述的记录库1402,并且可以例如被加密。

在动作6中,许可管理系统1304可以生成并存储类似于令牌的API访问密钥(例如,唯一标识符),面向外部用户的系统/应用程序1308可以使用该API访问密钥来请求用户账户数据。因此,API访问密钥可以被传输到面向外部用户的系统/应用程序1308。在一些实施方式中,API访问密钥和令牌是相似或相同的,使得可以不生成API访问密钥,而是可以使用令牌来访问用户账户数据。

在各个实施例中,可以经由任何合适的方法来建立许可管理系统1304与面向外部用户的系统/应用程序1308之间的安全通信。例如,在实施方式中,许可管理系统1304可以向面向外部用户的系统/应用程序1308提供“公共令牌”。作为响应,面向外部用户的系统/应用程序1308可以向许可管理系统1304提供客户端ID、公共令牌和秘密密钥/标识符(先前已经安全地从许可管理系统1304提供到面向外部用户的系统/应用程序1308)。然后,许可管理系统1304可以使用该信息(例如,客户端ID、公共令牌和秘密密钥/标识符)来认证去往和来自面向外部用户的系统/应用程序1308的访问和通信。在本披露内容的各个实施例中可以使用在系统的各个设备之间建立安全通信的类似或替代性方法。

在动作7中,许可管理系统1304可以使用令牌和/或访问密钥来从外部用户账户系统1306获得附加的用户账户数据(例如,交易数据)。如上所述,与外部用户账户系统1306的通信可以经由API(公共或非公共)或其他合适的通信方法来完成。在一些实施方式中,通信如上文参考各个附图总体上所述地完成,其中,例如,可以生成外部用户账户系统1306的应用程序的虚拟化实例,以经由公共/非公共API与外部用户账户系统1306进行通信。

在动作8中,面向外部用户的系统/应用程序1308请求用户账户数据,和/或向面向外部用户的系统/应用程序提供用户账户数据。例如,面向外部用户的系统/应用程序1308可以通过将令牌和/或API访问密钥提供给许可管理系统1304来请求用户账户数据。

在一些实施方式中,动作7可以被自动执行多次。例如,动作7可以被周期性地或按时间表执行。可替代地,动作7可以响应于例如从面向外部用户的系统/应用程序1308接收到的请求而执行。在各个实施例中,动作7和8可以以任何顺序和/或同时进行。

在动作9中,面向外部用户的系统/应用程序1308可以向用户计算设备1314提供用户账户信息(例如,经由用户计算设备1314上的软件应用程序)。

因此,如在图14A的动作图中所述的,经由与面向外部用户的系统/应用程序1308和/或用户计算设备1314的交互,用户可以提供账户凭证并授权面向外部用户的系统/应用程序1308访问用户账户数据,而不与面向外部用户的系统/应用程序1308共享用户账户信息。有利地,根据某些实施例,不需要利用用户账户信息来使面向外部用户的系统/应用程序1308可信,这可以简化面向外部用户的系统/应用程序1308的开发,并在与面向外部用户的系统/应用程序1308交互时让用户放心。另外,如下所述,系统的实施方式可以使得用户能够解除对面向外部用户的系统/应用程序1308的授权、查看其许可和/或改变其许可。

图14B是根据实施例的展示网络环境1300的各方面之间的示例交互的动作图。在各个实施例中,上文参考图14A所述的各个动作和动作的各方面都可以类似地应用于图14B的动作。

在图14B的动作1中,用户经由用户计算设备1314与面向外部用户的系统/应用程序1308交互。例如,用户可以在其移动设备或台式计算机上访问商户的app和/或网站。当用户正与面向外部用户的系统/应用程序1308进行接口连接时,面向外部用户的系统/应用程序1308可以执行许可插件1310,使得可以向用户呈现交互式用户界面(如下文参考图19进一步详细描述的)。下文参考图22A至图22L描述许可插件1310实现的交互式用户界面的示例。

通过交互式用户界面,用户可以提供账户凭证和/或用于访问用户的账户的其他授权。如下所述,授权可以包括对账户的访问权限的各种限制(本文中称为“许可”等)。对账户的访问权限可以包括例如执行交易的能力、获得与用户相关的信息的能力、获得交易信息的能力等。如上所述,经由许可插件1310以安全的方式向许可管理系统1304提供授权、账户凭证等,使得所提供的信息可由面向外部用户的系统/应用程序1308访问。因此,有利地,根据本披露内容的各个实施例,用户可以安全地向许可管理系统1304提供敏感信息,而不会将此类信息泄露给面向外部用户的系统/应用程序1308(例如,商户、开发人员等)。

建立许可插件1310与许可管理系统1304之间的安全通信可以包括特定标识信息的传输。例如,许可插件1310和/或面向外部用户的系统/应用程序1308可以将客户端ID(例如,与面向外部用户的系统/应用程序1308相关联的唯一标识符)、用户标识符(例如,与用户相关联的唯一标识符)、秘密密钥等传输到许可管理系统1304,这些信息可以由许可管理系统1304进行处理和验证。

在动作2中,许可管理系统1304可以使用由用户提供的账户凭证与外部用户账户系统1306进行接口连接,以获得用户账户数据(例如,用户账户信息、账号、路由号码、交易数据等)。与外部用户账户系统1306的通信可以如上文参考各个附图总体上所述地完成,其中,例如,可以生成外部用户账户系统1306的应用程序的虚拟化实例,以经由公共/非公共API与外部用户账户系统1306进行通信。同样如上所述,建立与外部用户账户系统1306的通信可以包括多因素认证(这可能需要去往或来自用户计算设备1314的附加通信)等。另外,动作2可以包括使得用户能够经由许可插件1310呈现给用户的交互式用户界面从多个账户中选择特定账户。在一些情况下,用户账户信息可以通过对可从外部用户账户系统1306获得的文档(例如,账户报表的PDF)进行分析来获得。

在动作3中,基于从外部用户账户系统1306获得的用户账户数据,许可管理系统1304生成电子记录。如下文进一步详细描述的,电子记录由许可管理系统1304生成,然而,电子记录可以至少包括唯一记录名称、与用户相关联的标识符、与面向外部用户的系统/应用程序1308相关联的标识符(例如,客户端ID)、从外部用户账户系统1306获得的用户账户信息以及一个或多个许可。

如图14B所示,许可管理系统1304可以包括记录库1402,该记录库如本文所述地包括安全地存储所生成的电子记录的一个或多个数据库。相应地,在动作3中,由许可管理系统1304生成的电子记录被存储在记录库1402中。每个所生成的电子记录可以与令牌(例如,与该电子记录相关联的唯一标识符,在本文中也称为“唯一记录标识符”)相关联并且由该令牌标识。在实施例中,令牌(例如,唯一记录标识符)基于电子记录的一个或多个元素的加密散列来生成。可替代地,令牌可以是随机生成的。

作为图14B的动作中的一个或多个动作的替代方案,在动作Z中,不是用户向许可管理系统1304提供账户凭证,而是许可管理系统1304和/或许可插件1310可以使向用户显示的交互式用户界面被重定向到由外部用户账户系统1306直接提供的页面或用户界面。因此,如上文参考图14A的动作1a、1b、1c和2所述的,外部用户账户系统1306可以生成令牌,该令牌可以经由用户计算设备1314传输到许可管理系统。然后,许可管理系统1304可以使用该令牌以从外部用户账户系统1306访问用户账户数据。

在动作4中,将该令牌传输回到面向外部用户的系统/应用程序1308。有利地,在各个实施例中,该令牌不包括用户的任何账户信息(和/或任何未经加密的账户信息),使得面向外部用户的系统/应用程序1308不能使用令牌直接访问用户的账户。面向外部用户的系统/应用程序1308可以将该令牌与用户相关联地存储。因此,如下文详细描述的,面向外部用户的系统/应用程序1308可以使用该令牌来发起支付或与用户的其他交易。

在动作5中,面向外部用户的系统/应用程序1308可以经由与可信第三方处理器系统1312(例如,支付处理器)的通信来请求执行与用户相关联的交易。例如,如果面向外部用户的系统/应用程序1308是商户,则面向外部用户的系统/应用程序1308可以经由可信第三方处理器系统1312请求支付或服务或商品。在做出请求时,面向外部用户的系统/应用程序1308将交易细节和令牌传输到可信第三方处理器系统1312。交易细节可以包括例如所进行的支付的金额、所进行的支付的频率等。

在动作6中,为了执行由面向外部用户的系统/应用程序1308所请求的交易,可信第三方处理器系统1312与许可管理系统1304进行通信以获得用户的账户细节(例如,账户和路由号码),并获得对执行交易的授权。因此,可信第三方处理器系统1312将令牌和交易细节传送到许可管理系统1304。

在动作7中,许可管理系统1304识别记录库1402中的与从可信第三方处理器系统1312接收到的令牌相关的电子记录。许可管理系统1304检索所识别的电子记录,包括诸如各种许可信息等与电子记录相关的信息。然后,许可管理系统1304将交易细节同与电子记录相关联的许可信息进行比较,并确定面向外部用户的系统/应用程序1308是否被授权执行所请求的交易。

在动作8中,如果许可管理系统1304确定面向外部用户的系统/应用程序1308未被授权执行交易,则将这样的指示传输回到可信第三方处理器系统1312。然后,可信第三方处理器系统1312可以向面向外部用户的系统/应用程序1308指示其未被授权执行交易。如果许可管理系统1304确定面向外部用户的系统/应用程序1308被授权执行交易,则许可管理系统1304向可信第三方处理器系统1312传输执行交易所需的用户的账户细节(例如,账户和路由号码)、以及面向外部用户的系统/应用程序1308被授权执行交易的指示。

在动作9中,使用从许可管理系统1304接收到的账户细节,可信第三方处理器系统1312经由与外部用户账户系统1306的通信来执行交易。例如,从许可管理系统1304接收到的账户细节可以包括账号和路由号码、信用卡号等。可信第三方处理器系统1312可以通过与外部用户账户系统1306通信、利用此类信息来执行资金转移(例如,如上所述的ACH交易)等。

在动作10中,可信第三方处理器系统1312向面向外部用户的系统/应用程序1308传送交易已被执行的指示、或者交易未被执行的指示(例如,在资金不足等的情况下)。可信第三方处理器系统1312与面向外部用户的系统/应用程序1308之间的这种通信可以包括关于例如与交易的尝试执行有关的状态等的多次来回通信。

因此,如在图14B的动作图中所述的,经由与面向外部用户的系统/应用程序1308的交互,用户可以向许可管理系统1304提供账户凭证,并授权面向外部用户的系统/应用程序1308执行交易,而不与面向外部用户的系统/应用程序1308共享用户账户信息。有利地,根据某些实施例,不需要利用用户账户信息来使面向外部用户的系统/应用程序1308可信,这可以简化面向外部用户的系统/应用程序1308的开发,并在与面向外部用户的系统/应用程序1308交互时让用户放心。另外,如下所述,图14B的实施方式使得用户能够解除对面向外部用户的系统/应用程序1308的授权和/或改变其许可。

在一些实施方式中,许可管理系统1304、面向外部用户的系统/应用程序1308和/或可信第三方处理器系统1312中的一个或多个的功能可以被组合在一起和/或被细分为更多的系统/设备。例如,在实施例中,许可管理系统1304可以用作许可管理系统和可信第三方处理器两者,从而简化并组合了上述动作中的一些动作。

如所提及的,网络环境1300的各个方面之间的通信可以经由安全信道(例如,加密信道)来进行。例如,为了“可信”,可信第三方处理器系统1312可能需要向许可管理系统1304安全地标识自己。例如,可信第三方处理器系统1312可以展现相互约定的授权、加密或标识。根据某些实施例,在网络环境1300的其他方面之间可能会进行其他类似的通信。

在各个实施例中,可以响应于某些其他动作来发起某些动作。例如,可以响应于来自面向外部用户的系统/应用程序1308的对账户信息和/或交易执行的请求而生成令牌。在各个实施例中,在执行交易时可能涉及其他方面。例如,两个或更多个处理器系统或外部用户账户系统可以彼此协调和/或做出请求以执行交易。

图15是示出根据实施例的网络环境1300的各方面之间的示例交互的动作图,通过该交互,用户可以解除对面向外部用户的系统/应用程序1308的授权。动作1a、1b和1c中的每一个都展示了解除对面向外部用户的系统/应用程序1308执行关于用户的交易的能力的授权的替代性手段。

在动作1a中,用户可以经由面向外部用户的系统/应用程序1308和许可插件1310来请求解除对面向外部用户的系统/应用程序1308执行与用户相关的交易和/或访问与用户相关的数据的授权。例如,该请求是经由通过许可插件1310与许可管理系统1304通信而做出的。

可替代地,在动作1b中,用户可以直接向许可管理系统1304(例如,经由许可管理系统1304的交互式用户界面、经由来自许可管理系统1304的电子邮件中的链接等)请求解除对面向外部用户的系统/应用程序1308执行与用户相关的交易和/或访问与用户相关的数据的授权。

在另一替代方案中,在动作1c中,用户可以经由外部用户账户系统1306实施的许可插件1502(类似于许可插件1310)来请求解除对面向外部用户的系统/应用程序1308执行与用户相关的交易和/或访问与用户相关的数据的授权。例如,当经由外部用户账户系统1306的基于web的门户与外部用户账户系统1306进行接口连接时,用户可以具有请求解除对面向外部用户的系统/应用程序1308的授权的选项。

在动作2中,许可管理系统1304接收解除对面向外部用户的系统/应用程序1308的授权的请求,并通过更新(如存储在记录库1402中的)电子记录来处理该请求。例如,面向外部用户的系统/应用程序1308可以删除电子记录,可以向电子记录添加面向外部用户的系统/应用程序1308已经被解除授权的指示,和/或可以改变与电子记录相关联的一个或多个许可。

在可选动作3中,许可管理系统1304可以通知面向外部用户的系统/应用程序1308其被解除授权。

动作4至8展示了在面向外部用户的系统/应用程序1308在被解除授权之后尝试发起与用户相关的交易时可能进行的动作。

在动作4中,面向外部用户的系统/应用程序1308通过至少提供令牌和交易细节、经由可信第三方处理器系统1312来请求执行交易,如上所述。

在动作5中,可信第三方处理器系统1312将交易细节和令牌传送到许可管理系统1304,以请求对执行面向外部用户的系统/应用程序1308所请求的交易的授权。

如上所述,在动作6中,许可管理系统1304使用令牌来访问与用户和面向外部用户的系统/应用程序1308相关的电子记录。然后,许可管理系统1304将交易细节与所访问的电子记录所指示的许可进行比较。如果该电子记录不存在和/或许可指示面向外部用户的系统/应用程序1308已被解除授权,则在动作7中,许可管理系统1304向可信第三方处理器系统1312传送面向外部用户的系统/应用程序1308不具有交易的授权的指示。在动作8中,可信第三方处理器系统1312向面向外部用户的系统/应用程序1308指示其未被授权执行交易。

在未在图15中描绘的替代方案中,用户可以以类似的方式经由与可信第三方处理器系统1312的交互来解除对面向外部用户的系统/应用程序1308的授权,其中,要么经由如由可信第三方处理器系统1312实施的许可插件要么经由直接通信来向许可管理系统1304通知其被解除授权。

因此,在各个实施例中,经由与许可管理系统1304的交互,使得用户能够解除对面向外部用户的系统/应用程序1308执行交易的能力的授权。这是可能的,因为有利地,可以不与面向外部用户的系统/应用程序1308共享用户账户数据(例如,账号、路由号码等)。而是,许可管理系统1304管理对面向外部用户的系统/应用程序1308执行交易的授权,并且安全地存储用户账户数据。

在某些实施方式中,用户可以更改或更新授予面向外部用户系统/应用程序1308的一个或多个许可,而不是完全解除对面向外部用户的系统/应用程序1308的授权。例如,用户可以改变所允许的交易的频率、改变所允许的交易的值等。另外,在某些实施方式中,用户可以可替代地和/或另外地对授权进行其他改变,包括选择可以从中提款的不同账户等。

图16是根据实施例的展示网络环境1300的各方面之间的示例交互的动作图,其为图14A至图14B的实施例的替代方案。与图14A至图14B一样,(如图16所表示的)网络环境1300的各个方面之间的交互使得能够许可访问外部用户账户系统1306(或多个外部用户账户系统1306)上的用户账户并在其上执行交易。进一步地,网络环境1300的各个方面之间的交互使得用户能够授予对访问其账户的授权和/或撤销该授权。

在动作1中,用户可以向许可管理系统1304提供账户凭证和/或用于访问用户账户的其他授权。这可以用与上文参考图14B所述的动作1和/或图14A的动作1a至1c和2至4中的一个或多个动作所述的类似的方式来实现。

在动作2中,许可管理系统1304可以访问用户的账户/用户账户数据,类似于上文参考图14B的动作2和/或图14A的各个动作所述的。

在动作3中,许可管理系统1304向可信第三方处理器系统1312传送用户账户数据(包括例如账号、路由号码等)和与电子记录和令牌创建相关的其他数据(例如客户端ID、用户标识符等)。

与图14B的交互不同的是,在图16的实施例中,可信第三方处理器系统1312包括记录库1402。因此,在动作4中,可信第三方处理器系统1312生成电子记录和令牌,并将电子记录存储在记录库1402中,类似于上文参考图14B的动作3所述的。

在动作5中,可信第三方处理器系统1312将令牌传送到许可管理系统1304,并且在动作6中,许可管理系统1304将令牌传送到面向外部用户的系统/应用程序1308。可替代地,可信第三方处理器系统1312可以将令牌直接传送到面向外部用户的系统/应用程序1308。

在动作7中,面向外部用户的系统/应用程序1308可以经由与可信第三方处理器系统1312的通信来请求执行与用户相关联的交易,类似于上文参考图14B的动作5所述的。

在动作8中,类似于以上参考图14B的动作7所述的,可信第三方处理器系统1312可以识别记录库1402中的与从面向外部用户的系统/应用程序1308接收到的令牌相关的电子记录。可信第三方处理器系统1312检索所识别的电子记录,包括诸如各种许可信息等与电子记录相关的信息。然后,可信第三方处理器系统1312将交易细节同与电子记录相关联的许可信息进行比较,并确定面向外部用户的系统/应用程序1308是否被授权执行所请求的交易。

动作9和10以与如上所述的图14B的动作9和10类似的方式进行。

上文参考图14A至14B所述的替代方案可以类似地应用于图16的实施例。在各个实施例中,当记录库1402由可信第三方处理器系统1312存储时,用户可以解除对面向外部用户的系统/应用程序1308的授权(和/或改变与面向外部用户的系统/应用程序1308相关的许可等),其方式与上文参考图15所述的实施例的方式类似(不同之处在于,例如,对解除授权、许可改变、账户改变等的请求被直接或经由网络环境1300的另一方面传送到可信第三方处理器系统1312)。

如上所述,面向外部用户的系统/应用程序1308与许可管理系统1304和/或可信第三方处理器系统1312之间的安全通信可以经由公共密钥和/或秘密密钥交换来实现。进一步地,在各种实施方式中,可以在上述动作中使用多个令牌。例如,由可信第三方处理器系统1312存储的令牌可以不同于与面向外部用户的系统/应用程序1308共享的令牌(例如,可以与面向外部用户的系统/应用程序1308共享不同的唯一标识符)。在替代方案中,可信第三方处理器系统1312和面向用户的应用程序1308可以由不同的第三方来操作,并且因此每个第三方可以在与许可管理系统1304进行交互时使用单独的报告令牌。

在实施方式中,网络环境1300的各个方面之间的交互可以如下进行:许可管理系统1304可以生成与用户的账户信息相关的令牌(如上文参考各种实施方式所述);许可管理系统1304可以将该令牌发送到面向外部用户的系统/应用程序1308(在一些实施方式中,此令牌和/或被发送到面向外部用户的系统/应用程序1308的信息可以包括诸如账号和路由号码等账户信息);面向外部用户的系统/应用程序1308可以向可信第三方处理器系统1312发送执行交易的请求(该请求可以包括例如令牌和/或其他账户信息);可信第三方处理器系统1312可以可选地与许可管理系统1304通信以确定面向外部用户的系统/应用程序1308被授权使得交易被执行(例如,可以检查许可、可以检查账户余额等);并且可信第三方处理器系统1312可以发起交易的执行(例如,通过向外部用户账户系统1306发送请求)。在该实施方式中,许可管理系统1304可以在访问来自外部用户账户系统1306的账户信息之后(例如,如本文所述)和/或响应于从面向外部用户的系统/应用程序1308接收到的请求而生成令牌。

如上所述,在一些实施方式中,系统可以向用户计算设备(例如,用户计算设备1314)发送各种类型的警报和/或其他指示。这些各种类型的警报和/或其他指示可以在用户计算设备上激活一个或多个应用程序(例如,SMS(短消息服务)和/或MMS(多媒体消息服务)过程和/或应用程序、电子邮件过程和/或应用程序、与系统相关的过程和/或应用程序、(例如,机构和/或面向用户的应用程序/服务的)第一方和/或第三方过程和/或应用程序等)。在一些示例中,系统可以向用户计算设备发送关于面向外部用户的系统/应用程序的授权和/或解除授权、面向外部用户的系统/应用程序尝试发起未被授权发起的交易(例如,价值过高的交易、过于频繁的交易等)等的警报。如上所述,这样的警报可以包括SMS消息、电子邮件消息和/或可以激活各种过程和/或应用程序的其他类型的消息。在另一个示例中,警报可以激活例如电子邮件应用程序,用户可以通过该电子邮件应用程序来选择链接,以解除对面向外部用户的系统/应用程序的授权(自动地或者经由可能作为选择链接的结果呈现的用户界面)。

在各个实施例中,可以响应于某些其他动作来发起某些动作。例如,可以响应于来自面向外部用户的系统/应用程序1308的对账户信息和/或交易执行的请求而生成令牌。在各个实施例中,在执行交易时可能涉及其他方面。例如,两个或更多个处理器系统或外部用户账户系统可以彼此协调和/或做出请求以执行交易。

图17A是根据实施例的生成令牌的示例方法的流程图。例如,图17A的方法可以由许可管理系统1304在图14B的动作2和3中执行,和/或由许可管理系统1304和/或可信第三方处理器系统1312在图16的动作2、3和4中执行。

在框1710处,许可管理系统1304接收与面向外部用户的系统/应用程序1308相关联的账户凭证和/或许可。账户凭证可以包括例如被用户用于在例如外部用户账户系统1306(和/或另一机构)处登录/访问该用户的账户的用户名和密码(和/或任何其他凭证信息)。

在框1720处,许可管理系统1304使用用户账户凭证来与外部用户账户系统1306进行通信,以访问与用户相关的用户账户数据。如所提及的,上文参考例如图1至图3、图4A至图4B和图5至图10描述了与机构系统(例如,外部用户账户系统1306)通信以获得用户账户信息的过程。该框(和/或1710)可以另外涉及出于满足多因素认证的目的向用户呈现信息和/或从用户获得附加信息。

在一些情况下,用户可能在所访问的机构中拥有多个用户账户。因此,在可选框1730中,许可管理系统1304可以从用户接收对这些账户中要与面向外部用户的系统/应用程序1308相关联的一个或多个账户的选择。这样的选择可以经由可以(例如,经由许可管理系统1304、许可插件1310、面向外部用户的系统/应用程序1308和/或用户计算设备1314的任何组合)向用户呈现的交互式用户界面从用户获得。

在框1740处,生成与用户和面向外部用户的系统/应用程序1308的组合相对应的电子记录和令牌。如上所述,在一些实施方式中,所生成的每个电子记录可以对应于用户和面向外部用户的系统/应用程序的单个组合。在其他实施方式中,每个电子记录可以对应于用户、开发人员、面向外部用户的系统/应用程序、外部机构系统等的各种组合。在实施方式中,可能存在与用户和面向外部用户的系统/应用程序的单个组合相关联的多个电子记录。例如,用户可能与面向外部用户的系统/应用程序有多个交互(例如与多个账户交互),并且因此出于不同的目的,可能期望与面向外部用户的系统/应用程序相关联的多组许可或多个用户账户(例如,这里指的是外部机构的金融账户)。这样的多个交互的示例可以包括通讯订阅(其中可能存在多个正在进行的支付)和商品的一次性购买(其中存在单次购买)。因此,可能期望具有不同许可级别的两个电子记录。在另一实施方式中,多组许可和/或多个账户可以全部存储在同一电子记录内,并且可以通过各种适当的标识符来区分。

图17B是根据实施例的生成令牌的另一示例方法的流程图。例如,图17B的方法可以由外部用户账户系统1306在图14A的动作1a和1b中执行,和/或由外部用户账户系统1306在图14B的动作Z中执行。

在框1750处,外部用户账户系统1306接收与面向外部用户的系统/应用程序1308相关联的账户凭证和客户端ID。账户凭证可以包括例如被用户用于在例如外部用户账户系统1306(和/或另一机构)处登录/访问该用户的账户的用户名和密码(和/或任何其他凭证信息)。在一些实施方式中,外部用户账户系统1306还可以接收与面向外部用户的系统/应用程序1308相关联的许可。

在框1760处,外部用户账户系统1306生成与用户和面向外部用户的系统/应用程序1308的组合相对应的电子记录和令牌。如上所述,在一些实施方式中,所生成的每个电子记录可以对应于用户和面向外部用户的系统/应用程序的单个组合。在其他实施方式中,每个电子记录可以对应于用户、开发人员、面向外部用户的系统/应用程序、外部机构系统等的各种组合。在实施方式中,可能存在与用户和面向外部用户的系统/应用程序的单个组合相关联的多个电子记录。例如,用户可能与面向外部用户的系统/应用程序有多个交互(例如与多个账户交互),并且因此出于不同的目的,可能期望与面向外部用户的系统/应用程序相关联的多组许可或多个用户账户(例如,这里指的是外部机构的金融账户)。在另一实施方式中,多组许可和/或多个账户可以全部存储在同一电子记录内,并且可以通过各种适当的标识符来区分。

在一些情况下,用户可能在所访问的机构中拥有多个用户账户。因此,在可选框1770中,外部用户账户系统1306可以从用户接收对这些账户中要与面向外部用户的系统/应用程序1308相关联的一个或多个账户的选择。这样的选择可以经由可以(例如,经由外部用户账户系统1306、许可插件1310和1311、面向外部用户的系统/应用程序1308和/或用户计算设备1314的任何组合)向用户呈现的交互式用户界面从用户获得。

类似地,如上所述,在一些情况下,作为授权过程的一部分,用户可以指定许可和/或审阅文档。因此,在可选框1780中,外部用户账户系统1306可以从用户接收对一个或多个许可的选择和/或对一个或多个文档的接受。这样的选择可以经由可以(例如,经由外部用户账户系统1306、许可插件1310和1311、面向外部用户的系统/应用程序1308和/或用户计算设备1314的任何组合的管理用户界面)向用户呈现的交互式用户界面从用户获得。这样的用户界面的示例在图20J和图21A(其将在下文中进一步描述)中示出。

在框1790处,许可管理系统1304使用令牌和/或访问密钥来与外部用户账户系统1306进行通信,以访问与用户相关的用户账户数据。令牌和/或访问密钥提供了许可管理系统1304具有从与令牌相关联的用户账户访问用户账户数据的凭证或授权的验证结果。在一些实施方式中,如上所述,许可管理系统1304可以将令牌用于与外部用户账户系统1306的初始通信,以从外部用户账户系统1306获得和访问密钥。可替代地,可以将令牌用于与外部用户账户系统1306的通信。

图18展示了可以例如由许可管理系统1304根据图17A和/或本文所述的其他方法/动作(例如,如参考图17B所述)生成的令牌映射1810、记录库1820和电子记录1830的示例。记录库1820是先前描述的记录库1402的示例。在实施方式中,令牌映射1810和记录库1820中的每一个都可以包括数据库。在一些实施方式中,令牌映射1810和记录库1820中的每一个都可以在数据库中包括多个表,和/或可以被组合到单个表/数据库中。有利地,令牌映射1810和/或记录库1820可以被安全地存储(例如,加密等),以便保护与用户相关的数据。

记录库1820可以包括多个电子记录,诸如电子记录1830。如电子记录1830的示例中所示,电子记录可以包括以下各项中一项或多项:唯一记录名称(其可以用于从各种记录之中识别出记录)、用户标识符(例如,与提供了账户凭证的用户相关联的任何标识符)、客户端ID(如上所述)、使用账户凭证(例如,账号、路由号码等)从外部机构获得的账户信息、各种许可和/或交易历史。在一些实施方式中,电子记录可以包括其他用户账户数据、与用户和/或面向外部用户的系统/应用程序相关的其他数据、账户凭证等。

可以与电子记录一起存储的许可的示例包括与频率、用途、时间、金额、类型等相关的任何许可。例如,在金融交易的背景下,用户可以指定对以下各项的限制:交易金额(例如,不超过$500)、交易频率(例如,每月不超过一个交易)、特定时间范围的金额(例如,每月不超过$1100)、和/或这些和/或其他许可的任何组合。在财务报告的背景下,用户可以指定何时可以访问财务报告(例如,可能存在受限访问性窗口)、谁可以发起新的报告令牌、谁可以访问财务报告。

令牌映射1810可以与记录库1820一起存储,和/或与记录库1820分开存储,和/或可以与记录库1820组合。令牌映射1810提供与每个电子记录相关联的令牌(例如,唯一记录标识符)与唯一记录名称之间的映射。在一些实施方式中,令牌和唯一记录名称可以是相同的(例如,使得不需要令牌映射1810)。然而,具有不同的令牌(例如,唯一记录标识符)可能是有利的,因为如上所述,令牌与包括面向外部用户的系统/应用程序的其他方共享。在令牌被泄露(例如,被盗或丢失)的情况下,可以生成新的令牌,并且可以相应地更新令牌映射1810,使得不需要重新生成对应的电子记录。在一些实施方式中,唯一记录名称和/或令牌(例如,唯一记录标识符)包括电子记录的一项或多项数据的加密散列。在其他实施方式中,唯一记录名称和/或令牌包括随机生成的唯一字符串(和/或任何其他合适的标识符)。

在一些实施例中,电子记录1830可以包括与面向外部用户的系统/应用程序1308相关联的交易历史。例如,可以存储与系统授权的每个交易相关的交易细节。这样的历史信息可以被系统用来确定和/或强制执行某些许可。例如,当许可指示对交易频率的限制时,系统可以访问与电子记录一起存储的历史以确定给定交易是否满足频率许可。因此,在一些实施例中,可信第三方处理器系统1312可以与许可管理系统1304通信以指示交易是否成功完成。

图19是根据实施例的系统的示例方法、并且具体地与交互式用户界面相关的示例方法的流程图。例如,图19的方法可以由许可插件1310和/或许可插件1311在图14A的动作1a、1b、1c、2、3、4、5和/或6中执行。在另一示例中,图19的方法可以由许可管理系统1304和/或许可插件1310在图14B的动作1、2和/或3中执行。在又一个示例中,图19的方法可以由许可管理系统1304、许可插件1310和/或可信第三方处理器系统1312在图16的动作1、2、3和/或4中执行。

在框1910处,将许可插件1310提供给面向外部用户的系统/应用程序1308。例如,许可插件1310可以包括代码片段和/或可以(例如,由开发人员)在面向外部用户的系统/应用程序1308中实施的其他软件方面。在一种实施方式中,许可插件1310包括一行或多行JavaScript,当其例如被web浏览器执行时执行各种软件功能。

在框1912处,当许可插件1310由例如用户计算设备1314执行时(例如,当由用户计算设备1314的web浏览器执行时),许可插件1310发起与许可管理系统1304的通信。有利地,许可插件1310与许可管理系统1304之间的通信可以是安全的(例如,加密的),使得面向外部用户的系统/应用程序1308不能拦截或访问该通信。这可以通过例如在用户设备上而不是直接在面向外部用户的系统/应用程序1308上执行的许可插件1310来实现。

可选地,在框1914处,许可插件1310可以从许可管理系统1304请求附加的脚本或其他软件方面。可替代地,许可插件1310可以包括所有必要的软件方面,而无需从许可管理系统1304接收附加的数据。作为响应,许可管理系统1304可以将所请求的数据提供给许可插件1310。

作为框1910、1912和1914的替代方案,该方法可以以框1920、1922和1924进行(例如,如以上参考图14A所述的)。

在框1920处,类似于框1910,将许可插件1310和/或1311提供给面向外部用户的系统/应用程序1308和/或用户计算设备1314。例如,许可插件1310和/或1311可以包括代码片段和/或可以(例如,由开发人员)在面向外部用户的系统/应用程序1308中实施的其他软件方面。在一种实施方式中,许可插件1310和/或1311包括一行或多行JavaScript,当其例如被web浏览器执行时执行各种软件功能。

在框1922处,当许可插件1310和/或1311由例如用户计算设备1314执行时(例如,当由用户计算设备1314的web浏览器执行时),许可插件1310和/或1311发起与外部用户账户系统1306的通信。有利地,许可插件与外部用户账户系统1306之间的通信可以是安全的(例如,加密的),使得面向外部用户的系统/应用程序1308和许可管理系统1304不能拦截或访问该通信。这可以通过例如在用户设备上而不是直接在面向外部用户的系统/应用程序1308上执行的许可插件1310和/或1311来实现。

在一些实施方式中,在框1924处,当执行许可插件1310和/或1311时,可以从外部用户账户系统1306请求附加的脚本或其他软件方面。可替代地,许可插件1310和/或1311可以包括所有必要的软件方面,而无需从外部用户账户系统1306接收附加的数据。作为响应,外部用户账户系统1306可以将所请求的数据提供给许可插件1310和/或1311。

在框1940处,许可插件可以生成可以向用户显示的交互式用户界面,并且通过该交互式用户界面,信息可以被呈现和接收。下文参考图22A至图22L描述此类用户界面的示例。然后,可以将例如从用户接收到的账户凭证传送到许可管理系统1304(除了本文所述的其他信息项之外)。在一些实施方式中,当许可插件被执行时,用户界面可以被重定向到由外部用户账户系统1306直接管理的页面或界面(例如,从而提供了向外部用户账户系统1306提供账户凭证的直接方式)。

在框1950处,通过使用接收到的账户凭证(和其他信息)来生成令牌。在本文中、包括例如参考图17A至图17B详细描述了令牌生成。

在框1960处,将由许可管理系统1304和/或外部用户账户系统1306生成的令牌直接地、经由许可插件1310、和/或经由许可管理系统1304(传送到面向外部用户的系统/应用程序1308如上文参考图17A所述)。另外,在此框中可以退出交互式用户界面。在一些情况下,交互式用户界面可以保持对用户开放,直到令牌的生成完成为止,而在其他情况下,交互式用户界面则可能不开放,这取决于实施方式和用户所需的信息。

在各个实施例中,本文所述的各种交互式用户界面可以由系统的各方面中的任何一个方面(例如,系统110和/或许可管理系统1304(其本身是系统110的实施方式)、许可插件1310或1311、外部用户账户系统1306、用户设备等)生成。例如,如下所述,在一些实施方式中,用户界面数据可以由一个方面(例如,许可管理系统1304)生成,并且可以经由一个或多个其他方面被传输到用户的计算设备(例如,用户计算设备1314,诸如智能电话),其中,可以呈现用户界面数据,以便向用户显示用户界面。可替代地,交互式用户界面可以由系统(例如,许可管理系统1304)生成并且由用户以其他合适的方式进行访问。

如上文所指出的,本文所述的其他实施例提及了用于在诸如实施用于管理对财务记录的访问的方法的过程中向一个或多个第三方分发、路由或以其他方式披露以编程方式验证的交易(或其他财务或私有数据)的子集的系统。

总体上且宽泛地,图20描绘了诸如本文所述的系统2000的简化数据流图。系统2000在一个或多个用户设备、一个或多个第三方服务器以及一个或多个远程数据源服务器(也称为“端点”)之间实施安全的通信架构。为了简化说明,将用户设备之一标识为用户设备2002,将第三方服务器之一标识为第三方服务器2004,并且将远程账户服务器之一标识为远程数据源2006。

系统2000还包括数据管理平台2008,该数据管理平台可通信地耦合到用户设备2002、第三方服务器2004和远程数据源2006。更具体地,数据管理平台2008是实例化和/或实施各种应用程序编程接口(“API”)以与包括用户设备2002、第三方服务器2004和远程数据源2006的各种远程资源进行通信的服务器或服务器系统(虚拟或实体)。在许多实施例中,由数据管理平台2008实例化的接口彼此隔离,以防止数据从数据管理平台2008意外泄露。

与本文所述的其他实施例一样,数据管理平台2008被配置为访问远程数据源2006以获得、格式化、验证、汇总与用户设备2002的操作者(即,主体)相关的数据和/或将该数据存储在数据库2010中。一旦经汇总的数据被存储在数据库2010中,数据管理平台2008就可以将所存储的经汇总的数据中的全部或一些分发到用户设备2002和/或第三方服务器2004。

为了促进与用户设备2002的安全通信,数据管理平台2008实例化应用程序接口2012。应用程序接口2012被配置为通过本地或分布式网络与由用户设备2002的操作系统执行的软件应用程序(称为软件应用程序2014)的实例进行通信。软件应用程序2014和应用程序接口2012可以使用任何合适的专有、自定义或开源应用层协议(例如,TLS、SSL、HTTP、HTTPS等)进行通信。另外,通常,应用程序接口2012符合基于状态的协议规范或基于对象的协议规范,如RESTful API或SOAP API,但这可能不是必需的,并且可以使用任何适当的消息传递协议和/或数据结构化技术。

数据管理平台2008还实例化请求方接口2016,以促进与第三方服务器2004的通信。与应用程序接口2012一样,请求方接口2016可以符合任何合适的数据结构化和/或消息传递协议以及任何合适的通信或传输协议。在一些情况下,请求方接口2016的实例可以基于正在与特定实例进行通信的特定第三方服务器而不同。更具体地,在一些实施例中,可以将请求方接口的一个实例实例化为符合第一消息传递协议,而可以将请求方接口的第二实例实例化为符合与第一消息传递协议不同的第二消息传递协议。

数据管理平台2008还实例化一个或多个远程账户接口(在本文中也称为“机构接口模块”),其中一个远程账户接口被标识为远程账户接口2018。与请求方接口2016和应用程序接口2012不同,远程账户接口2018可以被配置为从远程数据源2006获得信息,而不管远程数据源2006是否公开了可访问的API。例如,在一些情况下,远程账户接口2018可以被配置为从由远程数据源2006公开的文档化API请求数据。在另一示例中,账户服务器可能完全不公开API。在这种情况下,可以实施远程账户界面2018来模拟被授权应用程序(诸如第一方软件应用程序或web接口)的实例,以便获得数据。在又另一示例中,远程账户接口2018可以被配置为从远程数据源2006下载并解析一个或多个文档或文件。应当理解,可以以不同的方式实例化远程账户接口2018,以与不同的远程数据源通信和/或从不同的远程数据源获得数据。

在许多示例中,数据管理平台2008通过呈现由已知的证书颁发机构(被标识为证书颁发机构2020)颁发的证书来向用户设备2002和第三方服务器2004认证其自身。一旦证书被证书颁发机构2020验证,则用户设备2002和第三方服务器2004就都可以确保由数据管理平台2008分发、传输、获得和/或存储的任何数据都是真实且可信的。

在其他示例中,可能不需要证书呈现来建立信任。例如,数据管理平台2008可以被配置为将数据存储和/或记录到用户设备2002和第三方服务器2004都可访问的区块链上。

由于系统2000所实施的通信架构,可以在操作用户设备2002的主体与管理第三方服务器2004的第三方之间交换私有数据。

继续以上参考的示例,系统2000可以用于将借方的私有财务数据安全地披露给贷方。在该示例中,借方(主体)操作用户设备2002。贷方(第三方)操作和/或管理第三方服务器2004。金融机构(例如,银行、信用卡发行商、投资服务、贷款提供商或服务商、或其他金融机构)操作和/或管理远程数据源2006。

在该示例的一种实施方式中,借方操作用户设备2002的用户界面2022以向数据管理平台2008提供允许数据管理平台2008访问一个或多个远程数据源服务器的凭证。初始地,用户界面2022可以提供可由借方选择的远程数据源的列表,这些远程数据源以任何合适的方式被组织或呈现,包括按字母顺序、按远程数据源类型(例如,银行机构、信用卡机构等)、按最近访问等等。在许多实施例中,借方可以操作用户界面2022以选择多个远程数据源,但是为了描述的简单,该示例参考仅选择远程数据源2006。

一旦借方在用户界面2022中选择了远程数据源2006,用户界面2022就可以转变为呈现一个或多个数据输入字段,使得借方可以提供一个或多个凭证来访问远程数据源2006,这些凭证诸如但不限于:用户名、密码、账号、路由号码、pin号码、社会保险号、驾驶证号、滚动式双因素认证访问码等。更具体地,远程数据源2006可能另外需要认证质询,诸如,pin码、安全性问题、一次性密码、辅助设备代码验证、生物特征识别和/或任何合适形式的多因素认证。此类附加的认证质询可以与凭证同时收集,但是可以可替代地定义多因素认证过程。例如,如果主账户凭证不充足,则MFA质询可能会在响应中返回,此附加的凭证请求可以在获得对账户的访问权限之前根据需要而被重复。可以另外存储机构账户凭证,并将其自动用于完成后续访问或登录尝试。

在许多情况下,远程数据源2006将接收到的凭证存储在数据库2010(或另一个远程或本地数据库)中,但这不是必需的。在一些情况下,数据管理平台2008可能有意不存储接收到的凭证,以保护借方的数据隐私。

一旦借方提供了用于访问远程数据源2006的凭证,数据管理平台2008就可以实例化或操作远程账户接口2018以与远程数据源2006通信,从而从远程数据源2006获得私有财务数据。私有财务数据可以包括但不限于:交易历史;收入信息;支出信息;直接存款信息;分期付款信息;现金存款信息;账户信息(例如,账户名、账户类型、账号、路由号码等);余额信息;即时余额信息;费用信息;持卡人信息;关连账户信息;储蓄率信息;储蓄信息;税务文档信息;提款信息;ACH信息;账单支付信息;常规收款人信息;支票信息;停止支付订单信息;收费争议信息;借记卡信息;信用卡信息;国外交易信息;国外交易费用信息;等等。

如上文所指出的,在一些示例中,远程账户接口2018被配置为通过符合由远程数据源2006提供的公开API来从远程数据源2006获得私有财务数据。然而,在其他情况下,远程账户接口2018被配置为通过但不限于以下方式从远程数据源2006获得私有财务数据:抓取或呈现网页、模拟与网页的交互、实例化被授权的第一方应用程序的代理实例以与未公开的API资源进行通信、从由远程数据源2006提供的文档存储库中下载一个或多个文档等。

继续该示例,一旦数据管理平台2008已经经由远程账户接口2018从远程数据源2006获得了私有财务数据,数据管理平台2008就可以格式化和/或以其他方式规范化所获得的私有财务数据。例如,在一些情况下,由远程数据源2006提供的商户识别码可以由数据管理平台2008(例如,通过访问本地或远程查找表)规范化为商户名或商户昵称。在其他情况下,数据管理平台2008可以执行其他格式化和/或数据规范化操作,包括但不限于:改写接收到的财务数据的数据类型(例如,字符串转浮点或双精度、整数转浮点、字符串转日期等);截短交易描述;混淆或截短账号;重新格式化字符串和/或日期对象类型;等等。

继续该示例,一旦数据管理平台2008已经规范化和/或重新格式化了所获得的私有财务数据,就可以将经格式化的私有财务数据存储在数据库2010中。数据管理平台2008可以通过再次访问远程数据源2006来周期性地(例如,每小时、每天、每周、按需等)刷新存储在数据库2010中的经格式化的私有财务数据。

在该示例中,在数据管理平台2008已经将经格式化的私有财务数据存储在数据库2010中(例如,存储为财务报告)之后,借方可以操作用户接口2022以经由应用程序接口2012从用户设备2002访问该数据。如关于本文所述的其他实施例所指出的,数据管理平台2008可以汇总来自多个远程数据源的经格式化的私有财务数据,借方可以从用户设备2002汇总审阅所有这些数据。

在其他示例中,在数据管理平台2008已将经格式化的私有财务数据存储在数据库2010中之后,可以操作和/或实例化请求方接口2016,以准备从第三方服务器(诸如第三方服务器2004)接收请求。如上文所指出的,在该示例中,贷方操作第三方服务器2004以搜索关于借方的特定财务数据。更具体地,贷方可以操作第三方服务器2004,以经由请求方接口2016向数据管理平台2008提交对存储在数据库2010中、或以其他方式可经由远程账户接口2018被数据管理平台2008访问的借方的财务数据的请求。

在一些实施例中,贷方可以请求所有可获得的财务数据。在其他实施例中,贷方可以仅请求与特定数据类型或查询相匹配的财务数据的特定子集。例如,贷方可以请求收入信息、余额信息和每月债务支付信息。在其他情况下,贷方可以仅请求收入信息。在另外的其他示例中,贷方可以请求收入信息和金额高于阈值的提款信息。在其他示例中,贷方可以从数据管理平台2008请求元数据。例如,贷方可以请求在所有金融机构上的净收入。可以理解的是,前述示例并非详尽的,贷方(或更一般地,从数据管理平台2008请求数据的任何第三方)可以请求任何的数据、数据类型、或数据或数据类型的组合。

继续该示例,一旦贷方汇集了要请求的数据列表或数据集,贷方就可以操作第三方服务器2004以经由请求方接口2016将该请求提交到数据管理平台2008。

一旦数据管理平台2008从第三方服务器2004接收到对数据的请求,数据管理平台2008就可以(可选地)经由被发送到第三方服务器2004和/或软件应用程序2014的信号来确认接收到请求。被发送到第三方服务器2004的信号可以指示该请求已被接收并且正在被处理和/或审阅。被发送到在用户设备2002上操作的软件应用程序2014的信号可以通知借方贷方已经传输了公开财务信息的请求。

在(可选地)确认接收到请求之后,数据管理平台2008可以分析该请求,以确定是否可以检索存储在数据库2010中的数据以响应该请求。如果数据管理平台2008确定不能全面地响应该请求,则数据管理平台2008可以确定可能包含所需的数据或信息的远程数据源是否存在或以其他方式可访问。如果必要,数据管理平台2008可以经由用户设备2002上的用户界面2022向借方请求附加的凭证。

一旦数据管理平台2008确定其可以经由远程账户接口2018对从第三方服务器2004接收到的请求做出响应,则数据管理平台2008可以经由软件应用程序2014向借方请求许可,以经由第三方服务器2004向贷方披露所请求的私有数据。可替代地,数据管理平台2008可以通过验证凭证/令牌并且可选地执行某种形式的异常/欺诈检测来自动确定许可。

更具体地,软件应用程序2014和用户界面2022可以向借方呈现一个或多个选项,以允许借方批准、拒绝或修改请求。例如,用户界面2022可以将所请求的私有数据(或所请求私有数据的概要)呈现给借方。在审阅了所请求的私有数据之后,借方可以选择用户界面元素(图20中未示出)来指示借方是否批准请求、借方是否想要修改请求或借方是否更想拒绝请求。

如果借方批准了披露所请求的私有财务数据的请求,则软件应用程序2014可以经由应用程序接口2012将许可传送到数据管理平台2008。作为响应,数据管理平台2008可以向第三方服务器2004披露所请求的数据。

可替代地,如果借方拒绝了披露所请求的私有财务数据的请求,则软件应用程序2014可以经由应用程序接口2012向数据管理平台2008传达拒绝将所请求的信息提供给第三方服务器2004。作为响应,数据管理平台2008可以通知第三方服务器2004借方已经拒绝了对私有财务数据的请求。

可替代地,如果借方更想修改披露所请求的私有财务数据的请求,则软件应用程序2014可以与数据管理平台2008通信以经由远程账户接口2018修改从第三方服务器2004请求的信息。借方可以以任何合适的方式修改请求,包括但不限于:增加或修改已披露交易的日期范围;增加或修改已披露交易的金额范围;添加或拒绝对从一个或多个特定金融机构或其他远程数据源获得的数据的访问;将已披露的金额取整至特定有效数字;混淆账号、路由号码或其他账户或标识信息;等等。作为响应,数据管理平台2008可以向第三方服务器2004披露经修改的所请求数据。

总体上,出于解释的目的,并且为了便于理解诸如本文所述的系统和通信架构的各种配置和用途,提出了上述示例及其各种替代方案及其变型。然而,对于本领域的技术人员将显而易见的是,可能不需要本文提出的一些具体细节来实践特定描述的实施例或其等同物。类似地,对于本领域的技术人员将显而易见的是,本文所述的系统可以被修改、调整或以其他方式适配于其他远程数据源、数据类型和第三方。

例如,上述实施例假定在从第三方接收对私有数据的请求之前,数据就存在于数据库中。并非所有实施例都必须这样。例如,在一些实施例中,可以在将任何数据存储在数据库中之前,将对私有财务数据(或其他数据)的请求提交到数据管理平台。在这些示例中,数据管理平台可以被配置为向用户设备提交选择一个或多个远程数据源的请求并提供访问那些远程数据源的一个或多个凭证,从而响应从第三方服务器接收到的对披露私有数据的请求。在这些实施例中,可能不需要将数据存储在数据库中;在(可选的)重新格式化并从软件应用程序接收到对披露的许可之后,可以向第三方服务器披露所获得的私有数据。

在另外的其他实施例中,可以以与以上所描述的不同方式收集和/或汇总数据。例如,在一些实施例中,数据管理平台可以被配置为代表特定用户、账户、借方或代理商监控和/或处理一个或多个交易。在其他实施例中,如上所述,数据管理平台可以被配置为促进实体之间的交易。无论选择哪种具体实施方式,数据管理平台都可以保留与数据管理平台处理的每个交易相关联的一个或多个记录。这些交易记录以及关于或描述这些交易或交易记录的信息可以存储在上文提及的数据库中和/或可以与从第三方服务器获得的数据一起汇总。

例如,在一个实施例中,数据管理平台已经被借方批准访问两个金融机构——支票账户和储蓄账户。如上所述,数据管理平台可以被配置为从这两个金融机构获得记录和/或信息。所获得的信息可以被汇总在一起并存储在数据管理平台的数据库中。在该示例中,借方还可以批准数据管理平台监控借方的第三账户(诸如信用卡账户)。在该示例中,数据管理平台转发、处理或以其他方式获得借方使用信用卡发起的每笔交易。在一些实施例中,数据管理平台可以将信用卡信息与支票账户信息和储蓄账户信息进行汇总。在其他示例中,数据管理平台维护单独的数据库或表(或一组数据库或表)来记录和捕获所获得的与信用卡账户相关的数据。

此外,可以理解的是,图20中所提及的系统、服务器和软件应用程序可以在多种不同的硬件平台上以多种方式来实施。

图21A描绘了系统2100的简化信号流图,诸如本文所述的,该系统包括数据管理平台2102以及可由数据管理平台2102的处理器(未示出)和/或操作系统实例化的多个类对象和接口实例。

与图20所描绘的系统2000一样,数据管理平台2102在一个或多个用户设备、一个或多个第三方服务器以及一个或多个远程数据源服务器之间实施安全的通信架构。为了说明和描述的简单,用户设备由用户设备2104统一表示,远程账户服务器由远程数据源服务器2106统一表示,并且第三方服务器由第三方服务器2108统一表示。数据管理平台2102包括数据库2110,该数据库用于汇总和存储从远程数据源服务器2106检索到的经格式化的私有数据。

与本文所述的其他实施例一样,数据管理平台2102实例化各种接口以与用户设备2104、第三方服务器2108和远程数据源服务器2106通信。更具体地,数据管理平台2102实例化应用程序接口2112以与用户设备2104通信,实例化远程账户接口2114以与远程数据源服务器2106通信,并且实例化第三方接口2116以与第三方服务器2108通信。这些接口可以使用任何合适的专有、自定义或开源应用层或传输层协议(例如,TCP、UDP、TLS、SSL、HTTP、HTTPS等)进行通信。然而,在一些实施例中,这些接口符合基于状态的消息传递协议规范或基于对象的消息传递协议规范,如RESTful API或SOAP API,然而,如关于图20中的系统2000所指出的,特定的消息传递或传输协议可能不是必需的,并且可以使用任何合适的消息传递协议和/或数据结构化技术。

如上文所指出的,数据管理平台2102、用户设备2104、第三方服务器2108和远程数据源服务器2106可以各自被实施为可经由本地和/或远程网络通信地耦合的服务器或其他支持网络的电子设备。为了描述的简单,在本文中将数据管理平台2102、用户设备2104、第三方服务器2108和远程数据源服务器2106描述为“电子设备”或“服务器”,但可以理解,在某些实施例中,数据管理平台2102、用户设备2104、第三方服务器2108和远程数据源服务器2106中的一个或多个可以部分或全部地以作为虚拟机操作的软件来实施。

在所展示的实施例中,用户设备2104、远程数据源服务器2106和第三方服务器2108被描绘为包括至少一个处理器、至少一个存储器和至少一个网络接口的电子设备。

更具体地,用户设备2104包括处理器2106a、存储器2104b和网络接口2104c。在许多情况下,用户设备2104还包括显示器、壳体、一个或多个传感器、一个或多个输入部件等。为简单起见,这些元件中的许多元件在图21A中被省略。在许多实施例中,用户设备2104是个人电子设备,诸如,蜂窝电话、膝上型计算机、台式计算机等。然而,可能并非所有实施例都必须这样;用户设备2104可以是但不限于:一个服务器;一组服务器;便携式电子设备;平板计算机;信息亭;等等。

用户设备2104的处理器2106a被配置为访问存储器2106b以检索可执行指令,这些可执行指令使得处理器2106a执行、协调和/或管理用户设备2104的一个或多个功能。例如,处理器2106a可以被配置为操作网络接口2104c以便与应用程序接口2112进行通信。以这种方式,用户设备2104可以与数据管理平台2102交换数据。

与用户设备2104一样,远程数据源服务器2106和第三方服务器2108各自包括处理器(分别标识为处理器2106a和处理器2108a)、存储器(分别标识为存储器2106b和存储器2108b)和网络接口(分别标识为网络接口2106c和网络接口2108c)。在典型示例中,远程数据源服务器2106和第三方服务器2108各自被实施为企业服务器(或在企业服务器上实施),但这可能不是必需的。

在许多示例中,数据管理平台2102是包括处理器的服务器或服务器系统。处理器可以被实施为能够处理、接收或传输数据或指令的任何电子设备。例如,处理器可以是微处理器、中央处理单元、专用集成电路、现场可编程门阵列、数字信号处理器、模拟电路、数字电路或这些设备的组合。该处理器可以是单线程处理器或多线程处理器。该处理器可以是单核处理器或多核处理器。

因此,如本文所述,短语“处理单元”或更一般地“处理器”是指物理上被构造为执行特定的数据变换的硬件实施的数据处理设备或电路,该特定的数据变换包括被表示为代码和/或指令的数据操作,该代码和/或指令包括在可以存储在存储器内并从存储器访问的程序中。该术语旨在涵盖单个处理器或处理单元、多个处理器、多个处理单元、模拟或数字电路、或其他适当配置的计算元件或元件组合。

数据管理平台2102的处理器被配置为访问存储可执行指令的存储器。当被执行时,这些指令使处理器执行、协调或监控数据管理平台2102的一个或多个操作。

在执行存储在存储器中的指令之后,数据管理平台2102的处理器被配置为实例化多个类和/或对象,这些类和/或对象被配置为执行特定功能,协调类或对象之间的通信,和/或协调类对象和外部资源(诸如,用户设备2104、远程数据源服务器2106或第三方服务器2108)之间的通信。

例如,如上文所指出的,数据管理平台2102的处理器实例化用于与用户设备2104、远程数据源服务器2106或第三方服务器2108通信的三个接口。所实例化的接口之一是远程账户接口2114。远程账户接口2114促进由数据管理平台2102的处理器实例化的各种类对象与远程数据源服务器2106之间的通信。

被配置为经由远程账户接口2114与远程数据源服务器2106通信的示例类对象在图21A中被标识为未公开的API/数据提取引擎2118。未公开的API/数据提取引擎2118可以实施多种方法和/或功能,以与未公开可方便地访问的API的一个或多个远程数据源服务器通信和/或从中提取数据。

例如,在一个实施例中,未公开的API/数据提取引擎2118可以被配置为但不限于:呈现由远程数据源服务器2106托管的网页,并从所加载的网页抓取数据;模拟与远程数据源服务器2106托管的网页的用户交互,从而从所加载的网页抓取数据;模拟已批准的第一方应用程序的存在,以与远程数据源服务器2106提供的未公开的API进行交互;等等。

被配置为经由远程账户接口2114与远程数据源服务器2106通信的另一示例类对象被标识为API/数据提取引擎2120。与未公开的API/数据提取引擎2118不同,API/数据提取引擎2120被配置为通过提交查询并根据由远程数据源服务器2106定义并公开的API从远程数据源服务器2106收集响应,来访问远程数据源服务器2106的一个或多个资源或端点。

在许多实施例中,由未公开的API/数据提取引擎2118和API/数据提取引擎2120执行的功能和/或方法是重复的;在任何给定时间,仅需要这两个类对象之一操作以与特定的远程数据源服务器2106通信。

未公开的API/数据提取引擎2118和API/数据提取引擎2120各自被配置为与图21A中标识为数据处理引擎2122的另一类对象通信。

数据处理引擎2122被配置为接收和处理由未公开的API/数据提取引擎2118和API/数据提取引擎2120获得的原始数据。例如,数据处理引擎2122可以响应于从未公开的API/数据提取引擎2118或API/数据提取引擎2120接收原始数据而执行一个或多个数据验证操作。数据验证操作可以包括但可以不限于:拼写验证、语法验证、格式验证、数值范围验证、非法字符检查、数据清理操作等。

在其他实施例中,数据处理引擎2122可以响应于从未公开的API/数据提取引擎2118或API/数据提取引擎2120接收原始数据而执行一个或多个数据格式化或预格式化操作。格式化操作可以包括但可以不限于:将值从一种类型改写为另一种类型(例如,字符串转日期、整数转双精度或浮点等);将字符串日期重新格式化为日期对象;微调空白字符;改变字符串的大小写;截短字符串;将字符串从第一语言翻译成第二语言;将一种货币转换为第二种货币;将数字取整到特定精度;删除非法字符;等等。

在其他实施例中,数据处理引擎2122可以响应于从未公开的API/数据提取引擎2118、API/数据提取引擎2120接收到原始和/或经预格式化的数据、或响应于数据处理引擎2122本身的方法对象而执行一个或多个数据排序、结构化或组织操作。排序、结构化或组织可以包括但可以不限于:按字母排序;按时间排序;拒绝某些字段或数据类型;添加某些字段或数据类型;将接收到的数据映射到一个或多个数据对象;等等。

在其他实施例中,数据处理引擎2122可以响应于从未公开的API/数据提取引擎2118、API/数据提取引擎2120接收到原始和/或经预格式化的数据、或响应于数据处理引擎2122本身的方法对象而执行一个或多个数据分类或标记操作。分类或标记可以包括但可以不限于:将数据类型附加到一个或多个数据点(例如,交易类型、商户类型、健康信息类型等);用可搜索的标签或标识符标记一个或多个数据点;用与远程数据源服务器2106相对应的标识符标记数据点中的一个或多个;用与从远程数据源服务器2106获得数据的时间和日期相对应的时间戳标记一个或多个数据点;等等。

总体上,出于解释的目的,并且为了便于理解对被配置为输出从未知源(诸如远程数据源服务器2106)获得的经良好格式化的数据的数据管理平台子系统的可能配置和用途,提出了上述各种类对象的前述示例功能和操作及其替代方案和变型。然而,对于本领域的技术人员将显而易见的是,可能不需要本文提出的一些具体细节来实践特定描述的实施例或其等同物。类似地,对于本领域的技术人员将显而易见的是,本文所述的系统可以被修改、调整或以其他方式适配于其他远程数据源。

例如,从银行服务器提取、格式化和验证数据所需的操作可以不同于从信用卡发行商提取、格式化和验证数据所需的操作。这样,应当理解,未公开的API/数据提取引擎2118、API/数据提取引擎2120和数据处理引擎2122通常在不同的实施例中以不同方式配置。更具体地,未公开的API/数据提取引擎2118、API/数据提取引擎2120和数据处理引擎2122可以针对被配置为与数据管理平台2102通信的每个远程数据源进行专门配置。在一些情况下,可以将针对每个引擎的一组配置变量存储为特定于特定远程数据源的配置方案。在这些实施例中,每当数据管理平台2102与特定的远程数据源服务器(在许多情况下,其由特定的标识符或标签标识)通信时,都可以应用对应的配置方案来动态地重新配置每个引擎。在其他情况下,可能不需要多个配置方案。

一旦数据处理引擎2122已经处理了从远程数据源服务器2106接收到的数据,就可以将数据插入数据库2110中以进行长期存储。在一些情况下,数据库2110被配置为用新数据覆盖现有数据,但这可能不是必需的。数据库2110可以是关系数据库或非关系数据库。

数据管理平台2102的处理器实例化的另一个类对象是远程账户接口2114。如关于本文所述的其他实施例所指出的,远程账户接口2114被配置为促进第三方服务器(诸如,第三方服务器2108)与由数据管理平台2102的处理器实例化的一个或多个类对象或对象之间的通信。

被配置为经由远程账户接口2116与第三方服务器2108通信的示例类对象在图21A中被标识为许可引擎2124。许可引擎2124被配置为监督和/或管理从数据库2110对经格式化的私有数据的检索。例如,在一些实施例中,许可引擎2124被配置为经由第三方接口2116从第三方服务器2108接收对私有数据的请求。响应于该请求,许可引擎2124可以查询数据库2110以确定数据库2110是否包含足以响应该请求的信息。如果许可引擎2124确定数据库确实包含足以响应该请求的信息,则许可引擎2124可以经由应用程序接口2112与用户设备2104通信,以请求对向第三方服务器2108披露所请求的数据的许可。

被配置为经由远程账户接口2116与第三方服务器2108通信的另一示例类对象在图21A中被标识为格式化引擎2126。格式化引擎2126被配置为在向第三方服务器2108披露该数据之前(例如,在许可引擎2124已经获得对向第三方服务器2108披露数据的许可之后)格式化私有数据。格式化引擎2126可以执行任何数量的合适的格式化操作,包括但不限于:改写数据类型;截短一个或多个数据字段;改变一个或多个数据字段的大小写;合并来自数据库2110的一个或多个表的数据;将一个或多个数据字段插入到模板表格中;用一个或多个数据字段替换模板表单中的令牌;将数据结构化为由第三方服务器指定的格式;等等。

被配置为经由远程账户接口2116与第三方服务器2108通信的另一示例类对象在图21A中被标识为加密引擎2128。加密引擎2128被配置为在向第三方服务器2108披露已经格式化的数据之前(例如,在许可引擎2124已经获得对向第三方服务器2108披露数据的许可之后,并且在格式化引擎2126已经格式化要披露的数据之后)对该数据进行加密。加密引擎2128可以采用任何合适的加密技术或方法,包括但不限于:对称密钥加密;公共密钥加密;等等。

例如,图21B描绘了系统2100的简化信号流图,诸如本文所述的,该系统包括数据管理平台2102。如图21B所示,第一第三方系统可以使用令牌来访问来自报告管理器的财务/资产报告,第二第三方系统可以使用第二令牌(即“审计令牌”)以类似方式获取财务报告以进行审计。

与图20所描绘的系统2000一样,数据管理平台2102在一个或多个用户设备、一个或多个第三方服务器(例如,放贷机构)以及一个或多个远程数据源服务器(例如,金融服务机构)之间实施安全的通信架构。与本文所述的其他实施例一样,为了说明和描述的简单,用户设备由用户设备2104统一表示,远程账户服务器由远程数据源服务器2106统一表示,并且第三方服务器由第三方服务器2108统一表示。数据管理平台2102包括数据库2110,该数据库用于汇总和存储从远程数据源服务器2106检索到的经格式化的私有数据。

然而,在该实施例中,可以以密码方式促进数据管理平台2102的不同部分之间的安全通信。更具体地,代替(或除了)交换和/或存储用户凭证以访问远程数据源服务器(例如,远程数据服务器2106)中的一个或多个,所展示的实施例可以通过生成、分配和交换密码密钥(在本文中称为令牌)来促进安全(且可撤销)通信。

更具体地,在一个实施例中,用户设备2104的用户可以提供凭证以访问存储在远程数据服务器2106中的安全数据库。在该示例中,用户设备2104可以通过API 2130将凭证提供给数据管理平台2102。作为响应,API 2130可以使用所供应的凭证来访问远程数据服务器2106。作为响应,远程数据服务器2106可以向数据管理平台2102提供与由用户设备2104提供的凭证相对应的密码安全令牌(例如,会话令牌),该令牌可以稍后用于再次获得对远程数据服务器2106的访问。此后,该令牌可以存储在令牌数据库2132中。

**这些可以代表共享令牌和访问财务信息的方式**

在另外的实施例中,数据管理平台2102可以被配置为从第三方服务器2108接收对包含在远程数据服务器2106中的信息的请求。为了满足该请求,数据管理平台2102可以访问令牌数据库2132以检索与远程数据服务器2106相关联的令牌。一旦获得令牌,数据管理平台2102就可以访问远程数据服务器2106,获得所请求的数据,并将所请求的数据转发到第三方服务器2108。

在其他示例中,数据管理平台2102可以被配置为将存储在令牌数据库2132中的令牌发送到第三方服务器2108。在该示例中,第三方服务器2108可以直接访问远程数据服务器2132。

在另外的其他示例中,第三方服务器2108可以请求存储在远程数据服务器2106中的数据的报告和/或存储在数据库2110中的数据的报告。在这些实施例中,数据管理平台2102包括报告管理器2134。报告管理器2134可以可通信地耦合到令牌数据库2132和API2130。由于该架构,报告管理器2134可以访问包含在数据库2110中的数据、以及另外地存储在远程数据服务器2106中的数据(例如,经由访问令牌数据库2132和从该令牌数据库供应适当的令牌)。在另外的其他实施例中,报告管理器2134可以可通信地耦合到一个或多个机构数据库(例如,税务数据库、财务数据库、其他银行机构或金融机构等)。示例机构数据库被标识为机构数据库2136。报告管理器2134可以经由特定于相关联的机构的API来访问机构数据库2136。在所展示的实施例中,经由机构接口系统2138来访问机构数据库2136,该机构接口系统包括一个或多个机构专用模块(称为机构接口模块,或“IIM”)。更具体地,机构接口系统2138是被配置为与金融机构系统进行接口连接的金融机构接口系统。

一旦由报告管理器2134生成了报告(其包括从数据库2110、远程数据源2106或机构数据库2136中的任何一个或全部获得的数据),就可以将该报告传输到任何适当的一方,诸如第三方服务器2108。

为了验证由报告管理器2134生成的报告的真实性,第三方服务器2108可以审计该报告。在这些实施例中,数据管理平台2102可以通过向第三方服务器2108提供临时和/或受限访问令牌来促进报告的信任审核。作为响应,第三方服务器2108可以使用接收到的令牌来访问远程数据源2106,以验证包含在由报告管理器2134生成的报告中的数据的至少一部分是否准确。

在另外的其他示例中,可以在可通信地耦合到数据管理平台2102的各种组件之间交换与特定数据库、账户、记录和/或元数据相关联的各种令牌。可以等效地应用本文所述的令牌的其他示例用途和功能。

总体上,出于解释的目的,并且为了便于理解诸如本文所述的系统(以及该系统可以实例化的各种类和对象)的各种配置和用途,提出了上述示例及其各种替代方案及其变型。然而,对于本领域的技术人员将显而易见的是,可能不需要本文提出的一些具体细节来实践特定描述的实施例或其等同物。

例如,如上所述的示例实施例设想的是,诸如本文所述的数据管理平台的一个或多个功能可以通过由数据管理平台的一个或多个处理器实例化的目的配置的类对象来实施。在其他实施例中,这可能不是必需的。例如,在一些实施例中,未公开的API/数据提取引擎2118、API/数据提取引擎2120、数据处理引擎2122、许可引擎2124、格式化引擎2126或加密引擎2128中的任何一个可以单独以硬件实施、在不同的或分布式服务器上实施、或实施为专用硬件和软件的组合。

进一步的实施例提及了可以由与诸如本文所述的数据管理平台通信的用户设备的显示器呈现的用户界面。如关于本文所述的许多实施例所指出的,可以操作用户设备以便以简单、紧凑且高效的方式向数据管理平台提供输入。

总体上且宽泛地,图22A至22L描绘了可以由电子设备(诸如,图20、图21A和图21B中描绘的用户设备)执行的应用程序的实例呈现的各种示例用户界面。如关于本文述的其他实施例所指出的,用户设备可以是任何合适的电子设备,诸如但不限于:手机、智能电话、平板计算机、台式计算机、车辆娱乐系统、可穿戴电子设备等。

换言之,图22A至图22F中所描绘的实施例描绘了显示信息、总结信息、提供显示不同类型的信息的选择、和/或索求来自电子设备的用户的输入以便与诸如本文所述的数据管理平台进行交互的各种方法。

可以通过图22A至图22L中描绘的各种用户界面来促进的与上述数据管理平台的示例交互可以包括但可以不限于:选择一个或多个远程数据源(例如,金融机构、信贷机构、经纪公司、贷款服务机构、公共设施、服务提供商等)供数据管理平台访问;选择一个或多个远程数据源,以包括在向第三方披露的一组私有数据中;向数据管理平台提供用于访问远程数据源的一个或多个凭证;显示通过查询数据管理平台的数据库获得的数据;从数据管理平台接收对授权向第三方披露某些私有数据的请求;修改来自第三方的对私有数据的请求;停用先前授予的访问权限;选择一个或多个金融账户;等等。

然而,为了描述的简单,与本文所述的其他实施例一样,以下实施例提及了其中贷方(第三方)向借方(电子设备的主体和用户)请求私有财务数据的交易。在该示例中,可以向借方呈现与获取和/或披露私有财务数据相关的图形用户界面选项。然而,如上文所指出的,可以理解的是,这些示例既不是限制性的也不是详尽的;其他实施方式也是可能的。

进一步地,可以理解的是,下文提供的各种视图和示例用户界面配置不限于所提供的特定布局、顺序、文本、相对元素尺寸或位置。换言之,可以设想不同的用户界面和不同的用户界面进度、动画和顺序。本领域技术人员将理解的是,以下示例仅仅是特例,并且在一些实施例中,可以以另一种方式提供用户界面。

图22A至图22L各自描绘了电子设备2200执行呈现用户界面的应用程序。通常,该应用程序由访问非易失性存储器的电子设备2200的处理器执行以获得可执行指令,这些可执行指令使处理器将由这些可执行指令定义的虚拟机加载到快速存取存储器中。除了其他功能之外,虚拟机被配置为生成图形用户界面,该图形用户界面用于向电子设备2200的用户提供输出和从电子设备的用户获得输入。

更具体地,用户界面被配置为将数据呈现给借方并向借方请求数据输入。用户界面可以被配置为以多种方式接收借方输入的数据,包括但不限于:手动输入的数据;扫描的数据(例如,经由相机或图像捕获设备);口述的数据;复制的数据;导入的数据;上传的数据;手写的数据;等等。

图22A至图22L的电子设备2200可以是任何合适的电子设备,诸如但不限于:蜂窝电话;平板计算机;膝上型计算机;台式计算机;可连接互联网的设备;可连接内联网的设备;等等。在一个示例中,电子设备2200是以无线方式连接到远程服务器或远程服务器组的便携式电子设备。电子设备2200可以包括以下各项中的一项或多项:处理器;暂态存储器;非暂态存储器;显示器;用户输入系统;无线或有线通信模块;等等。在许多情况下,电子设备2200被配置为将可由处理器执行的程序指令存储在非暂态存储器中。在一些实施例中,诸如本文所述系统的一个或多个部分可以整体或部分地实施为存储在位于电子设备2200内或可被该电子设备访问的非暂态存储器中的可执行指令。

图22A至图22L的电子设备2200还包括壳体2202,该壳体包围可操作地或可通信地耦合到诸如上文所述的处理器的显示元件。该显示元件可以是任何数量的合适的显示元件,包括但不限于:LCD显示器;LED显示器;OLED显示器;等等。

在许多情况下,电子设备2200还包括用户输入系统,诸如触摸输入系统或键盘输入系统,以便从借方接收输入。

图22A描绘了电子设备提供用于从列表或网格中选择一个或多个银行机构或金融机构的用户界面2204a。在一种示例背景下,可以在电子设备2200与数据管理平台(诸如参考图20、图21A和图21B所述的数据管理平台)通信的同时,向该电子设备的用户(例如,借方)呈现用户界面2204a。金融机构可以是但不限于:银行;经纪公司;信用卡发行商;数字钱包;密码货币交易所;在线零售商;忠诚度计划;抵押贷款服务商;等等。

在其他示例背景下,可以响应于来自第三方(诸如贷方)的请求而将用户界面2204a呈现给借方。例如,借方可以访问由贷方提供的网站或服务,该网站或服务将借方重定向到用户界面2204a。在其他情况下,用户界面2204a可以是由数据管理平台(诸如参考图20、图21A和图21B所述的数据管理平台)托管的可访问的web页面。在另外的其他实施例中,用户界面2204a可以由在电子设备2200上执行的本机应用程序提供。可以理解的是,前述示例不是详尽的,并且也可以使用其他用户界面生成技术和/或此类技术的组合。

在所展示的配置中,借方可以使用电子设备2200来指示数据管理平台访问并汇总来自从金融机构列表中选择的每个金融机构的私有财务数据。在另一个实施例中,借方可以将电子设备2200用于数据管理平台,以仅向第三方服务器披露来自所选择的金融机构的数据。例如,尽管借方授权电子设备2200访问多于一个的金融机构,但是借方可以仅授权可以向第三方服务器披露从金融机构之一获得的信息。

在此示例配置中,用户界面2204a还呈现搜索字段2206以接收来自借方的文本查询,从而搜索可滚动的一组可选择的远程数据源(在图中被标识为可选择的金融机构2208)。搜索字段2206可以被配置为接收字母数字输入、手绘输入、仅数字输入、仅符号输入、口述输入等。搜索字段2206可以将所显示的金融机构限制为与输入到搜索字段2206中的查询相匹配的金融机构。在一些示例中,搜索字段2206可以可操作地或功能性地耦合到被配置为从远程服务器获得金融机构的列表的web搜索引擎。

在所展示的实施例中,可选择的金融机构2208以网格格式被呈现在搜索字段2206下方,但是这可能不是必需的。例如,在一些实施例中,可选择的金融机构2208可以以列表格式呈现。在其他情况下,搜索字段2206可以位于可选择的金融机构2208的网格或列表的下方或中心。

在许多情况下,搜索字段2206实施实时搜索,该实时搜索响应于输入到搜索字段2206的每个后续字符而自动更新可选择的金融机构2208中的哪些被显示、隐藏、变暗或高亮。在一些情况下,一次可以选择可选择的金融机构2208中的多于一个金融机构。在其他情况下,任何时候都只能选择一个金融机构。

在借方已经完成了对一个或多个金融机构的选择之后,电子设备2200可以将该(多个)选择传输到数据管理平台。在一些情况下,借方在用户界面2204a中选择软件按钮(未示出)以发信号通知选择过程已完成(例如,在可滚动列表的顶部或底部示出的“完成”按钮)。

在另一实施例中,用户界面可以改变为接受一个或多个凭证的用户输入,以访问存储在与所选择的金融机构相关联的服务器上的信息和/或数据。

图22B描绘了图22A的电子设备提供可以呈现给借方的另一用户界面(被标识为用户界面2204b)。在该示例中,借方可以将一个或多个凭证输入到用户界面2204b,数据管理平台可以使用这些凭证来访问一个或多个金融机构,诸如在图22A中所描绘的用户界面2204a中选择的金融机构。

在所展示的示例中,用户界面2204b包括用户名文本字段2210和密码文本字段2214,以促使借方输入与特定机构相关联的用户名和密码。用户名文本字段2210和密码文本字段2214可以被配置为接收字母数字输入、手绘输入、仅数字输入、仅符号输入、口述输入等。在一些情况下,可以隐藏输入到密码文本字段2214的字符,但这不是必需的。在一些实施例中,可以提供切换是否隐藏输入到密码文本字段2214的字符的按钮(未示出)。

在一些情况下,可以在将用户名文本字段2210和密码文本字段2214的内容发送到数据管理平台之前对这两个字段进行验证。例如,在一些实施例中,数据管理平台可以将验证方案传输到电子设备2200。验证方案可以定义针对用户名文本字段2210和密码文本字段2214的内容的特定规则。例如,针对用户名文本字段2212的特定验证方案可能需要格式正确的电子邮件地址。如果借方输入了格式错误的电子邮件地址,则可以在用户界面2204b中显示错误消息。

在另一个示例中,针对密码文本字段2214的特定验证方案可能需要例如至少最少字符数。如果借方输入的字符数少于该最少字符数,则可以在用户界面2204b中显示错误消息。

在一些实施例中,验证方案可以至少部分地基于与所请求的凭证相关联的特定机构。例如,第一机构可以强制执行与第二机构不同的密码和/或用户名规则。

在其他实施例中,可以向借方请求附加的凭证和/或不同的凭证,包括但不限于:账号、路由号码、pin号码、社会保险号、驾驶证号、滚动式双因素认证访问码等。

如关于本文描述的其他实施例所指出的,除了在所展示的用户界面中索求的用户名和密码之外,可能还需要其他步骤和/或认证操作。例如,用户界面2204b可能需要双因素认证码。

在另外的其他实施例中,用户界面2204b还可以示出隐私策略和/或最终用户软件许可证协议。在一些情况下,借方可以通过点击用户界面2204b中提供的链接来访问这些文档。在另一些实施例中,可以提供选择框,使得借方可以提供关于借方已经审阅了特定政策或协议的肯定声明。为了简化说明,这些示例实施例未在图22B中描绘。

在一些实施例中,可以依次或同时从借方请求多组凭证。例如,继续图22A中描绘的示例实施例,借方可以选择多个银行机构。一旦已经做出选择,就可以向借方呈现用户界面2204b以提供访问第一机构的凭证,并且此后,可以向借方呈现用户界面2204b的第二实例以提供第二机构的凭证。在一些情况下,可以提供动画以在用户界面2204b的各实例之间转变,但这可能不是必需的。

在另一实施例中,图22C描绘了图22A的电子设备提供可以呈现给借方的另一用户界面(被标识为用户界面2204c)。在此示例中,可以总结从多个远程数据源获得的数据的汇总,并在概要2216中一起显示。在所展示的实施例中,可以将来自任意数量的金融机构的任意数量的记录总结在一起。在其他情况下,可以将来自相似金融机构类型的任意数量的记录总结在一起(例如,总结的银行信息、总结的债务信息、总结的投资信息等)。在其他情况下,可以以不同的方式向借方提供信息。例如,可以向借方呈现这样的选项,该选项限制和/或以其他方式过滤针对一个或多个机构呈现和/或总结的记录。例如,借方可以选择总结某两个日期之间发生的来自第一机构的交易和支付。

在另一实施例中,图22D描绘了图22A的电子设备提供可以呈现给借方的另一用户界面(被标识为用户界面2204d)。在该示例中,电子设备2200从诸如本文所述的数据管理平台接收对向第三方分发和/或披露私有数据的请求。作为响应,在该实施例中,用户界面2204d呈现由第三方请求的数据的概要2218。在所展示的实施例中,第三方从借方请求交易历史、账户信息和收入信息。可以理解的是,尽管图22D列出了“第三方”,但是在某些实施例中,可以在用户界面2204d中将机构名称提供给借方。

为了响应该请求,借方可以选择在用户界面2204d中呈现的两个按钮之一。如果借方批准该请求,则可以选择第一按钮2220,如果借方拒绝该请求,则可以选择第二按钮2222。

在其他示例中,可以向借方呈现用于选择性地启用和/或停用概要2218的不同元素的界面。例如,如图22E所示,概要2218可以伴随有与概要2218的各个部分相对应的单独的开关2218a至2218c。在所展示的示例中,借方已选择批准交易历史和账户信息的分发(对应于单独的开关2218a、2218b的位置),而借方已选择拒绝收入信息的分发(对应于单独的开关2218c的位置)。

可以理解的是,在其他实施例中,可以在用户界面2204e的概要2218中呈现其他选项。在其他示例中,概要可以包括但不限于:名称信息;账号信息;路由号码信息;授权的用户信息;账户年龄信息;账户类型信息;账户余额历史;账户最高和最低余额要求;账户存款要求;账户利率;账户历史;转移信息;即时余额信息;直接存款信息;自动提款信息;与账户关连的数字钱包的数量和类型;交易类型信息;等等。

在另一实施例中,图22F描绘了图22A的电子设备提供可以呈现给借方的另一用户界面(被标识为用户界面2204f)。在该示例中,与参考图22D提供的示例一样,电子设备2200从诸如本文所述的数据管理平台接收对向第三方分发和/或披露私有数据的请求。

作为响应,在该实施例中,用户界面2204f呈现了由第三方请求的数据的概要,还向借方提供了修改请求的选项。具体地,在所展示的实施例中,第三方从借方请求交易历史、账户信息和收入/支出信息。在该示例中,用户界面2204f向借方提供拒绝、审阅或修改每个所请求的数据类型的选项。

例如,图22F描绘了一行选项2224,可以选择该行选项来修改、批准或拒绝与交易历史相关的所任何请求的数据。该行选项包括拒绝对审阅借方的交易历史的请求的选项2226、审阅可以向第三方披露的每笔交易的选项2228、以及指定用于过滤向第三方披露的交易列表的日期范围的选项2230。

用户界面2204f中包括的选项不是详尽的。在其他实施例中,可以执行对所请求的数据的附加修改,诸如但不限于:设置日期范围;删除特定交易;设置阈值金额,高于或低于此阈值金额的交易被忽略;编辑商户名称;编辑金额;编辑日期;编辑账号;编辑或省略被授权用户的交易;取整交易金额;模糊日期和/或金额;编辑或省略某些交易类型;等等。应当理解的是,用户界面2204f可以促进任何数量的适当修改。

在另一实施例中,图22G描绘了图22A的电子设备提供可以呈现给借方的另一用户界面(被标识为用户界面2204g)。在该示例中,与参考图22C提供的示例一样,可以在每个账户的基础上总结从多个远程数据源获得的数据的汇总,并且可以在账户概要2232中一起显示该汇总。

在所展示的实施例中,可以总结来自任意数量的金融机构的任意数量的记录。与其他示例一样,可以向借方提供过滤和/或以其他方式修改账户概要2232中所示的数据的手段,该手段包括选项。

在另一实施例中,图22H至图22I描绘了图22A的电子设备提供可以呈现给借方的另一用户界面(被标识为用户界面2204h)。在该示例中,与参考图22G提供的示例一样,可以在每个账户的基础上总结从多个远程数据源获得的数据的汇总,并且可以在账户概要2232中一起显示该汇总。

在所展示的实施例中,可以总结来自任意数量的金融机构的任意数量的账户(例如,账户2232a至2232c)。与其他示例一样,可以向借方提供过滤和/或以其他方式修改要在账户概要2232中示出哪些账户数据的手段。例如,在图22H中,仅选择了单个账户,而在图22I中,选择了两个账户。一旦已经做出了所有适当的选择,借方就可以按下按钮2234以使用户界面2204h前进。在一些实施例中,诸如在图22I中示出的,可以示出显示所选择的账户总数的确认2236。

一旦用户做出某些选择(例如,图22H或图22I),就可以显示确认对话框,该确认对话框确认已成功关连一个或多个远程机构或账户。图22J展示了这样的示例,其包括确认图形2238。

借用者稍后可能希望改变一个或多个选择。图22K至22L各自描绘了可以由诸如本文所述的电子设备呈现的用户界面。具体地,图22K描绘了图22A的电子设备提供可以呈现给借方的另一用户界面(被标识为用户界面2204k)。在该示例中,可以总结或详述从多个远程数据源获得并分发到一个或多个第三方(例如,金融机构)或可由一个或多个第三方访问的数据的汇总。例如,数据的汇总可以示出包括交易数据2240,该交易数据向借方详述了公开给和/或分发到第三方的数据的粒度。如果借方确定不应再共享数据,则借方可以通过选择按钮2242来撤消对所显示的数据的访问权限。

在另外的其他示例中,诸如在图22L中示出的,借方可能能够从各个机构中选择和/或取消选择各个账户。在用户界面2204l中,示出了三个机构(例如,机构2244、2246和2248)。在该示例中,借方可以选择将公开和/或许可访问的一个或多个账户。

将理解的是,总体上,出于解释的目的,并且为了便于理解诸如本文所述的系统的各种配置和用途,提出了前述(多个)实施例和上述(多个)示例及其各种替代方案及其变型。这样,对于本领域的技术人员将显而易见的是,可能不需要本文提出的一些具体细节来实践特定描述的实施例或其等同物。

总体上且宽泛地,图23至图25涉及操作数据管理平台和/或跨诸如本文描述的网络架构进行通信的方法。

具体地,图23是描绘访问由所选择的银行机构或金融机构存储的财务记录的方法的示例操作的简化流程图。方法2300可以整体或部分地由诸如本文所述的数据管理平台来实施。与本文描述的其他实施例一样,方法2300提及了私有财务数据的汇总,但可以理解的是,该方法及其各种操作可以等效地应用于其他类型的私有和/或数据的汇总,包括但不限于:公共设施数据(例如公共设施账单支付历史、水费账单支付历史等);服务提供商数据(例如,电视服务提供商支付历史、互联网服务提供商支付历史、移动电话服务提供商支付历史等);健康数据;房地产所有权数据;等等。

方法2300包括操作2302,在该操作中,接收用于金融机构的用户凭证。在许多情况下,诸如与上文参考图20、图21A、图21B和图22B所述的,从与数据管理平台实例化的应用程序接口进行通信的用户设备接收凭证。方法2300还包括操作2304,在该操作中,使用凭证访问金融机构数据。在访问数据之后,可以对数据进行处理(例如,格式化、验证等)。方法2300还包括操作2306,在该操作中,将在操作2304中处理的数据存储在安全数据库中。

在许多实施例中,针对多个不同机构周期性地、自动地或按需重复方法2300。以这种方式,可以将最新的汇总财务数据存储在单个可访问的数据库中。

图24是描绘了将策展财务数据安全地路由到第三方的方法的示例操作的简化流程图。方法2400可以整体或部分地由诸如本文所述的数据管理平台来实施。

方法2400包括操作2402,在该操作中,从第三方(诸如贷方)接收对数据的请求。在一些情况下,对数据的请求可以包括验证第三方的身份的一个或多个证书和/或多个信息。在许多情况下,对数据的请求通常包括但不限于:用于标识请求主体的名称或其他标识符(例如,姓名、社会保险号、许可证号等)、以及所请求的数据的标识。

一旦接收到请求,方法2400就前进到操作2404,在该操作中,请求向第三方分发所请求的数据的许可。分发许可请求被发送到由请求主体控制的设备。如关于本文所述的实施例所指出的,在一些示例中,请求主体可以修改请求。

在从主体接收到向第三方分发、路由和/或披露所请求的数据的许可之后,方法2400前进到操作2406,在该操作中,访问安全数据。此后,在操作2408处,可以从数据库中检索所请求的信息。接下来,可选地,在操作2410和2412处,可以格式化和/或加密检索到的数据。最后,在操作2414处,可以在操作2414处向第三方分发和/或以其他方式披露(可选地经格式化和加密的)检索到的数据。

图25是描绘了将策展财务数据安全地路由到第三方的另一种方法的示例操作的简化流程图。与本文所述的其他方法一样,方法2500可以整体或部分地由诸如本文所述的数据管理平台来实施。

方法2500包括操作2502,在该操作中,接收向第三方分发/披露数据的指令。接下来,在操作2504处,访问安全数据库,并且在操作2506处,检索所请求的数据。可选地,在操作2508处,可以例如通过格式化、验证、编辑等方式来处理检索到的数据。最后,在操作2510处,可以向操作2502中指示的第三方发送经处理的数据。

可以理解的是,尽管上文披露了许多实施例,但是关于本文所述的方法和技术呈现的操作和步骤仅旨在是示例性的,并且因此并不详尽。可以进一步理解的是,对于特定实施例,可能需要或期望交替的步骤顺序或者更少或附加的操作。

尽管根据各种示例性实施例和实施方式描述了以上披露内容,但是应当理解,在各个实施例中的一个或多个实施例中所述的各种特征、方面和功能在其适用性方面不限于描述它们所使用的特定实施例,而是可以单独地或以各种组合应用于本发明的一些实施例中的一个或多个实施例,无论是否描述了这样的实施例以及是否作为所描述的实施例的一部分而呈现了这样的特征。因此,本发明的宽度和范围不应当由上述示例性实施例中的任何一个来限制,而应当由本文呈现的权利要求来限定。

另外,应当理解,负责访问、汇总、验证、分析、披露、转移、存储或以诸如本文所述的其他方式使用私有数据(包括私有财务数据)的组织和/或实体将优选地遵守已发布和行业已建立的隐私、数据和网络安全政策和实践。例如,应当理解,从远程或本地数据源获得的数据和/或信息——仅在该数据和/或信息的主体的知情同意的情况下——仅应被访问、汇总用于合法、约定并且合理的用途。

另外,实施例的系统和方法及其变型可以至少部分地体现为和/或实施为被配置为接收存储计算机可读指令的计算机可读介质的机器。这些指令优选地由优选地与金融应用程序编程接口平台集成的计算机可执行组件来执行。计算机可读介质可以存储在任何合适的计算机可读介质上,如RAM、ROM、闪存、EEPROM、光学设备(CD或DVD)、硬盘驱动器、软盘驱动器或任何合适的设备。计算机可执行组件可以是通用处理器或专用处理器,但是任何合适的专用硬件或硬件/固件组合设备可以可替代性或另外地执行这些指令。

本披露内容的各个实施例可以是处于任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。该计算机程序产品可以包括一个或多个计算机可读存储介质,这些计算机可读存储介质上具有用于使处理器执行本披露内容的各方面的计算机可读程序指令。

例如,当一个或多个硬件处理器和/或任何其他合适的计算设备执行软件指令时,和/或响应于这些软件指令被一个或多个硬件处理器和/或任何其他合适的计算设备执行,可以执行本文所述的功能。可以从一个或多个计算机可读存储介质中读取软件指令和/或其他可执行代码。

计算机可读存储介质可以是有形设备,该有形设备可以保留和存储数据和/或指令以供指令执行设备使用。计算机可读存储介质可以是例如但不限于:电子存储设备(包括任何易失性和/或非易失性电子存储设备)、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包括以下各项:便携式计算机软磁盘、硬盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡或其上记录有指令的凹槽中的凸起结构)、以及前述各项的任何合适的组合。如本文所使用的,计算机可读存储介质不应被解释为本身是瞬时信号,诸如,无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)、或通过电线传输的电信号。

本文所述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光学传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质内。

用于执行本披露内容的操作的计算机可读程序指令(在本文中也称为例如“代码”、“指令”、“模块”、“应用程序”、“软件应用程序”等)可以是汇编程序指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路系统的配置数据、或以一种或多种编程语言的任意组合编写的源代码或目标代码,该一种或多种编程语言包括面向对象的编程语言(诸如Smalltalk、C++等)、以及程序化编程语言(诸如“C”编程语言或类似的编程语言)。计算机可读程序指令可以从其他指令或其本身调用,和/或可以响应于检测到的事件或中断而被调用。被配置为在计算设备上执行的计算机可读程序指令可以在计算机可读存储介质上提供,和/或作为数字下载而提供(并且其可以最初以压缩或可安装的格式存储,在执行之前需要进行安装、解压缩或解密)并然后可以存储在计算机可读存储介质上。此类计算机可读程序指令可以部分或完全被存储在执行计算设备的存储器设备(例如,计算机可读存储介质)上,以供计算设备执行。计算机可读程序指令可以完全在用户的计算机(例如,执行计算设备)上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络连接到用户计算机,或可以进行与外部计算机的连接(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路系统、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路系统可以通过利用计算机可读程序指令的状态信息将电子电路系统个性化来执行计算机可读程序指令,以便执行本披露内容的各方面。

本披露内容的各方面在本文中参考根据本披露内容的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图进行描述。应当理解的是,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以通过计算机可读程序指令来实施。

可以将这些计算机可读程序指令提供给通用计算机、专用计算机的处理器、其他可编程数据处理装置,以便产生机器,从而使得经由计算机的处理器或其他可编程数据处理设备来执行的指令创建用于实施流程图和/或框图的一个或多个框中指定的功能的手段。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读介质可以指导计算机、可编程数据处理装置和/或其他设备以用特殊的方式发挥功能,使得存储有指令的计算机可读存储介质包括具有指令的制品,这些指令实施(多个)流程图和/或(多个)框图的一个或多个框中指定的功能/动作的各方面。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以引起在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤以产生计算机实施的过程,从而使得在计算机、其他可编程装置或其他设备上执行的指令实施在流程图和/或框图的一个或多个框中指定的功能/动作。例如,指令可以最初被承载在远程计算机的磁盘或者固态驱动器上。远程计算机可以向其动态存储器中加载指令和/或模块并且使用调制解调器通过电话、线缆或光学线路发送指令。服务器计算系统本地的调制解调器可以接收电话/线缆/光学线路上的数据,并使用包括适当的电路系统的转换器设备将数据置于总线上。总线可将数据输送到存储器,处理器可以从存储器中检索并执行指令。被存储器接收到的指令在由计算机处理器执行之前或者之后可以可选地存储在存储装置(例如,固态驱动器)上。

附图中的流程图和框图展示了根据本披露内容的各个实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框都可以表示模块、片段、或指令的一部分,其包括用于实施特定逻辑功能的(多条)可执行指令。在一些替代性实施方式中,在框中指出的功能可以不按照附图中指出的顺序进行。例如,取决于所涉及的功能,可以实际上基本同时执行相继示出的两个框,或有时候可以按相反的顺序执行这两个框。另外,在一些实施方式中,可以省略某些框。本文所述的方法和过程也不限于任何特定顺序,并且与其有关的框或状态可以按其他适当的顺序执行。

还将指出的是,可以通过执行特定功能或动作的基于专用硬件的系统或执行专用硬件和计算机指令的组合来实施框图和/或流程图的每个框以及框图和/或流程图中的框的组合。例如,在前述部分中描述的任何过程、方法、算法、元素、框、应用程序或其他功能(或功能的一部分)都可以经由电子硬件来体现和/或完全或部分自动化,该电子硬件诸如:专用处理器(例如,专用集成电路(ASIC))、可编程处理器(例如,现场可编程门阵列(FPGA))、专用电路系统等(以上各项中的任何一个还可以结合自定义硬接线逻辑、逻辑电路、ASIC、FPGA等,其通过自定义编程/执行软件指令来实现这些技术)。

任何上述处理器和/或结合有任何上述处理器的设备在本文中可以被称为例如“计算机”、“计算机设备”、“计算设备”、“硬件计算设备”、“硬件处理器”、“处理单元”等。上述实施例的计算设备通常可以(但不必)由诸如Mac OS、iOS、Android、Chrome OS、WindowsOS(例如,Windows XP、Windows Vista、Windows 7、Windows 8、Windows 10、WindowsServer等)、Windows CE、Unix、Linux、SunOS、Solaris、Blackberry OS、VxWorks或其他合适的操作系统等操作系统软件来控制和/或协调。在其他实施例中,计算设备可以由专有操作系统来控制。常规操作系统控制和安排用于执行的计算机过程,执行存储器管理,提供文件系统、网络连接、I/O服务,并提供用户界面功能性(诸如图形用户界面(“GUI”))等。

如上所述,在各个实施例中,用户可以通过基于web的查看器(诸如web浏览器)或其他合适的软件程序来访问某些功能。在这样的实施方式中,用户界面可以由服务器计算系统生成并且被传输到用户的web浏览器(例如,其在用户的计算系统上运行)。可替代地,服务器计算系统可以将生成用户界面所需的数据(例如,用户界面数据)提供给可以生成用户界面的浏览器(例如,用户界面数据可以由浏览器执行,该浏览器访问web服务并且可以被配置为基于用户界面数据呈现用户界面)。然后,用户可以通过web浏览器与用户界面进行交互。某些实施方式的用户界面可以通过一个或多个专用软件应用程序来访问。在某些实施例中,本披露内容的一个或多个计算设备和/或系统可以包括移动计算设备,并且可以通过此类移动计算设备(例如,智能电话和/或平板计算机)来访问用户界面。

可以对上述实施例做出许多变化和修改,这些实施例的元素应被理解为在其他可接受的示例之中。所有此类修改和变化在本文中旨在被包括在本披露内容的范围内。前文的描述详述了某些实施例。然而,应当理解的是,无论前文的描述在文本上看上去多么详细,这些系统和方法都可以以许多方式来实践。同样如以上所述,应当注意的是,在对这些系统和方法的某些特征或方面进行描述时对特定术语的使用不应当隐含术语在本文中被重新定义成限于包括与术语相关联的这些系统和方法的特征或方面的任何具体特性。

除非另外特别陈述,或在所使用的上下文内以其他方式被理解,条件语言(除其他之外,诸如“可以(can)”、“可以(could)”、“可能(might)”、或“可以(may)”)通常旨在传达某些实施例包括(而其他实施例不包括)某些特征、元素和/或步骤。因此,此类条件语言通常不旨在隐含这些特征、元素和/或步骤对于一个或多个实施例来说是以任何方式所需的、或一个或多个实施例必然包括用于在有或没有用户输入或提示的情况下决定这些特征、元素和/或步骤是否被包括在任何特定实施例中或是否在任何特定实施例中有待执行的逻辑。

当与术语“实时”结合使用时,术语“基本上”形成本领域普通技术人员将容易理解的短语。例如,容易理解的是,这样的语言将包括没有或几乎没有延迟或等待的速度、或者这样的延迟足够短以至于不会妨碍、激怒或以其他方式惹恼用户的速度。

除非另外特别陈述,诸如短语“X、Y和Z中的至少一个”或“X、Y或Z中的至少一个”等的连接语言通常应与所使用的上下文一起被理解为传达的项目、术语等可以是X、Y、或Z、或其组合。例如,术语“或”以其包括性意义(而不是以其排他性意义)被使用,使得例如在用于连接元素的列表时,术语“或”意指列表中的一个、一些或所有元素。因此,此类连接语言通常并不旨在隐含某些实施例需要X中的至少一个、Y中至少一个和Z中的至少一个中的每个都存在。

如本文中所使用的,术语“一个”应当被给予包括性而不是排他性的解释。例如,除非特别指出,否则术语“一个”不应当理解为意指“恰好一个”或“一个且仅一个”;而是,术语“一个”意指“一个或多个”或“至少一个”,无论是用在权利要求书中还是在说明书的其他地方,并且不管权利要求或说明书中其他地方是否使用诸如“至少一个”、“一个或多个”或“多个”等量词都是如此。

如本文中所使用的,术语“包括”应当被给予包括性而不是排他性的解释。例如,通用计算机包括一个或多个处理器不应当被解释为排除其他计算机组件,并且可能包括诸如存储器、输入/输出设备和/或网络接口等组件。

虽然以上详细描述已经示出、描述并指出了应用于各个实施例的新颖性特征,但是可以理解的是,可以在不偏离本披露内容的精神的情况下,对所展示的设备或过程的形式和细节方面进行各种省略、替代和变化。如可以认识到的,本文所描述的本发明的某些实施例可以体现在并不提供本文所阐述的所有特征和益处的形式内,因为一些特征可以与其他特征分开地被使用或实践。因此,本文所披露的某些发明的范围是由所附权利要求而不是由以上描述来指示的。所有位于权利要求的含义和等效范围内的变化都被包涵在权利要求的范围内。

如本领域技术人员将从前面的详细描述以及从附图和权利要求书中认识到的,可以对本发明的实施例进行修改和变化而不偏离如在所附权利要求书中限定的本发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号