Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Backup Signing & Infrastructure | SEAL"
description: "Use backup interfaces when Safe or Squads are compromised. Eternal Safe for EVM, Squads Public Client for Solana, alternative RPCs, and block explorers like Blockscout for emergency signing."
description: "Use backup interfaces when Safe or Squads are compromised. Eternal Safe for EVM, Squads Public Client for Solana, alternative RPCs"
tags:
- Engineer/Developer
- Security Specialist
Expand All @@ -10,6 +10,8 @@ contributors:
users: [isaac, geoffrey, louis, pablo, dickson]
- role: reviewed
users: [pinalikefruit, engn33r]
- role: fact-checked
users: []
---

import { TagList, AttributionList, ContributeFooter } from "../../../components"
Expand All @@ -19,6 +21,9 @@ import { TagList, AttributionList, ContributeFooter } from "../../../components"
<TagList tags={frontmatter.tags} />
<AttributionList contributors={frontmatter.contributors} />

> 🔑 **Key Takeaway**: Practice alternate Safe/Squads clients before the primary UI fails; backup
> infrastructure is useless if first used during an incident.

If the default interfaces for either Safe or Squads are down or suspected of being compromised, these alternatives
enable continued critical signing operations. As a signer, you should familiarize yourself with these tools and practice
signing transactions with your team.
Expand Down Expand Up @@ -198,7 +203,7 @@ When using backup systems:
- **Emergency operations only**: For critical emergency responses, proceed with enhanced verification
- **Communication**: Keep team informed about system status and verification procedures

## Testing and Preparation
### Testing and Preparation

### Regular Practice

Expand All @@ -212,7 +217,7 @@ When using backup systems:
- **Communication testing**: Verify backup communication channels work with backup UIs
- **Time measurement**: Track how long backup system activation takes

## Troubleshooting
### Troubleshooting

### Common Issues

Expand All @@ -226,11 +231,14 @@ When using backup systems:
- **Team assistance**: Coordinate with other signers for problem-solving
- **Alternative tools**: Have multiple backup options available

## Related Documents
## Further Reading

- [Multisig for Protocols overview](/multisig-for-protocols/overview): how the pages of this framework fit together
- [Emergency Procedures](/multisig-for-protocols/emergency-procedures): general emergency response
- [Communication Setup](/multisig-for-protocols/communication-setup): backup communication during outages
- [Safe Multisig Verification](/wallet-security/signing-and-verification/secure-multisig-safe-verification):
verification procedures on the backup path

- [Safe Multisig: Step-by-Step
Verification](/wallet-security/signing-and-verification/secure-multisig-safe-verification) - Verification procedures
- [Emergency Procedures](/multisig-for-protocols/emergency-procedures) - General emergency response
- [Communication Setup](/multisig-for-protocols/communication-setup) - Backup communication during outages
---

<ContributeFooter />
20 changes: 18 additions & 2 deletions docs/pages/multisig-for-protocols/communication-setup.mdx
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
---
title: "Multisig Communication Setup | SEAL"
description: "Configure secure multisig communication channels: Signal with end-to-end encryption as primary, backup channels on Telegram or Discord, and paging systems for 24/7 emergency response."
description: "Configure secure multisig communication channels: Signal with end-to-end encryption as primary, backup channels on Telegram or Discord"
tags:
- Engineer/Developer
- Security Specialist
- Multisig Security
contributors:
- role: wrote
users: [isaac, geoffrey, louis, pablo, dickson]

- role: reviewed
users: [pinalikefruit, engn33r]
- role: fact-checked
users: []
---

import { TagList, AttributionList, ContributeFooter } from '../../../components'
Expand All @@ -20,6 +21,12 @@ import { TagList, AttributionList, ContributeFooter } from '../../../components'
<TagList tags={frontmatter.tags} />
<AttributionList contributors={frontmatter.contributors} />

> 🔑 **Key Takeaway**: Give every multisig a dedicated E2EE primary channel, a backup on a different platform,
> and paging for critical response windows.

