Data processing agreement
EffectiveThis agreement is part of the terms of service between Senal ([Senal's registered legal name], [Senal's registered address]) and each account. It covers customer content: what an account sends Peritus to process, such as questions, names and identifiers in requests, wrong-fact reports, and field requests, and the logged requests and responses that contain them.
Roles
The account is the controller of its customer content. Senal is its processor, and processes it only to provide the service as the terms describe and as the account's settings direct, such as its log retention period and its keys' presets.
Confidentiality
Only people at Senal who need customer content to run the service may see it, and they are bound to keep it confidential.
Security measures
- Logged requests, plans, and responses are encrypted with AES-256-GCM under a data key for each account. The data key is stored wrapped by a key-encryption key read from a secret file.
- Row-level security on every tenant table keeps each account's rows invisible to every other account.
- API keys are stored only as HMACs, shown once, and compared in constant time.
- Customer content goes only to model providers on an allow-list, and never to xAI's Grok.
- Logs never contain API keys, other secrets, or customer content.
- Deleting logged data writes an audit record, and deleting an account's whole history destroys its data key.
- Database backups are not yet in place.
Subprocessors
Senal uses these subprocessors:
- Stripe: payments and refunds.
- Resend: sending email.
- WorkOS: console sign-in.
- Cloudflare: R2 stores public source files only, never customer content.
- Anthropic: Ask's model calls, which may carry a question or the facts retrieved for it.
- Vercel: hosting the site and the console.
- Railway: hosting the API service.
The database runs on a server Senal operates. Senal will post any change to this list here with a new effective date, and email account owners before a new subprocessor handles customer content.
Requests from people whose data it is
Senal will help the account answer such requests. The account can delete one logged response, or its whole history, itself from the console or the API.
Deletion
Logged requests and responses are deleted when the account's retention period passes, or at once when the account deletes them. Usage and billing records, which hold no request content, are kept as financial records. When the agreement ends, Senal deletes the account's remaining customer content on request to [contact email address].
Breaches
Senal will tell the account without undue delay after it learns of a breach affecting the account's customer content, and say what it knows and what it is doing.
Information
Senal will give the account the information it reasonably needs to show that this agreement is kept.
Contact
Write to [contact email address].