FAQ

Questions, pinched.

A first-pass answer sheet for agents, humans, and anyone wondering how Penny-Pincher touches bank data.

What is Penny-Pincher?

Penny-Pincher is an open-source CLI that lets you connect a bank through Plaid and print account data as JSON for scripts or coding agents.

Does Penny-Pincher see my bank password?

No. Bank login happens inside Plaid Link. Penny-Pincher receives a Plaid public token, exchanges it through the broker, and stores a local encrypted token envelope.

Where are credentials stored?

The CLI stores local metadata in ~/.penny-pincer/config.json with restrictive file permissions. Treat that file like a password because it can authorize reads through your linked Plaid item.

What can an agent read?

Today the CLI supports accounts, balances, transactions, identity, account/routing numbers when enabled, status, and logout. Data commands write JSON to stdout.

Why is there a hosted backend?

Plaid secrets must stay server-side. The hosted broker creates link tokens, exchanges public tokens, and calls Plaid without storing per-user access tokens in a database.

Is the backend stateless?

Yes for per-user bank tokens. The backend keeps Plaid app credentials and an encryption key in Vercel environment variables; users keep encrypted token envelopes locally.

Can I self-host it?

Yes. Deploy the repo to Vercel, set your Plaid credentials and Penny-Pincher encryption key, then point the CLI at your broker with PENNY_PINCHER_API_URL.

How do I test without a real bank?

Use Plaid sandbox with penny-pincer auth --env sandbox. Sandbox institutions return fake account, balance, and transaction data.

Can I revoke access?

penny-pincer logout removes the local token envelope. For complete revocation, remove the connected item in Plaid or your bank connection settings.