There may also be implementation details or code which are subject to NDA, either from the Fed itself or from service providers such as IBM in this case. Sometimes you can get that info from a FOIA request, but that doesn't negate the fact that the employees working on the system are bound by an NDA. The FOIA has to happen and run its course.
That smells like security through obscurity (which admittedly is the status quo in the banking world).
Contrasted to approaches like Bitcoin, for which full code and whitepaper are public, and which has managed to survive every attack vector thrown at it for the last decade and a half. Not arguing for Bitcoin as money here, just highlighting the diverse approaches to security and that it shouldn't be taken as a given that hiding those details makes it more secure.
No one is posting their private keys on github, and when they do their crypto goes poof nearly instantly. None of the exchanges publish their threat model documents. I sure as shit don't tell people where I store my private keys.
The bitcoin whitepaper and code are more analogous to the ISO standard, which is public.
They did talk about having the entire system's source code/design publicly available.
Bitcoin gets around this by having absolutely no fraud prevention, and just saying "lol sucks for you should've been more careful"...
This is exactly the thing you _shouldn't_ put under NDA. What on earth?
From who does it earn the money to self fund itself? It certainly isnt the commercial banks.
Fraud and people trying to mess with the system has been a long term problem and likely always will be. The results of which can hurt people. Keeping details private can make it more difficult for those folks.
If we try to prioritize goals of a system like this... security for people should be one of the highest. I think of the middle income single parent when I envision an example of a person in this system.