Skip to content

Crypto Trader — Security-Models

Shared entities and value types for security concerns


Security‑Models defines the typed entities and value objects used for security across the platform. These models include IP allow/deny sets, rule definitions, user/session‑related records, and other primitives services use to reason about risk and access.

Important: Past results and backtests do not guarantee future performance. Always start in paper mode. Liability is your own.

⭐️ What it does

  • Domain models
  • IP address sets (CIDR/range aware), ban/allow lists, rule snapshots, and related security state.
  • Serialization‑ready types
  • Friendly to JSON and messaging while keeping a clear internal API.
  • Foundation for repositories/services
  • Powers Security‑Repositories and Security‑Services implementations.

✅ Why it matters

  • One source of truth for security semantics and invariants.
  • Safer refactors by sharing strongly‑typed models across modules.

🔗 Where it fits in the platform

  • Consumed by API/Security services and stored via Security‑Repositories.
  • Referenced in Security‑Events to keep payloads consistent.

🛠️ Technology at a glance

  • Language: Kotlin and Java (as needed)
  • Libraries: ipaddress (CIDR math), Jackson annotations (where applicable)
  • Build & docs: Maven, JUnit Jupiter, Dokka

📝 Conventions

  • Prefer explicit naming and documented units/timezones.
  • Keep models minimal and focused; add behaviors in services, not entities.

❓ Questions or help

Email Oliver Lear Sigwarth (@theoliverlear): sigwarthsoftware@gmail.com

📄 License

See LICENSE.md in the repository root.