1. What is TaskiAI
TaskiAI is an optional AI assistant integrated into Taski, explicitly invokable with @TaskiAI in 1-1 chats (disabled in groups). It can answer questions, translate, summarize, rephrase, suggest replies.
It is provided by Anthropic via the Claude Sonnet 4.6 (responses) and Claude Haiku 4.5 (photo captions, fact extraction for memory) models.
2. Exception to the E2EE model
Important. TaskiAI is the only feature that, when activated, makes an exception to the end-to-end E2EE model. To answer the user's question, an external AI service must be able to read the conversation context. All other activity in Taski (messages, calls, media) remains end-to-end encrypted and unreadable to us and third parties.
3. What is shared with Anthropic
The following data is transmitted to the AI provider only upon explicit invocation of @TaskiAI:
- Last 20 messages of the current conversation, decrypted only in transit.
- Maximum 3 recent photos from the context, compressed to 768px and described in text by Claude Haiku 4.5. Generated captions are cached for 14 days per conversation to avoid expensive re-processing.
- The user's display name to correctly attribute the request.
- The explicit question written after
@TaskiAI.
4. What we do NOT do
- ❌ The server never archives the plaintext of messages or photos at rest. It only sees them in transit, like a proxy.
- ❌ Anthropic does not use user data to train its models (Anthropic contractual policy).
- ❌ TaskiAI is never automatically invoked: only when the user writes
@TaskiAIor uses the "Ask TaskiAI" actions from long-press on a message. - ❌ No photo is sent if there are none in the 20 recent messages.
- ❌ In groups TaskiAI is disabled by design: the decision to share context must be unanimous, and maintaining bilateral consent is too fragile in a group.
5. Per-chat memory
TaskiAI can remember relevant facts that emerge in the conversation (e.g. "Stefano is celiac") to make subsequent answers more useful.
- Per-chat scope: facts from one conversation are never visible in others. Memory is isolated by (user, chat).
- Local storage: facts are saved on the user's device (SwiftData on iOS, IndexedDB on Web).
- Optional multi-device sync via Cloudflare KV in AES-256-GCM encrypted form: the key is derived from the user's private key via HKDF (salt = SHA256(convId), info = "taski-ai-memory:v1"). The server cannot read the memory.
- Automatic extraction: Claude Haiku 4.5 extracts facts from the context after each response. Cap: 30 facts / 2KB per chat with deterministic score-based compaction.
- Explicit commands: "remember that..." adds a fact with userStated flag (excluded from auto-compaction). "forget..." removes a fact.
- Full control: the user can disable memory, view and delete individual facts from the chat Profile → TaskiAI Memory.
6. Models used
- Claude Sonnet 4.6 (Anthropic): conversational responses, inline commands.
- Claude Haiku 4.5 (Anthropic): fact extraction for memory, context photo description, moderation double-check.
The actual model may vary over time to improve quality or reduce costs, always within the Claude family from Anthropic.
7. Opt-out
TaskiAI can be disabled completely in:
- iOS: Settings → Privacy → TaskiAI
- Web/Desktop: Settings → Privacy → TaskiAI
When both participants of a 1-1 chat have opt-out enabled, @TaskiAI mentions are rejected by the server.
8. Mandatory pre-invocation disclosure
The first time TaskiAI is invoked in a chat, the app shows a disclosure screen explaining what is about to be shared (including the update of the 20 messages and 3 photos). The user must confirm to proceed. The confirmation is stored locally; if we update the sharing terms (e.g. the number of messages or photos changes), the disclosure is shown again.
9. UX: skip push of the user message
When the user sends @TaskiAI ..., the other participant does not receive the push notification of that message (so they are not spammed). They only receive the push of the AI response, with TaskiAI's dedicated avatar. This reduces noise in the shared chat.
10. Contact list context in the prompt
To allow TaskiAI to refer correctly to participants, the 20 context messages are passed to the model with iPhone contact list names (resolved locally on the user's device before sending) instead of numeric userIds. This improves the quality of the answers but means that Anthropic sees the names as they appear in the user's contact list.
11. Data retention
- Context messages: not persisted by the Taski server nor by Anthropic.
- Photos: not persisted. Only the generated captions (text) are cached for 14 days per chat in Cloudflare KV.
- AI responses: persisted normally in the chat messages (visible to both participants, with "✨ TaskiAI" label). They are not E2EE encrypted because the server generated them; they are protected by TLS in transit and encryption at rest.
- Memory: on the user's device (see section 5). KV ciphertext-only sync if active.
12. Anthropic as sub-processor
Anthropic acts as a data sub-processor. For its policies:
- Privacy Policy: anthropic.com/legal/privacy
- Acceptable Use Policy: anthropic.com/legal/aup
- Commercial Terms: anthropic.com/legal/commercial-terms
13. Limitations and liability
- Probabilistic: TaskiAI can be wrong. Answers do not replace professional medical, legal, or financial advice.
- No persistent training: Anthropic states that it does not train models on data transmitted via the API for service purposes. However, in case of security or legal requests, transient data may be analyzed to identify abuse.
- No warranty: the service is in beta and provided "as is".
14. Contact
Questions about TaskiAI: privacy@taski.chat