f

Imagina por un momento poder materializar tu idea de negocio de una Fintech que requiere acceso a información financiera (bancaria) sobre tu cliente , pero de una manera ágil. Imagina no perder ventaja competitiva por demoras en la implementación y que además, esta implementación funcione con cualquier institución financiera de una forma consistente, previsible.

Bien, esto es posible. Solo se requieren los siguientes elementos:

  1. Crear un esquema estándar de acceso a datos que sea fácil de implementar por las instituciones financieras para exponer de forma homogénea la información financiera que tienen de los usuarios (clientes).
  2. Implementar mecanismos de seguridad que le permitan a la institución financiera saber quién quiere acceder a los datos: en esencia poder autenticar y autorizar usuarios haciendo uso de herramientas estándares como OAuth/OIDC.
  3. Implementar mecanismos de seguridad que permitan a las Fintechs “auto matricularse” con las instituciones financieras para poder presentarse a nombre del usuario y solicitar acceso a los recursos.
  4. Proteger los servicios expuestos con capas de seguridad adicionales para restringir el acceso a aplicaciones clientes (Fintechs) no autorizados.

Suena como mucho trabajo, ¿cierto? Que no cunda el pánico, para ello existe Open Banking.

Make it rain!

Durante el último año he tenido el placer de familiarizarme con este conjunto de prácticas tecnológicas para compartir información financiera – trabajando en un proyecto – siguiendo su implementación en el Reino Unido (en donde es de carácter obligatorio esforzado por la regulación) y en definitiva es algo a lo que podríamos sacarle provecho en gran cuantía.
El uso de APIs abiertas (usualmente vía REST) permite a los desarrolladores de Fintechs construir aplicaciones y servicios alrededor de instituciones financieras; Entre los beneficios que esto provee encontramos:

  1. Rapidez en adopción y acceso a los servicios: APIs claramente definidas y uniformes facilitan la implementación o consumo de estos servicios.
  2. Experiencia mejorada para el cliente: ¡acceder a los servicios bancarios nunca fue tan fácil!
  3. Consistencia de los datos adquiridos de las diferentes fuentes: al tratarse de datos homogéneos definidos en estándares claros y precisos (APIs).
  4. Aprovechamiento de la ventaja competitiva: no hay que esperar demasiado para ver tu idea produciendo.
  5. Potencial de incrementar los ingresos mientras que se expande el alcance a los clientes de parte de las instituciones financieras.
  6. Con la alta demanda de servicios financieros, Open Banking ofrece la oportunidad de combatir las presiones de competir entre las instituciones financieras y las fintechs y en vez de, mejor se asocian para cubrir esa demanda creciente.

Como se convierte algo como Open Banking en estándar?

Para que tecnologías como Open Banking se conviertan en estándares de industria, se pueden tomar 1 de 2 caminos:

  1. La adopción de una propuesta o convención se hace masiva porque los participantes de la comunidad ven el potencial de uso o implementación.
  2. La regulación se encarga de hacerla obligatoria. Como fue el caso en 2016 en Reino Unido, el CMA (Competition and Markets Authority) comenzó a imponer un marco regulatorio que obligaba a los 9 bancos más grandes de Reino Unido permitir a Startups licenciadas acceder a los datos de las transacciones.

Hablemos un poco del proyecto que les mencioné

La propuesta es simple y compleja al mismo tiempo: proveer a los usuarios finales acceso a su información bancaria a través de Fintechs que interactúan con otras Fintechs e instituciones financieras.
Pero, ¿cómo se logra eso? Bien, hay muchas consideraciones desde lo tecnológico para lograr este objetivo, algunas de estas consideraciones las mencioné al inicio de este artículo, pero me voy un poco por lo gráfico para ilustrar nuestro alcance.Image for post

Financial-Grade API (FAPI)

