Benutzungsdaten in Capacitor Anwendungen verwalten erfordert sicheren Speicher, klare Aufbewahrungsrichtlinien und Einhaltung von Datenschutzgesetzen wie und CCPA Dieses Leitfaden erklärt, wie Sie die Datenerfassung minimieren, sensible Informationen sicher speichern und die Rechte effektiv verwalten können. Hier ist eine kurze Übersicht:. Datenerfassung minimieren
- : Sammeln Sie nur, was für bestimmte Anwendungsmerkmale erforderlich ist.Sichere Speicherung
- : Verwenden Sie Werkzeuge wie das Plugin für Verschlüsselung.
@capacitor/secure-storageSecure Storage: Use tools like the __CAPGO_KEEP_0__ for encryption. - Datenhaltung: Automatisieren Sie die Löschung auf der Grundlage definerter Zeitgrenzen.
- Benutzerrechte: Aktivieren Sie Benutzern das Anzeigen, Löschen oder Exportieren ihrer Daten.
- Zugriffsrechte: Anfordern Sie Rechte im Kontext und bieten Alternativen für abgelehnte Anfragen.
- OTA-Updates: Stellen Sie sicher, dass sichere Über-Air-Updates mit Tools wie Capgo.
Wie Sie Ionic verwenden Capacitor __CAPGO_KEEP_0__

