Official browser extension for VSkin.gg. Allows users to sync their full CS2 inventory - including trade-locked and protected items - to build their VSkin showcase.
- Reads your Steam login cookie locally to identify your account (Steam ID)
- Fetches your CS2 inventory directly from Steam's public inventory endpoint
- Sends the inventory data to VSkin servers so your showcase can be built
- Syncs are triggered either by you (popup button) or by vskin.gg itself (on page load and after trade confirmations) - never while you browse other sites
VSkin is read-only by design.
The extension does not:
- Send or accept trade offers
- Access your Steam messages, friends list, or chat
- Modify your Steam account or settings in any way
- Use your Steam API key
- Send your Steam session cookie to VSkin or any third party
- Inject scripts into web pages (no content scripts)
- Run in the background while you browse other sites (the extension only acts when you click the popup button or when vskin.gg requests a sync)
- Perform any action on your behalf
At no point can VSkin interact with trades or your account actions.
- You log into Steam normally via your browser
- When you open the extension popup, it reads your
steamLoginSecurecookie locally to extract your 17-digit Steam ID - The cookie value itself is never transmitted - only the Steam ID is used
- A sync runs either automatically (while you're on vskin.gg, on page load and after trade confirmations) or manually (when you click "Sync Inventory" in the popup). On each sync, the extension fetches your CS2 inventory from Steam's public endpoint (
steamcommunity.com/inventory/...) - Both standard and protected (trade-locked) items are retrieved
- This inventory data is sent to VSkin's API to build your showcase
- A 30-second cooldown is enforced between syncs
Your Steam credentials are never accessed or transmitted by VSkin.
| Permission | Reason |
|---|---|
cookies |
Read the steamLoginSecure cookie from steamcommunity.com to extract your Steam ID. The cookie is read locally and never sent anywhere. |
storage |
Persist the sync cooldown timer across popup sessions. Only stores a single timestamp. |
| Host | Reason |
|---|---|
https://steamcommunity.com/* |
Fetch your CS2 inventory via Steam's public inventory API. |
https://api.vskin.gg/* |
Send inventory data to VSkin's backend for showcase sync. |
No other websites are accessed.
On each sync (automatic or manual), the following is sent to api.vskin.gg:
- Your Steam ID (17-digit identifier)
- Your CS2 inventory items, including:
- Item names and types
- Asset IDs and class IDs
- Float values and wear condition
- Sticker and seal data
- Rarity, category, and other item tags
- Tradability and marketability status
This is the same data visible on any public Steam inventory page.
VSkin does not collect or receive:
- Your Steam password
- Your
steamLoginSecurecookie value - Your Steam API key
- Private messages or chat history
- Trade history or trade offers
- Friends list
- Payment information
- Any data from websites other than
steamcommunity.com
The extension is designed to minimize risk:
- No trade capability - the extension cannot initiate, accept, or interact with trade offers
- No API key - no Steam API key is required or used
- No content scripts - the extension does not inject code into any web page
- No background scanning - sync runs only when you click the popup button or when vskin.gg requests it via Chrome's official
externally_connectableAPI (which restricts incoming messages to the vskin.gg origin only). The extension never polls in the background. - Host permissions - the extension can only make requests to domains explicitly declared in the manifest (
steamcommunity.com,api.vskin.gg). All other domains are blocked by Chrome. - Rate limiting - a 30-second cooldown prevents rapid-fire requests
Even in the event of a compromise, the extension architecture cannot perform trades or access account credentials.
You can audit the extension's behavior yourself:
- Read the source code - this repository contains the full, unobfuscated source
- Inspect network requests - right-click the extension icon > "Inspect popup" to open the popup's developer tools. All requests (GET to
steamcommunity.com, POST toapi.vskin.gg) are visible in the Network tab. - Check the manifest - review
manifest.jsonto confirm the declared permissions match this documentation - Verify no content scripts - the manifest declares no
content_scriptsentry. The extension does not inject code into any page.
npm install
npm run buildThe compiled extension will be output to the dist/ directory. You can load it in Chrome via chrome://extensions > "Load unpacked" and selecting the dist folder.
For development with auto-rebuild:
npm run dev- Website: vskin.gg
- Chrome Web Store: VSkin Extension
- Extension info: vskin.gg/extension
- Privacy policy: vskin.gg/extension-privacy
This repository is open source to ensure full transparency about how the extension operates.
If you have questions or concerns, feel free to open an issue.