From 5f4d4832c13c001065b4176c869388616ed294fd Mon Sep 17 00:00:00 2001 From: Jordan Labrosse Date: Sun, 11 Oct 2026 11:26:13 +0200 Subject: [PATCH] feat: add csrf-armor module --- icons/csrf-armor.png | Bin 0 -> 11832 bytes modules/csrf-armor.yml | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 icons/csrf-armor.png create mode 100644 modules/csrf-armor.yml diff --git a/icons/csrf-armor.png b/icons/csrf-armor.png new file mode 100644 index 0000000000000000000000000000000000000000..463f41c0f56cc4b5a6cb29c881d02c07d477b3b5 GIT binary patch literal 11832 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 m>znFJIwD8ph#ZlFl>ZMzZ3Q?Ry%gpE0000=3.0.0' + requires: {}