Log inStart building →
LAST UPDATED 2026-09-24

Privacy policy.

PrjLab (prjlab.com) is operated by its founder as an early-access service. This page explains, in plain words, what is stored, why, and what you can do about it. Questions: abdellah.jaize@gmail.com.

Your account

Sign-in is handled by a dedicated Microsoft Entra External ID tenant. It stores your email address and password (or the identity provider you sign in with); PrjLab never sees or stores your password. From the sign-in we keep a stable identifier of your identity, the handle you choose, the display name and bio you may add, and the time the account was created.

Your repositories

Everything you push with the CLI — files, project instructions, project memory and saved sessions — is stored as immutable versions, encrypted at rest with a key held by the service. PrjLab can decrypt your content to render previews and to serve clones to the people you allow; this is not end-to-end encryption. Private repositories are visible only to you and the handles on their Access tab. Making a repository public publishes every version to anyone on the internet, including search engines, until you make it private again or delete it.

The CLI captures only the folder you point it at, honours .gitignore and .prjignore, and skips obvious secrets such as .env files and keys. It is a safety net, not a scanner: review prj status before pushing.

Operational records

Access changes (invitations, accepted or revoked access, publishing, renaming, deletion) are written to an audit log with your account identifier and a timestamp so the history of who could see a repository can be reconstructed. Web server logs record IP address, user agent, request path and time for security and debugging and are rotated within a few weeks.

Cookies and sessions

Signing in sets a strictly necessary session cookie (__Host-prjlab) that expires after at most one hour and a short-lived cookie during the sign-in handshake. You can see and end every browser session in account settings. The CLI stores a short-lived token in your user configuration folder; prj logout removes it.

Analytics and session replay

PrjLab uses PostHog (EU cloud, hosted in the European Union) to understand how the product is used: page views, clicks and errors, and session replays of the interface. Replays mask every form input, so the text you type is never recorded. After you sign in, events are linked to your account identifier and handle so problems can be traced to a session; repository and version identifiers are replaced by placeholders before any URL is reported, and repository contents are never sent to PostHog. PostHog sets its own cookies and local storage entries for this purpose. A notice on your first visit points to this section.

Where data lives and how long

The service runs on Microsoft Azure in Sweden Central (EU). Encrypted nightly backups of the database and stored files are kept in Azure Blob Storage in the same region so the service can be restored after a failure. Deleted repositories and accounts are removed from the live service immediately and disappear from backups as those are rotated; backup retention is currently unbounded in early access and will be reduced to a fixed window before general availability.

Your choices

You can export your account data as JSON and delete your account at any time from account settings. Deleting your account deletes every repository you own and removes you from repositories shared with you; versions you pushed to other people’s repositories stay with them, attributed to a retired handle. Repository owners can delete a repository from its Settings tab. You may also ask for access, correction or erasure by email; requests are answered within 30 days. If you are in the EU/EEA you can lodge a complaint with your local data-protection authority.

Who else processes data

Microsoft (identity, hosting and backups), PostHog (analytics) and Cloudflare (DNS and TLS in front of the site). No data is sold, and nothing is shared with advertisers.

Changes

Material changes are announced on the blog and by updating the date at the top of this page. Problems or questions: open an issue or write to abdellah.jaize@gmail.com.