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.