# XLSM Compatibility Policy

UnifiedSpread treats XLSM as a macro-enabled workbook format. Because browser JavaScript must not execute VBA,
XLSM support is implemented as a **preserve-only** compatibility layer.

## Supported

- Open `.xlsm` files through the same Host `OpenFile` callback path.
- Preserve macro metadata when the XLSX library exposes raw VBA project bytes.
- Save As / Export `.xlsm` through the Host `SaveFile` callback.
- Keep macro warnings in workbook config metadata.

## Not Supported Yet

- VBA execution in browser runtime.
- Full OOXML macro part reconstruction when the parser cannot expose raw VBA parts.
- Excel add-in / ActiveX execution.

## Rationale

Preserving macro-enabled workbooks without executing code is safer and aligns with Host-embeddable frontend-only
architecture. A future backend or desktop Host may provide controlled macro inspection or execution services.
