feat: add anti-abuse mechanisms

Prevent slot blocking and reservation spam:
- RateLimiter: per-sender cooldowns, hourly limits, pending caps
- ProofOfWork: Hashcash-style PoW for reservation requests
- SenderReputation: track honor rate, no-shows, auto-block
- TherapistPolicy: configurable requirements per provider
- 7 new tests (39 total)

Docs: docs/anti-abuse.md with implementation roadmap
This commit is contained in:
2026-04-01 08:27:02 +02:00
parent c757494cbe
commit 9af66ab073
445 changed files with 760 additions and 8 deletions

View File

@@ -1,8 +1,8 @@
/home/c/projects/tool.meshservice/target/debug/deps/meshservice-286f0426bc447b66.d: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs
/home/c/projects/tool.meshservice/target/debug/deps/meshservice-286f0426bc447b66.d: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs src/anti_abuse.rs
/home/c/projects/tool.meshservice/target/debug/deps/libmeshservice-286f0426bc447b66.rlib: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs
/home/c/projects/tool.meshservice/target/debug/deps/libmeshservice-286f0426bc447b66.rlib: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs src/anti_abuse.rs
/home/c/projects/tool.meshservice/target/debug/deps/libmeshservice-286f0426bc447b66.rmeta: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs
/home/c/projects/tool.meshservice/target/debug/deps/libmeshservice-286f0426bc447b66.rmeta: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs src/anti_abuse.rs
src/lib.rs:
src/identity.rs:
@@ -15,3 +15,4 @@ src/services/fapp.rs:
src/services/housing.rs:
src/wire.rs:
src/error.rs:
src/anti_abuse.rs:

View File

@@ -1,6 +1,6 @@
/home/c/projects/tool.meshservice/target/debug/deps/meshservice-a34e90bc28566d7f.d: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs
/home/c/projects/tool.meshservice/target/debug/deps/meshservice-a34e90bc28566d7f.d: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs src/anti_abuse.rs
/home/c/projects/tool.meshservice/target/debug/deps/meshservice-a34e90bc28566d7f: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs
/home/c/projects/tool.meshservice/target/debug/deps/meshservice-a34e90bc28566d7f: src/lib.rs src/identity.rs src/message.rs src/router.rs src/store.rs src/verification.rs src/services/mod.rs src/services/fapp.rs src/services/housing.rs src/wire.rs src/error.rs src/anti_abuse.rs
src/lib.rs:
src/identity.rs:
@@ -13,3 +13,4 @@ src/services/fapp.rs:
src/services/housing.rs:
src/wire.rs:
src/error.rs:
src/anti_abuse.rs:

Binary file not shown.

View File

@@ -1 +1 @@
/home/c/projects/tool.meshservice/target/debug/examples/fapp_service: /home/c/projects/tool.meshservice/examples/fapp_service.rs /home/c/projects/tool.meshservice/src/error.rs /home/c/projects/tool.meshservice/src/identity.rs /home/c/projects/tool.meshservice/src/lib.rs /home/c/projects/tool.meshservice/src/message.rs /home/c/projects/tool.meshservice/src/router.rs /home/c/projects/tool.meshservice/src/services/fapp.rs /home/c/projects/tool.meshservice/src/services/housing.rs /home/c/projects/tool.meshservice/src/services/mod.rs /home/c/projects/tool.meshservice/src/store.rs /home/c/projects/tool.meshservice/src/verification.rs /home/c/projects/tool.meshservice/src/wire.rs
/home/c/projects/tool.meshservice/target/debug/examples/fapp_service: /home/c/projects/tool.meshservice/examples/fapp_service.rs /home/c/projects/tool.meshservice/src/anti_abuse.rs /home/c/projects/tool.meshservice/src/error.rs /home/c/projects/tool.meshservice/src/identity.rs /home/c/projects/tool.meshservice/src/lib.rs /home/c/projects/tool.meshservice/src/message.rs /home/c/projects/tool.meshservice/src/router.rs /home/c/projects/tool.meshservice/src/services/fapp.rs /home/c/projects/tool.meshservice/src/services/housing.rs /home/c/projects/tool.meshservice/src/services/mod.rs /home/c/projects/tool.meshservice/src/store.rs /home/c/projects/tool.meshservice/src/verification.rs /home/c/projects/tool.meshservice/src/wire.rs

