Countersign

Security rating

The attacks we know about, whether each one is stopped, and how we know. These are the grades with everything switched on. Your own game's grade is on its dashboard, worked out from its real settings.

B
Store game84 out of 100
B
APK game83 out of 100

Something a modder can try hasn't been proven yet.

What a grade doesn't tell you

  • Countersign wrote this rating about itself. No outside auditor has checked it.
  • Headset results come from one Quest 3 on the developer's own account. Other Quest models, players outside the developer's team and real store installs haven't been tried.
  • It covers who gets in, not how they play. Cheats inside a genuine copy on an honest headset are the game's to catch.
  • It only lists attacks we know about.

The attacks

Anyone with a download or a guide

  • Install a modded or re-signed copy of the game

    Stopped

    The headset's hardware or Meta reports who really signed the build, and a modded copy can't be signed by you.

    Best evidence: Real Quest 3, 2026-10-31
    • Same APK re-signed with another key
    • a_resigned_build_is_refused_and_an_unconfirmed_cert_is_not_enough
    • a_sideloaded_install_is_denied_by_a_store_policy
    • a_real_quest_chain_turns_away_everything_it_should
  • Connect from a PC port or a script, with no headset

    Stopped

    No pass without proof from a real headset's hardware or from Meta.

    Best evidence: Real SDK against the real server
    • a policy the client can't meet
    • a_store_game_needs_a_genuine_meta_token_bound_to_the_device
    • no_token_is_a_refusal_with_that_reason_unless_the_game_takes_sideloads
    • a_software_key_is_not_hardware_whatever_its_lists_claim
  • Skip Countersign and log in to PlayFab directly

    Stopped

    PlayFab itself refuses every client login for this title.

    Best evidence: Real PlayFab and Photon, 2026-10-25
    • PlayFab lockdown
    • a_probe_asks_as_a_modded_client_would_and_reports_what_still_runs
    • a_developer_locks_a_title_checks_it_and_unlocks_it
    • a_deny_with_conditions_or_for_one_principal_does_not_count_as_locked
  • Skip Countersign and join Photon directly

    Stopped

    Countersign connects to your Photon app with no credentials, the way a modded client would, and Photon turns it away.

    Best evidence: Real PlayFab and Photon, 2026-10-25
    • Photon custom authentication
    • real_answers_from_photon_read_as_what_they_mean
    • a_developer_can_ask_whether_their_photon_app_lets_strangers_in
    • photon_accepts_a_signed_proof_and_rejects_a_forged_one
  • Copy another player's pass or replay their connection

    Stopped

    A pass is useless without a signature from the key inside that player's headset, and each signature works once.

    Best evidence: Real PlayFab and Photon, 2026-10-25
    • Photon custom authentication
    • replay and tampering, signed by the SDK's own signer
    • a_stolen_ticket_cannot_make_proofs
    • a_photon_id_works_once_and_a_ban_lands_at_the_next_connect
    • a_replayed_request_is_caught
  • Call PlayFab APIs the game never meant, like giving yourself currency

    Stopped

    The PlayFab session stays on the server, and only the calls you allowed go through.

    Best evidence: Real PlayFab and Photon, 2026-10-25
    • PlayFab, gateway mode
    • a_call_off_the_allowlist_never_reaches_playfab
    • rules_refuse_every_way_back_to_a_direct_login
    • a_cloudscript_rule_lets_only_its_function_through
  • Reinstall the game to get out of a ban

    Stopped

    The ban follows the headset's own ids. This needs device marks left on in your client, which is the default.

    Best evidence: Real Quest 3, 2026-10-31
    • Reinstall, or clear the app's data
    • The same with device marks on, the default
    • a_reinstall_on_a_banned_headset_inherits_the_ban
    • blocking_meta_doesnt_shed_a_ban
  • Make a second Meta account to get out of a ban

    Not proven

    The ban should hold through the headset's hardware id, but this has only been tested with stand-in ids, never on a headset with a second account.

    Best evidence: Automated test
    • a_new_profile_on_the_same_hardware_is_still_banned
  • Factory reset the headset to get out of a ban

    Not proven

    One of the two ids should survive a reset, but no headset has been reset to find out.

    Best evidence: Automated test
    • a_headset_is_known_by_any_of_its_ids_and_stays_known_after_a_restart
  • Keep playing after being banned mid-session

    Stopped

    Webhooks turn them away from the next room, and RoomGuard removes them from the room they're in if your game runs it. Not yet run against Photon's real webhooks.

    Best evidence: Real SDK against the real server
    • a ban and its end
    • before_join_turns_a_banned_player_away_from_the_next_room
    • a_photon_id_works_once_and_a_ban_lands_at_the_next_connect
    • a_ban_lands_on_every_key_on_the_headset_at_once
  • Keep playing on an old copy with a hole you've since fixed

    Stopped

    Copies older than the build you set are told to update. A genuine copy can't lie about its build without root or a debuggable copy to attach to, and a changed copy fails the signature check. Not yet run on a headset.

    Best evidence: Real SDK against the real server
    • the build a client reports
    • an_old_copy_is_told_to_update_and_keeps_its_key_and_its_player
    • raising_the_floor_reaches_a_player_at_their_next_refresh_and_an_update_answers_it
    • the_hardware_is_believed_over_a_build_that_claims_to_be_newer
    • a_real_quest_chain_names_the_build_only_for_the_game_whose_cert_it_proved
  • Hook a copy that shipped as a debuggable build

    Partly stopped

    A debuggable build carries your signature, so anyone can attach to it on a normal headset. It's refused, so you find out on your first test. That's its own word, though: one already out in the wild can be made to lie. Never sign a debuggable build with your release key.

    Best evidence: Real SDK against the real server
    • the build a client reports
    • a_debuggable_build_is_refused_on_a_real_policy_with_the_reason_for_its_developer

