—
POOLS —
READ —
LEGAL · SECURITY
Security policy
LAST UPDATED 2026-10-01 · REFERENCED BY /.WELL-KNOWN/SECURITY.TXT
If you find a vulnerability in the Site, the signing service or a pool, tell us before you tell anyone else, and we will fix it and credit you. Write to hello@shyguy.studio. Machine-readable contact details are at /.well-known/security.txt.
What runs, so you know what to test
- The Site: static files on Vercel. No accounts, no cookies, no analytics. It asks a wallet to sign only transactions the signing service built, after showing their amounts.
- The signing service: a Cloudflare Worker (
playset-signer-mainnet.see21289.workers.dev; devnet test pools atplayset-signer-devnet). It reads the chain, prices quotes on each pool's line, and signs its half with a hot key that holds only capped unsold units and the sell-back float. - On chain: Metaplex Core (wrappers, one collection per pool), MPL-Hybrid (the escrow that swaps 100 units for a wrapper), and SPL Token (units). Playset has no program of its own.
- Every response carries a strict Content-Security-Policy (scripts from this origin only; connections only to the signing service and the Solana RPC), HSTS with preload,
X-Frame-Options: DENY, and cross-origin isolation headers. The domain publishes SPF-all, a DMARC reject policy and a null MX.
In scope
- Any way to get units that nothing backs: more units in buyers' hands than 100 × the slabs in a pool, or units leaving the signer beyond what a quote stated.
- Any way to make the signing service sign something other than what its quote says — a different amount, recipient, or instruction — or to spend its SOL or units outside a quote.
- Any way to take a slab out of a wrapper you don't own, or to stop a wrapper's owner taking theirs out.
- Any way to get value for an empty wrapper, or to take a wrapper from the escrow for less than 100 units.
- The Site: content injection, a way to make it ask a wallet to sign something it didn't show, a way to show a number the chain or the quote doesn't say, a header or policy bypass.
Out of scope
- Anything that needs the operator's own keys, physical access, or social engineering of Shyguy LLC.
- Third parties we depend on: Solana, Metaplex's programs, Cloudflare, Vercel, Helius, Google Fonts, wallets, explorers, Collector Crypt and its tokens. Report those to them.
- Devnet test cards and pools. Nothing on devnet has value and it may be reset at any time — but a flaw found on devnet that would work on mainnet is in scope.
- Denial of service, rate-limit findings against the public RPC, and reports from automated scanners with no demonstrated impact.
How to report
Email the details — what, where, how to reproduce, and what you think the impact is. Encrypt if you like; if you need a key, ask and we will send one. We will acknowledge within three business days and keep you informed. Please give us a reasonable time to fix before publishing, do not access, modify or destroy data that is not yours, and do not test against wallets that are not yours.
What we promise
If you follow this policy, we will not pursue legal action against you for your research, we will work with you on a fix and a disclosure timeline, and we will credit you publicly if you want to be credited. There is no bounty programme yet; when there is, it will be announced here.