ITU
{{ st.n }}
{{ st.label }}
{{ phaseName }}{{ timerText }}
{{ userLabel }}
{{ bannerText }} {{ timerText }}
ITU · BDT · Emergency Telecommunications Capacity Building

NETP Readiness Tabletop Exercise

A facilitated, scenario-based simulation where five sector teams invest scarce budget and people to build national emergency telecommunications capabilities, weather multi-hazard crises, and coordinate across government, operators and communities — turning NETP strategy into hands-on decisions.

6
Capability domains
47+
Capability cards
5
Nations at the table
8
Rounds of play
What to expect
A serious game with real strategic stakes
Each team leads a nation with a limited budget and a small expert workforce. Together you decide where to invest first, how to sequence dependent capabilities, and how to respond when cyber crises strike the region — all under a live clock and guided by expert facilitators.
🎯

Lead a nation

Manage a national budget and workforce. Every decision is a trade-off between cost, effort and long-term resilience.

🧩

Build a capability tree

Play capability cards that unlock one another. Foundational investments open advanced options in later rounds.

Face live injects

Ransomware, supply-chain compromise and disinformation hit each round. Preparation decides how hard they land.

🤝

Cooperate across borders

Trade specialists, sign agreements and coordinate with neighbours — international ties reduce shared risk.

How it works
From briefing to debrief
The exercise runs in short, timed rounds. Facilitators keep the tempo, drop crises into the story and lead the reflection that turns each decision into a lesson.
1

Get your mandate

Receive your nation's profile, objectives, starting budget and workforce at your captain's table.

2

Plan your round

Choose which capability cards to build this turn, weighing prerequisites, cost and people against the threats ahead.

3

Weather the injects

Crises resolve based on the capabilities you built. Being ready turns a disaster into a manageable incident.

4

Debrief & learn

Break to compare strategies, then close with a facilitated debrief connecting play back to real national policy.

The six domains
Balanced cyber capacity, the way maturity models measure it
Capabilities span the domains used by international cybersecurity capacity assessments. A resilient nation invests across all six rather than over-indexing on one.
Strategy & governance
Plans, authorities and national direction
Laws & regulation
Legal frameworks and standards
Technical & operations
CSIRTs, detection and response
People & skills
Awareness, education and workforce
Ecosystem & partners
Public-private and market growth
International ties
Cooperation, norms and diplomacy
International Telecommunication Union · Cyber Resilience Tabletop Exercise Sign in above with the credentials from your organiser.
Session terminated
The facilitator has ended this exercise. Your table is now closed.
Please await further instructions from the exercise team.
{{ teamTag }}
Welcome, captain of {{ teamName }}
The exercise hasn't started yet.
Your table will appear as soon as the lead facilitator starts Round 1.
● Waiting for admin…
{{ teamTag }}
You are {{ teamName }}
Your mission: {{ goalText }}
Budget
{{ budgetText }}
{{ nextInjText }}
Your team
{{ hrText }}
People don't refill each round — assign them wisely
{{ teamNavLabel }} Tap a team to sit at their table — budgets stay secret in the real game
!
{{ eventTitle }}
{{ eventDesc }}
Build your team's capabilities
Cards with a colored ring are ready to build now. Building one opens the next steps in that track from the following round.
Ready to build Built Not yet open
{{ lane.label }} {{ lane.countText }}
{{ lane.hiddenText }}
Master Dashboard
{{ facNote }}
Break Debrief min
This exercise
Every play is recorded with its location so groups can be compared later.
City
Country
Today: {{ todayText }} · currently in round {{ roundNum }}
Enter both the host city and country before starting a new exercise.
Specialist transfer
Move a professional between teams. Sell at the market fee, or donate as a goodwill inject from the donor team.
Donor team (gives 1 person)
Recipient team (gains 1 person)
Negotiated fee — thousands of $ (default 100)
× $1,000 — set whatever the two captains agreed at the table
Team trade offers
Captains negotiate at the table, then send offers here. Instant sell/donate above is for facilitator injects only. Accepted trades cannot be undone.
{{ facTradeUnlockMsg }}
Proposer team
People
Budget ($ thousands)
Price ($ thousands)
Pending offers
{{ fo.title }}
{{ fo.detail }}
Pending
No pending trade offers.
Neighbour aid inbox
Captains ask for or offer help from Play. Fulfill requests with a grant, or accept offers to move resources between teams.
{{ a.title }}
{{ a.detail }}
{{ a.kindLabel }}
No pending aid requests or offers.
Inject calendar
{{ i.code }} Round {{ i.turn }}
{{ i.title }}
{{ i.note }}
{{ i.status }}
{{ f }}
{{ t.tag }}
{{ t.country }}{{ t.presenceLabel }}
{{ t.goal }}
{{ t.status }}
Budget
{{ t.budget }}
People
{{ t.hr }}
Built
{{ t.cards }}
Budget
People
Inject
{{ t.injectPreviewPct }}% · {{ t.injectPreviewDetail }} · queued Round {{ t.injectQueuedRound }} · already applied
{{ t.injectPreviewMoney }} · {{ t.injectPreviewPeople }}
Debrief pack — turn rationales
Captain rationales are archived when you advance the round. Use this during break, debrief, and at exercise end.
{{ d.tag }} {{ d.name }} {{ d.builtSummary }}
This round (draft)
{{ d.currentText }}
Round {{ e.round }}{{ e.builtNote }}
{{ e.text }}
No rationale recorded yet.
No rationales yet — they appear here once captains write them and when rounds advance.
No scenario selected for this session
The exercise can't start until a scenario is chosen. Open the Scenarios tab, pick Use this scenario, then return to Session to start.
Waiting for the admin to select a scenario and start the exercise. This screen will be ready once they do.
{{ teamTag }}
{{ teamName }}
{{ goalText }}
Budget
{{ budgetText }}
Team
{{ hrText }}
Progress
{{ builtCount }}
Capital
{{ profCapital }}
Population
{{ profPop }}
Team brief
General profile

