RHENIUS — Cryptographic Relationship Intelligence
RHENIUS is a private, local-first Personal Relationship Management (PRM) system and
relationship-intelligence suite for individuals — founders, executives, diplomats, researchers and community
stewards — who cultivate deep, long-term personal and professional networks.
1. Publicly indexable pages
These are the only URLs an anonymous crawler can meaningfully fetch. Everything else renders inside the sign-in gated application shell.
- / — The application shell and sign-in. Public description of the product; all personal data lives behind authentication.
- /privacy — What is stored, why, who can see it, how long it is kept, and how to exercise data-subject rights.
- /terms — The contract between the operator and users, including AI output ownership and acceptable use.
- /cookies — Every browser storage entry with its purpose and lifetime, and how consent is given or withdrawn.
- /crawlers — Machine-oriented overview of the system: public routes, API surface, and cryptographic invariants for indexers and autonomous agents.
- /llms.txt — Markdown index for AI crawlers and LLM agents, following the llms.txt specification.
- /llms-full.txt — Full architectural context, authentication flow, API reference, AI action catalogue and data schemas for deep LLM context windows.
- /openapi.json — Machine-readable OpenAPI description of the public HTTP API for SDK generation and agent tooling.
- /docs — Interactive REST API explorer, rate limits matrix, OpenAPI 3.1 specification, and client SDKs.
2. Application views (not separately indexable)
The product is a single-page application behind sign-in. The views below have no independent public addresses and appear in no sitemap; they are listed so an AI model understands what the product contains.
/ — Dashboard (Cockpit) · Network health, morning briefing, cadence alerts, milestone reminders and quick actions.
/contacts — Contacts · Directory with fuzzy search, multi-tag filtering, custom attributes, briefing sheets and contact cards.
/graph — Relationship Graph · Interactive 2D/3D force-directed canvas of interpersonal connections and clusters.
/ledger — Reciprocity Ledger · Paillier-homomorphic ledger of debts, loans, favours and gifts; balances netted in ciphertext space.
/map — World Map · OpenStreetMap distribution of the network with proximity clustering and travel itinerary planning.
/journal — Journal · Chronological daily notes with @entity tagging and automatic interaction logging.
/deals — Deals · Lightweight opportunity pipeline from lead to closed-won.
/family-tree — Family Tree · Generational pedigree canvas with GEDCOM 5.5 import/export and contact synchronisation.
/settings — Settings · Master key management, BYOK model configuration, display toggles and data export.
3. Machine-readable discovery resources
- /robots.txt — robots exclusion policy, sitemap and discovery pointers.
- /sitemap.xml — XML sitemap of the pages listed in section 1.
- /llms.txt — markdown site map for LLM agents (llms.txt specification).
- /llms-full.txt — full context: authentication flow, API reference, action catalogue and data schemas.
- /openapi.json — OpenAPI 3.1 specification of the HTTP API for tooling and SDK generation.
4. HTTP API surface
Every data endpoint requires a session token obtained from POST /api/auth/login, presented as
Authorization: Bearer <token> or X-Session-Token: <token>. There is no
anonymous data access; the machine-readable contract lives at /openapi.json and
the prose version in /llms-full.txt.
System
| Method | Path | Auth | Summary |
GET | /api/health | public | Liveness probe with the active database provider. |
Auth
| Method | Path | Auth | Summary |
POST | /api/auth/login | public | Exchange email + password (Argon2id verification) for a session token. |
POST | /api/auth/signup | public | Create an account and receive a session token. |
POST | /api/auth/logout | public | Revoke the presented session token. |
GET | /api/auth/me | public | Resolve the presented session token to its account. |
Contacts
| Method | Path | Auth | Summary |
GET | /api/contacts | session | List the authenticated user’s contacts. |
POST | /api/contacts | session | Create one contact. |
POST | /api/contacts/batch | session | Upsert many contacts (vCard / bulk import). |
POST | /api/contacts/batch-update | session | Apply one field change (tags, cadence, group) to many contacts. |
POST | /api/contacts/batch-delete | session | Delete many contacts with undo snapshots. |
Data
| Method | Path | Auth | Summary |
GET | /api/data | session | Full app state: contacts, smart lists, entities and journal pages. |
GET | /api/export | session | Complete portable export of the account. |
Family Tree
| Method | Path | Auth | Summary |
GET | /api/family-tree | session | List genealogical family members and pedigree links. |
PUT | /api/family-tree | session | Replace the family tree (full snapshot write) and sync linked contacts. |
Entities
| Method | Path | Auth | Summary |
GET | /api/entities | session | List entities — companies, projects and pets with linked members. |
POST | /api/entities | session | Create an entity. |
PUT | /api/entities/{id} | session | Update an entity. |
DELETE | /api/entities/{id} | session | Delete an entity. |
Journal
| Method | Path | Auth | Summary |
GET | /api/journal-pages | session | List daily journal pages with blocks and linked attendees. |
PUT | /api/journal-pages | session | Upsert journal pages. A full list also deletes pages removed client-side. |
DELETE | /api/journal-pages/{id} | session | Delete one journal page. |
AI Agent
| Method | Path | Auth | Summary |
POST | /api/action | session | Master natural-language relationship-intelligence agent. |
POST | /api/action/confirm | session | Approve a DESTRUCTIVE proposal created by /api/action. |
POST | /api/action/undo | session | Atomically reverse a previously executed mutation. |
POST | /api/query | session | Read-only natural-language question over the network. |
Intelligence
| Method | Path | Auth | Summary |
POST | /api/briefing | session | Generate a 1-page pre-meeting executive briefing sheet for a contact. |
POST | /api/nurture | session | Generate outreach, gift and follow-up suggestions for a contact. |
POST | /api/ingest-magic | session | Parse unstructured text (email signature, bio, notes) into contact fields. |
Ledger
| Method | Path | Auth | Summary |
POST | /api/homomorphic/sum | session | Add two Paillier ciphertexts; plaintext values never reach the server. |
POST | /api/homomorphic/network-sum | session | Homomorphically aggregate many Paillier ciphertexts across the network. |
5. AI action model & grounding
The agent at POST /api/action classifies natural language into deterministic actions. Every mutation
carries a confirmation level, and grounding is four-valued — only explicitly stated attributes are eligible for
silent mutation:
SUPPORTED — Explicitly stated in the prompt — the only state eligible for silent mutation.
UNSUPPORTED — Invented by the model — stripped immediately.
AMBIGUOUS — Vague or multiply interpretable — surfaced to the user, never applied silently.
UNKNOWN — Not present in the prompt — the field stays empty.
The full action catalogue with confirmation levels is documented in /llms-full.txt.
6. What this service will never do
- Expose personal or network data to an anonymous crawler — all reads require authentication.
- Synthesise contact attributes the user never stated (no invented cities, ages or companies).
- Train models on user data; AI features run only when invoked, with the user’s own provider key.
- Serve advertising or third-party trackers anywhere on this origin.