observant
Docs · Guide

User identity & data sharing

Observant asks for the minimum it needs to hold a continuous one-on-one line with each of your users — and never for raw PII it doesn't need. You stay in control: you send the invite, your users opt in, and they can opt out at any time.

The identifier arrives with the opt-in

Observant follows up with each person continuously, so everyone needs a stable identifier. On the fast-start channels, the opt-in itself provides it — you share your magic link, each person who taps it picks where the conversation lives, and that choice tells us who they are. You hand over nothing.

ChannelWhat you doWhat identifies each person
EmailSend the invitation with your magic link from your own address — no list uploadThe email they opt in with
TelegramNothing — the magic link opens a private chat with the Observant botTheir Telegram handle — every conversation is a private 1:1
In-productPass a stable identifier when our snippet loads (data-sharing tier, guided setup)The hashed Observant ID (below)

That's why email and Telegram are the fastest way to launch — live this week, no SDK, no data handover. In-product is the only channel that needs an identity mechanism, because inside your product Observant can't see who it's talking to. It's a one-time, guided setup. (Running a customer Slack community and want the 1:1s there? That needs a workspace install on your side — talk to us.)

The Observant ID — in-product identity

When Observant lives inside your product, it can't ask each user "who are you?" again — and it shouldn't hold your real user IDs. So you pass a stable, unique, non-reversible identifier when the agent loads. We call it the Observant ID.

Three properties make it work:

// when the Observant agent loads in your product: Observant.setUserIdentifier(hash(yourInternalUserId)) // └─ stable, unique, one-way. // We store this; we can't reverse it.
What this costs you: a little integration work — generate the hashed ID and keep the real-ID ↔ hashed-ID mapping on your side. That one-time setup buys the richest surface: catching people at the exact moment of use.

What we deliberately never ask for

No names, no segments, no PII beyond what the opt-in itself carries — unless a user chooses to share something in their own 1:1. The identifier plus the conversation is enough to learn from, and your real user data stays where it belongs: with you.

Want to go further?

Sharing more is optional — and it's where Observant gets more powerful. Merge conversations with names, segments, and behavior data for richer analysis; add behavior triggers to control exactly when a conversation starts; or have us recruit the right people into your panel in the background. Book a call with us and we'll design it together.

Starting light

Most teams start on email or Slack/Discord — live in days, zero identity work — and add in-product once the program is delivering. When you're ready, the snippet plus the one line above is the whole setup. Questions about your specific stack? Get in touch — we'll walk it with you.