Minting links and codes yourself
The Mint API issues a signed single-use link or a one-time code and hands it back without sending anything, so you can deliver it over SMS, chat, or your own transactional email.
Multi-use links
Hand out a magic link that may be redeemed a bounded number of times, with the remaining-uses counter decremented atomically so concurrent redemptions can never exceed the limit.
Passphrase-gated links
Require a shared secret, delivered out of band, before a high-value magic link is consumed — a lightweight gate in front of the flow, never a replacement for two-factor authentication.
One-time codes
Email a short code instead of a link, governed by a boot-time entropy guardrail that refuses to start when the keyspace is too small for the attempt lockout.
The two-factor handoff
How a user with two-factor authentication enabled is handed to Fortify's own challenge without being logged in, the guard-alignment rule it depends on, and the trade-off it accepts.
The resend guard
An escalating cooldown and a rolling hourly cap layered on the fixed-window limiters, so a repeatedly clicked "send again" cannot flood an inbox — and a public service you can wrap around your own endpoints.
Multiple guards
Let a request sign in to another guard — an admin guard alongside web — with an allowlist that keeps guards un-enumerable.
The JSON contract
Direct token exchange for first-party SPA and mobile clients — the stable status and error-code table, and how a two-factor challenge is signaled.
Translations
Every user-facing string runs through Laravel's translator under the email-magic-link namespace; the bundled locales can be republished and reworded, and a new one added by copying a directory.
The WireKit screens
With pushery/wirekit installed the sign-in screens render with WireKit components automatically — how the layout wires design tokens, utility classes and behavior, and how to opt out.
Invitations
Invite somebody who has no account yet. The package issues, supersedes and spends the token; your application decides what accepting one means.