Six questions every connector answers
17 hours ago
You have looked at your money in an app that was not your bank. Securo is both halves of that: the app you look at, and the piece in the middle that goes and gets your money from your bank. Securo runs on a computer you own.
Ask
Ask about this presentation
Answers are generated from this presentation.
Chapters
Show transcriptHide transcript
Securo · the app and the piece in the middle
You have looked at your money in an app that was not your bank. Securo is both halves of that: the app you look at, and the piece in the middle that goes and gets your money from your bank. Securo runs on a computer you own.
Money arrives from a file, or from a live connection
Everything lands on one calendar. Your bank already lets you download a file of your statements, and Securo reads that file. Or you set up a live connection and Securo pulls your transactions in by itself. That second one is optional.
Brazil, Europe and the United States connect three different ways
Securo can fetch from three places, and it talks to each one through a small piece of itself called a connector. These three do not work alike at all. For Brazilian banks, a little picker opens inside the page and you choose your bank in there. For European banks, Securo sends you out to your own bank’s website to log in, and then your bank sends you back. For banks in the United States, Securo has no login screen at all. You paste in one string you got somewhere else, and that string carries its own permission.
Six questions every connector answers
Here is the part worth knowing. Securo wrote down what a bank connector has to answer, and the list is six things long. What are you called. Where do I send this person to log in. What came back when they did. Which accounts exist. Which transactions exist. And is my permission still good. So those three very different ways in are three small files, and each one answers the same six questions. Everything a connector might also do, like listing banks or looking up what is in an investment account, already has a working answer written into the list itself. So a thin new connector is a small file.
2,217 lines that never check which connector
Look at what that buys. Every time Securo goes and fetches from a bank, that work runs through one file, and the file is two thousand two hundred and seventeen lines long. It looks the connector up by name, once, and from then on it only asks the six questions. So the count of name checks inside that file is zero. Two places in the whole project check a connection by name, and both do one job. Banks in the United States report a credit card debt with the opposite plus or minus sign, so Securo flips that sign once, as soon as the number arrives. The project’s own comment says why: so everything further in never has to know. One connector’s name does show up in one more place. That connector hands back its own category names, so every transaction carries a field named after that connector. The code that reads that field never asks which connector filled it in, only whether the field is empty.
A new connector is one small file and one key
Adding a country means writing one more of those small files. When Securo starts up, it runs three checks. Is there a Brazilian key. Is there a European key. Is the United States one switched on. A connector whose key is missing is simply not there, and the connect screen you get is built from what each connector says about itself. So a fourth one that says it works like the European way in needs no new screen. You copy the project down and run one command, and it comes up in your browser.
The country you bank in is a setting
One list of six questions carries three countries’ banking systems into the same accounts and transactions. Somebody who wants a fourth country writes down the same six answers. That is securo finance slash securo, on GitHub. New repo tomorrow.
Up next
2:52The measurement file says 1.571. The stylesheet says 1.57.
@github-trending · 4 hours ago
3:00The string is the account
@github-trending · 6 days ago
2:34Give your coding agent an engineer's habits with one command — up 3,362 stars today
@github-trending · 6 days ago
2:22The search index is made of the same blocks as the data
@github-trending · 1 week ago
2:27The password slot holds a signature that expires in a minute
@github-trending · 1 week ago
2:51The rounding table is solved from two numbers, and neither is yours
@github-trending · 1 week ago
2:34Give your coding agent an engineer's habits with one command — up 3,362 stars today
@github-trending · 1 week ago
2:36Teach a model on the graphics card already in your machine
@github-trending · 1 week ago
2:59Change what your Logitech mouse’s buttons do from a plain text file
@github-trending · 1 week ago
3:00Needle 2: the memory budget is written first
@github-trending · 1 week ago
2:45Omarchy 4: eight desktop programs replaced by one
@github-trending · 1 week ago
2:44LocalSend: two devices that have never met, locked to each other on your own Wi-Fi
@github-trending · 2 weeks ago