{{ profGeneral }}

Cyber threat landscape

{{ profThreat }}

Cybersecurity maturity

{{ profMaturity }}

Starting position (pre-played)
At the start of the exercise your team already has {{ profStart }}.
Your objectives
What {{ teamName }} is expected to achieve by the end of the exercise — the debrief measures you against these.
{{ o.n }} {{ o.text }}
Your capabilities
Everything your team has built so far, by track.
{{ g.label }} {{ g.count }}
{{ it.name }}
{{ it.effect }}
Nothing built yet — head to the Play tab.
{{ scenarioImageAlt }}
{{ scenarioImageTypeLabel }} {{ scenarioImageName }} {{ mapCaption }}

{{ regionDesc }}

{{ regionNationTitle }}
{{ n.tag }}
{{ n.name }} {{ n.me }}
{{ n.goal }}
Other Actors
{{ o.abbr }}
{{ o.name }}
{{ o.desc }}
Exercise profiles
Scenario context and team briefings from the active scenario — for facilitators and admin.
Team profiles
Other Actors
{{ o.abbr }}
{{ o.name }}
{{ o.desc }}
{{ scenarioImageAlt }}
{{ scenarioImageTypeLabel }} {{ scenarioImageName }} {{ mapCaption }}

{{ regionDesc }}

