# Vue Adapter API — useRep() and useRepSecure() Composables > API reference for @rep-protocol/vue. useRep() returns a reactive Ref for public variables. useRepSecure() returns an async Ref for encrypted variable decryption. Source: https://rep-protocol.dev/reference/adapters/vue/ ```bash npm install @rep-protocol/vue @rep-protocol/sdk ``` ## `useRep(key, defaultValue?)` ```typescript function useRep(key: string, defaultValue?: string): Ref; ``` Reads a PUBLIC tier variable as a reactive `Ref`. | Parameter | Type | Description | |---|---|---| | `key` | `string` | Variable name | | `defaultValue` | `string` | Optional fallback value | **Returns:** `Ref` **Behavior:** - Set immediately from the injected payload - Subscribes to hot reload on creation - Unsubscribes via `onUnmounted` - Must be called inside `setup()` ## `useRepSecure(key)` ```typescript function useRepSecure(key: string): Ref; ``` Reads a SENSITIVE tier variable as a reactive `Ref`. | Parameter | Type | Description | |---|---|---| | `key` | `string` | Variable name | **Returns:** `Ref` **Behavior:** - Starts as `null` - Resolves after session key fetch and decryption - Errors are swallowed (SDK logs them); ref stays `null` - Does **not** subscribe to hot reload ## Requirements - Vue >= 3.0 - `@rep-protocol/sdk` peer dependency - Must be called from `setup()` for `onUnmounted` cleanup