Preskočiť na hlavný obsah

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

ČoKde
Aplikácia a APIVercel, frankfurtský región (fra1)
DatabázaMongoDB 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ázyArchív z mongodump zašifrovaný AES-256 ešte predtým, než opustí server zostavenia, uložený ako artefakt GitHub Actions
Menové kurzySťahujú sa z frankfurter.app (kurzy ECB). Dopyt nesie len kódy mien
PlatbyStripe. Ú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.

  1. Váš klient zavolá POST /api/mcp s telom JSON-RPC, teda s názvom nástroja a jeho argumentmi. Nič ďalšie z konverzácie sa neodosiela.
  2. Middleware požiadavku prepustí. Na tejto ceste nie je heslo pre celý web a neloguje sa telo požiadavky.
  3. Overenie tokenu. Token z hlavičky Authorization: Bearer sa 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.
  4. Oprávnenie, tarif a token z náhľadu. Zápisový nástroj vyžaduje oprávnenie write a 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.
  5. 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í.
  6. Audit (len pri zápisoch). Názov nástroja, ID klienta, výsledok a zhrnutie argumentov sa uložia do kolekcie mcp_audit_logs s 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.
  7. 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 modeluNie. 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ástrojovSpočítajú sa a vrátia, neukladajú sa.
Identita klientaRegistrovaný 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.app ktorý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/mcp a 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:

LogObsahUchovanie
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.