Other Actors
{{ o.abbr }}
{{ o.name }}
{{ o.desc }}
Available amount
{{ budgetText }}
{{ nextInjText }}
Resources
{{ hrText }}
People carry over between rounds
Capabilities ({{ capTotal }} cards)
Built {{ capBuilt }}Ready {{ capReady }}In plan {{ capPlan }}Locked {{ capLocked }}
Where you stand, by track
A count of your capabilities in each of the six tracks.
TrackBuiltReadyIn planLockedTotal
{{ r.label }}{{ r.built }}{{ r.ready }}{{ r.plan }}{{ r.locked }}{{ r.total }}
All tracks{{ capBuilt }}{{ capReady }}{{ capPlan }}{{ capLocked }}{{ capTotal }}
Your cards — have, can play & planned
Tap a card name for details. Add any ready card straight to this turn's plan.
CardTrackCostStaffStatusAction
{{ c.track }}{{ c.cost }}{{ c.staff }}{{ c.statusLabel }}
No cards in this view.
Standings — all teams
{{ facNote }}
TeamAvailable $PeopleBuiltReadyIn planLockedThis turn
{{ r.tag }}{{ r.name }}{{ r.presenceLabel }}{{ r.budget }}{{ r.hr }}{{ r.built }}{{ r.ready }}{{ r.plan }}{{ r.locked }}{{ r.status }}
Total{{ facTotBudget }}{{ facTotHr }}{{ facTotBuilt }}{{ facTotReady }}{{ facTotPlan }}{{ facTotLocked }}
Built = capabilities in place · Ready = prerequisites met, can be built now · In plan = staged for this round · Locked = prerequisites not yet built. Out of 47 cards per team. Click Open to sit at any team's table.
Administration & statistics
No scenario selected for this session
Open the Scenarios tab, pick Use this scenario, then return here to start the exercise.
Active scenario: {{ scenarioLabel }}
This scenario will be used when you start the exercise.
Exercise profiles
Scenario framing and per-team briefing material for facilitators.
User accounts
Accounts start without passwords. Only admin (default: ttx-admin) can sign in and generate them — then share each one manually. New facilitators start with workshop floors (activate injects, session control, advance/restart, break/debrief, resources). Toggle Library, cards, passwords, Play captains, and the rest only when needed.
{{ c.username }}{{ c.presenceLabel }} {{ c.password }} {{ c.role }}
Admin password & recovery
Change your admin password (hashed on the server when available). Set a recovery email for “Forgot password?” on the login screen. SMTP env vars optional — without them the reset link is printed once in the server console.
{{ adminPwMsg }}
{{ recoveryMsg }}
SMTP: SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, MAIL_FROM, PUBLIC_URL
Debrief pack — turn rationales
Archived captain rationales for the current exercise (same pack as on Session).
{{ d.tag }} {{ d.name }} {{ d.builtSummary }}
This round (draft)
{{ d.currentText }}
Round {{ e.round }}{{ e.builtNote }}
{{ e.text }}
No rationale recorded yet.
No rationales yet for this exercise.
Past plays
Compare how different groups performed on the same scenario. Bars show estimated objective % achieved per team. Open a row for cards and steps played.
{{ p.meta }}
{{ b.name }}
{{ b.val }}
No plays recorded yet. Exercises that finish past round 1, or that you restart / terminate after round 1, appear here for comparison.
Loading scenarios…
{{ libCountLabel }}
In use
{{ s.badgeLabel }} Updated {{ s.updated }}
{{ s.name }}
{{ s.region }}
{{ s.rounds }}
Rounds
{{ s.nations }}
Teams
{{ s.cards }}
Start cards
{{ libEd.badgeLabel }}
{{ libEd.title }}
Scenario basics
Scenario image
One visual for Profiles / Region / Scenario Overview. Choose what it shows — works for multi-country workshops (geography) and national-level workshops (entities/roles as teams). Uploads need the server.
{{ libEd.scenarioImageTypeHelp }}
{{ libEd.scenarioImageNameHelp }}
Scenario image preview
Rounds & timing
{{ libEd.rounds }}
No fixed cap — set as many rounds as the scenario needs (1–40).
Schedule — breaks & debriefs
Toggle a break or debrief to run after each round.
RoundBreak afterDebrief after
Round {{ r.n }}
Teams
No teams yet — add the first one.
{{ n.tag }} {{ n.name }} {{ n.summary }}
Team details — {{ libEd.sel.name }}
Starting deck · pre-game
{{ libEd.sel.deckCount }} selected
Cards each team already holds when Round 1 begins. Missing prerequisites are flagged in Checks.
{{ c.code }}×
{{ g.label }}
Card prerequisites — this scenario
Override which cards must be built first, for this scenario only. Starts from the game-wide rules; changes here are saved with the scenario and don't affect other scenarios. {{ libEd.cardRulesLabel }}.
{{ g.label }}
{{ c.code }} {{ c.name }} {{ c.depCount }} req
{{ libEd.scenSel.code }}{{ libEd.scenSel.tier }}
{{ libEd.scenSel.name }}
Prerequisites
{{ p.code }}×
No prerequisites — buildable from the start in this scenario.
Add a prerequisite
Required by
{{ libEd.scenSel.dependentsText }}
Select a card to view and override its prerequisites for this scenario.
Scheduled injects
Pick an inject from the library and assign which round and team it applies to.
No scheduled injects yet.
{{ r.code }}{{ r.title }}Legacy inline
Flexible injects
No flexible injects configured.
Checks
{{ c.text }}
{{ libEd.saveHint }}
{{ libToast }}×
Injects
Injects Library
{{ injectMgr.countLabel }}
{{ injectMgr.serverNote }}
{{ injectMgr.form.title }}
Prepared if team has any of these cards
Leave empty to use scenario capability cards instead.
None selected — uses scenario capability cards.
Add / Create new inject
Define a new scheduled or flexible inject for the library — code, title, effects, and optional prepared / unprepared variants with required cards. Opens the same editor used for Edit.
{{ r.code }} {{ r.kindLabel }} {{ r.typeLabel }}
{{ r.title }}
{{ r.calNote }}
No injects match your search.
{{ injectMgr.toast }}
Game-wide · affects all scenarios
Card dependencies
{{ cardMgr.deps.overrideLabel }}. Editing a card's prerequisites changes it for every scenario.
Card pool
{{ g.label }}
{{ c.code }} {{ c.name }} {{ c.depCount }} req
{{ cardMgr.deps.sel.code }}{{ cardMgr.deps.sel.tier }}
{{ cardMgr.deps.sel.name }}
Prerequisites
{{ p.code }}×
No prerequisites — this card is buildable from the start.
Add a prerequisite
Required by
{{ cardMgr.deps.sel.dependentsText }}
Select a card to view and edit its prerequisites.
Deck · shared across scenarios
Cards
{{ cardMgr.countLabel }}
{{ cardMgr.serverNote }}
{{ cardMgr.form.title }}
Card details
Code
Group
Name
Tier
Cost (− spend / + gain)
Effort 👤
Description / effect
Assignment (optional)
Card art
Card preview
{{ cardMgr.form.imgName }}
{{ cardMgr.form.imgHint }}
Prerequisites — cards required before this one
None selected — this card is buildable from the start.
{{ cardMgr.form.depCount }} selected
{{ c.code }} {{ c.name }}
Impacts — other cards that should require this one
None selected — playing this card unlocks nothing new. That's fine.
{{ cardMgr.form.impactCount }} selected — these will list this card as a prerequisite.
{{ c.code }} {{ c.name }}
For captains:
For facilitators:
{{ sec.label }}
{{ c.code }}{{ c.typeLabel }}{{ c.tier }}
{{ c.name }}
Cost {{ c.cost }} · Effort {{ c.effort }}
Needs: {{ c.depsText }}

