Initial commit: User documentation for Invoicing.top

- security.md: Why Invoicing.top is the most secure invoicing platform
  - MongoDB audit log for full change tracking
  - Bank certificate attachment for IBAN verification
- bank-certificate-guide.md: Step-by-step guide for setting up bank certificates
- README.md: Documentation index

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
InvTop VPS
2026-01-08 00:01:29 +00:00
commit 0ff74d1af2
3 changed files with 323 additions and 0 deletions

152
security.md Normal file
View File

@@ -0,0 +1,152 @@
# Сигурност на 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