En este modelo, el usuario debe usar la aplicación de la Fintech como pasarela para acceder a su información financiera, dado caso el usuario tenga productos con diferentes bancos, la aplicación de la Fintech no necesitaría modificaciones adicionales, puesto que los datos que vienen de todos los bancos son uniformes(estandarizados, homogéneos).
Ahora, como llega la Fintech a las instituciones financieras?. Primero, se requiere de un canal de comunicación seguro desde la Fintech hasta la infraestructura que conecta con los bancos, la propuesta es una mezcla de mecanismos de seguridad que comprende Mutual Tls (MTLS) y OAuth/OIDC (tokens jwt que identifiquen al usuario que desea acceder a su información bancaria a través de la aplicación).
Con MTLS, garantizamos que el servicio tratando de acceder a nuestra infraestructura es conocido dado que previamente la Fintech nos suministra la parte pública de un certificado SSL en posesión de la misma y los intentos de conexión contra nuestro servicio se deben identificar con llamadas firmadas con la llave privada de ese certificado.

Image for post
Financial-Grade API (FAPI)

Oauth/OIDC entra en el panorama porque Open Banking lo apalanca, específicamente FAPI para definir requerimientos técnicos adicionales de seguridad para la industria financiera y CIBA para desacoplar los flujos de autenticación. La institución financiera debe suministrar un proveedor de identidades (IAMIdenitity and Access Management) para autenticar a los usuarios y permitirles conceder permisos a las aplicaciones cliente (aplicaciones de la Fintech) para que a nombre de ellos puedan ir a obtener la información a la institución financiera.
¿Qué sucede si la institución financiera no tiene proveedor de identidades para autenticar a sus usuarios? Esta debe proveer interfaces para poder validar si un usuario final si es cliente del banco y en nuestra infraestructura implementaremos mecanismos que nos permitan federar la autenticación contra esos servicios, al mismo tiempo ofreciendo una capa de OAuth/OIDC al usuario.
Ahora hablemos de los datos, los bancos todos son diferentes en el sentido que muchos tendrán sistemas de información que son desarrollos in house o soluciones comerciales que no siguen estándares y esto dificulta el “homogenizar” los datos de salida. Los bancos deben garantizar la entrega de los datos con los estándares propuestos por Open Banking, probablemente esto sea fácil de alcanzar por instituciones financieras gigantes que disponen tanto de capital humano como capital económico para adelantar este tipo de proyectos. Pero cuando las instituciones financieras no son tan grandes, para ello tenemos una capa intermedia que se encarga de conectarse con las interfaces que los bancos proveen y luego hacemos trabajos de agregación y/o transformación para garantizar la entrega de información uniforme a las Fintechs y de acuerdo al standar propuesto por Open Banking.
Adicionalmente a todos los elementos mencionados, agregamos otros que nos permiten generar valor agregado a los participantes que deseen hacer parte de este ejercicio:

  1. Monitoreo, logs, trazas, métricas: queremos conocer en todo momento como se comporta el sistema, algo así como una vista 360° de la infraestructura, del flujo de datos, de las operaciones (éxito, fracaso, intentos de fraude).
  2. Alta disponibilidad y resiliencia: concebida en un inicio como solución nativa en la nube, buscamos apalancar las ventajas de esta oferta usando geo replicación de recursos de infraestructura para tener más disponibilidad, rendimiento y tolerancia fallos.
  3. Servicio de análisis de vulnerabilidades de las aplicaciones de las Fintechs: queremos dar parte de tranquilidad que los servicios expuestos por las Fintechs no atenten contra su infraestructura y la nuestra de paso.
  4. Herramientas para facilitar proceso de integración por parte del desarrollador, permitiendo agilizar las pruebas y la salida a producción.

Creo que me extendí un poco hablando de lo que estamos tratando de crear para nuestros posibles usuarios, pero la idea es dar un abrebocas de las posibilidades asociadas a los datos abiertos, especificamente de Open Banking y de como las Fintechs podrían tomar ventaja de estos estándares.


Dime que piensas, déjame leerte.

jose.fernandez

jose.fernandez

Tecnólogo en sistemas de información especialista en desarrollo de software: Desarrollador / Arquitecto / Coach técnico en Ceiba Software House con más de 18 años de experiencia.

Déjanos tu comentario

Share via
Copy link
Powered by Social Snap