Unlocks: {{ c.impactsText }}
No cards match your search.
Card
{{ cardMgr.zoom.code }}{{ cardMgr.zoom.theme }}{{ cardMgr.zoom.tier }} · {{ cardMgr.zoom.typeLabel }}
{{ cardMgr.zoom.name }}
Money
{{ cardMgr.zoom.cost }}
People
{{ cardMgr.zoom.effort }}
Description
{{ cardMgr.zoom.effect }}
Prerequisites
{{ d.code }} — {{ d.name }}
Unlocks (cards that require this)
{{ d.code }} — {{ d.name }}
Team's task if built
{{ cardMgr.zoom.assignment }}
{{ cardMgr.toast }}×
{{ modalLane }}
{{ modalCode }}
{{ modalCardImg }}
How to read this card
NameThe capability the card builds.
IDUnique card identifier.
Effort 👤Workforce commitment or gain.
CostNegative = you spend. Positive = you gain.
DescriptionWhat the capability does in play and in debrief.
Money
{{ modalCost }}
People
{{ modalHr }}
You need first
{{ d.mark }} {{ d.name }}
Your team's task if you build this
{{ modalAssignment }}
{{ modalBlockedText }}
📍
Before you start
Please enter the host City and Country for this exercise before starting. These identify the saved play in Administration & statistics.
Exercise complete
All configured rounds are done — captains cannot plan or play further. Gather for the group debrief, or staff can add another turn to continue past the scenario length.
{{ playDetail.title }}
{{ playDetail.meta }}
Scenario: {{ playDetail.scenarioName }}
Injects fired
{{ playDetail.injectsText }}
{{ tm.name }} {{ tm.pctLabel }} · {{ tm.builtLabel }}
Cards built / played
{{ tm.cardsText }}
Objectives
  • {{ o.text }}
Round steps (rationales)
Round {{ s.round }}
Built: {{ s.builtText }}
{{ s.text }}
!
Irreversible transfer
This trade cannot be undone. Mistakes are not recoverable.
{{ tradeConfirmText }}
{{ toast }}×