Choosing an approach
Bringing your own edge is about policy control, not basic survivability —
reach for it when you have a specific application-layer concern, not as a
default.
What Bijection already protects
Bijection serves deployments through Cloudflare. This applies to your default*.bijection.cloud and *.bijection.site domains and to custom domains alike — a
custom domain is not required to get this baseline. Because traffic passes
through Cloudflare’s network, it benefits from Cloudflare’s network-layer
(L3/L4) DDoS mitigation: volumetric floods that try to saturate the connection
before a request is ever processed.
For custom domains specifically:
- You point a
CNAMErecord atbijection.domains, and TLS is terminated at Cloudflare’s edge. - TLS certificates are provisioned for you automatically.
- Connections require TLS 1.2 or higher.
What a custom domain changes
Since the network-layer baseline already covers your default domains, a custom domain is not what gives you that protection. What it changes is ownership:- Domain reputation is yours. The default
*.bijection.cloudand*.bijection.sitedomains are shared across Bijection deployments. A custom domain is one you own, so its reputation and standing with ISPs, corporate networks, browsers, and other intermediaries is yours to manage rather than shared. - You can put your own edge in front. A domain you control can be routed through your own Cloudflare zone or a Vercel project, so your own WAF rules, rate limiting, and bot management apply. See the sections below.
Native clients and custom domains
Native and mobile clients usually bake the deployment URL into a build that’s already on users’ devices — unlike a web app, you can’t change it just by redeploying. Plan for this before you ship:- Build in a way to change the host. Make the Bijection URL something your app can update remotely (for example, fetched from a configuration endpoint at startup) rather than a hardcoded constant, so you can point existing installs at a new host without shipping an app-store release.
- Or adopt a custom domain before you ship. If you serve your deployment from a custom domain from the start, you control the host for the life of the app.
*.bijection.cloud / *.bijection.site endpoints, any client
that was built against those endpoints — and has no way to be updated — will no
longer be able to connect.
Application-layer controls you add yourself
The network-layer baseline doesn’t include application-layer protections — the tools you’d reach for against abuse like floods of expensive HTTP requests, scraping, or credential stuffing. Bijection doesn’t build these in, but you can add them by routing your domain through your own Cloudflare zone or Vercel project (see below):- Custom WAF and firewall rules — blocking by country, ASN, IP, path, header, or request shape.
- Per-route or per-IP rate limiting.
- Bot management and challenge pages.
- Caching, analytics, and log export for traffic to your domain.
Bringing your own Cloudflare zone
If the domain is managed in your own Cloudflare account, you can route custom-domain traffic through your zone first, so your WAF rules, rate limiting, and bot management apply before traffic reaches Bijection. This is the only option that works for the realtime Bijection API (*.bijection.cloud), and it works for HTTP
actions too.
Treat this as an advanced setup. Custom domains already sit behind
Cloudflare (bijection.domains is a Cloudflare zone), so fronting your domain with
your own zone usually doesn’t change the network-layer story — its practical
value is the application-layer control listed above. You are also running
“Cloudflare in front of Cloudflare” (Cloudflare calls this
orange-to-orange),
which adds moving parts to certificate issuance and renewal.
Setup
- In Bijection, add the custom domain from your Deployment Settings page as described in Custom Domains.
- In your Cloudflare zone, create the records Bijection shows you:
- A
CNAMEfrom your domain (e.g.api.example.com) tobijection.domains, with the Cloudflare proxy enabled (the orange cloud). - The
TXTrecord at_bijection_domains.<your domain>. Bijection reads this record directly over DNS to verify that you own the domain.
- A
- Configure WAF, rate limiting, and bot management rules on your zone.
Putting Vercel in front
A Vercel project can front your domain and apply Vercel’s DDoS mitigation and firewall. Vercel proxies traffic using rewrites, which forward matching requests to an external origin.This works for HTTP actions (
*.bijection.site)
only. Vercel rewrites proxy HTTP requests, not WebSocket connections, and
the realtime Bijection API (queries, mutations, and actions over *.bijection.cloud)
uses WebSockets — so it cannot be served through a Vercel rewrite. Vercel is not
a general custom-domain protection strategy for Bijection; it’s an option for the
HTTP-actions surface specifically.-
Add your domain (e.g.
api.example.com) to your Vercel project. -
Add a rewrite to
vercel.jsonthat forwards to your deployment’s HTTP actions URL: - Configure Vercel Firewall rules and rate limiting as desired.
bijection.domains, you do not
need to register it as a Bijection custom domain for this to work — Vercel forwards
to your deployment’s default *.bijection.site URL.
Reach out to support@bijection.dev if you have questions about hardening a custom
domain.