YouSeemLegit

Security

Boring, on purpose.

Authentication is the one part of a product where being clever is a liability. Every choice below is the conservative one, applied consistently — and where we have a gap, it is written down rather than skipped.

Report a vulnerabilityRead the DPA

Credentials

Password hashing

bcrypt with a work factor of 12. Passwords are never logged, never returned by an API, and never recoverable — only replaceable.

Failed attempts

Failures are counted per account and trigger a progressive lockout, so an attacker cannot grind a single account.

Email verification

Addresses are verified with single-use, expiring tokens before an account is treated as established.

Two-factor

TOTP via any authenticator app, with backup codes issued once at enrollment and stored hashed.

Administrative accounts

Platform administrators are required to enroll in two-factor authentication. It is not optional and cannot be skipped.

Tokens & sessions

Short access tokens

Access tokens live one hour. A leaked one has a small window and cannot be extended.

Rotating refresh

Refresh tokens are single-use and replaced on every exchange, so a replayed refresh is detectable and useless.

Revocation

Any session can be revoked individually or in bulk, and revocation takes effect on the next request rather than at expiry.

Storage

Session and reset tokens are stored hashed. A copy of the database does not yield usable sessions.

Cookies

HttpOnly, Secure and SameSite on every cookie we set. Administrative sessions are capped at eight hours with SameSite=Strict.

OAuth & redirects

PKCE everywhere

Every third-party flow uses a code challenge, so an intercepted authorization code cannot be exchanged.

Single-use state

State values are bound to one flow and expire. Replaying a callback does not produce a session.

Redirect allow-listing

Codes are only delivered to URIs registered for that client. Matching is on scheme, host and path.

Parameter integrity

Query parameters you embed in a redirect URI are preserved exactly, so your own CSRF state survives the round trip.

Abuse & availability

Rate limiting

Sliding-window limits on sign-in, password reset and OAuth initiation, enforced centrally rather than per instance.

Transport

HTTPS only, with managed certificates and HSTS. Plain HTTP is redirected, never served.

Error monitoring

Exceptions are captured and alerted on, so failures are found by us rather than reported by your members.

Scheduled cleanup

Expired tokens, states and sessions are purged on a schedule instead of accumulating indefinitely.

Accountability

Append-only audit log

Sign-ins, failures, lockouts, verifications, resets and administrative actions are appended to a log the application never rewrites.

Attribution

Entries record the actor, the client, the IP and the user agent, so "who did this" has an answer.

Filterable and exportable

Filter by action, client, user or date range in the dashboard, and export the result.

Support actions are logged too

When an administrator unlocks an account or revokes a session, that is an audited event like any other.

Infrastructure

Hosting

Runs on Microsoft Azure App Service with a managed PostgreSQL database and restricted network access.

Encryption

TLS in transit; database and blob storage encrypted at rest by the platform.

Secrets

Credentials live in platform configuration, not in the repository, and are rotated independently of deploys.

Isolation

Each client’s users, sessions and audit entries are scoped to that client and queried through ownership checks.

Where we stand

What we don't have yet.

A security page that only lists strengths is a marketing page. Here is the rest of it.

We are not SOC 2 certified today.

We would rather say so than imply otherwise. If you need a completed audit to buy, we are not the right fit yet — tell us and we will say where we are honestly.

We do not have a bug bounty program yet.

We do read every report and respond. Email security@youseemlegit.com and you will hear back from a person.

We will sign a DPA.

Our standard data processing agreement is published and available to review before you commit to anything.

Your data leaves when you do.

Export your users and identity records at any time. Deleting your account deletes their credentials with it.

Responsible disclosure

Found something? Tell us.

Email security@youseemlegit.com with enough detail to reproduce the issue. We acknowledge reports within two business days and will keep you updated until it is closed. Please give us a reasonable window before publishing, and don't access data belonging to anyone but yourself while testing.

Contact: mailto:security@youseemlegit.com
Preferred-Languages: en
Policy: https://youseemlegit.com/security