Внутри не просто чат: голос, звонки, почта, документы, поиск. И всё это помнит ваши дела, ваших клиентов и ваши файлы — потому что ничего не уходит наружу.It's more than a chatbot: voice, calls, email, documents, and search. All of it remembers your work, your clients, and your files, because nothing ever leaves your perimeter.
Доступ с любого устройства: на компьютере — в браузере, на телефоне — своё приложение для Android, которое обновляется из вашего же контура, без магазина приложений.You get in from any device: a browser on the desktop, our own Android app on the phone, updated from your own perimeter, with no app store in the loop.
Модели работают на вашем железе, у вас в периметре. Никакой внешний сервис в вашей работе не участвует и не видит её.The models run on your hardware, inside your perimeter. No outside service takes part in your work or gets to see it.
А когда система всё-таки идёт в интернет — за справкой, за реестром, за проверкой контрагента — она идёт туда обезличенно. Ни сайт, ни провайдер не видят, что приходила ваша компания.And when the system does need the internet, to look up a regulation, check a registry, or vet a counterparty, it goes there anonymously. Neither the website nor the provider can tell the request came from your company.
Чем это отличается от ChatGPT, Claude или DeepSeek в браузере? Не умом модели — здесь примерно то же самое. Отличается тем, что сюда можно занести то, что в браузер вы не понесёте: договор, переписку, карту клиента, запись разговора. Там у сервиса остаётся запись, кто и что спросил. Здесь такой записи не существует ни у кого.How is this different from ChatGPT, Claude, or DeepSeek in a browser? Not in how smart the model is; that's about the same here. The difference is what you can bring to it, things you'd never paste into a browser, like a contract, an email thread, a client record, or a recorded conversation. A cloud service keeps a log of who asked what. Here, nobody keeps that log, us included.
Облачный ИИ знает всё, кроме вашего бизнеса. dt-loom знает ваш бизнес и никому о нём не рассказывает.Cloud AI knows everything except your business. dt-loom knows your business and tells no one about it.
Это первый принцип, из него выводится всё остальное. Где есть выбор между «быстрее» и «внутри своего контура» — выбирается контур. Чужое облако отдаёт отклик быстрее и дешевле ровно потому, что работает на чужом железе и по чужим правилам; за это платят тем, что работа компании становится записью в чужой базе. Здесь так не делают: модели, данные, расшифровки, индекс и память тем живут на узлах, которыми распоряжается владелец.This is the first principle, and everything else follows from it. Whenever there's a trade-off between "faster" and "inside your own perimeter," the perimeter wins. Someone else's cloud responds faster and costs less precisely because it runs on someone else's hardware under someone else's rules. The price is that your company's work ends up as a record in a stranger's database. We don't work that way: models, data, transcripts, the index, and topic memory all live on nodes you control.
Разница не в размере модели, а в том, что вокруг неё: дисциплина источников, метки уверенности у каждого вывода, дата у каждого «сейчас» — и десятки инструментов под рукой, от правовой базы и архива документов до зрения и расшифровки. Это ближе к работе человека с научной школой и лабораторией, чем к разговору с языковой моделью: он не пересказывает по памяти, а идёт и проверяет.The difference isn't the size of the model but what's built around it: source discipline, a confidence label on every conclusion, a date on every "now", and dozens of tools at hand, from a legal database and a document archive to vision and transcription. It's closer to working with someone who has academic training and a lab of their own than to chatting with a language model. The Expert doesn't paraphrase from memory; it goes and checks.
Справка, реестр, проверка контрагента — наружу уходит запрос, а не тот, кто его задал, и не разговор, в котором он возник.A regulation, a registry, a counterparty check: what goes out is the query, not the person who asked it or the conversation it came from.
Факт приносит инструмент с проверяемым результатом; там, где инструмента нет, ответ помечается как экспертная оценка, а не выдаётся за справку.Facts come from a tool whose result can be checked. Where there's no tool for the job, the answer is labeled expert judgment instead of being passed off as established fact.
Скорость, качество и надёжность названы цифрами, с указанием, чем они мерены. Чего не мерили — так и называется.Speed, quality, and reliability are given as numbers, along with how they were measured. Anything we haven't measured is labeled as unmeasured.
Размер модели задаёт потолок. Рабочим ответ делает конструкция вокруг неё.Model size sets the ceiling. What makes an answer usable is everything built around the model.
Сначала источник, потом утверждение. Проверяемый факт — норма, цена, дата, версия — либо сверяется в том же ответе, либо прямо помечается как «по памяти, не сверено». Каждый вывод несёт метку: подтверждено, экспертная оценка, требует проверки.Source first, claim second. A checkable fact (a rule, a price, a date, a version) is either verified in the same answer or explicitly marked "from memory, unverified." Every conclusion carries a label: confirmed, expert judgment, or needs checking.
Дата у каждого «сейчас». Для меняющихся данных называется момент, к которому относится значение. Расхождение источников читается как признак устаревшего материала, а не как «вилка».A date on every "now." For data that changes, we state the point in time the value refers to. When sources disagree, we read that as a sign of stale material, not as a range.
Право сказать «не знаю» — часть конструкции. Остановка при нехватке данных разрешена явно. Это не вежливость, а тормоз выдумок.The right to say "I don't know" is part of the design. The model is explicitly allowed to stop when it runs out of data. That isn't politeness; it's a brake on making things up.
Меньше лишнего в контексте — меньше выдумок. Контекст подаётся по необходимости, а не «на всякий случай»: лишний справочный материал рядом с задачей даёт модели правдоподобные имена для ошибок.Leaner context means fewer fabrications. We supply context when it's needed, not just in case. Extra reference material sitting next to a task gives the model plausible names to pin its mistakes on.
Память темы растёт из правок человека. Уточнённые в работе правила предметной области становятся доменной надстройкой и не теряются между разговорами.Topic memory grows from your corrections. Rules for your field that you refine as you work are added to a domain layer and carry over from one conversation to the next.
Каждая задача — своим инструментом. Документы разбираются инструментами, а не пересказом по памяти. Долгая работа идёт в фоне с видимым прогрессом.Every task gets the right tool. Documents are parsed with tools, not paraphrased from memory. Long jobs run in the background with visible progress.
Ответ заканчивается делом. Без «хотите, я ещё…», без воды и эмодзи. Что делать дальше, решает человек.Answers end on substance. No "would you like me to…," no filler, no emoji. What happens next is up to you.
Голос не покидает контур. Голосовые, записи звонков и разметка участников обрабатываются открытыми моделями на узлах контура. Ни один звуковой фрагмент не уходит во внешний сервис распознавания.Voice stays inside the perimeter. Voice messages, call recordings, and speaker labeling are handled by open models on nodes inside the perimeter. Not a single audio fragment is sent to an external speech recognition service.
Два тракта, потому что у задач разная цена. Короткое голосовое идёт в быстрый тракт без разметки участников. Длинные записи, диктофон и звонки — в тяжёлый тракт с разметкой. Тракт выбирается по измеренной длительности звука, а не по типу файла.Two pipelines, because the jobs differ in cost. A short voice message goes through the fast pipeline, without speaker labeling. Long recordings, voice-recorder files, and calls go through the heavy pipeline, with labeling. We choose the pipeline by the measured length of the audio, not by file type.
Разметка участников дороже самой расшифровки: распознавание слов занимает 0,29 длительности записи, определение «кто говорит» — 0,95. Поэтому разметка включается там, где её результат читают.Speaker labeling costs more than the transcription itself: word recognition takes 0.29 of the recording's running time; identifying who is speaking takes 0.95. That's why we turn labeling on only where someone actually reads the result.
Расшифровки доступны Эксперту и Секретарю целиком. Текст каждого голосового и каждой записи ложится в рабочий слой темы, а не остаётся вложением: Эксперт ищет по всем расшифровкам, сводит несколько разговоров в одну картину и цитирует нужное место, Секретарь вынимает из них поручения, сроки и договорённости. Надиктованное голосом работает так же, как написанное руками.The Expert and the Secretary have full access to transcripts. The text of every voice message and recording goes into the topic's working layer instead of sitting as an attachment. The Expert searches across all transcripts, builds one picture from several conversations and quotes the exact passage; the Secretary pulls out tasks, deadlines, and agreements. Anything dictated works just like anything typed.
Звонки идут через собственный медиасервер, каждый участник записывается отдельной дорожкой. После разговора дорожки расшифровываются, реплики раскладываются по времени, и в беседу приходит протокол вида [MM:SS] участник: текст.Calls run through our own media server, with each participant recorded on a separate track. After the call, the tracks are transcribed, the turns are put in time order, and a transcript in the form [MM:SS] participant: text is posted to the conversation.
Исходное аудио хранится, пока транскрипт не готов — сорванную расшифровку можно повторить.Source audio is kept until the transcript is ready, so a failed transcription can be rerun.
Распознавание детерминированно: одна и та же запись внутри одного процесса даёт побитово одинаковый результат (замер снят на прежнем поколении узлов).Recognition is deterministic: within a single process, the same recording produces a bit-identical result (measured on the previous generation of nodes).
Синтез речи локальный, одним фиксированным голосом с закреплённым зерном генерации.Speech synthesis runs locally, in one fixed voice with a pinned generation seed.
Видеоконференция на своём медиасервере, до 8 участников. Отдельный сервис внутри рабочего места: встреча создаётся из беседы, участники подключаются с компьютера или телефона.Video conferencing on our own media server, up to 8 participants. It’s a separate service inside the workspace: you start a meeting from a conversation, and participants join from a computer or a phone.
Гость входит по внешней ссылке, без установки и без аккаунта. Ссылка — приглашение на конкретную встречу, а не доступ к контуру: гость видит только эту конференцию и ничего больше.Guests join via an external link, with nothing to install and no account required. The link is an invitation to one specific meeting, not access to the perimeter: a guest sees that conference and nothing else.
Разговор остаётся документом, а не воспоминанием. Встреча пишется и расшифровывается тем же трактом, что звонки: отдельная дорожка на участника, протокол с метками времени, текст уходит в рабочий слой темы — и дальше с ним работают Эксперт и Секретарь.The conversation is kept as a document, not left to memory. Meetings are recorded and transcribed by the same pipeline as calls, with a separate track for each participant and a timestamped transcript. The text then goes into the topic's working layer, where the Expert and the Secretary pick it up.
Медиа не выходит за контур: сигналинг, ключи доступа и запись держит свой сервер, сторонних конференц-сервисов в тракте нет.Media stays inside the perimeter: signaling, access tokens, and recordings are all held on our self-hosted, and there’s no third-party conferencing service anywhere in the pipeline.
Документы собираются и разбираются на своей машине. Сборка Word, PDF, презентаций и Markdown из текста ответа; чтение Word, PDF, Excel и сканов. Всё это делают открытые инструменты внутри контура.Documents are built and parsed on our own machine. We generate Word, PDF, presentation, and Markdown files from the text of an answer, and we read Word, PDF, and Excel files as well as scans. Open-source tools inside the perimeter do all of it.
Документ правится точечно, а не переписывается заново. Каждая правка привязана к уникальному фрагменту исходника. Если фрагмент встречается дважды, правка не применяется молча, а попадает в отчёт. Готовый файл сверяется с исходником по объёму: порог полноты — не меньше 60 % символов, иначе громкая ошибка вместо тихо усечённого документа.Documents are edited in place, not rewritten from scratch. Every edit is anchored to a unique fragment of the source. If that fragment appears twice, the edit isn't applied; it goes into a report instead of being silently dropped. The finished file is then checked against the source by length: it has to keep at least 60 % of the characters, or you get a loud error rather than a quietly truncated document.
Версия документа не может уйти назад. Номер редакции в имени файла только растёт; перед каждой правкой прежняя редакция сохраняется сама, без отдельной команды. Если рядом остался устаревший PDF или Word того же номера, сервис предупреждает об этом, а не отдаёт молча старый файл.A document version can’t go backwards. The revision number in the file name only ever increases, and the previous revision is saved automatically before each edit, with no extra command. If an outdated PDF or Word file with the same number is still sitting next to it, the service warns you rather than quietly serving the old file.
Сборка документа не может подтянуть чужой файл или выйти в сеть. Картинки и ресурсы берутся только из текущего разговора. Это закрыто после замера: без запрета рендер вкладывал в PDF посторонний файл — 189 629 байт против 2 256 байт у чистого документа.Document assembly can’t pull in an outside file or reach the network. Images and other resources come only from the current conversation. We closed this off after measuring it: without the restriction, the renderer embedded an unrelated file in a PDF, producing 189,629 bytes compared with 2,256 for a clean document.
Код и файлы обрабатываются в песочнице. Агент пишет только в каталог своего разговора, чужие каталоги и ключи ему не видны даже на чтение. Отказ при попытке записи наружу — штатная изоляция, а не сбой.Code and files are processed in a sandbox. The agent can write only to its own conversation’s directory; other directories and keys are hidden from it, even for reading. If a write outside that directory is refused, that’s the isolation working as intended, not a malfunction.
На правовой вопрос отвечает первоисточник, а не память модели. Сначала проверяется, существует ли документ и какая редакция действует, затем модель получает текст нормы и ссылается на него.Legal questions are answered from the primary source, not from the model’s memory. The system first checks that the document exists and which revision is currently in force. Only then does the model get the text of the provision, and it cites that text.
Узкие инструменты вместо универсального пересказа. Помимо общего набора у сервисов свои инструменты: почта, архив документов, медицинские снимки, рынок, лесное хозяйство, музыка. Инструмент даёт проверяемый результат, модель не рассказывает своими словами.Specialized tools instead of general-purpose paraphrase. On top of the shared toolset, each service has its own: mail, a document archive, medical imaging, market data, forestry, and music. A tool returns a result you can check, rather than the model retelling things in its own words.
Человек разговаривает с одним собеседником — но обслуживает этот разговор не он. Эксперт занят только ответом; всё, что вокруг, снято с него и роздано узким фоновым ролям. Это не экономия, а условие качества: модель, которая одновременно отвечает и обслуживает себя, отвечает хуже.You talk to a single counterpart, but that counterpart isn't the one keeping the conversation running. The expert focuses on the answer alone; everything around it has been taken off its plate and handed to narrow background roles. This isn't about cutting costs. It's a precondition for quality: a model that has to answer and do its own housekeeping at the same time gives worse answers.
Библиотекарь разбирает загруженные документы и ведёт по ним индекс — отдельной службой, а не внутри хода разговора. К моменту вопроса материал уже разобран.The librarian parses uploaded documents and keeps an index of them. It runs as a separate service, outside the conversation’s turns, so by the time a question comes in, the material has already been parsed.
Приёмщик расшифровок ждёт готовую расшифровку голосового и сам возвращает ход Эксперту. Человеку не нужно переспрашивать «ну что там» — ответ приходит, когда звук превратился в текст.The transcript handler waits for a voice message transcript to be ready and hands the turn back to the expert on its own. Nobody has to chase it with “any news?”: the answer arrives as soon as the audio has become text.
Секретарь проверяет напоминания раз в минуту и доставляет их в чат. Наблюдатель каждые пять минут проходит по сервису и ищет сбои, на которые никто не пожаловался. Простаивающие темы раз в полторы минуты получают сводку.The secretary checks reminders once a minute and delivers them to the chat. The observer sweeps the service every five minutes, looking for failures nobody has reported yet. Idle topics get a summary every ninety seconds.
Долгая работа — сборка, рисование, расчёт — уходит в фоновую очередь с видимым прогрессом, а не держит разговор. После каждого ответа отдельным шагом обновляются заметки памяти и проверяются цитаты.Long-running jobs, such as builds, image generation, and calculations, go to a background queue with visible progress instead of holding up the conversation. After each answer, a separate step updates memory notes and checks citations.
Ночной слой: разбор того, чего в разговоре не было. Пока никто не работает, отдельная коллегия ролей перечитывает прошедший день — и смотрит не на ответы, а на пропущенное: незаданные вопросы, противоречия между темами, нерассмотренные альтернативы, связи между разговорами, которые по отдельности не видны. Утром разбор ждёт отдельной темой, с датой.The night layer: a review of what the conversation missed. While nobody’s working, a separate council of roles rereads the day that just ended. It isn’t looking at the answers but at what got left out: questions nobody asked, contradictions between topics, alternatives nobody considered, links between conversations that you can’t see when you look at each one alone. In the morning, the review is waiting as a separate, dated topic.
Это лечит естественный дефект диалога: внутри разговора человек и модель идут по одной линии и оба не замечают, что линия выбрана. Взгляд со стороны, да ещё на весь день сразу, ловит то, что внутри хода не ловится. Тем же проходом обновляется память о человеке — чем он занят, что для него важно, какие у него ограничения.This addresses a natural flaw of dialogue: inside a conversation, the person and the model follow a single line, and neither notices that a line was ever chosen. An outside view, taken across a whole day at once, catches what you can’t catch from inside a single turn. The same pass updates what the system knows about the person: what they’re working on, what matters to them, what constraints they have.
Веб-поиск работает на собственном метапоиске, выход в сеть — обезличенный. Внешний платный поисковый API из тракта убран.Web search runs on our own metasearch service, and outbound traffic is anonymized. The external paid search API has been removed from the pipeline.
Сравнение делалось на одном корпусе, с ручной проверкой каждой выдачи — поэтому цифры малые и честные, без процентов «из воздуха».We ran the comparison on a single corpus and checked every result by hand. That's why the numbers are small and honest, with no percentages pulled out of thin air.
Поиск идёт от имени системы, а не человека. Поиск идёт через анонимизирующую сеть — сайту не виден ни человек, ни сам контур. При прямом открытии страницы по ссылке сайт видит выход контура, но не того, кто за ним.Searches go out under the system's name, not the person's. They're routed through an anonymizing network, so the site sees neither the person nor the perimeter. If a page is opened directly from a link, the site sees the perimeter's exit point, but not who's behind it.
У ИИ есть руки, но в закрытой комнате. Песочница видит только каталоги своего разговора. В сеть она выходит через один шлюз, ключей внешних сервисов у неё нет — их подставляет шлюз.The AI has hands, but it works in a locked room. The sandbox can only see its own conversation's directories. It reaches the network through a single gateway and holds no provider keys; the gateway adds them on the way out.
Ход ограничен потолками, а не доверием. У каждого хода свои пределы памяти, процессора, числа процессов, токенов и прироста файлов; превышение обрывает ход сразу. Для песочницы это 2 ГБ памяти, одно ядро, 256 процессов и не больше 1 ГБ новых файлов за ход.Each turn is bounded by ceilings, not by trust. Every turn has its own limits on memory, CPU, process count, tokens, and file growth, and hitting any one of them ends the turn immediately. In the sandbox, that means 2 GB of memory, one core, 256 processes, and no more than 1 GB of new files per turn.
В песочнице прочитанное в интернете не может записать себя в память. Песочница с выходом в веб не пишет в долговременную память: инструкция, найденная на сайте, не попадает в будущие разговоры. Это защита от того, чтобы страница управляла ассистентом.In the sandbox, nothing read on the web can write itself into memory. The web-enabled sandbox doesn't write to long-term memory, so an instruction found on a page never reaches future conversations. That's what stops a web page from steering the assistant.
Осинт-инструмент собирает по сети, а не пересказывает. Сбор идёт фоновой заявкой через тот же обезличенный выход, с жёсткими лимитами на число источников, глубину переходов и объём забранного. В журнал не пишутся ни цель заявки, ни содержимое; отказ выдаётся кодом из закрытого словаря. В контекст модели попадают только поля из белого списка — страница не может передать ассистенту ничего, кроме данных, которые инструмент разрешил внести.The OSINT tool gathers from the network; it doesn't paraphrase from memory. Collection runs as a background job through the same anonymized exit, with hard limits on the number of sources, link depth, and the volume of data retrieved. Neither the purpose of the job nor its content is logged, and refusals come back as codes from a fixed list. Only allowlisted fields make it into the model's context, so a page can't pass the assistant anything beyond what the tool lets through.
Каждое пространство — отдельная база и отдельный каталог. Чьё пространство, сервер определяет по входу пользователя, а не по телу запроса; выход за пределы каталога проверяется до любого чтения или записи.Each workspace has its own database and its own directory. The server determines whose workspace it is from the user's login, not from the request body, and any attempt to step outside the directory is caught before a single read or write.
Контур — не одна машина, а сеть узлов, связанных постоянными шифрованными трубами. На каждый сервис — своя труба: речь, синтез, поиск, почта, генерация. Упавшая труба уносит одну функцию, а не весь контур.The perimeter isn't a single machine. It's a network of nodes joined by persistent encrypted tunnels. Each service gets its own tunnel: speech, synthesis, search, mail, and generation. If one tunnel goes down, it takes one function with it, not the whole perimeter.
Трубы открываются только изнутри наружу. Узлы с данными и моделями не принимают входящих соединений из интернета: снаружи к ним ведут только трубы, открытые изнутри. Порта, открытого в интернет, у них нет.Tunnels only ever open from the inside out. Nodes that hold data and models accept no inbound connections from the internet; the only way in is through a tunnel opened from within. None of them has a port exposed to the internet.
Вход наружу один, и он стоит там, где данных нет — внешний ретранслятор только принимает шифрованный трафик и пересылает его по трубе внутрь. Своих баз, файлов и моделей у него нет.There's a single entrance, and it sits where the data isn't: an external relay that only accepts encrypted traffic and forwards it inward through a tunnel. It has no databases, files, or models of its own.
Уведомления тоже свои. Пуш о событии приходит через собственный сервис уведомлений контура — без Google и Apple, без сторонних SDK в приложении. Устройство получает сигнал от вашего контура, а не от облачной платформы, и маршрут уведомления ничем не отличается от остального трафика: та же труба, тот же один вход. Что попадает в текст уведомления — выбор установки: либо тема и начало ответа, либо только факт события без содержания.Notifications are self-hosted too. Push notifications arrive through the perimeter's own notification service: no Google, no Apple, no third-party SDKs in the app. The device gets the signal from your perimeter, not from a cloud platform, and notifications take the same route as all other traffic—the same tunnel, the same single entrance. What goes into the notification text is set per installation: either the topic and the start of the reply, or just the fact that something happened, with no content.
Обрыв трубы — штатное событие. Каждая труба под присмотром, который сам её перезапускает.A dropped tunnel is routine, not an incident. Each tunnel is watched by a supervisor that restarts it automatically.
Код 200 не считается доказательством жизни. Пустая страница, подменённая страница и откат на старую версию тоже отвечают 200. Поэтому проба ходит снаружи, по публичному имени, тем же путём, что и человек, и проверяет содержимое — контрольную строку и размер ответа. Для самого рабочего места такой пробы пока нет: это следующая работа.HTTP 200 isn't proof of life. An empty page, a swapped page, and a rollback to an older build all return 200. So the probe runs from outside, via the public hostname, along the same path a person would take, and checks the content: a control string and the response size. There's no such probe for the workplace itself yet. That's the next piece of work.
Контур не привязан к железу: узел — это роль, а не модель карты. Железо меняется, схема «изнутри наружу, по трубе на сервис, один вход без данных» остаётся.The perimeter isn't tied to specific hardware: a node is a role, not a particular GPU. Hardware gets replaced, but the design stays the same. Tunnels open from the inside only, each service gets its own tunnel, and the single entrance holds no data.
Рабочее место собрано не вокруг одной модели, а вокруг набора узких инструментов, каждый из которых отвечает за свой предмет и возвращает проверяемый результат: архив документов и поиск по нему, почта, календарь и напоминания, медицинские снимки, рыночные данные, отраслевые справочники, генерация и правка изображений, музыка.The workplace isn't built around a single model. It's built around a set of narrow tools, each covering its own subject and returning a result you can check: a searchable document archive, mail, calendar and reminders, medical imaging, market data, industry references, image generation and editing, and music.
Смысл простой: модель решает, какой инструмент позвать, а факты приносит инструмент. Там, где инструмента нет, ответ помечается как экспертная оценка, а не выдаётся за справку.The principle is simple: the model decides which tool to call, and the tool brings the facts. Where there's no tool for the job, the answer is labeled as expert judgment rather than passed off as established fact.