SPDXVersion: SPDX-2.1 DataLicense: CC0-1.0 SPDXID: SPDXRef-DOCUMENT DocumentName: project DocumentNamespace: http://spdx.org/spdxdocs/spdx-v2.1-2154e567-68b9-47e3-aac5-e30d7c628040 Creator: Person: Anonymous () Creator: Organization: Anonymous () Creator: Tool: reuse-6.1.0 Created: 2026-07-23T19:46:58Z CreatorComment: This document was created automatically using available reuse information consistent with REUSE. Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-17e256638269f5263dacbfdf4602e230 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9e2a9e957090ac754bbce2819d417663 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-52baf9c071c96ff8f34d5ea8163ea494 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5ef0d23d98bc0b372f6ae6fc403c3c2b Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6071be5f5ec2a695f7b05222516990df Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c487a28352afc3a0078bd7f04a3e1a19 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6d86ed32224890642e91055fd349d787 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c4449e05157667fc17fd6d36775282b6 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8d1c42821e8a45615c88269a42514a09 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-995662dcf3fc458b8c7fb28661e78a5a Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7a0d892c82853481a26fda753e3973d1 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-bcd02cbc6f19e6cefc18364bee47db06 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c0056e8187100a2dcb4e87271a2aeef1 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-017fed8a0e6e9d01d47d31824e43683e Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-82c48097aff0b0bd630912a4cc241f5b Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-335382ff987ad2f4438641190df45756 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-eec61cadd95b4cd53b4f0277bbb568e3 FileName: ./.github/workflows/ci.yml SPDXID: SPDXRef-17e256638269f5263dacbfdf4602e230 FileChecksum: SHA1: 8e8a0ce51a29508acf984e0cc6f3117ba42ecf8d LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./.github/workflows/pages.yml SPDXID: SPDXRef-9e2a9e957090ac754bbce2819d417663 FileChecksum: SHA1: a073348ec598284652383c6cae24fea399db921d LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./.github/workflows/publish.yml SPDXID: SPDXRef-52baf9c071c96ff8f34d5ea8163ea494 FileChecksum: SHA1: a48864eb0df9ab284f8602e3c6a6cf2cf43d742e LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./.gitignore SPDXID: SPDXRef-5ef0d23d98bc0b372f6ae6fc403c3c2b FileChecksum: SHA1: 5f07f668031bee8b6ccbd248d8ebd3795070d3f6 LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./README.md SPDXID: SPDXRef-6071be5f5ec2a695f7b05222516990df FileChecksum: SHA1: c29f65313ed3d8a504c2394e4b3cbef0ca5bddcc LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./docs/index.html SPDXID: SPDXRef-c487a28352afc3a0078bd7f04a3e1a19 FileChecksum: SHA1: b285378343b5f39cff3664582088bbca5d07e62d LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: © 2026 Martin Gallagher · ☎ phone_a_friend

FileName: ./phone_a_friend/__init__.py SPDXID: SPDXRef-6d86ed32224890642e91055fd349d787 FileChecksum: SHA1: 7132b98e088906af227cd9e2a608d862e2a10156 LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher Copyright (C) 2026 Martin Gallagher" FileName: ./phone_a_friend/__main__.py SPDXID: SPDXRef-c4449e05157667fc17fd6d36775282b6 FileChecksum: SHA1: 985d4cf286a65e76ed4796e7f044d2d90d15bc15 LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./phone_a_friend/crypto.py SPDXID: SPDXRef-8d1c42821e8a45615c88269a42514a09 FileChecksum: SHA1: bf7dc4a834a4fd448f8991cf5348d248cd6297fc LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./phone_a_friend/store.py SPDXID: SPDXRef-995662dcf3fc458b8c7fb28661e78a5a FileChecksum: SHA1: 62ed749df03250fe269765bf4440da5ef3133bf7 LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./phone_a_friend/tui.py SPDXID: SPDXRef-7a0d892c82853481a26fda753e3973d1 FileChecksum: SHA1: 2faaf535d121ee8a7edda2802c15987141b3b6c2 LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./pyproject.toml SPDXID: SPDXRef-bcd02cbc6f19e6cefc18364bee47db06 FileChecksum: SHA1: 954f0bfa4af9bc0ba1fcee1a913be24c38f4092e LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./requirements.txt SPDXID: SPDXRef-c0056e8187100a2dcb4e87271a2aeef1 FileChecksum: SHA1: 3ac9f8f33e50f3412b9eaa1afda9a8f181ba3dfc LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./tests/test_cli.py SPDXID: SPDXRef-017fed8a0e6e9d01d47d31824e43683e FileChecksum: SHA1: 52d8620628580c0f8732a6b7f2f235f963b1aa47 LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./tests/test_flow.py SPDXID: SPDXRef-82c48097aff0b0bd630912a4cc241f5b FileChecksum: SHA1: 45b27e1d48a06772e82623c79d8c586af7b27cab LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./tests/test_store_edges.py SPDXID: SPDXRef-335382ff987ad2f4438641190df45756 FileChecksum: SHA1: 1914dd2ee77c52bc0c60e61dfafa2368f65f52bd LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher FileName: ./tests/test_tui.py SPDXID: SPDXRef-eec61cadd95b4cd53b4f0277bbb568e3 FileChecksum: SHA1: 1c9c71c0e06fff0a3162c2dda6dd1c683b11d05b LicenseConcluded: NOASSERTION LicenseInfoInFile: GPL-3.0-or-later FileCopyrightText: SPDX-FileCopyrightText: 2026 Martin Gallagher