Fromenance

Product

Communication provenance, end to end

Fromenance is a communication provenance platform: your institution registers every outbound communication at send time, and your customers get a definitive Verified, Not verified, or Known fraud answer when they ask. Every piece below exists to make that answer fast, authoritative, and defensible in front of your compliance team.

Registration: three ways in, all first class

Everything downstream depends on coverage. Registration is the act of telling Fromenance, at send time, that a specific communication went to a specific recipient.

ESP adapters in v1
ProviderRendered body availableFooter mechanism
ResendYesCustom header or reserve
SendGridNoReserve, then custom_args and a substitution tag
Amazon SESNoReserve, message tag
PostmarkYesReserve or metadata
MailgunNoReserve, v: variable
Salesforce Marketing CloudNoReserve from SSJS, AMPscript merge field
BrazeNoReserve from connected content, Liquid attribute
Generic webhookNoReserve; post message id, recipient, sent time, from, code

The footer snippet carries the code twice, once in the sentence and once as a bare reference, so at least one survives client rewrapping and screenshot OCR: "Not sure this email is from Northfield Bank? Forward it to verify@northfieldbank.com or enter code KX73-PQ9G at northfieldbank.com/verify. Reference: KX73-PQ9G".

Verification: two entry points, one trust model

Verdicts

Three outcomes, matched by rules you can read, with wording that is locked in the reply template.

Matching rules
OutcomeCondition
VerifiedThe code resolves to a registration whose recipient hash matches the submitter, or (no code) the recipient hash matches and the content fingerprint is within threshold and the send time is inside the registration window.
Not verified footer replayedThe code resolves but the recipient does not match and the fingerprint is far. Reported to the customer as Not verified, flagged internally as a replay attack, and sent to the intelligence queue with high priority.
Not verifiedNo registration matches on any rule. In Authoritative Mode the reply reads "we did not send this".
Known fraudAny extracted indicator matches your fraud list, or the fingerprint matches a submission an analyst already marked as fraud.

See a verdict render

The same widget your customers would use on yourdomain.com/verify, pointed at the demo tenant.

Try it against the real API

Demo tenant: Northfield Bank (demo). Site key sk_pub_demo_northfield. Real API, real latency.

Registered message

This fraud alert was registered at send time to jane.doe@example.com. The footer carries the verify code twice on purpose.

Northfield Bank

We noticed a card transaction

Hi Jane,

A purchase of $412.90 at ACME ELECTRONICS was made with your Northfield Bank Visa ending in 4471 on September 24 at 10:42 AM.

If this was you, no action is needed. If you do not recognize this transaction, review it in the app or call the number on the back of your card.

Review this transaction: https://www.northfieldbank.com/app/alerts/tx/98812?utm=email

Thank you,
Northfield Bank Fraud Team

Not sure this email is from Northfield Bank? Forward it to verify@northfieldbank.com or enter code KX73-PQ9G at northfieldbank.com/verify. Reference: KX73-PQ9G

Northfield Bank, Member FDIC. 100 Main Street, Northfield, VT 05663. Privacy: https://www.northfieldbank.com/privacy

Verify

Codes are bound to the recipient: a code submitted without the address it was sent to resolves to Not verified as a replay by design, so change this address and watch the same code fail.

The reply never quotes the suspicious message or its links. It says only what the institution can stand behind: a registered communication matches, or no registered communication does.

Analyst tools: dense, fast, exportable

The admin app is where a fraud analyst lives during an incident and where an integration engineer spends one afternoon. Tables with column pick, sort, saved filters, and CSV export. Verdict colors used nowhere else.

Control and privacy posture

We are asking institutions to route customer mail through us, so the security story was finished before the first pilot. The full list is on the Security page.

Intelligence tier

The schema, the indicator store, and the intel queue ship in v1 so nothing is backfilled. The features below are the roadmap and are marked as such.

Read about the intelligence layer

Questions evaluators ask

Does the customer ever see the Fromenance name?
No. Everything customer facing is on your domain and in your branding: verify@yourdomain.com, yourdomain.com/verify, and the reply from your reply identity. Your staff see Fromenance in the admin app and docs only.
What does Fromenance store about a registered communication?
A verify code, a one way HMAC of the recipient address keyed with your tenant secret, a SimHash and SHA-256 content fingerprint, the message id, the visible From, the sent time, link domains, and optional template and campaign ids. The recipient address column does not exist.
What happens to a legitimate message we forgot to register?
It returns Not verified with the words "no registered communication matches", never "fraudulent". An analyst can mark it legitimate, which creates the registration retroactively and flags a coverage gap on that source. Authoritative Mode, where the reply says "we did not send this", is only enabled after coverage review.
Which ESPs are supported?
Resend, SendGrid, Amazon SES, Postmark, Mailgun, Salesforce Marketing Cloud, Braze, and a generic webhook. Where the ESP cannot give us the rendered body, you reserve a code before send and inject it with the ESP's merge mechanism; matching then leans on the code plus the recipient.
How fast is a verdict?
Targets are under 10 seconds at p95 from inbound webhook to reply sent, under 3 seconds for a pasted message on the web page, and under 15 seconds for a screenshot. The demo on this page shows real latency against the production API.
Can a phishing message trick the matcher?
There is no model on the verdict path to trick. A verdict comes from a checksummed verify code resolving to a registration, an HMAC comparison of the recipient, and a fingerprint within a Hamming threshold. A copied footer resolves to Not verified and is flagged as a replay.

Run a 60 to 90 day pilot on one communication stream.

Fraud alerts or transaction alerts are the best first stream. You get a written report of verification volume, verdict distribution, campaigns discovered, and intelligence yield.