---
issue: 127
title: "Scanner: GET /intents/:id exposes salt and callbackUrl in response"
severity: low
domain: Scanner
labels: [security, scanner, information-disclosure]
status: open
created: 2026-05-30
source: Full Codebase Audit 2026-05-30
---

# Scanner: GET /intents/:id exposes salt and callbackUrl in response

**Severity:** low
**Domain:** Scanner
**Labels:** security, scanner, information-disclosure

## Description

`scanner/api.go:260` returns the full intent struct including `salt` (used in payment reference derivation) and `callbackUrl` (internal backend endpoint). Both are internal implementation details that should not be exposed to callers.

## Options

1. Tag `salt` and `callbackUrl` with `json:"-"` and return a sanitized DTO.
2. Return them only to admin/privileged callers.
3. Keep `callbackUrl` but always hide `salt`.

## Recommendation

Return a sanitized DTO that omits `salt` and `callbackUrl`; both are internal. Response-shape change may affect existing callers.

## Affected Files

- `scanner/api.go:260`

## References

- [Full Codebase Audit 2026-05-30](../09%20-%20Audits/Full%20Codebase%20Audit%20-%202026-05-30.md) — DEC-59
