Bezpečnosť a tok dát
Kde vaše dáta ležia, čo je zašifrované, ako je overené a obmedzené pripojenie AI, čo Assetli loguje, čo vidí poskytovateľ AI a čo zatiaľ nevieme.
Naposledy aktualizované: 17. septembra 2026
Táto stránka je písaná pre technicky zdatného a skeptického čitateľa. Každé tvrdenie nižšie bolo overené proti kódu aplikácie k dátumu uvedenému vyššie. Čo je obmedzenie a nie funkcia, nájdete v kapitole Čo zatiaľ nevieme, označené ako plánované.
Zhrnutie
Dve nadväzujúce stránky idú hlbšie: Kto spracúva vaše dáta vypisuje každú tretiu stranu a čo dostane, Ako dlho sa dáta uchovávajú uvádza dobu uchovania každého záznamu.
- Assetli sa nikdy nepripája k vašej banke a nedrží prihlasovacie údaje do bankovníctva. Dáta prichádzajú importom súboru, ručným zadaním, alebo voliteľnou synchronizáciou z Wallet by BudgetBakers pomocou tokenu tej aplikácie.
- Pripojenie AI stojí na OAuth 2.1 s PKCE, súhlasnou obrazovkou, krátko platnými tokenmi uloženými ako odtlačok, jedným profilom na konektor a oddeleným oprávnením na čítanie a na zápis. Zápis vyžaduje platený tarif.
- Vaša konverzácia s AI sa k Assetli nedostane. Server dostane len volania nástrojov. Čítania sa nelogujú, zápisy sa logujú 12 mesiacov.
- Na API nebeží žiadna knižnica tretej strany na sledovanie chýb ani analytiku. Analytika v prehliadači na webových stránkach je podmienená súhlasom a prevádzku API nikdy nevidí.
Kde dáta ležia
| Čo | Kde |
|---|---|
| Aplikácia a API | Vercel, frankfurtský región (fra1) |
| Databáza | MongoDB Atlas |
| Nahrané súbory (výpisy, fotografie, dokumenty) | Objektové úložisko: Vercel Blob alebo Cloudflare R2 podľa konfigurácie nasadenia |
| Verejné referenčné dáta (cenníky, štatistiky) | Cloudflare R2 |
| Denná záloha databázy | Archív z mongodump zašifrovaný AES-256 ešte predtým, než opustí server zostavenia, uložený ako artefakt GitHub Actions |
| Menové kurzy | Sťahujú sa z frankfurter.app (kurzy ECB). Dopyt nesie len kódy mien |
| Platby | Stripe. Údaje o karte sa k Assetli nedostanú |
Prihlásenie do Assetli
- E-mailom a heslom. Heslá sa ukladajú ako odtlačok algoritmom bcrypt.
- Prihlásenie cez Google alebo Facebook (OAuth).
- Voliteľné dvojfaktorové overenie aplikáciou TOTP so záložnými kódmi. Tajomstvo pre TOTP je zašifrované.
- Účet sa po opakovaných neúspešných pokusoch o prihlásenie uzamkne.
- Relácia drží cookie s príznakom HTTP-only, vydáva ju knižnica Auth.js.
Šifrovanie
- Všetka prevádzka beží cez HTTPS.
- Šifrovanie na úrovni polí algoritmom AES-256-GCM (verzovaný zápis, náhodný inicializačný vektor, autentizačná značka) chráni: číslo účtu, IBAN a poznámky pri bankových účtoch, token pre Wallet by BudgetBakers, tajomstvo dvojfaktorového overenia, vaše vlastné API kľúče pre poskytovateľov AI a poznámky Family Legacy. Zašifrované polia sa nedajú prehľadávať dopytom do databázy a dešifrujú sa až pri zobrazení záznamu.
- Prístupové a obnovovacie tokeny OAuth, autorizačné kódy a API kľúče sa ukladajú ako odtlačok SHA-256. Čitateľná podoba existuje iba vo vašom klientovi.
Pripojenie AI krok za krokom
Toto sa stane, keď sa Claude alebo ChatGPT spýtate na niečo, čo potrebuje vaše dáta.
- Váš klient zavolá
POST /api/mcps telom JSON-RPC, teda s názvom nástroja a jeho argumentmi. Nič ďalšie z konverzácie sa neodosiela. - Middleware požiadavku prepustí. Na tejto ceste nie je heslo pre celý web a neloguje sa telo požiadavky.
- Overenie tokenu. Token z hlavičky
Authorization: Bearersa zahashuje a vyhľadá v databáze. Musí existovať, byť neexpirovaný (1 hodina), nezrušený, a jeho príjemca musí sedieť na hostiteľa. Zo záznamu sa získa vaše ID používateľa, profil zvolený pri súhlase, oprávnenia a ID klienta. - Oprávnenie, tarif a token z náhľadu. Zápisový nástroj vyžaduje oprávnenie
writea tarif Premium alebo Max. Bez ktoréhokoľvek z nich volanie skončí chybou a nič sa nevykoná. Bez oboch sa zápisové nástroje klientovi ani neponúknu. Zápis navyše musí niesť potvrdzovací token, ktorý vydal jeho náhľadový nástroj pre tie isté argumenty v posledných desiatich minútach; bez neho, alebo s inými argumentmi, sa zápis odmietne. - Spustenie nástroja. Obsluha sa dopýta MongoDB s filtrom na vášho používateľa a profil. Výsledky sa poskladajú do pevne danej sady polí.
- Audit (len pri zápisoch). Názov nástroja, ID klienta, výsledok a zhrnutie argumentov sa uložia do kolekcie
mcp_audit_logss expiráciou po 365 dňoch. Sumy, kategórie, symboly, dátumy a názvy cieľov zostávajú; voľný text (popisy, poznámky, obchodník, obsah výpisu) sa ukladá len ako dĺžka, obsah výpisu navyše ako odtlačok. Samotný záznam nesie pôvod (createdVia: MCP a ID konektora) a každý zoznam, kde sa zobrazuje (transakcie, obchody, odpočty, cennosti, rozpočty), ho označí štítkom „AI“, ktorého popis uvádza kanál a nástroj. - Odpoveď. Výsledok v JSON sa vráti klientovi, ktorý ho odovzdá modelu.
Čo Assetli vidí a čo nie
| Vidí Assetli? | |
|---|---|
| Vaša otázka a odpovede modelu | Nie. Zostávajú v AI klientovi. |
| Názov nástroja a argumenty | Áno, počas spracovania požiadavky. |
| Argumenty zápisových volaní | Áno, ako zhrnutie bez voľného textu, v auditnom logu na 12 mesiacov. |
| Argumenty čítacích volaní | Neukladajú sa. |
| Výsledky nástrojov | Spočítajú sa a vrátia, neukladajú sa. |
| Identita klienta | Registrovaný názov konektora a jeho ID. V bežných prevádzkových logoch hostingu aj IP adresa a identifikácia prehliadača servera AI klienta. |
Veta „vidíme len to, čo pri klikaní v aplikácii” platí presne pri čítaní. Pri zápise si Assetli necháva o niečo viac než pri kliknutí na webe, totiž auditný záznam.
Čo vidí poskytovateľ AI
Poskytovateľ, ktorý prevádzkuje váš model (Anthropic pri Claude, OpenAI pri ChatGPT, Google pri Gemini), vidí vaše otázky, výsledky nástrojov, a teda aj každé číslo, ktoré nástroj vráti. S tými dátami sa nakladá podľa podmienok daného poskytovateľa, nie podľa podmienok Assetli. Nástroje vracajú tie isté dáta, aké vidíte v aplikácii: zostatky, transakcie s popisom a obchodníkom, pozície, hodnoty a adresy nehnuteľností, evidenčné čísla vozidiel, dlhy. Nikdy nevracajú čísla účtov, IBAN, heslá, tokeny ani dáta iných používateľov.
Asistent v aplikácii funguje inak. Tam posiela vaše správy a finančnú snímku Anthropicu (alebo poskytovateľovi, ktorého kľúč ste zadali) samotné Assetli a konverzáciu ukladá k vášmu profilu. Pozrite AI asistent.
Rozsah tokenu
- Jeden používateľ, jeden profil. Token nesie profil, ktorý ste zvolili pri súhlase. Konektor profily prepínať nemôže.
- Čítanie, alebo zápis. Udeľuje sa na súhlasnej obrazovke, zápis zahŕňa čítanie. Server oprávnenie kontroluje pri každom volaní.
- Viazaný na príjemcu. Token vydaný pre
assetli.appktorýkoľvek iný hostiteľ odmietne. - Krátko platný. Prístupový token 1 hodinu, obnovovací 60 dní a pri každom obnovení sa vymení za nový.
- Odvolateľný. Ponuka účtu → Pripojenie AI (MCP) vypíše každý konektor a naraz zruší všetky jeho tokeny.
- Bez zdieľania tajomstiev. Klienti sú verejní OAuth klienti s PKCE, žiadne klientske tajomstvo neexistuje a vaše heslo Assetli nikdy neopustí.
- Len endpoint MCP. Token konektora tretej strany prijíma
/api/mcpa nič iné. REST API prijíma Bearer tokeny len od vlastnej mobilnej aplikácie.
Ten istý OAuth server bude vydávať tokeny aj pre mobilnú aplikáciu Assetli, ktorá je zatiaľ vo vývoji. Je to vlastná aplikácia, takže súhlasnú obrazovku preskočí, ale prejde rovnakým prihlásením, rovnakým PKCE aj rovnakými kontrolami tokenu.
Logovanie
Čo sa zapisuje a kam:
| Log | Obsah | Uchovanie |
|---|---|---|
| Auditný log MCP (databáza) | Používateľ, profil, ID klienta, názov nástroja, úspech alebo chyba, zhrnutie argumentov bez voľného textu. Len zápisy. Vidíte ho v ponuke účtu → Pripojenie AI (MCP). | 365 dní |
| Prevádzkový log požiadaviek (Vercel) | Metóda, cesta, stav, doba spracovania, IP klienta. Bez tiel požiadaviek. | Podľa nastavenia tarifu Vercelu |
| Výstup funkcií (Vercel) | Chybové správy, ktoré aplikácia vypíše pri zlyhaní, napríklad chybu databázy. Nie telá požiadaviek. | Podľa nastavenia tarifu Vercelu |
| Administrátorský chybový log (databáza) | Chyby aplikácie z vybraných endpointov a z webového rozhrania. Na ceste MCP sa nepoužíva. | Spravuje administrátor |
Čo tam naopak nie je:
- Žiadny Sentry, Datadog, PostHog ani podobná knižnica v API. Závislosť toho druhu v projekte neexistuje.
- Žiadny middleware, ktorý by zachytával telá požiadaviek alebo odpovedí.
- Google Analytics a Microsoft Clarity sa načítavajú len v prehliadači na webových stránkach a až po súhlase s cookies. Prevádzka API a MCP sa k nim nikdy nedostane.
Ďalšie prepojenia
- Wallet by BudgetBakers (Premium): vložíte API token z Walletu, Assetli ho uloží zašifrovaný a z Wallet API iba číta. Nikdy doň nezapisuje.
- API kľúče (
ask_…): samostatný typ kľúča len na čítanie, určený pre endpoint s prehľadom v JSON a pre dátové API energií. Ukladajú sa ako odtlačok SHA-256, dajú sa obmedziť na čítanie, opatriť expiráciou a zrušiť v Nastaveniach. Pripojenie AI ich nepoužíva. - Doplnok do Google Sheets: vlastný typ tokenu, ktorý prijímajú len dva endpointy pri hypotékach. Je vypísaný a odvolateľný na tej istej stránke pripojení.
- Doplnok do prehliadača na previerku nehnuteľnosti: prečíta inzerát otvorený vo vašom prehliadači a jeho text pošle analytickému endpointu. Server na realitné portály sám nechodí.
Vaše práva k dátam
- Export: Nastavenia → Export dát vytvorí súbor so všetkými záznamami, ktoré vlastníte, naprieč kolekciami, bez autentizačných tajomstiev a dočasných logov.
- Zmazanie: Nastavenia → Zmazať účet odstráni používateľa a každý záznam, ktorý je naň naviazaný, vrátane záznamov vlastnených skupinami a odkazom Family Legacy a vrátane súborov. Vyžaduje sa potvrdzovacia fráza.
Čo zatiaľ nevieme
Radšej to vypíšeme, než aby ste to našli sami.
- Potvrdenie sa vynucuje ako párovanie, nie ako súhlas. Server odmietne zápis, ktorý nemá token zo zodpovedajúceho náhľadu pre tie isté argumenty z posledných desiatich minút. Či ste náhľad naozaj videli a povedali áno, je stále na AI klientovi; Claude aj ChatGPT pridávajú vlastnú otázku na povolenie nástroja.
- Doba uchovania logov na strane hostingu závisí od tarifu Vercelu a aplikácia ju neriadi.
Hlásenie bezpečnostného problému
Napíšte na info@assetli.app a do predmetu uveďte „security”. Prosíme, netestujte na dátach iných používateľov.