Security and IT review
For IT, security and procurement teams reviewing Concierge, operated by Digimasters Ltd. Last updated 2 November 2026. The permission, data, AI and service lists below are produced from Concierge's own code, so they match what it actually does.
At a glance
- Hosted in the EU (Amsterdam), on Railway; the web app is served by Vercel.
- Delegated access only: Concierge acts as each signed-in person, with the permissions they (or their IT) approve. No application permissions in client organisations, no stored passwords, no borrowed app identities, no scraping.
- Read live, not copied: email, Teams and your directory are read when someone looks and aren't stored. Calendars are kept as an encrypted copy so free time can be worked out.
- Encrypted: tokens and content are encrypted at rest with each organisation's own key (AES-256-GCM), itself locked by a key of the organisation's own in AWS Key Management Service; everything travels over HTTPS.
- Separated: every organisation's data is fenced off in the database itself (row-level security), checked automatically on every change.
- AI under your control: off unless your organisation turns it on, with the providers your IT allows; any account can be kept away from AI; speech is turned into text on Concierge's own server.
- Audited: every read and change by a person, an AI agent or Digimasters' support is in your organisation's audit log.
What Concierge does
- One view of calendars and email across client, business and personal Microsoft 365 and Google accounts, with who sees what set by each account's owner.
- Find a time and booking pages: free time across accounts and colleagues (free/busy only), within each person's rules.
- Busy blocks (off unless a person turns them on for one of their calendars): a plain private "Busy" in that calendar for each busy time in their other calendars over the next 60 days, so colleagues there don't double-book them. Only the times go across: never a title, place, attendee or note, and nobody is invited. Switching it off removes them all. If the calendar's organisation doesn't allow apps to add events, Concierge says so and doesn't work around it.
- Actions: what people owe and are waiting on, found in email and Teams, with reminders and drafted chasers.
- Meeting notes and briefs: notes from Teams transcripts or Copilot's notes, and summaries by email or Teams.
- The Notetaker (off until an organisation's admin turns it on): a meeting bot, shown as the person's name with "Note Taker", for meetings Concierge can't read through Microsoft: Zoom, Google Meet, Webex and other organisations' Teams. It joins only meetings hosted outside the account's own organisation, by each person's rules, or a meeting a person sends it to by pasting its link (the same organisation switch, admin approval, hours limit and own-organisation Teams rule apply); it doesn't announce itself; a refusal at the lobby, a removal or a block by policy is final. No video is recorded and the audio recording is deleted at the vendor (Recall.ai, EU region) as soon as the transcript is fetched; the transcript follows the account's transcript setting.
- PM Helper: suggested folders and rules to keep an inbox in order, applied only when the person agrees.
- AJ, the assistant: answers questions, drafts replies and prepares replies to meeting requests. It can't approve anything, and sends email only when a person chooses that for meeting requests.
- AI agents (for example OpenClaw, Claude or ChatGPT) can use Concierge over MCP, each with its own token and only the access its owner gives it; sending to someone new needs the owner's approval.
Access it needs
People connect their own accounts on Microsoft's or Google's own sign-in page; Concierge never sees a password. Every permission is delegated: Concierge can only do what that person could, in their own mailbox and calendar. For a client organisation, IT can approve Concierge once for everyone, choosing which optional parts to allow (inbox rules, Teams, transcripts, Copilot's notes, the directory), with an approval link and a note for IT from inside Concierge. If IT doesn't approve, Concierge offers documented fallbacks (a calendar link) rather than working around the policy.
Microsoft 365 and Outlook.com
| Permission | What it allows | What it's for | When it's asked | Who approves |
|---|---|---|---|---|
openid | Sign in | Identifies the person signing in (also asked of Google) | Every account | The person (or IT, if the organisation requires it) |
profile | Basic profile: name and the account's unique id | Knowing who connected the account (also asked of Google) | Every account | The person (or IT, if the organisation requires it) |
email | The account's email address | Knowing which mailbox it is (also asked of Google) | Every account | The person (or IT, if the organisation requires it) |
offline_access | Keep access between sign-ins (a refresh token) | Syncing calendars and reading mail without asking to sign in again | Every account | The person (or IT, if the organisation requires it) |
User.Read | Read the signed-in person's own profile | The account's name and organisation | Every account | The person (or IT, if the organisation requires it) |
Mail.ReadWrite | Read the person's mail; mark read, flag, move to folders and the bin; save drafts | The combined inbox, actions found in email received and sent, PM Helper filing and drafts | Every account | The person (or IT, if the organisation requires it) |
Mail.Send | Send mail as the person | Sending replies and invitations the person (or an assistant they allowed) sends | Every account | The person (or IT, if the organisation requires it) |
Calendars.ReadWrite | Read and change the person's calendars | The combined calendar, free/busy, booking pages, answering invitations, and Busy blocks where the person turns them on | Every account | The person (or IT, if the organisation requires it) |
MailboxSettings.Read | Read time zone, working hours and automatic replies | Working hours and out of office when finding times | Every account | The person (or IT, if the organisation requires it) |
MailboxSettings.ReadWrite | Create and change Outlook inbox rules and category colours | PM Helper's rules, only for a mailbox where its owner allows rules | Only when turned on for an account | The person (or IT, if the organisation requires it) |
Chat.Read | Read the person's Teams chats | Teams in Concierge (read only; nothing is posted) | Only when turned on for an account | The person (or IT, if the organisation requires it) |
Team.ReadBasic.All | List the teams the person is in | Teams in Concierge | Only when turned on for an account | The person (or IT, if the organisation requires it) |
Channel.ReadBasic.All | List the channels in those teams | Teams in Concierge | Only when turned on for an account | The person (or IT, if the organisation requires it) |
ChannelMessage.Read.All | Read messages in channels the person can see | Teams in Concierge | Only when turned on for an account | The organisation's admin |
OnlineMeetings.Read | Find the Teams meeting behind a calendar event | Meeting notes from Teams | Only when turned on for an account | The person (or IT, if the organisation requires it) |
OnlineMeetingTranscript.Read.All | Read transcripts of meetings the person attended | Meeting notes from transcripts (an organisation can approve Copilot's notes without this) | Only when turned on for an account | The organisation's admin |
OnlineMeetingAiInsight.Read.All | Read Microsoft 365 Copilot's notes on those meetings | Meeting notes from Copilot's notes | Only when turned on for an account | The organisation's admin |
User.ReadBasic.All | Names and email addresses of people in the person's organisation | Finding a colleague when choosing who an action is for, sharing notes or inviting someone | Only when turned on for an account | The person (or IT, if the organisation requires it) |
| Permission | What it allows | What it's for | When it's asked | Who approves |
|---|---|---|---|---|
gmail.modify | Read the person's Gmail; label, archive, trash, star; save drafts and send | The combined inbox, actions found in email received and sent, PM Helper filing, drafts and replies | Every account | The person |
calendar.events | Read and change events in the person's calendars | The combined calendar, booking, answering invitations, and Busy blocks where the person turns them on | Every account | The person |
calendar.readonly | List the person's calendars and their settings | Choosing which calendars to sync | Every account | The person |
gmail.settings.basic | Create and change Gmail filters | PM Helper's rules, only for a mailbox where its owner allows rules | Only when turned on for an account | The person |
Google also asks for sign-in, email address and basic profile, as above. The only application (app-only) permission Concierge holds is in Digimasters' own Microsoft 365, to send its own emails from support@digimasters.co.uk, and Exchange restricts it to that one mailbox.
How data is protected
- Sign-in: people sign in with their organisation's Microsoft 365 (OpenID Connect with PKCE, nonce and state checks, tokens verified against Microsoft's keys). Sessions are cookies that scripts can't read (HttpOnly, Secure, SameSite, and
__Host-so only Concierge's own address can set them), stored only as a one-way hash, and end after 30 days without use. Digimasters' platform console also needs a passkey, every 12 hours. - Encryption: account tokens and stored content (calendar details, actions, meeting notes and more, marked below) are encrypted with AES-256-GCM using the organisation's own data key, and each value is tied to its row so it can't be moved. Each organisation's data key is stored only locked by a key of that organisation's own in AWS Key Management Service (London), which only Concierge's servers may use, only for that organisation, and which records every use; the unlocked key is kept only in memory. Concierge's own keys come from the hosting's secret settings, never the code, and can be rotated without downtime. Tokens are never written to logs; email addresses are taken out of every log line.
- Separation between organisations: the database itself refuses any read or write outside the organisation a request is for (PostgreSQL row-level security on every organisation's table), and an automated check tries to cross that line on every change to the code.
- Who sees what: each account's owner decides what each colleague and AI agent may see and do (calendar, email, Teams, actions), down to free/busy only; private events show as busy. Every read and action goes through that one access layer, for the web app, the assistant and AI agents alike.
- Approvals: an AI agent or colleague sending email to someone new, or booking outside the rules, waits for the account owner's approval.
- Digimasters' own access: Digimasters runs Concierge but can't see inside an organisation. Support access is read-only, for a limited time (24 hours by default, at most 72), only once an admin agrees, and viewing as a person also needs that person's agreement; it's all in the audit log.
- Public pages: booking pages have a bot check (Cloudflare Turnstile), rate limits and input checks; every other page needs sign-in.
- Backups: the database is backed up by the hosting; deleted data can remain in backups for up to 27 more days, until they expire. When an organisation closes, its key in AWS Key Management Service is withdrawn (and destroyed 7 days later), so everything Concierge stored encrypted for it can't be read in those backups either; what isn't encrypted (names, email addresses, dates and settings) stays in them until they expire. The deletion certificate says which applies.
What it keeps, and for how long
Never stored:
- Passwords: people sign in on Microsoft's or Google's own page; Concierge never sees them
- Email: read live each time it's shown and never stored, except an email waiting for its owner's approval
- Teams messages and your organisation's directory: read live, never stored
- Other people's calendars: only free and busy times, asked at that moment, never stored
- Recordings when you speak to AJ: turned into text on Concierge's own server and thrown away
- Card or bank details: Concierge never sees them (invoices are issued and paid through Digimasters' accounting system)
Everything Concierge keeps is listed below, table by table. Each is also deleted when its organisation closes; disconnecting an account deletes what came from it at once, and a person who leaves has everything of theirs deleted after 30 days. People can export their own data at any time, and an organisation's admins its records.
People and sign-in
| What | Encrypted | Kept | Table |
|---|---|---|---|
| People and AI agents in the organisation: name, email address, role, home time zone and Microsoft sign-in ids | No | Until the person is removed (then deleted after 30 days) | people |
| Signed-in sessions, stored only as a one-way hash of the browser's cookie | No | Until they end or expire | sessions |
| Passkeys for Digimasters' platform console (public keys only) | No | Until removed | passkeys |
| Invitations to join: who invited whom and when, and a one-way hash of the link | No | Until the person is removed (then deleted after 30 days) | invitations |
| Each person's view choices (grouping, colours) | No | Until the person is removed (then deleted after 30 days) | view_prefs |
| The order each person likes their accounts in | No | Until the person is removed (then deleted after 30 days) | account_order |
| Each person's colour for each account | No | Until the person is removed (then deleted after 30 days) | account_colours |
Connected accounts and who sees what
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Each connected Microsoft or Google account: label, owner, status, settings and its access and refresh tokens | Yes | Until disconnected (tokens are revoked where the provider allows) | connected_accounts |
| A connection in progress: a one-time code and where to return | Yes | A day at most | oauth_states |
| A connection's tokens waiting to be attached to the person who started it | Yes | 10 minutes | pending_connections |
| Who may see what in each account (calendar, email, Teams and actions levels) | No | Until the account is disconnected | access_grants |
| Change notifications from Microsoft and Google (ids and expiry, no content) | No | Until the account is disconnected | provider_subscriptions |
| Results of the first connection tests in October 2026: whether each account connected (no mail or calendar content) | No | Kept | phase0_results |
| A person's own Zoom connection for the Notetaker (Zoom meetings run by other organisations): the Zoom user's id and its sign-in tokens, encrypted, and while connecting, a one-time check value | Yes | Until the person disconnects Zoom or leaves | zoom_connections |
Calendars
| What | Encrypted | Kept | Table |
|---|---|---|---|
| The calendars in each account and which are synced | No | Until the account is disconnected | calendars |
| The plain "Busy" events Concierge added to calendars where their owner turned on Busy blocks: the calendar's event id, an opaque tag and the times; never what the busy time was | No | Until the blocks are removed (switched off or Remove all blocks) or the account is disconnected | busy_blocks |
| A copy of events from 30 days back to a year ahead: times and free/busy, with the title, place, notes, attendees, organiser and meeting link encrypted | Yes | Refreshed at each sync; deleted when an event leaves that window or the account is disconnected | events |
| Where a person is on which dates (trips and home), for time zones and working hours | No | Until the person is removed (then deleted after 30 days) | location_periods |
| Which calendars count as out of office | No | Until the person is removed (then deleted after 30 days) | ooo_sources |
| Each Microsoft mailbox's time zone, working hours and whether automatic replies are on | No | Until the account is disconnected | mailbox_status |
| UK bank holidays, from gov.uk | No | Kept | bank_holidays |
| What | Encrypted | Kept | Table |
|---|---|---|---|
| An email waiting for its owner's approval (someone else asked to send it to someone new) | Yes | Until decided, then 30 days | outgoing_emails |
| Where each mailbox's new-mail and sent-mail checks are up to (positions, no content) | No | Until the account is disconnected | mail_watch |
Teams and meeting notes
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Where each Teams check is up to (a position, no content) | No | Until the account is disconnected | teams_watch |
| A Teams workflow link a person added, to post their briefs | Yes | Until the person is removed (then deleted after 30 days) | teams_links |
| Teams meetings waiting for their transcript or Copilot's notes (ids and state) | No | Until the account is disconnected | teams_meeting_checks |
| Meeting notes: summary, decisions and action items, and the transcript only while the account's setting keeps it | Yes | 13 months (transcripts sooner, as the account's setting says) | meeting_notes |
| The Notetaker's meetings (from the person's calendars, or sent by a meeting link they pasted): which account sends it, what its rules decided, the person's and an admin's answers, and the bot's status codes from the vendor; the meeting's title, join link and the reason are encrypted. Never audio, video or the transcript (the transcript goes into the meeting note) | Yes | 13 months after the meeting, or until the account is disconnected | notetaker_joins |
| The Notetaker's time in each meeting, for billing: who, which account and platform, when, minutes (and whether it was only in the lobby), the vendor's cost and the organisation's price; no titles or content | No | 13 months | notetaker_usage |
| Briefs a person set up: when, who for and what to include | No | Until the person is removed (then deleted after 30 days) | briefs |
| Who gets each brief | No | Until the person is removed (then deleted after 30 days) | brief_recipients |
| Each brief sent: when, to whom, and a copy for its recipients | Yes | Copies 30 days; the record 13 months | brief_runs |
Actions
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Actions: status, type, priority and dates, with the title, project, where it came from and drafts encrypted | Yes | Open ones while open; closed ones 13 months | actions |
| What changed on each action, when and by whom (not the content) | No | With its action | action_history |
| How sure each guess was and whether it was right (no content) | No | 13 months | action_signals |
| Each person's clients: names and email domains | Yes | Until the person is removed (then deleted after 30 days) | clients |
| Each person's contacts: names and addresses | Yes | Until the person is removed (then deleted after 30 days) | contacts |
| Which client a person chose for which senders and conversations, to suggest it next time | Yes | 13 months unused | client_memory |
| Who a person chose to do actions from which senders and conversations | Yes | 13 months unused | owner_memory |
| A reference to messages read for actions and what was decided, to train a sorter that runs on Concierge's own servers (only where the account allows) | Yes | 13 months | training_examples |
| A person's monday.com token and profile, to mirror their actions | Yes | Until the person is removed (then deleted after 30 days) | monday_connections |
| Which monday.com boards actions go to | Yes | Until the person is removed (then deleted after 30 days) | monday_boards |
| Which monday.com item mirrors which action, and what was last sent | Yes | With its action | monday_items |
| monday.com change notifications (a one-way hash of each secret) | No | Until the person is removed (then deleted after 30 days) | monday_webhooks |
| How many monday.com calls each person used each day | No | Until the person is removed (then deleted after 30 days) | monday_usage |
AI and the assistant (AJ)
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Every AI call: who, which feature and model, tokens, time and cost (never content) | No | 13 months | ai_usage |
| Prices per model | No | Kept | ai_prices |
| An organisation's own AI provider keys, if it uses them | Yes | Until removed | org_ai_keys |
| Requests for more AI calls, with the reason given | Yes | 13 months | ai_requests |
| The organisation's shared AI allowance | No | While the organisation uses Concierge | ai_pool_state |
| Top-ups of that allowance | No | While the organisation uses Concierge | ai_pool_topups |
| AJ's tips shown or turned off for each person, and their choice for meeting requests (no content) | No | Until the person is removed (then deleted after 30 days) | aj_state |
| What AJ prepared for a meeting request: who asked, the times offered and the reply | Yes | 30 days | aj_meeting_help |
PM Helper
| What | Encrypted | Kept | Table |
|---|---|---|---|
| A proposed inbox plan (folders and rules) while it's being reviewed | Yes | Until applied or ignored, or 30 days | pm_plans |
| PM Helper's rules for each mailbox | Yes | Until the account is disconnected | pm_rules |
| Applying, undoing or tidying with a plan: progress and problems | Yes | Until the person is removed (then deleted after 30 days) | pm_runs |
| Which messages a plan moved, so it can be undone (ids only) | No | 7 days (the undo window) | pm_moves |
| Rules removed in the last 30 days, so PM Helper doesn't suggest them again | Yes | 30 days | pm_retired_rules |
| PM Helper's settings for each mailbox | No | Until the account is disconnected | pm_mailboxes |
Booking pages
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Booking page meeting types: name, length, hours and questions | No | Until the person is removed (then deleted after 30 days) | meeting_types |
| Each person's scheduling rules, approval settings and quiet hours | No | Until the person is removed (then deleted after 30 days) | scheduling_settings |
| Addresses and domains a person marked as VIPs | No | Until the person is removed (then deleted after 30 days) | vips |
| Addresses or domains a person won't take bookings from | No | Until the person is removed (then deleted after 30 days) | booking_blocklist |
| Single-use booking links (a one-way hash of each) | No | Until the person is removed (then deleted after 30 days) | booking_links |
| Meetings booked through booking pages or by agents: who, when, their answers and status | No | Until the person is removed (then deleted after 30 days) | bookings |
| Recent requests to public pages, as one-way hashes, to limit abuse | No | 2 days | rate_events |
AI agents
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Each AI agent's access token, stored only as a one-way hash | No | Until replaced or the agent is deleted | agent_tokens |
| Notices for AI agents, and where to find the email and Teams messages the person sent, for finding actions, never shown to agents (ids and labels, no content) | No | 7 days | agent_events |
| What wakes each AI agent | Yes | Until the agent is deleted | agent_notice_settings |
| An agent's last answers, so a retried request isn't done twice | Yes | 24 hours | mcp_idempotency |
Notifications
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Phones and computers that get notifications (their push address) | Yes | Until turned off or the person is removed | push_devices |
| Each person's choices for which notifications they get, by phone and email (no content) | No | Until the person is removed (then deleted after 30 days) | notification_prefs |
The organisation, billing and support
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Each organisation: name, address in Concierge, status, and its own data key, itself encrypted by a key of the organisation's own in AWS Key Management Service (which key, and when it moved there) | Yes | Until closed (its AWS key is then destroyed) | organisations |
| The organisation's verified email domains | No | While the organisation uses Concierge | org_domains |
| The organisation's logo, colour and short name (public by design) | No | Until removed | org_branding |
| Plans: features, limits and prices | No | Kept | plans |
| Each plan's prices by month | No | Kept | plan_prices |
| Billing details: legal name, billing address, invoice email, VAT number and purchase-order reference | No | While the organisation uses Concierge | org_billing |
| Which days each person had a seat, to charge by the day | No | As long as accounts must be kept | seat_days |
| Monthly invoices: lines, totals and status | No | As long as accounts must be kept | invoices |
| Monthly statements of use | Yes | While the organisation uses Concierge | statements |
| Digimasters' support access: who asked, why, who agreed and for how long | No | While the organisation uses Concierge | support_grants |
| Feedback people send, with an optional screenshot and Digimasters' reply | Yes | 24 months | feedback |
| Data exports people asked for, for them to download | Yes | 7 days | data_exports |
| Certificates for closed organisations: name, dates and counts of what was deleted (never content) | No | Kept | deletion_certificates |
| The organisation's settings (AI, actions, AJ and others) | No | While the organisation uses Concierge | app_settings |
Running Concierge
| What | Encrypted | Kept | Table |
|---|---|---|---|
| Who read or changed what, and when; never content | No | Kept (the organisation's record) | audit_log |
| Background work (ids, no content) | No | 7 days after it finishes | jobs |
| Errors, grouped, with the message (email addresses taken out) | No | 30 days | error_reports |
| Help searches that found nothing (the words searched) | No | 13 months | help_misses |
| Concierge-wide settings (Digimasters' own) | No | Kept | platform_settings |
| Currency rates from the European Central Bank | No | Kept | fx_rates |
AI
AI is off for an organisation until it's turned on, either through Digimasters' package or with the organisation's own keys. Admins choose which providers may see the organisation's data, and any account can be kept away from AI, so nothing from it reaches an AI service or an AI agent. Concierge uses providers' business APIs; each provider's own terms apply (below). Speaking to AJ is turned into text by Concierge's own speech service on its own servers in the EU, not an AI company. Every AI call is recorded (who, feature, model, tokens, cost), never its content.
| Feature | What it sends |
|---|---|
| Assistant chat | Questions to AJ, and what AJ reads to answer (as the person, with their access): calendar, email, actions, notes |
| Today briefing | The day's meetings, approvals and email headers, to pick what's worth a look and write a summary |
| Briefing emailed now | The same, for a briefing emailed on request |
| Daily briefing email (before briefs) | The same, for the daily briefing email |
| Briefs sent | A brief's period: email senders, subjects and first lines, Teams messages, meetings, meeting notes and actions |
| Brief previews and tests | The same, for a brief's preview or test |
| Meeting notes | A meeting's transcript (or pasted notes) and its title and time, to write the summary, decisions and action items |
| AI reply drafts | The email being replied to, to draft a reply the person checks |
| PM Helper review | Grouped facts about a mailbox's recent email (senders, domains, counts, a few subjects), never bodies |
| PM Helper Review again | The same, and the rules already in force |
| PM Helper Ask for changes | The plan and the person's request for changes |
| PM Helper AI tagging | Each new email's sender, subject and first lines, only where AI tagging is on |
| PM Helper weekly review | The same grouped facts, weekly, only where the mailbox's AI switch is on |
| Pre-sorting for actions (Jev) | Each new message from a person, to Jev (TypeSafe, through OpenRouter), only where the owner turns pre-sorting on |
| Finding actions | Each new email or Teams message from a person, and each email or Teams message the person sends (the whole text, or its first lines if the account says so), to find actions |
| Checking actions (done, chasers) | Replies in an action's conversation, to tell whether it's done and draft a chaser |
| Filling in Make an action | One message, to fill in Make an action |
| AJ: replies to meeting requests | A request to meet (as the action finder read it), to understand it and write the reply's opening and closing lines; Concierge picks the times itself |
| Settings test | A short test message when an admin tests the AI settings |
The providers an organisation can choose
| Provider | Where, and its data terms |
|---|---|
| Anthropic (Claude) | Anthropic, USA. API data isn't used for training and is deleted within 30 days. |
| OpenAI (GPT) | OpenAI, USA. API data isn't used for training by default and is kept up to 30 days for abuse monitoring. |
| Azure OpenAI (in Digimasters' Azure) | Runs in your own Azure subscription, in the region you choose (e.g. UK South or Sweden Central). Not used for training. |
| Google Gemini | Google. With billing on (paid tier), API data isn't used to improve Google's products. On the free tier it may be, so don't use the free tier with email. |
| Mistral (EU) | Mistral AI, France: data stays in the EU. Paid API data isn't used for training. |
| OpenRouter (many models, one key) | OpenRouter, USA, passes each request to the model's maker, whose own data policy then applies. Check both. |
| Ollama (cloud or your own server) | Ollama Cloud says prompts aren't used for training. On your own server, nothing leaves your control. |
| Other (OpenAI-compatible) | Depends on the provider: check its API data terms before using it with email. |
Where it runs and who else is involved
| Service | What for | What it sees | Where | Used |
|---|---|---|---|---|
| Amazon Web Services (AWS Key Management Service) | Holds a key of each organisation's own that locks the organisation's data key, so a closed organisation's data can't be read again, backups included | Each organisation's data key, sent to be locked or unlocked, and the organisation's id; never the data itself | UK (London) | Always |
| Railway | Hosting: Concierge's servers, database and its own speech-to-text service | Everything Concierge stores, encrypted as described | EU (Amsterdam) | Always |
| Vercel | Hosting the web app and passing its requests to Concierge's servers | Requests in transit (encrypted), not stored; the sign-in check sees only the session and the page address | Edge locations near the user; sign-in check in US East | Always |
| Microsoft | The accounts people connect, and sign-in | What each person's approval allows (above) | Each customer's own Microsoft 365 | Always |
| Gmail and Google Calendar accounts people connect; Gmail change notifications | What each person's approval allows (above) | Each person's own Google account | Always | |
| The organisation's AI provider | AI features, when an organisation turns AI on (Anthropic by default; its admins choose from the providers they allow) | As listed under AI | Depends on the provider (an EU option is available) | Only if turned on |
| OpenRouter and TypeSafe (Jev) | Optional pre-sorting of messages for actions | Each new message from a person, where the owner turns pre-sorting on | United States | Only if turned on |
| Cloudflare Turnstile | The "I'm human" check on public booking pages | The booking visitor's browser check | Global | Only if turned on |
| Apple, Google, Mozilla and Microsoft push services | Delivering phone and browser notifications | The notification's title and short text | The device maker's service | Only if turned on |
| Xero | Digimasters' accounts: monthly invoices for organisations that pay | Billing details and each invoice's lines and totals (no people's names) | Xero's cloud | Only if turned on |
| Recall.ai (EU region) | The Notetaker's meeting bots, when an organisation turns the Notetaker on: joining Zoom, Google Meet, Webex and other organisations' Teams meetings, and making their transcripts | The meeting's join link, the bot's name (the person's name with "Note Taker") and the meeting's audio while the bot is in it; the recording is deleted as soon as Concierge has the transcript (24 hours at most). Only Concierge's own row id as metadata | EU (Frankfurt; its transcription in Dublin) | Only if turned on |
| Zoom | For the Notetaker in Zoom meetings run by other organisations: each person who wants it connects their own Zoom account once (Digimasters' Zoom app, permission user:read:token), and Concierge asks Zoom for a short-lived "on behalf of" token for each such meeting, which works only while that person is in it | The person's Zoom sign-in (kept encrypted) and the meeting number; nothing from the meeting itself | Zoom's cloud | Only if turned on |
| monday.com | Mirroring a person's actions to their own boards, if they connect it | The actions they choose to mirror | monday.com's cloud | Only if turned on |
| Microsoft 365 (Digimasters' own) | Concierge's own emails (invitations, notices) from support@digimasters.co.uk | The recipient's address and the notice | Digimasters' Microsoft 365 | Always |
| gov.uk, the European Central Bank and Hugging Face | UK bank holidays, currency rates, and downloading the open speech model | Nothing about people | — | Always |
Your controls
- Admins: which features the organisation uses, AI on or off and the providers allowed, verified domains and who may sign in, invitations and removing people, viewing the audit log, exporting the organisation's records, and closing it (everything deleted 30 days after, with a deletion certificate).
- Each person: which accounts to connect, what each colleague and agent may see, keeping an account away from AI, disconnecting an account (its data deleted at once), exporting their own data, and leaving.
- IT: approve Concierge for the organisation with only the parts you choose, and remove it at any time at myapps.microsoft.com or in Entra (Enterprise applications).
- Keeping the Notetaker out of your meetings: its bot is an outside participant, so your meeting platform's own settings decide. In Teams, set the meeting policy's external bot access (
Set-CsTeamsMeetingPolicy -ExternalBotAccessMode BlockDetectedBots), or keep outside guests in the lobby; in Zoom, Meet and Webex, refuse it at the lobby or remove it. Concierge treats any of these as final and never tries another way in. An organisation using Concierge can also list your domain as never-record.
Assurance
- Data processing agreement and subprocessor list: being prepared; ask us for the current draft.
- Penetration test: an independent test is being arranged.
- Microsoft publisher verification: in progress.
- Certifications: Concierge isn't ISO 27001 or SOC 2 certified; the hosting providers carry their own.
Read the privacy policy for how personal data is handled. Questions, or a security concern: contact Digimasters Ltd.
To keep a copy, print this page or save it as a PDF from your browser.