---
title: "Vault and privacy"
description: "/n9/vault is a private diary. Owner-only table. Robots noindex. Body never enters engines, council, synthesis, or specialist match."
locale: "en"
---
# Vault and privacy

`/n9/vault` is the N9Life-endemic **Aspirations Safe Vault**. It is not a chart, not a council voter, and not a match signal. The page lives under `app/[locale]/n9/layout.tsx` so it outranks Layer 1 `/[username]/[slug]`. Metadata uses `n9life-home.vault.seo` because path `n9/vault` does not match generic SEO templates. Robots: **noindex, nofollow**. Unauthenticated visitors get `LoginGateCta` with `callbackUrl=/n9/vault`.

## Data

Table `n9life_aspirations_vault` (migration `001_n9life_tables.sql`). API `GET/POST/DELETE /api/n9life/aspirations` is owner-only. `SELECT`/`RETURNING` omit `user_id`. `DELETE` returns 400 unless `id` is a UUID. List GET uses `?limit=500`. Export refetches that list and downloads owner JSON (admin-matcher pattern, revoke object URL after click).

Client: separate `useTransition` for load, save, and delete so the first fetch does not label Save as saving. Session 401 renders the login gate. Crisis keywords on save return 422 and keep the textarea (`CrisisCallout`).

## Firewall (fail the task)

These modules must not import vault or pass diary body:

- `features/evolvement/services/compute-charts.ts`
- `lib/evolvement/knowledge-council.ts` and `council-synthesis.ts`
- `features/n9life/services/specialist-match.ts` and `/api/n9life/match`
- `features/n9life/services/profile.ts` chart builders
- Bot `/council` and `/numerology`

Cosmic Mirror `panel.vaultHint` is the in-product reminder: write intentions only you will read. `navigation.userMenu.extra` vault link reaches signed-in mobile-web avatar. Mini App hides that avatar; the panel CTA remains.

## Copy and i18n

`n9life-home.vault.*` (EN/UK/RU). Overlay `features/n9life/i18n.ts` injects `navigation.mainNav.vault` from `vault.navLabel`. Do not copy whole `navigation.json` onto L3.

> **Info**
> Client-side vault encryption, Destiny Dating, and Gene Keys are out of scope. Dating seed notes also say: never read `n9life_aspirations_vault` for dating.

  
- [n9life/cosmic-mirror](/docs/n9life/cosmic-mirror.md) — Same-workflow: panel vault CTA

  
- [n9life/knowledge-council](/docs/n9life/knowledge-council.md) — Depends-on: council never reads vault

  
- [n9life/specialist-match](/docs/n9life/specialist-match.md) — Depends-on: match never reads vault
