Free tool / Before you change bank details
You called to check. Can you prove how?
A callback only protects you if the number didn’t come from the fraudster. Fill this in while you verify a supplier’s new bank details: it stops on the mistakes that let fake changes through, and seals a record your auditor or insurer can check.
Not complete: keep paying the old account
- Name the supplier.
- Enter the new account from the request.
- Enter the number you called.
- Paste the request, so the number you called can be checked against every number in it.
- Enter when the request arrived.
- Enter when you called.
- Name the person you spoke to.
- Ask them to confirm the account holder name.
- Ask them to read out the last 4 characters of the new account.
- Name who made the call.
- Enter the full new account from the request, so the approval can later be checked against the account actually being paid.
Sealing sends only a SHA-256 fingerprint to psychevus.com, which signs it with the time. That proves when this record existed, unchanged. It doesn’t prove that the call happened or who the people named are: those are their own statements.
Load a saved record
To check one, or to approve one a colleague sent you.
Questions
How do I verify a vendor’s bank account change?
Hold the payment. Call the supplier on a number you had before the request arrived: your supplier records, an earlier invoice, or their website typed in by hand. Never a number, link or reply address from the request itself. Ask them to confirm the account holder and to read out the last 4 digits of the new account (don’t read them out yourself). Then have a second person approve the change. This page walks through those steps and keeps the record.
Why does it matter where the phone number came from?
A fraudster who sends a fake change request supplies their own phone number or answers the reply. Calling it confirms nothing. Insurance policies that cover social-engineering fraud often require verification through a different channel from the one used to request the change, and claims have been refused where the business replied to the fraudster’s email instead. If you paste the request, this page checks the number you called against every number in it.
What does sealing the record do, and what doesn’t it prove?
Your browser computes a SHA-256 fingerprint of the record and its verdict, and psychevus.com signs that fingerprint with the time. Then a second person approves on their own device from the saved file, and the approval is sealed the same way, referring to the exact callback record. Anyone loading the file here can see that neither part changed, that the verdict follows from what was recorded, and that the approval came after the callback (within 7 days) under a different name. What it can’t prove: that the call happened, who answered, who the approver really is, or that two different people were involved. Those are the statements of the people named, and the record says so.
Can an auditor check it without trusting psychevus.com?
Yes. Each timestamp is a standard compact JWS signed with Ed25519 (RFC 8037); the public keys are at psychevus.com/.well-known/psychevus-proof-keys.json. Recompute the fingerprint (SHA-256 of the canonical JSON: keys sorted, no spaces) of the saved callback part, record and verdict together, and of the approval, check that each token's signature verifies with the key named in its header and that its sub is sha256: followed by that fingerprint, and read the signed time from iat. Any JOSE library does this; nothing on this site is needed except the public key.
Can I use an approved record again later, or for another change?
No. A record answers three separate questions: is it intact, was it a valid approval when it was made, and can it be acted on now. Only the last one allows a change. An approval can be acted on for 7 days, and only after it has been checked against the change you are making: the supplier, and the full new account typed from your payment system, which the page compares with the fingerprint sealed in the record. The last 4 characters alone aren’t enough, because many accounts share them. After 7 days the record stays proof of what was checked then, and a new change needs a fresh callback. The times must also hold together: the call no more than 3 days before the record was sealed, nothing dated after the seal, and no signed time in the future. An old call written up today, or a record dated to look earlier, doesn’t pass.
Is it safe to send the record as a link?
The link is encrypted in your browser (AES-256-GCM) with a key made from a random code that isn’t in the link. Send the link however you like, and give the code separately: read it out on the phone or send it in another app. Anyone who has only the link, from clipboard history, a chat preview or a forwarded email, sees nothing. Anyone with both can read the record, so treat the pair like the record itself. The first links (10 November 2026) weren’t encrypted; the page says so when one is opened.
Is the record stored anywhere?
No. It’s built in your browser and saved only if you download it. The text you paste for the number check isn’t included in the record or sent anywhere. psychevus.com receives a 64-character fingerprint, which can’t be turned back into the record.
What if the supplier says they didn’t ask for the change?
Then it’s an attempted fraud. Don’t pay the new account, keep the email, tell your bank, and report it (in the US to the FBI’s IC3, in the UK to Action Fraud). Seal the record anyway: a refused change is worth documenting, and it may help your supplier, whose mailbox may have been taken over.
Start with the email itself: the payment-change check compares the sender with your supplier and checks the signature. Suppliers can publish how they change bank details with a payment policy. Developers and AI agents can timestamp any SHA-256 digest with POST /api/v1/timestamp; an agent can check a saved record with the verify_callback_record tool on the MCP server, and should change bank details only when it says approved.
Why approval is a separate step, and why “stop” is a valid answer: try the Action gate in the Lab, a model of the same checks for any automated action.