Free allowances
Catalog tools report usage in anentitlement object on every response:
When an allowance is spent, the tool returns an empty result with
upgrade_required: true and more_in_app guidance pointing to the Skan app. Starting another scan to reset an allowance is not permitted, and the guidance tells the model so.
Rate limits
Exceeding a limit returnsrate_limited (or busy for concurrency) with retry_after_seconds. Service-wide ceilings return scan_limit_reached, session_limit_reached, capacity_paused, service_paused or admissions_paused.
Guest limits are keyed on a hashed network address, not on a person. An assistant platform calling from shared servers shares these budgets across its users. Values are configuration and may change.