c573c3641b
La app ya no lleva ningún SDK de publicidad, analítica ni crash reporting, así que la web deja de afirmar cosas que no eran ciertas y empieza a describir lo que realmente pasa. - privacy.html: el resumen y "qué datos recogemos" decían que se recogían datos de uso e identificadores para medir publicidad, y que podían compartirse con socios publicitarios. Ahora: no se recoge nada, las etiquetas de privacidad declaran ninguno, y se menciona el manifiesto PrivacyInfo.xcprivacy. Backups descritos como JSON legible sin cifrar. - security.html: "end-to-end encryption" en las tres metadescripciones → sincronización por iCloud cifrada por Apple. Nueva sección "No tracking, no advertising" y la de backups deja claro que no están cifrados. - manual-portfolio-tracker.html: quitado "end-to-end" y "nadie, ni nosotros, puede ver tus saldos"; ahora dice que no tenemos servidores ni SDKs. - index.html: la FAQ "Do you track me?" distingue la app (nada) del sitio web (Plausible, sin cookies). - app-ads.txt: borrado, ya no hay AdMob que autorizar. No desplegado: queda en el repo para que Alexandre lo suba cuando quiera. Refs alexandrev/InvestmentTrackerApp#52 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F1u4K16xy7eQVtgsYNZ9Vn
146 lines
7.2 KiB
HTML
146 lines
7.2 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Security — Portfolio Journal</title>
|
|
<meta name="description" content="How Portfolio Journal protects your investment data: on-device storage, optional iCloud sync encrypted by Apple, Face ID, and no tracking or advertising SDKs.">
|
|
<link rel="canonical" href="https://portfoliojournal.app/security.html">
|
|
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:title" content="Security — Portfolio Journal">
|
|
<meta property="og:description" content="How Portfolio Journal protects your investment data: on-device storage, optional iCloud sync encrypted by Apple, Face ID, and no tracking or advertising SDKs.">
|
|
<meta property="og:url" content="https://portfoliojournal.app/security.html">
|
|
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.jpg">
|
|
<meta property="og:image:width" content="1200">
|
|
<meta property="og:image:height" content="675">
|
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="Security — Portfolio Journal">
|
|
<meta name="twitter:description" content="How Portfolio Journal protects your investment data: on-device storage, optional iCloud sync encrypted by Apple, Face ID, and no tracking or advertising SDKs.">
|
|
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.jpg">
|
|
|
|
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
|
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
|
<link rel="preconnect" href="https://apps.apple.com">
|
|
<link rel="preconnect" href="https://plausible.io">
|
|
|
|
<link rel="stylesheet" href="assets/css/style.css">
|
|
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
|
<script src="assets/js/config.js"></script>
|
|
<script src="assets/js/main.js" defer></script>
|
|
</head>
|
|
<body>
|
|
<a class="skip-link" href="#main">Skip to content</a>
|
|
<header class="nav" role="banner">
|
|
<div class="nav-inner">
|
|
<a class="nav-logo" href="index.html" aria-label="Portfolio Journal home">
|
|
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
|
<span>Portfolio Journal</span>
|
|
</a>
|
|
<nav aria-label="Primary">
|
|
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
|
<div class="nav-links">
|
|
<a class="nav-link" href="index.html">Home</a>
|
|
<a class="nav-link" href="privacy.html">Privacy</a>
|
|
<a class="nav-link" href="terms.html">Terms</a>
|
|
<a class="nav-link" href="support.html">Support</a>
|
|
<a class="nav-link" href="about.html">About</a>
|
|
</div>
|
|
</nav>
|
|
<div class="nav-actions">
|
|
<button class="theme-toggle" aria-label="Toggle theme"></button>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<main id="main">
|
|
<section class="page-header">
|
|
<div class="container">
|
|
<h1>Security & data protection</h1>
|
|
<p>Portfolio Journal is built to keep your portfolio data secure, private, and under your control.</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="content">
|
|
<div class="container">
|
|
<div class="content-body">
|
|
<h2>On-device storage</h2>
|
|
<p>All portfolio data and journal notes are stored locally on your device by default. This keeps sensitive information off external servers.</p>
|
|
|
|
<h2>Optional passcode and Face ID</h2>
|
|
<p>Portfolio Journal can use iOS security features, including device passcodes and Face ID, to keep your data protected from unauthorized access.</p>
|
|
|
|
<h2>iCloud sync</h2>
|
|
<p>If you enable iCloud sync, your data is stored in your own private CloudKit database and synced between devices signed in with your Apple ID. The encryption is Apple-managed, in transit and at rest — we do not add a second layer of our own, so we do not describe it as end-to-end encrypted. We operate no servers of our own and never hold a copy of your data.</p>
|
|
|
|
<h2>No tracking, no advertising</h2>
|
|
<p>Portfolio Journal ships with no advertising SDK, no third-party analytics SDK and no crash-reporting SDK. The app never asks for App Tracking Transparency permission, because there is nothing to track. Crash and hang diagnostics are collected on-device by iOS (MetricKit); they stay in the app container unless you choose to share one.</p>
|
|
|
|
<h2>Backups and exports</h2>
|
|
<p>You can export CSV or JSON files, and Premium can write automatic JSON backups. These files are plain, readable JSON — the app does not encrypt them. Anyone who can open the file can read your balances, so keep them somewhere you trust and keep your Files app secured.</p>
|
|
|
|
<h2>Best practices</h2>
|
|
<ul>
|
|
<li>Use a strong device passcode and Face ID.</li>
|
|
<li>Keep iOS and Portfolio Journal updated.</li>
|
|
<li>Protect your Apple ID with two-factor authentication.</li>
|
|
<li>Do not share your Apple ID credentials with others.</li>
|
|
</ul>
|
|
|
|
<h2>Responsible disclosure</h2>
|
|
<p>If you discover a security issue, contact us at <a href="mailto:security@portfoliojournal.app">security@portfoliojournal.app</a>. We appreciate responsible disclosure and will respond promptly.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
|
|
<footer class="footer">
|
|
<div class="container">
|
|
<div class="footer-grid">
|
|
<div class="footer-brand">
|
|
<div class="footer-logo">
|
|
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
|
<span>Portfolio Journal</span>
|
|
</div>
|
|
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
|
</div>
|
|
<div class="footer-column">
|
|
<h5>Product</h5>
|
|
<div class="footer-links">
|
|
<a class="footer-link" href="index.html">Overview</a>
|
|
<a class="footer-link" href="about.html">About</a>
|
|
<a class="footer-link" href="changelog.html">Changelog</a>
|
|
<a class="footer-link" href="status.html">Status</a>
|
|
</div>
|
|
</div>
|
|
<div class="footer-column">
|
|
<h5>Support</h5>
|
|
<div class="footer-links">
|
|
<a class="footer-link" href="support.html">Support</a>
|
|
<a class="footer-link" href="security.html">Security</a>
|
|
<a class="footer-link" href="delete-data.html">Delete Data</a>
|
|
<a class="footer-link" href="press-kit.html">Press Kit</a>
|
|
</div>
|
|
</div>
|
|
<div class="footer-column">
|
|
<h5>Legal</h5>
|
|
<div class="footer-links">
|
|
<a class="footer-link" href="privacy.html">Privacy Policy</a>
|
|
<a class="footer-link" href="terms.html">Terms</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="footer-bottom">
|
|
<div class="footer-copyright">© <span data-year></span> Portfolio Journal. All rights reserved.</div>
|
|
<div class="footer-legal">
|
|
<a href="privacy.html">Privacy</a>
|
|
<a href="terms.html">Terms</a>
|
|
<a href="support.html">Support</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|