guardian/coverdrop
Temporal Dependencies A temporal dependency occurs when developers change two or more files at the same time (i.e. they are a part of the same commit). |
Dependencies between components in same commits (primary)
The number on the lines shows the number of shared commits.
flowchart TB
n0["covernode"]
n1["journalist-vault"]
n2["common"]
n3["android"]
n4["journalist-services"]
n5["admin"]
n6["supply-chain"]
n7["api"]
n8["client"]
n9["tools"]
n10["identity-api"]
n11["ROOT"]
n12[".devcontainer"]
n0 ---|"4"| n0
n1 ---|"3"| n2
n3 ---|"3"| n3
n2 ---|"3"| n2
n0 ---|"3"| n2
n1 ---|"3"| n0
n4 ---|"2"| n2
n1 ---|"2"| n4
n5 ---|"2"| n1
n2 ---|"2"| n5
n6 ---|"2"| n6
n7 ---|"2"| n7
n2 ---|"2"| n7
n2 ---|"2"| n8
n0 ---|"2"| n7
n0 ---|"2"| n8
n4 ---|"2"| n7
n4 ---|"2"| n0
n1 ---|"2"| n7
n1 ---|"2"| n8
n1 ---|"2"| n1
n9 ---|"2"| n8
n9 ---|"2"| n2
n9 ---|"2"| n0
n9 ---|"2"| n1
n9 ---|"2"| n9
n5 ---|"2"| n0
n5 ---|"2"| n6
n5 ---|"2"| n5
n8 ---|"1"| n7
n8 ---|"1"| n8
n4 ---|"1"| n8
n9 ---|"1"| n7
n9 ---|"1"| n4
n6 ---|"1"| n2
n6 ---|"1"| n1
n6 ---|"1"| n0
n5 ---|"1"| n4
n7 ---|"1"| n5
n10 ---|"1"| n2
n10 ---|"1"| n4
n10 ---|"1"| n1
n10 ---|"1"| n0
n10 ---|"1"| n5
n10 ---|"1"| n7
n10 ---|"1"| n10
n4 ---|"1"| n4
n11 ---|"1"| n12
n8 ---|"1"| n6
n8 ---|"1"| n5
classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
linkStyle 0 stroke:#a0a0a093,stroke-width:4px
linkStyle 1 stroke:#00688b82,stroke-width:3px
linkStyle 2 stroke:#a0a0a082,stroke-width:3px
linkStyle 3 stroke:#a0a0a082,stroke-width:3px
linkStyle 4 stroke:#00688b82,stroke-width:3px
linkStyle 5 stroke:#00688b82,stroke-width:3px
linkStyle 6 stroke:#00688b70,stroke-width:2px
linkStyle 7 stroke:#00688b70,stroke-width:2px
linkStyle 8 stroke:#00688b70,stroke-width:2px
linkStyle 9 stroke:#00688b70,stroke-width:2px
linkStyle 10 stroke:#a0a0a070,stroke-width:2px
linkStyle 11 stroke:#a0a0a070,stroke-width:2px
linkStyle 12 stroke:#00688b70,stroke-width:2px
linkStyle 13 stroke:#00688b70,stroke-width:2px
linkStyle 14 stroke:#00688b70,stroke-width:2px
linkStyle 15 stroke:#00688b70,stroke-width:2px
linkStyle 16 stroke:#00688b70,stroke-width:2px
linkStyle 17 stroke:#00688b70,stroke-width:2px
linkStyle 18 stroke:#00688b70,stroke-width:2px
linkStyle 19 stroke:#00688b70,stroke-width:2px
linkStyle 20 stroke:#a0a0a070,stroke-width:2px
linkStyle 21 stroke:#00688b70,stroke-width:2px
linkStyle 22 stroke:#00688b70,stroke-width:2px
linkStyle 23 stroke:#00688b70,stroke-width:2px
linkStyle 24 stroke:#00688b70,stroke-width:2px
linkStyle 25 stroke:#a0a0a070,stroke-width:2px
linkStyle 26 stroke:#00688b70,stroke-width:2px
linkStyle 27 stroke:#00688b70,stroke-width:2px
linkStyle 28 stroke:#a0a0a070,stroke-width:2px
linkStyle 29 stroke:#00688b5E,stroke-width:1px
linkStyle 30 stroke:#a0a0a05E,stroke-width:1px
linkStyle 31 stroke:#00688b5E,stroke-width:1px
linkStyle 32 stroke:#00688b5E,stroke-width:1px
linkStyle 33 stroke:#00688b5E,stroke-width:1px
linkStyle 34 stroke:#00688b5E,stroke-width:1px
linkStyle 35 stroke:#00688b5E,stroke-width:1px
linkStyle 36 stroke:#00688b5E,stroke-width:1px
linkStyle 37 stroke:#00688b5E,stroke-width:1px
linkStyle 38 stroke:#00688b5E,stroke-width:1px
linkStyle 39 stroke:#00688b5E,stroke-width:1px
linkStyle 40 stroke:#00688b5E,stroke-width:1px
linkStyle 41 stroke:#00688b5E,stroke-width:1px
linkStyle 42 stroke:#00688b5E,stroke-width:1px
linkStyle 43 stroke:#00688b5E,stroke-width:1px
linkStyle 44 stroke:#00688b5E,stroke-width:1px
linkStyle 45 stroke:#a0a0a05E,stroke-width:1px
linkStyle 46 stroke:#a0a0a05E,stroke-width:1px
linkStyle 47 stroke:#00688b5E,stroke-width:1px
linkStyle 48 stroke:#00688b5E,stroke-width:1px
linkStyle 49 stroke:#00688b5E,stroke-width:1px
Download:
Mermaid (.mmd)
(open online Mermaid editor)
Open 2D force graph (file dependencies)... Open 3D force graph (file dependencies)...
Dependencies between files in same commits
The number on the lines shows the number of shared commits.
Files Most Frequently Changed Together (Top 50)
| Pairs | # same commits | # commits 1 | # commits 2 | latest commit |
|---|---|---|---|---|
| covernode/src/services/dead_drop_publishing/to_user_publishing_service.rs covernode/src/services/dead_drop_publishing/to_journalist_publishing_service.rs |
2 | 5 (40%) | 5 (40%) | 2026-09-22 |
| journalist-services/coverdrop-service/src/coverdrop_service.rs common/src/api/models/mod.rs |
2 | 5 (40%) | 3 (66%) | 2026-09-22 |
| journalist-vault/src/lib.rs common/src/client/mailbox/user_mailbox/mod.rs |
2 | 31 (6%) | 2 (100%) | 2026-09-22 |
| journalist-vault/src/lib.rs common/src/api/models/mod.rs |
2 | 31 (6%) | 3 (66%) | 2026-09-22 |
| journalist-vault/src/lib.rs journalist-services/coverdrop-service/src/coverdrop_service.rs |
2 | 31 (6%) | 5 (40%) | 2026-09-22 |
| covernode/src/mixing/mixing_strategy.rs covernode/src/mixing/mixing_message_types.rs |
2 | 4 (50%) | 2 (100%) | 2026-09-21 |
| admin/src/main.rs journalist-vault/src/lib.rs |
2 | 16 (12%) | 31 (6%) | 2026-09-18 |
| common/src/protocol/backup.rs journalist-vault/src/lib.rs |
2 | 13 (15%) | 31 (6%) | 2026-09-18 |
| common/src/protocol/backup.rs admin/src/main.rs |
2 | 13 (15%) | 16 (12%) | 2026-09-18 |
| supply-chain/audits.toml supply-chain/config.toml |
2 | 16 (12%) | 17 (11%) | 2026-09-17 |
| android/core/src/main/java/com/theguardian/coverdrop/core/crypto/CertificateData.kt android/core/src/main/java/com/theguardian/coverdrop/core/api/models/PublishedKeysAndProfiles.kt |
1 | 2 (50%) | 1 (100%) | 2026-09-25 |
| android/core/src/main/java/com/theguardian/coverdrop/core/crypto/KeyVerifier.kt android/core/src/main/java/com/theguardian/coverdrop/core/api/models/PublishedKeysAndProfiles.kt |
1 | 2 (50%) | 1 (100%) | 2026-09-25 |
| android/core/src/main/java/com/theguardian/coverdrop/core/crypto/KeyVerifier.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/CertificateData.kt |
1 | 2 (50%) | 2 (50%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestKeys.kt android/core/src/main/java/com/theguardian/coverdrop/core/api/models/PublishedKeysAndProfiles.kt |
1 | 1 (100%) | 1 (100%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestKeys.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/CertificateData.kt |
1 | 1 (100%) | 2 (50%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestKeys.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/KeyVerifier.kt |
1 | 1 (100%) | 2 (50%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestVectors.kt android/core/src/main/java/com/theguardian/coverdrop/core/api/models/PublishedKeysAndProfiles.kt |
1 | 1 (100%) | 1 (100%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestVectors.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/CertificateData.kt |
1 | 1 (100%) | 2 (50%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestVectors.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/KeyVerifier.kt |
1 | 1 (100%) | 2 (50%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestVectors.kt android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestKeys.kt |
1 | 1 (100%) | 1 (100%) | 2026-09-25 |
| api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 1 (100%) | 1 (100%) | 2026-09-22 |
| api/scripts/db/wipe_all_tables.sql api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 1 (100%) | 1 (100%) | 2026-09-22 |
| api/scripts/db/wipe_all_tables.sql api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 1 (100%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops.rs api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops.rs api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops.rs api/scripts/db/wipe_all_tables.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops_legacy.rs api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 1 (100%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops_legacy.rs api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 1 (100%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops_legacy.rs api/scripts/db/wipe_all_tables.sql |
1 | 1 (100%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops_legacy.rs api/src/controllers/dead_drops.rs |
1 | 1 (100%) | 3 (33%) | 2026-09-22 |
| api/src/controllers/mod.rs api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/mod.rs api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/mod.rs api/scripts/db/wipe_all_tables.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/mod.rs api/src/controllers/dead_drops.rs |
1 | 3 (33%) | 3 (33%) | 2026-09-22 |
| api/src/controllers/mod.rs api/src/controllers/dead_drops_legacy.rs |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/main.rs api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 10 (10%) | 1 (100%) | 2026-09-22 |
| api/src/main.rs api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 10 (10%) | 1 (100%) | 2026-09-22 |
| api/src/main.rs api/scripts/db/wipe_all_tables.sql |
1 | 10 (10%) | 1 (100%) | 2026-09-22 |
| api/src/main.rs api/src/controllers/dead_drops.rs |
1 | 10 (10%) | 3 (33%) | 2026-09-22 |
| api/src/main.rs api/src/controllers/dead_drops_legacy.rs |
1 | 10 (10%) | 1 (100%) | 2026-09-22 |
| api/src/main.rs api/src/controllers/mod.rs |
1 | 10 (10%) | 3 (33%) | 2026-09-22 |
| api/src/services/queries/dead_drop_queries.rs api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 2 (50%) | 1 (100%) | 2026-09-22 |
| api/src/services/queries/dead_drop_queries.rs api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 2 (50%) | 1 (100%) | 2026-09-22 |
| api/src/services/queries/dead_drop_queries.rs api/scripts/db/wipe_all_tables.sql |
1 | 2 (50%) | 1 (100%) | 2026-09-22 |
| api/src/services/queries/dead_drop_queries.rs api/src/controllers/dead_drops.rs |
1 | 2 (50%) | 3 (33%) | 2026-09-22 |
| api/src/services/queries/dead_drop_queries.rs api/src/controllers/dead_drops_legacy.rs |
1 | 2 (50%) | 1 (100%) | 2026-09-22 |
| api/src/services/queries/dead_drop_queries.rs api/src/controllers/mod.rs |
1 | 2 (50%) | 3 (33%) | 2026-09-22 |
| api/src/services/queries/dead_drop_queries.rs api/src/main.rs |
1 | 2 (50%) | 10 (10%) | 2026-09-22 |
| client/src/commands/dead_drops.rs api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 2 (50%) | 1 (100%) | 2026-09-22 |
| client/src/commands/dead_drops.rs api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 2 (50%) | 1 (100%) | 2026-09-22 |
Files from Different Folders Most Frequently Changed Together (Top 20)
| Pairs | # same commits | # commits 1 | # commits 2 | latest commit |
|---|---|---|---|---|
| journalist-services/coverdrop-service/src/coverdrop_service.rs common/src/api/models/mod.rs |
2 | 5 (40%) | 3 (66%) | 2026-09-22 |
| journalist-vault/src/lib.rs common/src/client/mailbox/user_mailbox/mod.rs |
2 | 31 (6%) | 2 (100%) | 2026-09-22 |
| journalist-vault/src/lib.rs common/src/api/models/mod.rs |
2 | 31 (6%) | 3 (66%) | 2026-09-22 |
| journalist-vault/src/lib.rs journalist-services/coverdrop-service/src/coverdrop_service.rs |
2 | 31 (6%) | 5 (40%) | 2026-09-22 |
| admin/src/main.rs journalist-vault/src/lib.rs |
2 | 16 (12%) | 31 (6%) | 2026-09-18 |
| common/src/protocol/backup.rs journalist-vault/src/lib.rs |
2 | 13 (15%) | 31 (6%) | 2026-09-18 |
| common/src/protocol/backup.rs admin/src/main.rs |
2 | 13 (15%) | 16 (12%) | 2026-09-18 |
| android/core/src/main/java/com/theguardian/coverdrop/core/crypto/CertificateData.kt android/core/src/main/java/com/theguardian/coverdrop/core/api/models/PublishedKeysAndProfiles.kt |
1 | 2 (50%) | 1 (100%) | 2026-09-25 |
| android/core/src/main/java/com/theguardian/coverdrop/core/crypto/KeyVerifier.kt android/core/src/main/java/com/theguardian/coverdrop/core/api/models/PublishedKeysAndProfiles.kt |
1 | 2 (50%) | 1 (100%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestKeys.kt android/core/src/main/java/com/theguardian/coverdrop/core/api/models/PublishedKeysAndProfiles.kt |
1 | 1 (100%) | 1 (100%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestKeys.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/CertificateData.kt |
1 | 1 (100%) | 2 (50%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestKeys.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/KeyVerifier.kt |
1 | 1 (100%) | 2 (50%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestVectors.kt android/core/src/main/java/com/theguardian/coverdrop/core/api/models/PublishedKeysAndProfiles.kt |
1 | 1 (100%) | 1 (100%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestVectors.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/CertificateData.kt |
1 | 1 (100%) | 2 (50%) | 2026-09-25 |
| android/testutils/src/main/java/com/theguardian/coverdrop/testutils/IntegrationTestVectors.kt android/core/src/main/java/com/theguardian/coverdrop/core/crypto/KeyVerifier.kt |
1 | 1 (100%) | 2 (50%) | 2026-09-25 |
| api/scripts/db/wipe_all_tables.sql api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 1 (100%) | 1 (100%) | 2026-09-22 |
| api/scripts/db/wipe_all_tables.sql api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 1 (100%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops.rs api/migrations/20260722162726_add_dead_drop_created_at_index.down.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops.rs api/migrations/20260722162726_add_dead_drop_created_at_index.up.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |
| api/src/controllers/dead_drops.rs api/scripts/db/wipe_all_tables.sql |
1 | 3 (33%) | 1 (100%) | 2026-09-22 |