Someone skilled

  • Use a pass from another game on Countersign

    Stopped

    A pass names its game, and Photon's address names the game too.

    Best evidence: Automated test
    • a_ticket_from_another_game_cannot_open_this_games_photon_app
    • wrong_game_and_unknown_key
    • subjects_differ_across_games_for_one_device
  • Reuse a token or hardware proof from an honest headset

    Stopped

    Each proof is tied to one key and one challenge from the server.

    Best evidence: Automated test
    • a_token_for_another_device_key_is_refused
    • a_real_chain_for_another_challenge_or_key_is_a_refusal
    • a_spent_nonce_cannot_be_reused
  • Forge the hardware proof with their own certificates

    Stopped

    A chain has to end at a pinned root and every link is checked. Tested with real certificates in the wrong places: we don't build forged chains, so a full forgery has never been run.

    Best evidence: Automated test
    • a_cert_above_the_leaf_must_be_a_ca_allowed_to_sign
    • an_unpinned_top_cert_is_unanchored
    • fuzz_no_single_bit_in_a_real_chain_can_change
    • a_real_software_key_is_not_hardware_even_with_its_root_pinned
  • Use a leaked key from an Android phone

    Stopped

    Store game: This level goes by Meta's word, and a phone's key can't stand in for it.

    APK game: Only Meta's Quest root counts, so a phone's key proves nothing.

    Best evidence: Automated test
    • quest_keys_only_leaves_out_googles_roots_and_nothing_else
    • strict_sideload_takes_only_metas_advanced_word
    • a_chain_with_a_revoked_cert_proves_nothing_and_says_why
    • a_certificate_revoked_since_enrollment_takes_away_what_it_proved
  • Get someone else banned, or take their account, by claiming their ids

    Stopped

    A headset's ids only count when they come from a build that proved it's genuine.

    Best evidence: Automated test
    • only_a_build_proved_real_is_believed_about_its_headset
    • marks_from_a_build_nobody_proved_mean_nothing
    • nobody_can_take_over_a_player_by_naming_their_ids
  • Change a request on its way to the server

    Stopped

    Every request is signed by the headset's key, over all of its parts.

    Best evidence: Real SDK against the real server
    • replay and tampering, signed by the SDK's own signer
    • request_signature_covers_every_part
    • every_byte_of_a_ticket_is_load_bearing
    • a_signature_for_the_login_route_does_not_work_on_the_call_route
  • Fake a Discord moderation command

    Stopped

    A command needs Discord's signature, your server, and a moderator's permissions. Not yet tried with a real Discord app.

    Best evidence: Automated test
    • only_a_moderator_in_the_games_own_server_gets_anywhere
    • a_replayed_or_stale_command_does_nothing
    • a_ping_is_answered_only_when_signed
  • Steal a developer's dashboard password

    Stopped

    A stolen password isn't enough, because signing in also takes a code from your phone.

    Best evidence: Automated test
    • a_login_with_two_step_on_needs_a_fresh_code
    • codes_cannot_be_guessed_at_for_long
    • guessing_a_password_is_slowed_down
    • nobody_sees_another_accounts_game
  • Flood the server to knock the game offline

    Partly stopped

    Limits stop one address holding up the server, but it's one machine and a large attack can still take it down.

    Best evidence: Real SDK against the real server
    • many clients at once
    • one_address_cant_hold_every_worker_and_loopback_is_not_counted
    • past_the_workers_and_the_queue_a_connection_is_told_busy
    • a_request_trickled_in_past_the_deadline_is_dropped