View File

@@ -1 +1 @@
/home/c/projects/tool.meshservice/target/debug/examples/housing_service: /home/c/projects/tool.meshservice/examples/housing_service.rs /home/c/projects/tool.meshservice/src/error.rs /home/c/projects/tool.meshservice/src/identity.rs /home/c/projects/tool.meshservice/src/lib.rs /home/c/projects/tool.meshservice/src/message.rs /home/c/projects/tool.meshservice/src/router.rs /home/c/projects/tool.meshservice/src/services/fapp.rs /home/c/projects/tool.meshservice/src/services/housing.rs /home/c/projects/tool.meshservice/src/services/mod.rs /home/c/projects/tool.meshservice/src/store.rs /home/c/projects/tool.meshservice/src/verification.rs /home/c/projects/tool.meshservice/src/wire.rs
/home/c/projects/tool.meshservice/target/debug/examples/housing_service: /home/c/projects/tool.meshservice/examples/housing_service.rs /home/c/projects/tool.meshservice/src/anti_abuse.rs /home/c/projects/tool.meshservice/src/error.rs /home/c/projects/tool.meshservice/src/identity.rs /home/c/projects/tool.meshservice/src/lib.rs /home/c/projects/tool.meshservice/src/message.rs /home/c/projects/tool.meshservice/src/router.rs /home/c/projects/tool.meshservice/src/services/fapp.rs /home/c/projects/tool.meshservice/src/services/housing.rs /home/c/projects/tool.meshservice/src/services/mod.rs /home/c/projects/tool.meshservice/src/store.rs /home/c/projects/tool.meshservice/src/verification.rs /home/c/projects/tool.meshservice/src/wire.rs

Binary file not shown.

View File

@@ -1 +1 @@
/home/c/projects/tool.meshservice/target/debug/examples/multi_service: /home/c/projects/tool.meshservice/examples/multi_service.rs /home/c/projects/tool.meshservice/src/error.rs /home/c/projects/tool.meshservice/src/identity.rs /home/c/projects/tool.meshservice/src/lib.rs /home/c/projects/tool.meshservice/src/message.rs /home/c/projects/tool.meshservice/src/router.rs /home/c/projects/tool.meshservice/src/services/fapp.rs /home/c/projects/tool.meshservice/src/services/housing.rs /home/c/projects/tool.meshservice/src/services/mod.rs /home/c/projects/tool.meshservice/src/store.rs /home/c/projects/tool.meshservice/src/verification.rs /home/c/projects/tool.meshservice/src/wire.rs
/home/c/projects/tool.meshservice/target/debug/examples/multi_service: /home/c/projects/tool.meshservice/examples/multi_service.rs /home/c/projects/tool.meshservice/src/anti_abuse.rs /home/c/projects/tool.meshservice/src/error.rs /home/c/projects/tool.meshservice/src/identity.rs /home/c/projects/tool.meshservice/src/lib.rs /home/c/projects/tool.meshservice/src/message.rs /home/c/projects/tool.meshservice/src/router.rs /home/c/projects/tool.meshservice/src/services/fapp.rs /home/c/projects/tool.meshservice/src/services/housing.rs /home/c/projects/tool.meshservice/src/services/mod.rs /home/c/projects/tool.meshservice/src/store.rs /home/c/projects/tool.meshservice/src/verification.rs /home/c/projects/tool.meshservice/src/wire.rs

Some files were not shown because too many files have changed in this diff Show More