# Сигурност на Invoicing.top ## Защо Invoicing.top е най-сигурната платформа за онлайн фактуриране При онлайн фактурирането съществуват два основни риска за сигурността, които могат да доведат до сериозни финансови загуби: 1. **Неоторизирана промяна на документи** - вътрешен служител или външен нападател променя данни във фактура 2. **Подмяна на банкова сметка** - злонамерено лице променя IBAN-а, към който да се извършват плащания Invoicing.top адресира и двата проблема с технически решения, които правят измамите практически невъзможни. --- ## 1. Пълен одит лог на всички промени (MongoDB Audit Trail) ### Проблемът При повечето системи за фактуриране, ако някой промени данни в документ, няма начин да се проследи кой, кога и какво точно е променил. Това създава възможност за: - Промяна на суми след издаване на фактура - Промяна на банкови данни - Изтриване или модификация на редове ### Нашето решение Всяка операция върху документ се записва в **MongoDB audit log** с пълна история: - **Кой** е направил промяната (потребител, IP адрес) - **Кога** е направена (timestamp с милисекунди) - **Какво точно** е променено (старо и ново състояние) - **Тип операция** (създаване, редакция, изтриване, статус) ### Какво означава това за вас - Невъзможно е да се "скрие" промяна - При съмнение за измама - пълна проследимост - Съответствие с регулаторни изисквания за одит - Защита при вътрешни злоупотреби --- ## 2. Банково удостоверение с електронен подпис ### Проблемът Най-опасната атака при онлайн фактуриране е **подмяната на банкова сметка**: 1. Злонамерен служител (или хакер) променя IBAN-а в системата 2. Фактурите се изпращат с фалшива банкова сметка 3. Клиентите плащат на грешна сметка 4. Парите отиват при измамника Тази атака е особено опасна при големи суми и е трудна за откриване, защото фактурата изглежда легитимна. ### Нашето решение Към всяка банкова сметка може да се прикачи **PDF сертификат** от банката или с електронен подпис: - **Банково удостоверение** - официален документ от банката, потвърждаващ титуляря на сметката - **Документ с квалифициран електронен подпис (КЕП)** - подписан от МОЛ или упълномощено лице ### Как работи 1. В настройките на банковата сметка качвате PDF сертификат 2. При изпращане на фактура по имейл, сертификатът се **прикачва автоматично** 3. Получателят може да верифицира, че банковата сметка е легитимна ### Какво означава това за вашите клиенти - Могат да проверят, че IBAN-ът принадлежи на вашата фирма - Ако някой подмени сметката, сертификатът няма да съвпада - Допълнителен слой на доверие при големи плащания --- ## Защо тези мерки са важни ### Реални сценарии на измами **Сценарий 1: Вътрешен служител** > Счетоводител с достъп до системата променя банковата сметка на своя лична. Издава фактури за големи суми. Клиентите плащат на грешна сметка. *С Invoicing.top:* Промяната се записва в лога. Сертификатът не съвпада с новата сметка. Измамата се открива веднага. **Сценарий 2: Компрометиран акаунт** > Хакер получава достъп до акаунта и променя IBAN-а. Изпраща фактури от името на фирмата. *С Invoicing.top:* Audit логът показва необичайна активност. Банковият сертификат е за оригиналната сметка и няма да бъде прикачен. **Сценарий 3: Man-in-the-middle атака** > Нападател прихваща имейла с фактурата и подменя PDF-а с фалшив IBAN. *С Invoicing.top:* Банковият сертификат е отделен файл с електронен подпис - не може да бъде фалшифициран. --- ## Препоръки за максимална сигурност 1. **Качете банков сертификат** за всяка активна сметка 2. **Използвайте документ с КЕП** за най-висока степен на защита 3. **Преглеждайте логовете** периодично за необичайна активност 4. **Ограничете достъпа** - давайте права само на необходимите потребители 5. **Информирайте клиентите** да проверяват сертификата при големи плащания --- ## Технически детайли ### Audit Log структура (MongoDB) ```json { "id": "65a5b3c7d8e9f0123456789a", "action": "DOCUMENT_UPDATE", "entityType": "Document", "entityId": 12345, "userId": 789, "username": "accountant@company.bg", "companyId": 1, "companyName": "Моята Фирма ЕООД", "timestamp": "2024-01-15T14:32:15.123", "ipAddress": "192.168.1.100", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...", "oldValues": { "bankAccountId": 5, "bankAccountIban": "BG80BNBG96611020345678" }, "newValues": { "bankAccountId": 8, "bankAccountIban": "BG12UNCR70001522345678" }, "description": "Промяна на банкова сметка", "success": true } ``` ### Банков сертификат - Формат: PDF - Съхранение: S3-compatible object storage (криптирано) - Именуване: `bank-certificate-{IBAN}.pdf` - Прикачване: автоматично при изпращане на фактура --- ## Сравнение с други платформи | Функционалност | Invoicing.top | Други платформи | |----------------|---------------|-----------------| | Пълен audit log | Да (MongoDB) | Частично или не | | Банков сертификат | Да (автоматично) | Не | | Проследимост на промени | Пълна | Ограничена | | Верификация на IBAN | Да | Не | | Защита от вътрешни измами | Да | Не | --- ## Заключение Invoicing.top е проектирана с мисъл за сигурността от самото начало. Комбинацията от **пълен audit log** и **банкови сертификати** прави платформата най-сигурният избор за онлайн фактуриране в България. При въпроси относно сигурността: support@invoicing.top