Kiskis ("we", "our", "us") operates the Kiskis service — a secure configuration and key delivery platform for iOS developers. This Privacy Policy explains what data we collect, how we use it, and your rights.
By using Kiskis you agree to this policy. If you do not agree, stop using the service.
1. Who We Are
Kiskis is operated by Todd Hoff, an individual developer. Contact: privacy@kiskis.dev.
2. Data We Collect
Account data (developers using the dashboard):
- Email address — used to identify your account and send service notifications.
- Password — stored as a salted hash by Amazon Cognito. We never see your plaintext password.
- Apple Team ID and Bundle ID — provided by you to identify your app. Stored in our database.
- Provisioning key metadata — key name, creation date, last-used timestamp, and a SHA-256 hash of your API key. The raw key is shown once at creation and never stored.
- Billing information — handled entirely by Stripe. We store only your Stripe Customer ID and subscription tier. We never see or store payment card details.
Device data (end users of apps built with the Kiskis SDK):
- App Attest key ID (
keyId) — a hardware-bound identifier generated in the device's Secure Enclave. Uniquely identifies a device installation, not a person.
- App Attest public key — the public half of the Secure Enclave key pair, used to verify request signatures. The private key never leaves the device.
- Signature counter (
signCount) — an integer that increments on each request, used to detect replay attacks.
- Push token — an Apple Push Notification token, stored only if the developer enables push notifications via Kiskis. Used solely to deliver silent config-refresh notifications.
- App version and environment — the version string and sandbox/production flag sent with each request, used for version-targeted config delivery.
Developer-uploaded content:
- Config files and secrets — uploaded by the developer. We store them encrypted at rest in AWS S3 (SSE-KMS). In Zero-Knowledge Mode the developer encrypts before upload and we never see the plaintext.
- Binary blobs — uploaded by the developer (ML models, asset files, etc.). Stored encrypted in S3.
- Per-user data — arbitrary data uploaded by the developer keyed to a user identifier they provide. We store it encrypted; we do not inspect the content.
Usage and audit data:
- API request logs — timestamps, endpoint, response code, and hashed key identifier. Retained for 12 months for security and debugging. We do not log request bodies.
- Anomaly signals — request velocity, geographic origin (country level), user-agent strings. Used to detect abuse. Not linked to personal identity.
What we do NOT collect:
- Device IDFA, IDFV, or any advertising identifier.
- Names, phone numbers, or physical addresses of end users.
- Any data through cookies or tracking pixels on the dashboard.
3. How We Use Data
- Service delivery — to authenticate API requests, route configs to the correct app, and enforce subscription limits.
- Security — to detect replay attacks, credential abuse, and anomalous access patterns.
- Billing — to track monthly active users (MAU) against your plan tier and process payments via Stripe.
- Communications — to send transactional emails (account verification, billing receipts). We do not send marketing email without explicit opt-in.
- Debugging and support — to diagnose issues you report.
We do not sell your data. We do not use your data to train AI models. We do not share your data with advertisers.
4. Third-Party Services
- Amazon Web Services (AWS) — compute (Lambda), storage (S3), database (DynamoDB), authentication (Cognito), CDN (CloudFront). Data is stored in AWS
us-west-1 (Oregon). AWS processes data under its own Privacy Policy.
- Stripe — payment processing. Stripe stores all payment card data. See Stripe's Privacy Policy.
- Apple — App Attest attestation verification and push notification delivery. Apple processes attestation objects on its own servers. See Apple's Privacy Policy.
- Google — optional "Sign in with Google" for the Kiskis dashboard. If you use Google login, Google shares your email and profile with us under Google's Privacy Policy.
5. Data Retention
- Account and app data — retained until you delete your account or revoke all keys.
- API request logs — 12 months.
- Developer-uploaded configs and blobs — retained until you delete them or close your account.
- Device registry entries — retained until a device is inactive for 12 months or the associated app's keys are all revoked.
- Billing records — 7 years (required by tax law).
6. Security
We take security seriously. Key measures include:
- All data encrypted in transit via TLS 1.3.
- Config files and blobs encrypted at rest using AWS KMS (AES-256).
- S3 bucket access restricted to Lambda execution roles; public access blocked.
- S3 paths are cryptographically signed with an Ed25519 key — they cannot be guessed or enumerated.
- Provisioning keys are stored only as SHA-256 hashes — the raw key is never recoverable from our systems.
- Dashboard accounts protected by Cognito with optional TOTP MFA; Google-authenticated accounts rely on Google's own security.
No system is perfectly secure. If you discover a vulnerability, please report it to security@kiskis.dev.
7. Your Rights
Depending on your jurisdiction, you may have the right to:
- Access — request a copy of the data we hold about you.
- Correction — request correction of inaccurate data.
- Deletion — request deletion of your account and associated data.
- Portability — receive your uploaded config data in a machine-readable format.
- Object — object to certain processing (e.g., anomaly logging).
To exercise any of these rights, email privacy@kiskis.dev. We will respond within 30 days.
8. Children
Kiskis is a developer tool. We do not knowingly collect data from anyone under 18. If you believe we have, contact us and we will delete it promptly.
9. International Transfers
Our infrastructure is hosted in the United States (AWS us-west-1). If you are located in the EU or UK, your data is transferred to the US. We rely on AWS's Standard Contractual Clauses for GDPR compliance. EU/UK users may contact us for a Data Processing Agreement.
10. Changes to This Policy
We may update this policy as the service evolves. Material changes will be announced by email to registered accounts at least 14 days before they take effect. The "Last updated" date above reflects the most recent revision. Continued use after the effective date constitutes acceptance.
11. Contact
Questions or requests: privacy@kiskis.dev