Step 1
Build one unambiguous participant record per person
Collect the final participants before drawing and give each person a unique display label. Two people may share a first name, and nicknames can change, so keep a separate contact record that lets the organizer deliver the right assignment. Do not create duplicate rows to express preferences or additional chances; every participant must appear exactly once as a giver and once as a recipient.
Confirm opt-in, spending limit, exchange date, delivery expectations, and whether the organizer may see all assignments. These are social and privacy rules outside the matching algorithm, but they determine whether the result can be used safely.
Step 2
Translate real relationships into explicit exclusions
Self-assignment should always be prohibited. Add household, partner, manager-report, prior-year, or other avoid-together rules only when the group has agreed they matter. An exclusion is directional unless the interface clearly adds both directions, so verify whether blocking Alex from drawing Blair also blocks Blair from drawing Alex.
Reciprocal pairs are a separate rule: even when Alex may draw Blair and Blair may draw Alex individually, the group may want to prevent that two-person exchange. Express it explicitly rather than assuming household exclusions or a shuffle will happen to avoid it.
Check before continuing
- Every participant has one unique label.
- Self-assignment is prohibited.
- Directional exclusions are entered in the intended direction.
- Household and reciprocal-pair policies are reviewed separately.
Step 3
Check whether all constraints can be satisfied together
A set of reasonable-looking exclusions can make the whole assignment impossible. This often happens in small groups, when one person may give to almost nobody, or when several household blocks overlap. Validation should report failure rather than silently dropping a constraint, assigning the same recipient twice, or allowing a self-match.
When no valid assignment exists, inspect the most constrained participants and revise the social rule openly. Options include recruiting another participant, removing a nonessential prior-year restriction, or handling household gifts outside the exchange. Document the approved change, then validate again before generating the official draw.
Step 4
Generate the official assignment once after a dry run
Test the workflow with placeholder names to learn validation, export, and reveal controls without creating a real secret. For the official draw, recheck the participant count and every exclusion, identify the organizer, then generate one complete assignment. Repeated valid reruns let the operator shop for preferred pairs and undermine the agreed process.
If the tool shows all matches to the organizer, say so before collecting consent. A local browser tool reduces unnecessary transmission, but anyone with access to that browser profile, its backups, or an exported assignment file may still see the mapping.
Run it in this order
- Freeze the opted-in participant list.
- Review exclusions and validate feasibility.
- Generate one complete official assignment.
- Secure the result before revealing any individual match.
Step 5
Deliver one assignment at a time through a private channel
Give each participant only the recipient they need, plus the budget and deadline. Do not post the full assignment table in a group chat, project it during a meeting, or send a single unprotected file to everyone. Confirm the recipient identity before revealing a match when duplicate or similar names exist.
Avoid placing the mapping in a URL, analytics event, screenshot album, or publicly synced clipboard. If email or messaging is used, consider account access and message retention. The organizer's convenience does not remove the need to minimize who can see the complete graph.
Step 6
Define what happens when someone leaves after the draw
Before generating assignments, decide whether a withdrawal triggers a complete rerun or a private repair coordinated by the organizer. A full rerun invalidates every previous message and requires everyone to receive a replacement. A repair can preserve more assignments but may reveal relationships or break a constraint unless checked carefully.
Keep the authoritative result only until the exchange and disputes are resolved, then delete local workspace data and exported mappings according to the group's agreement. If a rerun is necessary, clearly label the old assignment invalid and confirm that every participant received the new one.
Use the right surface
Tools mentioned in this guide
Common questions
Questions about secret santa exclusions
Are Secret Santa exclusions one-way or two-way?
Treat them as directional unless the tool explicitly creates both directions. Review Alex-to-Blair and Blair-to-Alex separately, and configure reciprocal-pair prevention as its own rule when needed.
What if no valid Secret Santa assignment exists?
Stop and revise the constraints openly. Add a participant or remove a nonessential exclusion with organizer approval; never silently ignore a rule or allow duplicate recipients.
Can two people draw each other?
They can unless reciprocal pairs are prohibited. Enable or express that restriction explicitly, then validate that a complete assignment still exists.
Should I rerun because I dislike a valid pairing?
No. Repeated reruns allow outcome shopping. Rerun only under the policy agreed before the draw, such as an actual participant withdrawal or a discovered input error.
How should assignments be shared?
Reveal one recipient privately to each giver through an appropriate channel. Protect and later delete any complete mapping held by the organizer.