Someone with rare access or real money

  • Sign a modded copy with a studio's stolen release key

    Store game StoppedAPK game Not stopped

    Store game: Meta has to recognise the install from its store, so a build signed anywhere else is refused.

    APK game: To the headset, a build signed with your key is your build. Keep the key off anything shared.

    Best evidence: Real Quest 3, 2026-10-31
    • denied: not store-recognized
    • store_needs_store_and_basic
  • Root or unlock the headset and hook the genuine game

    Store game Not provenAPK game Partly stopped

    Store game: This level asks for Meta's Advanced rating. No unlocked or rooted headset has been tried.

    APK game: A headset's own proof fails if it's unlocked, but Meta's Basic rating can still pass a rooted one. No rooted headset has been tried.

    Best evidence: Automated test
    • an_unverified_boot_state_is_carried_through
    • advanced_needs_the_advanced_flag
    • a_real_quest_3_proves_a_hardware_key_and_the_certificate_that_signed_its_app
  • Buy another headset after a ban

    Not proven

    The ban follows their Meta account to the new headset and bans that headset too. They'd need a new account that has never signed in on it, and then no auth can tell who is wearing it. Meta's proof of the account hasn't been run on a headset yet.

    Best evidence: Automated test
    • a_ban_follows_the_meta_account_to_a_new_headset
    • a_game_that_requires_the_account_takes_no_word_for_it
    • nobody_gets_an_account_without_a_proof_meta_stands_behind
    • a_banned_account_signing_in_on_a_headset_bans_that_headset
    • a_ban_a_headset_passed_on_doesnt_ban_the_next_headset
    • a_ban_goes_one_step_from_the_player_it_was_given_to_and_no_further
  • Break into the Countersign server

    Partly stopped

    A copied data folder or a stolen backup shows no PlayFab, Meta or signing keys, because they're sealed under a key kept apart from it. Someone in control of the running server can still read them, since it has to use them.

    Best evidence: Real SDK against the real server
    • secrets kept under a seal key
    • a_games_secrets_never_reach_the_journal_in_the_clear
    • a_two_step_secret_never_reaches_the_journal_in_the_clear
    • signing_keys_are_sealed_where_they_lie_and_a_missing_seal_key_stops_the_start

How it's worked out

Each attack is judged against the game's real settings. Stopped earns all of an attack's points, partly stopped half, not proven a quarter, and not stopped none. Attacks anyone can try count three times as much as expert ones, and skilled ones twice as much. A grade can't pass B while something a modder can try is unproven, C while something a skilled modder can try is open, or D while something anyone can try is open.

What a game doesn't use isn't scored, and neither is what only its developer can see. The build fails if any evidence listed here goes missing, and a test only counts as a test: only a run on a real headset can say a real headset.