An AI assistant for the family.
Aslam is, first and foremost, an AI assistant. You chat with it — over the web, over email, or via the CLI — and it helps you get things done: answering questions, researching topics, drafting emails, looking things up.
Everything you ever ask it, and everything you ever tell it to remember, is quietly captured into an encrypted, searchable knowledge base running in the background. Over time, that knowledge base becomes a second brain: not just a record of conversations with an AI, but the place where passwords, credentials, contacts, decisions, and important notes all live — searchable in one place.
You don't have to go back to the assistant to recover what you know. You can just search for it.
┌──────────────────────────────────┐
│ Ask Aslam (chat) │
│ - Web, email, CLI, API │
└──────────────┬───────────────────┘
│
▼
┌──────────────────────────────────┐
│ AI Assistant │
│ Claude + tools (search, fetch, │
│ remember, recall, vault, …) │
└──────────────┬───────────────────┘
│
▼
┌──────────────────────────────────┐
│ Knowledge Base (SQLCipher) │
│ │
│ chats · messages · entries │
│ notes · URLs · vault items │
│ credentials · contacts · docs │
└──────────────┬───────────────────┘
│
▼
┌──────────────────────────────────┐
│ Search │
│ One box across everything you │
│ have ever said, saved, or │
│ stored. │
└──────────────────────────────────┘
The assistant is the front door. The knowledge base runs silently behind it.
- Gmail is identity, not knowledge. 10+ years of email is a graveyard, not a resource.
- Shared docs are flat. A Google Doc works for lists, but not for interconnected knowledge.
- Memory is unreliable. Things get forgotten. Context gets lost.
- AI chats are ephemeral. A great answer from ChatGPT is useless if you can't find it next week.
- Continuity matters. If I die tomorrow, what do people need to know?
Aslam is the fix: a helper you can talk to and a searchable archive of every helpful thing it, or you, ever produced.
- Chats — every question you've ever asked and every answer given
- Notes & memories — things you told Aslam to remember
- Fetched pages — URLs the assistant has pulled and cached
- Vault items — passwords, credentials, accounts, important contacts (encrypted at rest)
- Entries — thoughts, projects, decisions, instructions, documents
All of it indexed. All of it searchable from /search.
- Assistant first — the primary action is asking Aslam a question
- Everything is captured — conversations and memories flow into the knowledge base automatically
- Searchable — if you can't find it, it doesn't exist
- Secure — sensitive data encrypted at rest (SQLCipher / AES-256)
- Simple — easy to add, easy to retrieve
- Shareable — family can access what they need
- Durable — outlives any single service or platform
- Go 1.21+
- SQLCipher (
sudo apt-get install -y sqlcipher) - Brave Search API key (free tier: 2000 queries/month)
# Clone
git clone git@github.com:asim/nasir.git
cd aslam
# Create encryption key
mkdir -p ~/.aslam
openssl rand -base64 32 > ~/.aslam/.key
chmod 600 ~/.aslam/.key
# Create .env file
cat > .env << EOF
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GOOGLE_REDIRECT_URI=https://nasir.org/auth/callback
ALLOWED_EMAILS=your@email.com
BRAVE_API_KEY=your-brave-api-key
EOF
chmod 600 .env
# Build and run
go build -o aslam .
./aslamsudo cp scripts/nasir.service /etc/systemd/system/aslam.service
sudo systemctl daemon-reload
sudo systemctl enable aslam
sudo systemctl start aslamTo enable the assistant's own email inbox:
- Create a Google Workspace user (e.g., assistant@yourdomain.com)
- Enable 2FA on that account
- Generate an App Password (Security → App Passwords)
- Add to
.env:GMAIL_USER=assistant@yourdomain.com GMAIL_APP_PASSWORD=xxxx xxxx xxxx xxxx - Add to systemd service or restart
- Visit your domain and log in with Google
- Start chatting from the home page — just type your question
- Use
/searchto find anything you've ever asked or saved - Use
/vaultto store credentials and accounts - Go to
/adminto document service accounts and add family admins
The assistant has access to these tools:
- fetch — Fetch URL content and save to memory
- recall — Search memory/knowledge base
- remember — Save notes to memory
- reminder — Search Islamic sources (Quran, Hadith)
- wikipedia — Search Wikipedia for factual information
- www — Web search via Brave Search API
- email_check — Check assistant's inbox
- email_send — Send email from assistant's address
- vault_add / vault_search / vault_update — Manage vault items
Every tool call contributes to the knowledge base: fetched URLs are cached, remembered notes become searchable entries, vault writes become searchable vault items.
The assistant operates on a levelled trust model. Access to personal accounts is earned over time as the system proves reliable and secure.
- Assistant has its own identity (assistant@yourdomain.com)
- Own email inbox, cannot access user accounts
- Users forward emails to assistant when they want it involved
- Safe to experiment — assistant can't touch your stuff
- Assistant can read your Google Calendar (read-only)
- Can answer "What's on my schedule today?"
- Cannot create, modify, or delete events
- Requires: OAuth consent with calendar.readonly scope
- Assistant can read your Gmail inbox
- Can summarise emails, find information, track threads
- Cannot send, delete, or modify emails
- Requires: OAuth consent with gmail.readonly scope
- Requires: Prompt injection defenses, audit logging
- Assistant can send emails as you
- Can create calendar events
- Full delegation of digital identity
- Requires: Explicit confirmation flows ("Send this email? Y/N")
- Requires: Rate limits, scope limits, comprehensive audit trail
- Requires: Battle-tested prompt injection defenses
- Input sanitisation and validation
- Output validation (assistant can't leak data)
- Audit logging (every action logged with context)
- Confirmation flows for destructive actions
- Rate limiting
- Scope limiting (e.g., only last 7 days of email)
- Regular security review
Aslam exists for two reasons:
1. A helpful assistant today
- An AI you can ask anything, over any channel
- Tools that actually do things — fetch, search, remember, email
- A conversation that isn't lost the moment you close the tab
2. A second brain and digital estate
Because every conversation and every memory lands in the knowledge base, over time Aslam becomes the map of your digital life — and, when the time comes, the map that your family can follow.
We live in a purely digital world. When someone dies, their family must navigate:
- Multiple email accounts
- Cryptocurrency wallets and keys
- Subscriptions and services
- Documents scattered across cloud storage
- Passwords and credentials
- Digital assets with real value
This system aims to be that map. Not just a list of accounts, but the knowledge of how to access them, what matters, what can be ignored, and what needs to be done.
"When a man dies, his deeds come to an end except for three: ongoing charity, beneficial knowledge, or a righteous child who prays for him." — Prophet Muhammad ﷺ (Sahih Muslim)
This is the knowledge left behind.
A helper, a second brain, a family vault, a digital estate.