Pass-and-play code duel - One phone, two players - No account
iOS product page
Two secret codes. One phone. No peeking.
Don’t Peek is a two-player code-cracking duel played on a single iPhone. Setup is two first names - no account, no sign-up, no pairing. Player 1 types a secret 4-digit code while Player 2 looks away, the screen covers itself, the phone changes hands, and Player 2 does the same. Then you take turns guessing. Feedback is deliberately brutal: a digit in the exact right position locks in acid lime, and everything else is a miss - the app never tells you a digit is "in the code but in the wrong place". That missing hint is the whole game; three-of-four feels close and is still a lot of numbers. Between every turn a full-screen cover slams down - Hand it to Maya, hold to open - so nobody glimpses a half-typed guess on the pass. Guess history is public, the way it would be if you were shouting numbers across a table, and both players’ grids sit side by side on the match screen. First to lock all four digits wins, both codes land on the table, and Rematch starts the next round with the same names. Beyond pass-and-play there is a CPU mode with a fair computer opponent that only learns from its own guesses, a Daily mode with one shared code for the whole world each UTC day and a spoiler-free grid to share, an Online 1v1 over Game Center, and an opt-in Blitz timer that gives every guess ten seconds. The current match saves itself after every move, so a force-quit resumes exactly where you were - never on a screen that would reveal a code. There are no ads, no analytics, and no server: the match lives on the phone in your hand.
Pass and play gamesTwo player games one phoneCode breaking gameNumber guessing gameCouch games for couplesParty game appMastermind style gameNo account
1 phoneis the whole setupTwo first names and you are playing. No second device, no account, no pairing screen. The phone is the divider: a full-screen cover between turns keeps each player’s code and half-typed guesses private on the pass.
4 digitsand one honest hintOnly a digit in the exact right position locks in. There is no "right digit, wrong place" clue - that missing hint is what keeps a round tense to the last guess, and repeats like 4344 are completely legal.
0accounts, ads or trackersNo sign-up, no analytics, no ad SDKs and no server of ours. Pass-and-play matches live entirely on the device, the Daily code is computed from the date on your phone, and Online runs over Apple’s Game Center.
Games
The game with the missing hint
Don’t Peek started as a real game played with a sticky note and whatever was on the table to use as a divider - a cereal box, a laptop lid, a PlayStation stood on its end. Two people write down secret numbers and shout guesses at each other, and the only feedback that ever gets given honestly is "that one’s in the right spot". Turning that into an app meant refusing two obvious upgrades. The first was the Mastermind-style yellow hint - right digit, wrong place. Adding it would make the game more solvable and much less fun, because the agony of three-of-four with no idea about the last digit is the entire product. The second was a second phone. Online exists for long distance, but the definitive way to play is one phone passed across a couch, which is why the handoff cover is the app’s signature object rather than its logo: a full-screen slam that says who to hand the phone to and opens only on a deliberate long-press. The same honesty runs through the rest of it. The CPU opponent never reads your secret - it deduces from its own guess history, exactly the way you do. The Daily code is derived on the device from the date, so every phone on Earth agrees without a server existing. And the share grid shows your locks, never your digits, because spoiling the code would spoil somebody else’s couch.
Screenshots
See Don’t Peek in action.
Key features
What makes Don’t Peek stand out.
01
The cover is the divider
After every code and every guess, a full-screen cover slams down: Hand it to Maya. Hold to open. It opens only on a deliberate long-press with a progress ring, the next screen is already underneath so nothing flashes, and switching apps mid-pass brings you back to the cover, not to a secret.
02
Set your code like you mean it
Four big tiles, a big numpad, and one instruction: they shouldn’t see this. Any four digits work - 0000, 9999 and repeats like 4344 are all legal codes. Lock it in and the cover comes down before the phone changes hands.
03
Exact spots lock. Everything else is a miss.
Guess 7389 against a secret of 7089 and three tiles lock in acid lime with a corner tick - the 3 stays dark. You are never told a digit exists somewhere else in the code. Locks are a fill and a mark, never color alone, so the feedback works for everyone.
04
A shared history, like shouting across a table
Every guess is public - you said it out loud, after all. Both players’ grids sit side by side on the match screen, newest at the bottom just above the numpad, so you can read the whole fight at a glance. Only the two secret codes stay hidden until someone wins.
05
The win puts both codes on the table
First to four locks wins, even if the other player is sitting on three. The win screen finally shows both codes, large, with each player’s guess count - and a Rematch button that keeps the names, clears the board, and starts the next grudge match.
06
A CPU that plays fair, and a Daily the whole world shares
Solo, the CPU hunts your code using only its own guess history - it never reads your secret, it deduces like you do. The Daily is one global code per UTC day, derived on your phone from the date, with a spoiler-free lime-and-black grid to share: your locks, never your digits.
07
Online over Game Center, Blitz when you want blood
Long distance? Online 1v1 plays the same rules over Game Center turn-based matches - invite a friend or auto-match, no covers needed because you each hold your own phone. And the opt-in Blitz toggle gives every guess ten seconds; run out and the turn is simply gone.
Who it's for
Built for real workflows.
The couch game, minus the sticky note
Couples, siblings, flatmates: two first names and you are fighting. A round is a few minutes, the loser always wants a rematch, and the handoff cover means nobody has to trust anybody - which is exactly the right amount of trust for this game.
One phone, somewhere with nothing to do
Airport gates, road-trip passenger seats, restaurant waits with a bored teenager. Don’t Peek needs no Wi-Fi, no second device and no explaining - set a code, hand it over. The CPU fills in when nobody else will play you.
The Daily, and the group chat
One shared code for the whole world every UTC day. Crack it in your own time, then drop the spoiler-free grid - lime locks on black, never the digits - into the group chat and let everyone else suffer honestly.
Pricing
Simple, honest pricing.
Free
$0
no account, no ads, no time limit
Three full matches, pass-and-play or CPU
The complete duel: covers, locks, rematch
Shared guess history on one screen
Match auto-saves and resumes safely
VoiceOver, Reduce Motion and color-safe locks
Works fully offline
Recommended
Full Game
$2.99
one-time purchase - no subscription, nothing to cancel
Unlimited pass-and-play matches
Unlimited CPU matches
The Daily: one shared code per day, worldwide
Spoiler-free share grids for your Daily runs
Online 1v1 over Game Center
Blitz mode: ten seconds a guess
Everything in Free included
Restore on any device with your Apple Account
Guides & resources
Don’t Peek guides for iPhone.
Practical reads that answer common search questions — each links back to the app.
Two of you share one phone. Each player secretly sets a 4-digit code - the screen covers itself between turns so nobody sees the other person type. Then you alternate guesses at each other’s code. After every guess, digits in the exact right position lock in; everything else is a miss. First player to lock all four digits wins, the win screen reveals both codes, and Rematch starts the next round with the same names. A round takes a few minutes.
Is there a "right digit, wrong place" hint like Mastermind or Wordle?
No, and that is deliberate. The only feedback is exact-spot: a digit locks if and only if it is in the code at that exact position. You are never told a digit exists somewhere else. That missing hint is what makes the game tense - three-of-four feels close and is still a lot of numbers. There is no yellow in Don’t Peek, and adding one would make it a different, easier game.
Are repeated digits allowed in a code?
Yes. Any four digits from 0-9 make a legal code: 4344, 0000 and 9999 are all fine, and there is no "digits must be unique" rule. Repeats compare position by position, so a secret of 4344 against a guess of 4444 locks the first, third and fourth slots. Guessing 4444 is also a classic way to learn a position fast - and a classic way to get cocky.
Is Don’t Peek free?
Your first three matches are free, including CPU matches, with no time limit and no ads while you play them. After that, a single one-time purchase unlocks the full game forever - unlimited pass-and-play and CPU matches, the Daily code with its shareable grid, and Online 1v1 over Game Center. It is a buy-once unlock, not a subscription: nothing renews and there is nothing to cancel.
Can I play alone?
Yes, two ways. CPU mode is the same duel against the phone - you set a code for it to hunt, and it plays fair: the computer opponent deduces only from its own guess history and never reads your secret, so beating it feels earned. The Daily gives everyone in the world the same code each UTC day; crack it solo and share a spoiler-free grid of your locks - lime and black squares, never the digits.
How does the handoff cover stop cheating?
Between every private moment - after a code is set, after a guess is made - the app shows a full-screen cover naming who should hold the phone next. It opens only on a deliberate 0.6-second long-press, the next screen is composed underneath it so nothing flashes early, and if you switch apps mid-pass you come back to the cover, not the game. Even a screenshot taken on the cover is just the cover.
Can we play on two phones?
Yes. Online 1v1 runs over Apple’s Game Center turn-based matches: invite a friend or use auto-match, each of you sets a code on your own phone, and turns are delivered by Game Center - no covers needed, because you never hold the other player’s screen. Sign-in only happens if you open the Online screen; pass-and-play never prompts for Game Center at all. Online is part of the one-time full-game unlock.
What is Blitz mode?
Blitz is an opt-in timer for people who want blood: every guess gets ten seconds, a slim bar drains under the turn line, and running out simply forfeits the turn - nothing is recorded and the cover slams for the next player. It is off by default, the standard game stays untimed, and the setting freezes into a match when it starts, so nobody can toggle it mid-fight. Blitz applies to pass-and-play and CPU matches; the Daily is never timed.
What happens if the app is closed mid-match?
The match saves itself after every submitted code, guess and handoff, so force-quitting or a dead battery loses nothing. Reopening resumes exactly where you were - and always on a safe screen. If the interruption happened somewhere private, you come back to the cover, never to a screen that would show the other player’s code or a half-typed guess.
Does Don’t Peek collect any data?
Almost none, because there is nowhere to send it - we do not operate a server. Pass-and-play and CPU matches (names, codes, guess history) are stored only on the device. The Daily code is computed on your phone from the date. Online matches travel through Apple’s Game Center under Apple’s privacy policy, and the one-time purchase is processed by Apple’s StoreKit. There are no ads, no analytics SDKs and no tracking of any kind.
Is it accessible?
Yes, by design. A lock is a fill plus a corner tick, never color alone, so the feedback survives any kind of color vision. VoiceOver reads meaningful state - "slot 3 locked, 8" - rather than a color name. The hold-to-open cover is a long-press, not a tiny button, and Reduce Motion skips the cover animation while keeping the cover itself. Type on the tiles and numpad is large on purpose.