crosswake_sigra
Sigra auth companion adapter for Crosswake — the route-policy and runtime-contract library for Phoenix apps that go mobile.
This package extracts Crosswake.Companions.Sigra into a standalone Hex dependency so hosts can choose their companion integrations without modifying core. The module namespace (Crosswake.Companions.Sigra) and the adopter touch-point (config :crosswake, :companions, [...]) are unchanged — extraction is non-breaking.
Installation
Add crosswake_sigra to your mix.exs:
defp deps do
[
{:crosswake, "~> 0.2"},
{:crosswake_sigra, "~> 0.1"}
]
end
Then configure the companion in your application:
config :crosswake, :companions, [Crosswake.Companions.Sigra]
Single-user B2C hosts
For a host that has no organization model, project the backend-validated Sigra
session into SessionAuthorityLane with org_id: nil. This is an explicit
personal-account scope, not a synthetic organization. AuthContext derives
the same value from the lane.
The host must build that lane only after validating its Phoenix/Sigra session. Browser or iOS return data can be evidence for a server-owned attempt, but it does not grant route access. Do not pass cookies, OAuth tokens, credentials, or stable account identifiers into shell diagnostics or offline payloads.
Package-family discipline
crosswake_sigra is part of the Crosswake package family. Core (crosswake) never compile-depends on a companion; companions never depend on each other. See the companion contract guide for the stable seam surface.