View the Project on GitHub MIT-Future-of-Data-Initiative/otrace-service
Home | API Spec | White Paper
The MIT Future of Data Initiative Research Sandbox offers resources, such as data sets, technical specifications, code implementations, and relevant policies, to aid in the exploration of accountability and traceability in the open banking ecosystem.
Open banking is a system through which consumers or businesses authorize third parties to access their financial information, such as bank and investment account data (e.g., transaction or payment history) or services (e.g., making a payment or requesting a loan). When consumers or businesses choose to share their financial data with third parties, the third parties can, in turn, provide products and services, including budgeting, credit checks, or help initiating payments. Research shows that 87 percent of U.S. consumers are using open banking to link their financial accounts to third parties, however only 43 percent of U.S. consumers are aware that they are using open banking.
Open banking ecosystems being deployed around the world will facilitate innovation in consumer banking services, but also raise novel questions regarding user trust and the need for personal data governance across organizational boundaries. The growing open banking environment will depend on accountability and traceability features to assure respectful use of personal data while enabling more open flow and analysis of personal financial information. Both users and regulators are demanding that personal data governance capabilities be deployed alongside open banking APIs, but there is much to learn about how to design and deploy such services at scale.
The financial services industry has collaborated through the Financial Data Exchange (FDX) to develop a technical framework for the exchange of personal financial information. Financial institutions, such as Visa, are also independently developing technical frameworks to support such data sharing. While there has been considerable work to enable actual exchange of data, much work needs to be done, both on the technical and policy fronts, to enable well-governed exchange of that personal data.
In order to improve trust in the open banking ecosystem, this work proposes a protocol for traceability—the ability for consumers to track how data is being used and shared, even (and especially) across organizational boundaries. Traceability will help achieve reliable, scalable detection of data misuse, leading to both better internal processes and more effective intervention by enforcement authorities when necessary.
The main participants in the open banking ecosystem are:
To facilitate traceability, we introduce the idea of a traceability service, which stores traceability information on behalf of consumers. Traceability services have three deployment models:
These traceability services will record various types of traceability attestations:
A traceability protocol is comprised of several subprotocols:
Github Page README.md is the index page. New pages shall be written in markdown file under docs folder. Make sure to add the new md file to _config.yml #include section
, e.g. - docs/contact_page.md
, and add a hyperlink in README.md to it, e.g. [Contact Page](docs/contact_page.html)
Attention It has to be .html suffix in the hyperlink. Github Page will automatically convert .md file to .html file
Spec Update: The API specification is located at docs/spec.json
. Recommend to use Open API Editor StopLight Studio to make changes and grab the openapi json file of the updated specification. When finish editing, run ./compile-spec.sh
which will compile the json file and produce a zero dependency static HTML file named spec.html
in docs folder, which will be used in Github Page. Make sure to checkin both spec.json
and spec.html
file to Github repo.
The backend
folder contains the API source code for the earlier iterations of the OTrace protocol. Refer to the README.md
within the backend
folder for further details. The backend_v0_5
folder contains the API source code for the current iteration of the OTrace protocol. Refer to the README.md
within the backend_v0_5
folder for further details. The frontend
folder contains the source code for the model web application for end-users of OTrace. Refer to the README.md
within the frontend
folder for further details.
Distributed under the MIT License. See LICENSE
for more
information.