Establish secure primary and backup channels before the first real signing ceremony so
emergencies are not the first time the team coordinates.

## Primary channel

Set up a dedicated communication channel for multisig operations:
Expand All @@ -46,4 +53,13 @@ For multisigs requiring rapid response:
- Link to emergency runbooks in notification message
- Test quarterly to ensure reliability

## Further Reading

- [Multisig for Protocols overview](/multisig-for-protocols/overview): how the pages of this framework fit together
- [Emergency Procedures](/multisig-for-protocols/emergency-procedures): when these backup channels get used
- [Incident Reporting](/multisig-for-protocols/incident-reporting): where reports are sent once contact is made
- [Encrypted Communication Tools](/privacy/encrypted-communication-tools): choosing platforms for signer coordination

---

<ContributeFooter />
27 changes: 16 additions & 11 deletions docs/pages/multisig-for-protocols/emergency-procedures.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Multisig Emergency Procedures | SEAL"
description: "Handle multisig key compromise, lost access, and communication breaches. 30-minute immediate action checklist, identity verification processes, key recovery, and emergency notification templates."
description: "Handle multisig key compromise, lost access, and communication breaches. 30-minute immediate action checklist, identity verification processes, key recovery"
tags:
- Engineer/Developer
- Security Specialist
Expand All @@ -10,6 +10,8 @@ contributors:
users: [isaac, geoffrey, louis, pablo, dickson]
- role: reviewed
users: [pinalikefruit, engn33r]
- role: fact-checked
users: []
---

import { TagList, AttributionList, ContributeFooter } from '../../../components'
Expand All @@ -19,6 +21,9 @@ import { TagList, AttributionList, ContributeFooter } from '../../../components'
<TagList tags={frontmatter.tags} />
<AttributionList contributors={frontmatter.contributors} />

> 🔑 **Key Takeaway**: Pre-agree compromise, lost-key, and channel-breach steps so the team can rotate or
> freeze without improvising under pressure.

When security incidents occur, quick and decisive action is critical. This page covers procedures for key compromise,
lost access, and communication breaches.

