agentleFS
pencil20388-engpencil20388-eng/browser-automation-skills/skills/fingerprinting/SKILL.md

fingerprinting

Skill5 starsChanged 6 months agoMITView on GitHub

Understand how websites identify browsers through fingerprinting, and how to manage fingerprint isolation for multi-account scenarios. Websites collect dozens of browser attributes to create a unique "fingerprint" that identifies your browser across sessions — even without cookies. Key attributes include: Other fingerprint checking sites: - https://www.browserscan.net/ - https://browserleaks.com/ - https://amiunique.org/ - https://coveryourtracks.eff.org/ Canvas fingerprinting draws invisible shapes on an HTML5 canvas and hashes the pixel data. Different GPUs and rendering engines produce different results. To spoof: Antidetect browsers like AdsPower…

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When managing multiple accounts, each account needs a unique, consistent fingerprint.

    line 91

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Browser Fingerprinting Skill

Understand how websites identify browsers through fingerprinting, and how to manage fingerprint isolation for multi-account scenarios.

What is browser fingerprinting?

Websites collect dozens of browser attributes to create a unique "fingerprint" that identifies your browser across sessions — even without cookies. Key attributes include:

AttributeWhat it revealsUniqueness
User-AgentOS, browser, versionLow
Screen resolutionDisplay size, pixel ratioMedium
CanvasGPU rendering differencesHigh
WebGLGraphics card info, renderingHigh
AudioContextAudio processing fingerprintHigh
FontsInstalled system fontsHigh
TimezoneGeographic regionLow
LanguageBrowser/OS language settingsLow
WebRTCReal IP address (even behind VPN)Critical
Hardware concurrencyCPU core countMedium
Device memoryRAM amountMedium
PlatformOS architectureLow

Check your fingerprint

# Open BrowserScan to see your fingerprint profile
# Works with Selenium or Playwright

driver.get("https://www.browserscan.net/")
# or
page.goto("https://www.browserscan.net/")

Other fingerprint checking sites:

Canvas fingerprinting

Canvas fingerprinting draws invisible shapes on an HTML5 canvas and hashes the pixel data. Different GPUs and rendering engines produce different results.

// How sites detect canvas fingerprint (conceptual)
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
ctx.textBaseline = 'top';
ctx.font = '14px Arial';
ctx.fillText('fingerprint test', 2, 2);
const hash = canvas.toDataURL().hashCode();

To spoof: Antidetect browsers like AdsPower inject noise into canvas rendering so each profile produces a different hash.

WebGL fingerprinting

WebGL exposes GPU vendor, renderer, and shader precision — very hard to spoof manually.

const gl = document.createElement('canvas').getContext('webgl');
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
const vendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);

WebRTC IP leak

WebRTC can reveal your real IP address even when using a proxy or VPN.

// WebRTC leak test
const pc = new RTCPeerConnection({ iceServers: [] });
pc.createDataChannel('');
pc.createOffer().then(offer => pc.setLocalDescription(offer));
pc.onicecandidate = event => {
    if (event.candidate) {
        console.log('IP:', event.candidate.candidate);
    }
};

To prevent: Disable WebRTC or use an antidetect browser that masks the real IP in WebRTC.

Fingerprint isolation for multi-account

When managing multiple accounts, each account needs a unique, consistent fingerprint. Using the same fingerprint across accounts is a common reason for account linking and bans.

Required isolation per account:

  • Unique canvas noise seed
  • Unique WebGL parameters
  • Unique User-Agent
  • Separate proxy IP
  • Isolated cookies and localStorage
  • Different timezone matching the proxy location
  • Different language settings
  • Disabled or masked WebRTC

Tools for fingerprint management:

  • AdsPower — antidetect browser with per-profile fingerprint management and Local API for automation
  • Browser profiles in Playwright/Selenium only isolate cookies, NOT fingerprints

Fingerprint consistency

A fingerprint must be internally consistent. Common mistakes:

MistakeDetection signal
US proxy + China timezoneTimezone doesn't match IP geolocation
Windows User-Agent + Mac fontsOS fonts don't match claimed OS
High-end GPU in WebGL + mobile User-AgentHardware doesn't match device type
Same canvas hash across 50 accountsAll accounts have identical fingerprint

Important notes

  • Cookie clearing does NOT reset your fingerprint
  • Incognito mode does NOT change your fingerprint
  • VPN changes your IP but NOT your fingerprint
  • Each browser profile needs a unique fingerprint AND a unique proxy for proper isolation
  • Antidetect browsers automate fingerprint randomization; doing it manually in Selenium/Playwright is fragile and incomplete

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.