Datenerfassung reduzieren
Ein strukturiertes Vorgehen bei der Überprüfung, Planung und Verwaltung der Datenerfassung ist entscheidend, um mit den Datenschutzvorschriften im Einklang zu bleiben. Durch die Nutzung der im Capacitor integrierten Werkzeuge zur Minimierung der Datenerfassung können Sie praktische Schritte unternehmen, um die Datenpraktiken Ihrer App zu verbessern.
Datenerfassungs-Überprüfung
Beginnen Sie damit, wie Daten durch Ihre App fließen. Verwenden Sie Werkzeuge wie Datenlinienvisualisierer, um Bereiche zu identifizieren, in denen unnötige Daten gesammelt werden könnten. Die Privacy-Impact-Assessment (PIA)-Software kann Ihnen dabei helfen, zu bewerten, ob jede einzelne Datenmenge tatsächlich benötigt wird. Hier ist eine Auflistung der Bereiche, auf die Sie sich konzentrieren sollten:
| Datentyp | Überprüfungsschwerpunkt | Aufgaben |
|---|---|---|
| Eingabedaten | Formulare und -validierung | Felder entfernen, die nicht benötigt werden |
| API Anrufe | Anforderungs-/Antwortdaten | Überflüssige Datenfelder ausschalten |
| Speicherung | Kontext: Capgo Builder / native cloud Build-Produktseite. Rolle: Kurzer UI-Label oder Navigationspunkt. Gesehen in: Seite native-build.astro. Nachrichtenschlüssel `native_build_v2_trust_stor_lbl` (Native Build V2 Trust Stor Lbl). | Seite: Enterprise-Produkt/Preisliste. Rolle: Kurzer UI-Label oder Navigationspunkt. Gesehen in: Seite enterprise.astro. Nachrichtenschlüssel `enterprise_plugins_legacy_storage` (Enterprise Plugins Legacy Storage). | Gespeicherte und persistente Daten |
| Speicherplatznutzung optimieren | Analyse | Kontext: Capgo-Marketingwebsite. Rolle: Kurzer UI-Label oder Navigationspunkt. Nachrichtenschlüssel `analytics` (Analyse). |
Benutzungsverfolgung
Erhalten Sie nur die wichtigsten Metriken
// Purpose-driven data collection example
const userPreferences = {
location: "Used for local weather updates",
notification: "Needed for sending alerts"
};
If your app has a weather feature, it might only require a zip code rather than a full address. This approach ensures you’re gathering only the information necessary for core app functions[1][5].
Einbinden von Datenkontrollen
Verwenden Sie Validierungstools, um die Menge der durch Formulare und API-Aufrufe gesammelten Daten zu begrenzen. Kombinieren Sie die Clientseitige Validierung mit der Serverseitigen Überprüfung, um diese Grenzen effektiv durchzusetzen.
Integrieren Sie die Sicherheitsmerkmale von Capacitor in diese Kontrollen ein:
- Verwenden Sie Dropdown-Menüs anstelle von freitextfeldern, wo immer möglich.
- Setzen Sie Charaktergrenzen für Texteingabefelder.
Planen Sie quartalsweise Audits mit automatisierten Entdeckungstools, um sicherzustellen, dass Ihre Datenverarbeitungspraktiken effizient und mit der beabsichtigten Funktionalität Ihres Apps übereinstimmen.
Daten-Sicherheit und -Speicherung
Als Nächstes müssen Sie Maßnahmen ergreifen, um Benutzerinformationen zu schützen und gleichzeitig die Grundsätze der Datenminimierung einzuhalten.
Einrichten der sicheren Speicherung
Der @capacitor/secure-storage Plugin verwendet die eingebauten Sicherheitsmerkmale wie iOS Keychain und Android Keystore, um sensible Daten zu schützen. [1]. Für größere strukturierte Datensätze, @capgo/capacitor-Speicherung-in-SQLite bietet verschlüsselte SQLite-Speicherung und @capgo/capacitor-persistente-Kontozustand kann den Zustand des Kontos über Wiederinstallationen aufrechterhalten. @capgo/capacitor-Datenschutzschirm verschleiert sensitive UI in der App-Wechsler und dem Vorschau-Bildschirm für kürzlich geöffnete Apps.
import { SecureStorage } from '@capacitor/secure-storage';
// Store sensitive data
await SecureStorage.set({
key: 'authToken',
value: 'user-specific-token'
});
// Retrieve stored data
const { value } = await SecureStorage.get({ key: 'authToken' });
Datenverschlüsselungsmethoden
Hinzufügen einer Client-Seitensicherheit ist ein weiterer Schutzschicht. Bibliotheken wie CryptoJS können helfen, sensitive Informationen zu verschlüsseln:
// Basic encryption/decryption implementation
const encryptData = (data: string, key: string): string => {
return CryptoJS.AES.encrypt(data, key).toString();
};
Regelmäßiges Rotieren von Verschlüsselungsschlüsseln ist eine intelligente Möglichkeit, die Sicherheit zu verbessern. Dies stellt sicher, dass selbst wenn ein Schlüssel kompromittiert wird, der Rest der Daten sicher bleibt [2].
Vergleich von Speicheroptionen
Die Auswahl der richtigen Speichersolution hängt von der Sensibilität der Daten ab. Hier ist eine schnelle Vergleichsübersicht:
| Funktion | Sichere Speicherung | Lokale Speicherung |
|---|---|---|
| Sicherheitsstufe | Hoch (verschlüsselt) | Grundlegend |
| Am besten geeignet für | Tokens, Passwörter | Nichtsensibel |
| Leistung | Langsamer (wegen der Verschlüsselung) | Faster Zugriff |
Das sichere Speicher API ist eine solide Wahl für die Speicherung kritischer Informationen wie Authentifizierungstoken und persönlicher Benutzerdaten [1][4]. Seine Verschlüsselungsfähigkeiten passen auch mit den Aufbewahrungsrichtlinien überein, indem sie einen kontrollierten Zugriff auf Daten innerhalb von spezifizierten Zeitrahmen ermöglichen [2].
sbb-itb-f9944d2
Daten Speicher Zeitlimits
Die Festlegung klarer Aufbewahrungsrichtlinien hilft, den Grundsätzen der Datenminimierung zu entsprechen, indem sichergestellt wird, dass Informationen nicht länger als notwendig aufbewahrt werden
Speicher Zeitregeln
Verschiedene Arten von Benutzerdaten sollten definierte Aufbewahrungszeiträume auf der Grundlage ihres Zwecks und ihrer Sensibilität haben Unter folgendem ist ein vorgeschlagener Rahmen für die Verwaltung der Aufbewahrung von Daten in Capacitor-Apps:
| Daten Typ | Aufbewahrungsfrist | Begründung |
|---|---|---|
| Kundenkundendaten | Bis zur Löschung des Kontos oder 2 Jahren Inaktivität | Für die Durchführung von Kontozugriffen erforderlich |
| Transaktionsprotokolle | 7 Jahre | Einhaltung von Finanzvorschriften |
| Analyse-Daten | 90 Tage (anonymisiert), 1 Jahr (Löschung) | Unterstützung von Funktionserweiterungen |
| Marketingvorlieben | bis zum Widerruf oder zur Konto-Löschung | erfüllt die Einwilligungserfordernisse |
Hier ist ein Beispiel dafür, wie Daten mit einer Ablaufzeit programmatisch gespeichert werden können:
async function storeDataWithExpiration(key: string, value: any, retentionDays: number) {
const item = {
value: value,
expiration: Date.now() + (retentionDays * 24 * 60 * 60 * 1000)
};
await Preferences.set({ key, value: JSON.stringify(item) });
}
Automatische Datenlöschung
Die Automatisierung der Datenreinigung kann die Einhaltung von Vorschriften erleichtern und die manuelle Intervention reduzieren. Capacitor's Hintergrundabruf-Funktion ist ein nützliches Werkzeug hierfür:
import { BackgroundFetch } from '@capacitor/background-fetch';
BackgroundFetch.registerTask({
taskId: 'data-cleanup',
delay: 3600000,
periodic: true,
requiresNetworkConnectivity: false
}, async () => {
await cleanExpiredData();
return BackgroundFetch.Result.NewData;
});
Wenn Sie SQLite kontext: Seite/Bereich: Capgo-Lösungen-Marketingseite. Rolle: Kurze Benutzeroberflächeneinheit oder Navigationselement. Gesehen in: Seite Lösungen/cordova-to-capacitor-ai.astro. Nachrichtenschlüssel `solutions_cordova_to_capacitor_ai_row_sqlite` (Lösungen Cordova To Capacitor Ai Row Sqlite).
CREATE TRIGGER remove_expired_data
AFTER INSERT ON user_data
BEGIN
DELETE FROM user_data
WHERE expiration_date < CURRENT_TIMESTAMP;
END;
zur Speicherung können Sie Trigger einrichten, um automatisch gelöschte Records zu löschen:
Datenlöschungsoptionen für Benutzer
- Bereitstellung von Werkzeugen für Benutzer, um ihre Daten zu verwalten, ist unerlässlich. Hier sind zwei wichtige Funktionen, die Sie implementieren können:Daten spezifisch löschen
async function deleteSpecificData(userId: string, dataType: string) {
await Preferences.remove({ key: `${userId}_${dataType}` });
if (db) {
await db.run(
'DELETE FROM user_data WHERE user_id = ? AND data_type = ?',
[userId, dataType]
);
}
}
- Benutzerdaten exportieren: Ermöglichen Sie es den Benutzern, ihre gespeicherten Daten in einer strukturierten Form herunterzuladen.
async function exportUserData(userId: string) {
// Gathers all user data for export
const userData = await collectUserData(userId);
return JSON.stringify(userData);
}
Die französische Datenschutzbehörde CNIL Höhere Aufbewahrungsfristen müssen sich an die Kernfunktion der App anpassen [3]. Diese Grundsätze sind insbesondere für Capacitor-App-Entwickler relevant und sollten Ihre Aufbewahrungsstrategie leiten.
Anwendungsrechte-Steuerung
Die sorgfältige Behandlung von Anwendungsrechten ist entscheidend für die Sicherung von Benutzerdaten und die Gewährleistung, dass die App wie vorgesehen funktioniert. Durch die ordnungsgemäße Verwaltung von Rechten können Sie den Zugriff auf nur die Gerätefunktionen einschränken, die Ihre App tatsächlich benötigt. Capacitor’s Permissions API bietet eine einheitliche Ansicht zur Verwaltung von Rechten auf beiden iOS- und Android-Geräten.
Schritte zur Anfrage von Rechten
Stellen Sie sicher, dass die Rechte, die Sie anfragen, mit den Datenverteilungszielen Ihrer App übereinstimmen. Hier ist ein Beispiel für die Implementierung von Rechtsanfragen in einer Capacitor-App:
import { Permissions } from '@capacitor/core';
const permissionHandler = async (permissionType: string) => {
const status = await Permissions.query({ name: permissionType });
if (status.state === 'granted') {
return true;
}
const shouldProceed = await showExplanationDialog(
`We need ${permissionType} access to provide core functionality`
);
if (shouldProceed) {
const result = await Permissions.request({ name: permissionType });
return result.state === 'granted';
}
return false;
};
Verwaltung abgelehnter Rechte
Wenn ein Benutzer eine Rechtsanfrage ablehnt, bieten Sie klare Alternativen und Anweisungen an. Hier ist ein Beispiel:
const handleDeniedPermission = async (permissionType: string) => {
const status = await Permissions.query({ name: permissionType });
if (status.state === 'denied') {
const alternatives = {
camera: 'manual photo upload',
location: 'manual address entry',
notifications: 'in-app message center'
};
showAlternativeFeature(alternatives[permissionType]);
if (status.canOpenSettings) {
offerSettingsRedirect();
}
}
};
Zeitpunktliche Anfragen stellen
Wenn Sie um Erlaubnisse bitten, spielt der Zeitpunkt eine Rolle. Eine strategische Zeitplanung kann die Akzeptanzraten der Benutzer erheblich verbessern. Hier ist eine kurze Übersicht über die Zeitstrategien:
| Zeitstrategie | Beste Verwendung |
|---|---|
| Just-in-Time | Für bestimmte Funktionen, wenn sie benötigt werden |
| Kontextuell | Für nicht-kritische Funktionen |
| Erstes Starten | Für Kernfunktionen, die vorher erforderlich sind |
| Verspätet | Für optionalen Funktionen später im Benutzerjourney |
Zum Beispiel können Sie die Zugriffsberechtigung auf die Kamera nur dann anfordern, wenn der Benutzer eine Aktion wie das Aufnehmen eines Fotos auslöst:
const captureImage = async () => {
const userStartedCapture = true;
if (userStartedCapture) {
const granted = await permissionHandler('camera');
if (granted) {
await startCamera();
} else {
showUploadOption();
}
}
};
Durch kontextbezogene Anfragen wie diese können die Zustimmungsquoten um 50 % gegenüber vorherigen Anfragen gesteigert werden. [2]Um eine glatte Erfahrung zu gewährleisten, sollten Sie einen Zustandsverfolger für die Berechtigungen einrichten, der die Entscheidungen des Benutzers über mehrere Sitzungen hinweg speichert.
Wenn die Berechtigungen gehandhabt sind, können Sie sich auf die Sicherstellung von Updates konzentrieren, insbesondere für drahtlose (OTA) Bereitstellungen.
Sicherheit bei OTA-Updates
Um die Integrität der Daten während der Anwendungsaktualisierungenzu gewährleisten, ist es unerlässlich, sichere OTA-Update-Prozesse zu verwenden. Diese Updates helfen dabei, unautorisierte Änderungen an der Anwendung code zu verhindern, die sonst die Grenzen für die Datenerfassung umgehen könnten.
Signieren von Update-Paketen
Das Signieren von Update-Paketen ist ein entscheidender Schritt zur Sicherstellung gegen unautorisierte code-Änderungen. Hier sind einige wichtige Maßnahmen zur Sicherstellung von OTA-Updates:
| Sicherheitsmaßnahme | Wie es funktioniert |
|---|---|
| Inhaltsschutz | AES-Verschlüsselung |
| Lieferungssicherheit | HTTPS mit Zertifikatspinning |
| Update-Integrität | Hash-Verifizierung |
| Versionssicherheit | Signierte Versionsnummern |
| Fehlschlagrückkehr | __CAPGO_KEEP_0__ |
Capgo Update-System