Expand Down Expand Up @@ -176,15 +181,15 @@ Use the full [Emergency Pause Runbook](/multisig-for-protocols/runbooks/emergenc
playbook for emergency pause transactions. Keep this page focused on incident coordination, communication, and recovery,
and use the runbook page for the transaction-specific signing and execution steps.

### Emergency Drill Procedures
## Emergency Drill Procedures

#### Regular Testing Schedule
### Regular Testing Schedule

- **Quarterly**: Communication system tests
- **Bi-annually**: Emergency paging system tests
- **Annually**: Full emergency simulation with all signers

#### Drill Components
### Drill Components

1. **Notification test** - Verify all signers receive alerts
2. **Response time measurement** - Track time to threshold signatures
Expand Down Expand Up @@ -226,13 +231,13 @@ and use the runbook page for the transaction-specific signing and execution step
- **Technical team**: [Emergency technical contact]
- **Legal/compliance**: [If regulatory notification required]

## Related Documents
## Further Reading

- [Incident Reporting](/multisig-for-protocols/incident-reporting): formal incident reporting procedures
- [Communication Setup](/multisig-for-protocols/communication-setup): backup communication channels
- [Seed Phrase Management](/wallet-security/seed-phrase-management): key recovery procedures
- [Operational Runbooks](/multisig-for-protocols/runbooks/overview): step-by-step procedures for pause and rotation

- [Incident Reporting](/multisig-for-protocols/incident-reporting) - Formal incident reporting procedures
- [Communication Setup](/multisig-for-protocols/communication-setup) - Backup communication channels
- [Hardware Wallet Setup](/wallet-security/intermediates-and-medium-funds) - Device replacement procedures
- [Seed Phrase Management](/wallet-security/seed-phrase-management) - Key recovery procedures
- [Personal Security (OpSec)](/multisig-for-protocols/personal-security-opsec) - Account security measures
- [Operational Runbooks](/multisig-for-protocols/runbooks/overview) - Example runbooks for common operations
---

<ContributeFooter />
20 changes: 16 additions & 4 deletions docs/pages/multisig-for-protocols/implementation-checklist.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Multisig Implementation Checklist | SEAL"
description: "Verify multisig readiness: administrator planning, signer hardware setup, transaction verification skills, emergency preparedness, personal security (OpSec), and role-specific training requirements."
description: "Verify multisig readiness: administrator planning, signer hardware setup, transaction verification skills, emergency preparedness, personal security (OpSec)"
tags:
- Engineer/Developer
- Security Specialist
Expand All @@ -10,6 +10,8 @@ contributors:
users: [isaac, geoffrey, louis, pablo, dickson]
- role: reviewed
users: [pinalikefruit, engn33r]
- role: fact-checked
users: []
---

import { TagList, AttributionList, ContributeFooter, Checklist } from '../../../components'
Expand All @@ -19,6 +21,9 @@ import { TagList, AttributionList, ContributeFooter, Checklist } from '../../../
<TagList tags={frontmatter.tags} />
<AttributionList contributors={frontmatter.contributors} />

> 🔑 **Key Takeaway**: Do not go live until admins and every signer can complete the role checklist: plan,
> hardware, verification skills, emergency drills, and OpSec baseline.

This checklist ensures all multisig participants have the knowledge and skills necessary for secure operations. Complete
all applicable sections before beginning multisig operations.

Expand Down Expand Up @@ -267,9 +272,16 @@ Additional training required after:
- New tool adoption
- Role changes or additional responsibilities

## Related Documents
## Further Reading

All pages in this framework double as training material. Refer to individual pages for procedures specific to your role.

All documents in this framework serve as training materials. Refer to individual documents for detailed procedures and
requirements specific to your role.
- [Multisig for Protocols overview](/multisig-for-protocols/overview): how the pages of this framework fit together
- [Key Takeaways](/multisig-for-protocols/key-takeaways): the condensed version to train against
- [Operational Runbooks](/multisig-for-protocols/runbooks/overview): the procedures signers should rehearse
- [Secure Multisig Best Practices](/wallet-security/secure-multisig-best-practices): the design rules behind this
checklist

---

<ContributeFooter />
20 changes: 19 additions & 1 deletion docs/pages/multisig-for-protocols/incident-reporting.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Multisig Incident Reporting | SEAL"
description: "Report multisig security incidents: key compromise, account takeovers, device theft, and phishing attempts. Templates for urgent security incidents and standard operational issue reports."
description: "Report multisig security incidents: key compromise, account takeovers, device theft, and phishing attempts. Templates for urgent security incidents and standard"
tags:
- Engineer/Developer
- Security Specialist
Expand All @@ -10,6 +10,8 @@ contributors:
users: [isaac, geoffrey, louis, pablo, dickson]
- role: reviewed
users: [pinalikefruit, engn33r]
- role: fact-checked
users: []
---

import { TagList, AttributionList, ContributeFooter } from '../../../components'
Expand All @@ -19,6 +21,12 @@ import { TagList, AttributionList, ContributeFooter } from '../../../components'
<TagList tags={frontmatter.tags} />
<AttributionList contributors={frontmatter.contributors} />

> 🔑 **Key Takeaway**: Report suspected key compromise and account takeovers immediately; operational tooling
> failures within 24 hours and with enough detail to act.

Fast, accurate reporting is how a compromised key becomes a rotation instead of a drain.
Use the definitions and templates below.

## What to Report

### Security incidents (report immediately)
Expand Down Expand Up @@ -131,4 +139,14 @@ Additional notes:
[Any other relevant information]
```

## Further Reading

- [Multisig for Protocols overview](/multisig-for-protocols/overview): how the pages of this framework fit together
- [Emergency Procedures](/multisig-for-protocols/emergency-procedures): containment steps that precede a report
- [Incident Management overview](/incident-management/overview): the wider response process
- [SEAL 911 War Room Guidelines](/incident-management/playbooks/seal-911-war-room-guidelines): reaching outside help
quickly

---

<ContributeFooter />
21 changes: 20 additions & 1 deletion docs/pages/multisig-for-protocols/joining-a-multisig.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Joining a Multisig | Security Alliance"
description: "Join a multisig securely: create fresh hardware wallet addresses, sign proof of ownership messages via MyCrypto, and verify Ethereum signatures using Etherscan or MyCrypto verification tools."
description: "Join a multisig securely: create fresh hardware wallet addresses, sign proof of ownership messages via MyCrypto. Join with a dedicated hardware-wallet"
tags:
- Engineer/Developer
- Security Specialist
Expand All @@ -10,6 +10,8 @@ contributors:
users: [isaac, geoffrey, louis, pablo, dickson]
- role: reviewed
users: [pinalikefruit, engn33r, ElliotFriedman]
- role: fact-checked
users: []
---

import { TagList, AttributionList, ContributeFooter } from '../../../components'
Expand All @@ -19,6 +21,12 @@ import { TagList, AttributionList, ContributeFooter } from '../../../components'
<TagList tags={frontmatter.tags} />
<AttributionList contributors={frontmatter.contributors} />

> 🔑 **Key Takeaway**: Join with a dedicated hardware-wallet address per multisig and prove ownership before
> you are relied on to sign.

Complete dedicated-key setup and address ownership proof before accepting signer
responsibility on a protocol multisig.

## Use a Dedicated Key for Each Multisig

Always create a fresh address on a hardware wallet for each new multisig you join. Use a different address index on
Expand Down Expand Up @@ -80,4 +88,15 @@ Note: Enter plain text message (not the hex version MyEtherWallet will give!) an
Note that "msg" is hex text starting with 0x (add 0x before the hex encoded string if necessary). 4. See whether the
signature provided is valid.

## Further Reading

- [Multisig for Protocols overview](/multisig-for-protocols/overview): how the pages of this framework fit together
- [Registration & Documentation](/multisig-for-protocols/registration-and-documentation): the record your signer entry
creates
- [Personal Security (OpSec)](/multisig-for-protocols/personal-security-opsec): the posture expected of every signer
- [Signing & Verification](/wallet-security/signing-and-verification/signing-verification): what you commit to checking
before each signature

---

<ContributeFooter />
21 changes: 14 additions & 7 deletions docs/pages/multisig-for-protocols/key-takeaways.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,20 @@ contributors:
users: [isaac]
- role: reviewed
users: [ElliotFriedman]
- role: fact-checked
users: []
---

import { TagList, AttributionList, TagProvider, TagFilter, ContributeFooter } from '../../../components'

<TagProvider>
<TagFilter />
import { TagList, AttributionList, ContributeFooter } from '../../../components'

# Key Takeaways

<TagList tags={frontmatter.tags} />
<AttributionList contributors={frontmatter.contributors} />

> 🔑 **Key Takeaway**: If you only read one multisig page, read this one: timelocks, function separation,
> dedicated keys, calldata verification, and monitored queues beat unenforced policy.

If you read one page from the Multisig Security Framework, make it this one. These are the principles that matter most.

The principles below are universal, but many of the examples and tooling references are EVM/Safe-centric. Other
Expand Down Expand Up @@ -115,9 +117,14 @@ Client) in case primary UIs go down. Run regular emergency drills to verify that
that communication channels work. See the
[Implementation Checklist](/multisig-for-protocols/implementation-checklist).

---
## Further Reading

For the full framework, see the [Multisig Security Framework Overview](/multisig-for-protocols/overview).
- [Multisig for Protocols overview](/multisig-for-protocols/overview): how the pages of this framework fit together
- [Implementation Checklist](/multisig-for-protocols/implementation-checklist): turning these takeaways into tracked
work
- [Operational Runbooks](/multisig-for-protocols/runbooks/overview): the procedures behind the takeaways
- [Secure Multisig Best Practices](/wallet-security/secure-multisig-best-practices): the detailed design rules

---

</TagProvider>
<ContributeFooter />
Loading
Loading