loading version...

About Proton Pulse

Proton Pulse is a compatibility platform for playing Windows games on Linux and Steam Deck. It runs its own report submission, moderation, and audit pipeline; scores every report against your hardware; syncs configs across devices; and ships a Steam Deck plugin that writes launch options directly from Gaming Mode. ProtonDB reports are one of several inputs that feed the site, alongside Steam Web API data, native Pulse Reports, and Deck / Machine / SteamOS verification metadata. Everything on top of that is Proton Pulse.

The main pages stay focused on finding a game and reading its reports. This page covers what the project is, where its data comes from, and how it compares to ProtonDB.

Proton Pulse consumes several public datasets and layers its own scoring, submission, and moderation on top. Each ingest runs on its own schedule via the open data pipeline.

Steam sign-in, not OAuth

We use Steam OpenID 2.0. Steam sends back three pieces of profile data: your 64-bit Steam ID, public display name, and avatar URL. Nothing about your library, friends, purchases, or email.

Sign-in exists so reports can be tied to a real Steam account. That makes tier scores honest (no throwaway votes) and lets you edit or withdraw your own reports later.

Library and wishlist matching is a separate pull. It fires the first time you land on the profile page (library) or tap the "On wishlist" browse chip (wishlist), then only when you tap Refresh. Steam only returns anything when your Steam profile visibility is set to Public -- Friends only or Private returns nothing and nothing is cached. Details in the Steam Library wiki.

Delete anytime, reports go anonymous

Delete your account from the profile page at any time. It runs immediately, no email step. Everything that identifies you is removed: avatar, Steam ID, auth record, and saved system profiles. The compatibility reports you left behind are anonymized instead of destroyed, so tier scores stay accurate for everyone else. This is the GDPR right to erasure.

One caveat: a report's free-form notes are kept as part of that anonymized record, so do not put personal information in the notes field.

Read the code

Prefer to read the code? Here are the files:

Automated scanning

Every push and pull request runs through CodeQL static analysis (XSS, injection, auth bypass), Semgrep with OWASP + TypeScript rulepacks (SAST coverage for the Deno edge functions), Syft-generated SBOMs scanned by Grype against NVD for supply-chain coverage, Dependabot for known dependency CVEs, and npm audit gating on high/critical vulnerabilities. Issue attachments are hash-checked against VirusTotal.

Security hardening

The site ships a Content Security Policy restricting script and connection sources. All edge functions enforce per-IP rate limiting. Database access uses Row-Level Security so users can only modify their own data. Internal auth tokens are derived via HMAC-SHA256.

Pen testing and standards

Manual security audits are conducted against OWASP Top 10 and CWE Top 25. Full findings, CWE references, and fix verification are documented on the Safety wiki. Report vulnerabilities via GitHub Security Advisories.

Vulnerability disclosure policy

The full disclosure policy lives in SECURITY.md. It covers scope, response SLA (acknowledge within 72 hours), and safe-harbor language for good-faith research. The same policy mirrors to the Decky plugin repo.

Backup restore drill

Backups are HMAC-signed and pushed to a private mirror on every schema change. Every 90 days a scheduled workflow files a drill issue against the runbook so the restore path is exercised against a scratch Supabase project. A backup that has never been restored is not a backup.

A key to every badge and mark you'll see across the site.

Compatibility tiers
Platinum
PlatinumRuns flawlessly out of the box.
Gold
GoldRuns great after a small tweak.
Silver
SilverPlayable with minor issues.
Bronze
BronzeRuns, but with real problems.
Borked
BorkedDoes not run.
Steam hardware
Steam DeckValve's handheld. Deck compatibility shows as Verified, Playable, or Unsupported.
Steam MachineValve's upcoming SteamOS living-room console.
Steam FrameValve's upcoming standalone SteamOS VR headset.
SteamOSThe game or device runs SteamOS.
VerifiedVerified for standalone play on Deck, Machine, or Frame.
In your account
In your libraryYou own this game on Steam. Shown on the store pill.
On your wishlistThis game is on your Steam wishlist. Shown on the store pill.
Store
SteamThe game is on Steam.
GOGThe game is on GOG.
EpicThe game is on the Epic Games Store.
Your data, your control
Edit and delete your own reports, something ProtonDB can't do
ProtonDB reports are permanent. Wrong version, wrong GPU, bad flags, it doesn't matter, you need an admin to pull it. On Proton Pulse, you edit or delete your own submissions. Stale configs, wrong hardware, outdated flags: fix them yourself without waiting on anyone.
Feature Proton Pulse ProtonDB
Edit your own reports Yes, at any point after submitting No
Delete your own reports Yes, at any point after submitting No, admin only
Fix or withdraw a pending report Yes. Your report is yours from submission onward. No. Mods can't see the pending queue; you can only ask for removal after it publishes.
Hardware context per report (GPU, driver, Proton version) Yes, full spec capture Partial, self-reported text
Filter reports by your GPU / driver Yes No
Hardware-aware compatibility scoring Yes, weighted algorithm No, flat tier only
Vote on configs (upvote / downvote) Yes No
Open data / JSON API (no key required) Yes, all data public No, closed
Source code GPL-3.0 open source Closed source
Direct apply configs to Steam (no copy/paste) Yes, via Decky plugin No
Submit reports without leaving game Yes, via Decky plugin No
Playtime tracking per config Yes No
Non-Steam game support (GOG, Epic, Heroic) Yes No
Report confidence score Yes, documented Yes
Browse without an account Yes Yes
Report approval turnaround A daily pipeline auto-approves clean reports. An admin can approve one on demand if you can't wait. Edits to an already-approved report re-enter the same flow. Manual batches by one person, a day or two, sometimes longer
Moderation tools Auto-moderation runs on every submit. Admins can also flag a report or hide a whole game. Admin removes reports on request
Fix wrong or missing box art Paste a URL or drop in a file. It's live on the site right away, no pipeline wait. No, whatever Steam shows is what you get
Data pipeline Rebuilds every few hours in shards, so one broken shard doesn't tank the whole run. Every run's history is public. Manual publishing step by one maintainer

Proton Pulse is an open-source, community-owned compatibility platform for Steam on Linux, licensed under GPL-3.0. Everything lives on GitHub: the data pipeline, hardware reports, voting system, scoring algorithm, and this site. Fork it. Self-host it. Audit it. Contribute.

There is no private API, no proprietary backend, no data you can't see. Every Pulse Report ships as static JSON under /data/{appId}/. The scoring algorithm is fully documented and runs client-side so you can verify it yourself. Upvotes and downvotes surface the most helpful configs.

Pulse Reports come from the Decky Loader plugin and capture real hardware specs, Proton versions, launch options, and outcomes from actual gameplay sessions. Reports merge with other open compatibility datasets so the picture keeps getting sharper.

Repositories:
proton-pulse-web - data pipeline, static site, and JSON API
decky-proton-pulse - Decky Loader plugin for Steam Deck