Capgo vereinfacht sichere OTA-Updates für Capacitor-Apps, indem sie automatisierte Sicherheitsfunktionen bietet. Hier ist ein Beispiel dafür, wie Sie das Update-System von Capgo in Ihrer App verwenden können:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
const secureUpdate = async () => {
try {
const update = await CapacitorUpdater.download({
version: 'latest',
validateSignature: true
});
if (update.status === 'success') {
await CapacitorUpdater.set(update);
}
} catch (error) {
await CapacitorUpdater.rollback();
}
};
Dieser Ansatz stellt sicher, dass Updates validiert und sicher sind, mit Rücksetzoptionen im Falle eines Fehlers.
Speicherpolitik-Konformität
Die Einhaltung der Richtlinien der App-Stores ist für OTA-Updates erforderlich.[1][6][7]. Jedes Plattform hat bestimmte Anforderungen, um sicherzustellen, dass Updates mit ihren Datenschutz- und Sicherheitsrichtlinien übereinstimmen:
| Plattform | Konformitätsanforderungen |
|---|---|
| iOS | Nur JavaScript- oder Asset-Updates |
| Android | Benutzereinwilligung ist erforderlich |
| Beide | Sicherheitsprüfungen und angemessene Dokumentation |
Hier ist ein Beispiel für die Implementierung von store-konformen Updates:
const compliantUpdate = async () => {
const userConsent = await requestUpdateConsent();
if (userConsent) {
await CapacitorUpdater.setUpdateConfig({
type: 'assets-only',
scope: 'ui-updates' // Updates limited to UI components
});
}
};
const preventDowngrade = async (newVersion, currentVersion) => {
const versions = await CapacitorUpdater.getVersions();
if (versions.current.buildNumber > newVersion.buildNumber) {
throw new Error('Downgrade attempt detected');
}
};
Zusammenfassung
Hauptergebnisse
Das effektive Handhaben von Benutzerdaten beinhaltet die Combination dieser Kernstrategien:
- Erheben Sie nur die notwendigen Daten.
- Verwenden Sie Plattform-spezifische Verschlüsselung, um sie zu schützen.
- Automatisieren Sie die Fristen für die Datenspeicherung.
- Einstellen Sie detaillierte Berechtigungssteuerungen.
Diese Schritte arbeiten zusammen, um die Einhaltung von der Zeitpunkt der Datenerfassung bis zur automatischen Löschung sicherzustellen.
Schritte zur Implementierung
Um diese Strategien in die Tat umzusetzen:
- Überprüfen Sie Ihre Datenflüsse mit den in Abschnitt 2 diskutierten Methoden.
- Stärken Sie die Speichersicherheit wie in Abschnitt 3 dargelegt.
- Sorgen Sie für automatisierte Löschvorgänge auf der Grundlage von Abschnitt 4.
- Ermöglichen Sie und durchsetzen Sie Kontrollen für die Berechtigungen wie in Abschnitt 5 detailliert beschrieben.
Leveraging Capgo
Für Teams, die OTA-Updates verwalten, bietet Capgo integrierte Sicherheitstools, die sich mit diesen Bemühungen decken:
- End-to-End-Verschlüsselung Zur Sicherung von Updatepaketen.
- Echtzeit-Monitoring Zur schnellen Behandlung potenzieller Sicherheitsbedrohungen.
Weitermachen von How to Handle User Data in Capacitor Apps
Wenn Sie __CAPGO_KEEP_0__ verwenden Wie Sie Nutzerdaten in Capacitor-Anwendungen verwalten um Sicherheit und Compliance zu planen, verbinden Sie es mit Verschlüsselung für die Implementierungsdetails in Verschlüsselung Kongruenz für die Implementierungsdetails in Kongruenz Capgo-Sicherheits-Scanner für den Produktworkflow in Capgo-Sicherheits-Scanner Capgo-Sicherheit für den Produktworkflow in Capgo-Sicherheit und Capgo-Vertrauenszentrum für das Produktworkflow in Capgo Trust Center.