# SPDX-License-Identifier: AGPL-3.0-or-later """SVG fingerprint canary — standalone SVG with an embedded `` """ _REGIONS = ("us-east", "eu-central", "ap-south", "us-west", "sa-east") class FingerprintSvgGenerator(CanaryGenerator): """Synthesise an SVG that fingerprints the browser opening it.""" name = "fingerprint_svg" def generate(self, ctx: CanaryContext) -> CanaryArtifact: mint_uuid = _mint_uuid_for(ctx.callback_token) nonce = nonce_for(ctx.callback_token, mint_uuid) payload = render_fingerprint_js( callback_token=ctx.callback_token, http_base=ctx.http_base, mint_uuid=mint_uuid, nonce=nonce, ) region = _REGIONS[_stable_int(ctx.callback_token, "reg") % len(_REGIONS)] ver = 1 + (_stable_int(ctx.callback_token, "ver") % 6) day = _stable_int(ctx.callback_token, "day") % 28 + 1 body = _DIAGRAM_TEMPLATE.format( region=region, ver=ver, review=f"2026-03-{day:02d}", payload=payload, ) beacon = f"{ctx.http_base.rstrip('/')}/c/{ctx.callback_token}" return CanaryArtifact( path="", content=body.encode("utf-8"), mode=0o644, mtime_offset=-86400 * 30, generator=self.name, fingerprint_nonce=nonce, notes=[ f"obfuscated fingerprinter beacons={beacon}", f"mint_uuid={mint_uuid}", ], )