---
title: Account
description: Review your profile, connected coding agents, git access, and account deletion.
sidebar:
  order: 16
---

The Account screen shows the Instagram, Google and Telegram accounts you sign in with,
your email address, and the public address of the selected site. Any connected account
signs you in. **Connect Google** adds Google to your account, and
**Disconnect** takes it off again while another sign-in account is still connected, because
an account needs one way in. A sign-in account already connected to another
Vizitka account cannot be linked here. Sign out to use that account instead.

Instagram hands over an address only when the account has one linked and you
granted the permission, and Telegram never does, so the email row can read
**Not provided**, and that has a cost: we cannot email you when somebody fills
in a form on your site. Every one of those alerts still reaches
[Notifications](/dashboard/notifications/).
Connecting Google fills the row in with the address Google has for you. There
is no way to type one in yet.

## Telegram

Choose **Connect Telegram** to sign in with Telegram and receive form
submissions in your chat, and word of a
[page that could not be shown](/dashboard/notifications/#a-page-that-could-not-be-shown). Allow the bot to send messages when Telegram asks. A
welcome message confirms it can reach you.

Every member can receive visitors' answers from every site they belong to,
without a separate approval from the owner. Long submissions
are shortened with a link to read the rest. Choose **Turn off alerts** to stop
messages while keeping Telegram sign-in; **Turn on alerts** resumes them.
If Telegram cannot reach you, unblock the bot and choose **Connect Telegram
again**. Disconnecting is available while another sign-in account remains.

Deleting a submission or your Vizitka account does not delete messages already
sent to Telegram. Delete those in Telegram too. Tell your visitors about this
channel in your site's privacy notice before using it for their information.

## Coding agents

The connection command points Claude Code at Vizitka's MCP server. Below it,
every authorized client shows when it connected, when it was last active, and
whether it can read only or can also edit.

Use **Disconnect** to revoke a client. Its current access stops immediately,
including access held in a token that has not expired. It must ask for your
permission again before returning.

Follow [Connect your agent](/connect-your-agent/) for the complete setup.

## Git access

Your site's code is a git repository, and you can clone it and push to it with
any git client. Under **Git access**, give a token a name, choose **Clone and
push** or **Clone only**, and pick one site or all your sites. **Make a token**
shows the token once, with the clone command beside it:

```sh
git clone https://git.vizitka.app/<site>.git
```

When git asks for a username and password, any username will do, and the
password is the token. Copy it before you leave the screen, because it is never
shown again. **Revoke** stops a token straight away.

A clone holds `main`, which is the live site, and the site's branches. Pushing
works like any other remote:

- **A branch** you push is checked the way a change on
  [Pages](/dashboard/pages/) is, and shows up on
  [Branches](/dashboard/branches/) to preview and merge.
- **A push to `main`** puts it live, after the same checks a merge makes. It has
  to build on what is live now: if the live site has moved on, pull first. It
  can't change your tables, though: a push to `main` that would is refused
  with the steps it would take, so push a branch and merge it on
  [Branches](/dashboard/branches/#tables).
- **History stays in a line.** A merge commit is refused, so rebase onto `main`
  instead of merging it in.
- **A force push** may rewrite any branch but `main`.
- **If anything in a push is refused,** none of it lands, and git prints why.
- **A push is never rewritten,** so run `vzk fix` before pushing: a file you
  changed that it would still change is refused.

Pages link to each other by plain address, like `<a href="/about">`. Moving a
page's file in a push doesn't rewrite those links for you, so update them in
the same push. A link that leads nowhere isn't refused: the push lands, and
git prints a warning that names it.

Every commit keeps the name and email your git is set to, and everyone who
clones the site can read them. To keep your own address out, set another for
this clone, such as `git config user.email you@users.invalid`.

## Delete your account

Deleting the account permanently removes the account and every organization
you own alone, with its sites and their pages. This cannot be undone. If an
organization you own has other members, make one of them its owner on the
[Organizations](/dashboard/organizations/) screen first, because until then the
deletion is refused. Organizations you're only a member of carry on without
you.

Disconnecting Instagram or a coding agent is separate from deleting the whole
account. Use the smaller action when you only want to remove one connection.
The same goes for a site: to remove one and keep the rest, use **Delete site**
on its [Site](/dashboard/site/) screen.
