How We Protect Your Privacy and Privilege

Effective date: March 14, 2026

Macrify's products — including ScheduleHound and MACRIPhone — were created by a practicing attorney who understands that the information you work with every day requires thoughtful handling. This page explains not only the commitments we make to protect your data, but the specific architectural decisions we have made to limit our own ability to access the materials you submit.

This policy covers all Macrify products. Each product has its own section below describing its specific data handling practices.

ScheduleHound

AI-powered legal deadline extraction and scheduling

Built to minimize our access

Many software services promise they won't look at your data. We went further — we designed ScheduleHound so that in most cases we cannot see your data, even if we wanted to. Here is how:

Document scanner: your PDFs never touch our servers

When you upload a PDF to the document scanner, it is sent directly from your browser to Google's Generative AI API for processing. The document content is never assembled, stored, or logged on our servers. We receive only the structured deadline data that the AI extracts — dates, titles, and descriptions — not the underlying document. Once the AI finishes processing, the document content exists nowhere in our infrastructure.

Email submissions: temporary processing, then deleted

When you forward documents by email, the process is different from the browser scanner. Your email provider delivers the message and any attachments to our email processing server (via SendGrid). The attachments are temporarily stored so our system can send them to the AI for extraction. The moment extraction succeeds, the attachments are deleted. If extraction fails for any reason, the attachments are automatically and permanently deleted within 48 hours. We do not keep archives of submitted documents.

In short: uploaded documents are never stored at all. Emailed documents are stored only for the few seconds it takes to process them, then permanently removed.

Filename anonymization

The filenames of legal documents often contain sensitive information — party names, case numbers, or case captions. To protect this information, ScheduleHound automatically replaces every filename with a one-way cryptographic hash the moment it reaches our server. The original filename is never written to our database, server logs, error tracking, or sent to the AI provider. Even if our database were compromised, an attacker would see only opaque identifiers like doc_a3f8b2c1e4d7.pdf — not the original filename.

Why we request the permissions we do

We request only the minimum permissions necessary from Microsoft and Google. Here is exactly what each permission does and why we need it:

Google permissions

  • Google Calendar (Calendars.ReadWrite) — Allows ScheduleHound to create deadline events on your calendar, search your existing events when using Mass Move, and update event dates when rescheduling. We do not access calendar data for any other purpose.
  • Gmail (gmail.send) — Allows ScheduleHound to send booking emails to court reporting agencies on your behalf through the Court Reporter Scheduler. We use the send-only scope — we cannot read your inbox, drafts, or any other emails.

Microsoft permissions

  • Calendars.ReadWrite — Same as above: create, search, and update calendar events.
  • Mail.Send — Same as above: send booking emails only. We cannot read your inbox.
  • User.Read — Allows us to read your basic profile (name and email) so we can display your identity in the app and address booking emails correctly.
  • offline_access — Allows ScheduleHound to refresh your access token without requiring you to re-authenticate every time. This is what enables calendar events to be created automatically when you approve a deadline, even if your browser session has expired.

We do not request access to your contacts, files, drives, or any other data beyond what is listed above. If we ever need additional permissions for a new feature, we will explain why before requesting them.

MACRIPhone

AI-powered social media content generation and publishing

Automated approval queue — no human review of your content

MACRIPhone includes an "approval queue" where generated posts wait for your review before publishing. This queue is entirely automated and self-service. No Macrify employee reviews, reads, moderates, or approves your content at any stage. The queue exists solely so you can review what the AI generated before it goes live. Your content flows from AI generation → your approval → publishing without any human intermediary on our side.

What we store

  • Uploaded images — Images you upload (for templates, carousel posts, or reference images) are stored in cloud storage (Supabase, United States) and retained for as long as your account is active.
  • Generated content — AI-generated captions, post text, and rendered images (1080×1080 PNG) are stored so you can review, approve, and publish them.
  • Brand voice configuration — Your tone preferences, sample posts, do's and don'ts, hashtags, and industry information are stored so the AI can generate content in your voice.
  • Brand colors and logo — Custom brand colors, logo URL, and font preferences are stored to apply your branding to generated images and the dashboard.
  • Custom templates — HTML templates you create (via AI generation, image upload, or manual entry) are stored in your tenant's account.
  • Social media connection tokens — API keys for Zernio (our publishing partner) are stored so we can publish posts on your behalf. We do not store your social media account passwords.

How your content is processed

  • AI content generation — Your text prompts and uploaded images are sent to Google's Generative AI API (Gemini) to generate platform-specific captions and template HTML. Google's API terms prohibit using this data for model training.
  • Image rendering — HTML templates are rendered into PNG images using a server-side rendering engine (Puppeteer). The rendered images are uploaded to cloud storage.
  • Publishing and scheduling — When you approve and publish (or schedule) a post, the content and images are sent to Zernio, which delivers them to your connected social media platforms (LinkedIn, Twitter/X, Instagram, Facebook, Threads, Google Business Profile, Bluesky). Scheduling is handled natively by Zernio — your scheduled posts live on their infrastructure until the publish time.

Our relationship with Zernio

Zernio (zernio.com) is a third-party social media publishing API that MACRIPhone uses to deliver your approved content to social media platforms. Here is what you should know about this relationship:

  • What we send to Zernio — When you publish or schedule a post, we send the post text (per-platform captions), rendered images or uploaded media, and your scheduling preferences. We also send a tenant-specific API key that authorizes publishing to your connected social media accounts.
  • What Zernio does not receive — Zernio does not receive your original prompts, brand voice configuration, AI-generated template data, internal post metadata, or any data from other MACRIPhone features (analytics, settings, onboarding). It only receives the final, approved content you choose to publish.
  • Social media account connections — Your social media accounts (LinkedIn, Twitter/X, Instagram, Facebook, Threads) are connected through Zernio's OAuth flow. Zernio stores the access tokens for your social media accounts on their infrastructure. MACRIPhone stores only the Zernio account identifier and display name — not your social media credentials.
  • Scheduled posts — When you schedule a post for future publishing, the content is held on Zernio's servers until the scheduled time. You can cancel a scheduled post at any time from MACRIPhone's queue, which deletes it from Zernio.
  • Data retention on Zernio — Published and scheduled posts are retained by Zernio according to their own data practices. Canceling or deleting a post in MACRIPhone sends a deletion request to Zernio. For complete data removal, you may also contact Zernio directly.
  • No AI training — Zernio is a delivery service, not an AI provider. Your content passes through Zernio only for the purpose of publishing to your social accounts.

What we do not do with your content

  • We do not use your uploaded images, prompts, or generated content to train AI models.
  • We do not share your content with other tenants or users.
  • We do not sell your content to third parties.
  • We do not review, read, or moderate your content — the approval queue is fully automated.
  • We do not publish content without your explicit approval.

Google User Data: Collection, Use, and Protection

Required disclosure under the Google API Services User Data Policy

Macrify's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

1. Data Accessed

We access the following types of Google user data:

  • Basic profile information (via openid, email, profile scopes) — your name, email address, and profile picture. Used by both ScheduleHound and MACRIPhone for authentication and account display.
  • Google Calendar events (via https://www.googleapis.com/auth/calendar scope, ScheduleHound only) — we read your calendar to detect scheduling conflicts and to search for events during the Mass Move feature. We write to your calendar to create deadline events and update event dates.
  • Gmail send capability (via https://www.googleapis.com/auth/gmail.send scope, ScheduleHound only) — we send emails on your behalf through the Court Reporter Scheduler feature. This is a send-only scope. We cannot and do not read your inbox, drafts, sent mail, or any other emails.

MACRIPhone requests only openid, email, and profile scopes — it does not access Google Calendar, Gmail, or any other Google APIs beyond sign-in.

2. Data Usage

Google user data is used exclusively for the following purposes:

  • Profile data (name, email, photo) — used to identify you within the application, display your name and avatar, and associate your account with your extracted deadlines and content.
  • Calendar data — used only to (a) create deadline events you have approved, (b) read existing events for conflict detection, and (c) search and update events during Mass Move rescheduling. Calendar data is not stored beyond what is necessary to display conflict warnings during your active session.
  • Gmail send — used only to send court reporter booking request emails that you have reviewed and explicitly approved. The content of these emails is generated by the application based on booking form data you provide. We do not access or store any other Gmail data.
  • OAuth refresh tokens — stored in encrypted form (AES-256) so that calendar operations (creating events, rescheduling) can occur server-side when you approve a deadline, without requiring you to re-authenticate each time. Tokens can be revoked at any time by disconnecting your calendar in the app or revoking access in your Google Account settings.

Google user data is not used for advertising, marketing, analytics, user profiling, or any purpose unrelated to the application features described above.

3. Data Sharing

Google user data is not shared with any third parties except as required to operate the service:

  • Supabase (database provider, United States) — stores your account profile (name, email) and encrypted OAuth refresh tokens. Supabase does not independently access or use this data.
  • Sentry (error tracking) — receives error reports that may include your user ID. Error reports never include email content, calendar event data, document content, or OAuth tokens.

We do not sell, rent, lease, or trade Google user data. We do not share Google user data with AI providers — documents processed by Google Gemini are submitted directly from the user's session, not from stored Google user data. Google Calendar and Gmail data is never sent to AI services.

4. Data Storage and Protection

  • Profile data (name, email, profile photo URL) is stored in a PostgreSQL database hosted by Supabase in the United States, protected by TLS encryption in transit and encrypted storage at rest.
  • OAuth refresh tokens are encrypted with AES-256 before storage. The encryption key is stored separately in environment variables, not in the database. Tokens are decrypted only at the moment a server-side calendar or email operation is performed.
  • Calendar event data is fetched from Google's API on demand and cached in the user's browser session for up to 30 seconds for conflict detection. It is not persistently stored in our database.
  • Gmail data — we do not read or store any Gmail data. The gmail.send scope only permits sending emails; it does not grant read access.
  • All API connections use HTTPS/TLS. Database access is restricted to application servers. No Google user data is stored in server logs, analytics systems, or local files.

5. Data Retention and Deletion

  • Account profile data (name, email) is retained for as long as your account is active.
  • OAuth refresh tokens are retained until you disconnect your calendar or revoke access. You can disconnect at any time within the app, or revoke access at myaccount.google.com/permissions. When revoked, the encrypted token is deleted from our database.
  • Calendar event data is not persistently stored and is discarded when your browser session ends.
  • To request deletion of all your data, email legal@macrify.me. We will delete your account and all associated data — including profile information, encrypted tokens, usage logs, and any stored content — within 30 days. After deletion, no Google user data is retained in any form.

Your data is never used for AI training

We exclusively use generative AI providers whose API terms contractually prohibit using submitted data for model training. As of this writing, both ScheduleHound and MACRIPhone use Google's Generative AI API, whose terms of service confirm that API inputs are not used to train their models. If we ever evaluate alternative AI providers, this contractual guarantee will remain a non-negotiable requirement.

What we collect across all products

We collect only what we need to run the service and keep your account working:

  • Account information — your name and email address, provided by Google or Microsoft when you sign in.
  • Usage data — each time you run an AI operation (extraction, content generation, template creation), we record the number of AI tokens used, a brief description of the operation, and a timestamp. For ScheduleHound, file identifiers are anonymized with a one-way hash.
  • Calendar connection tokens (ScheduleHound) — encrypted OAuth refresh tokens that allow us to create events on your behalf. These can be revoked at any time.
  • Social media connection tokens (MACRIPhone) — API keys for publishing platforms. These can be removed at any time in Settings.
  • Content data (MACRIPhone) — uploaded images, generated posts, brand voice settings, custom templates, and brand colors as described above.
  • Billing information — if you subscribe to a paid plan, your payment details are handled entirely by Stripe. We never see or store your credit card number.

We do not collect analytics, tracking cookies, browsing behavior, IP addresses, or device fingerprints.

Third-party services

  • Google — Authentication, AI document processing, Google Calendar, and Gmail integration. Google's Privacy Policy
  • Microsoft — Authentication, Outlook/Microsoft 365 calendar, and email integration. Microsoft's Privacy Statement
  • Supabase — Database hosting (United States). Stores account info, usage logs, and encrypted tokens.
  • Vercel — Application hosting. Serves web pages and runs server-side code. Does not have access to your uploaded documents.
  • Stripe — Payment processing for paid plans. Stripe's Privacy Policy
  • Zernio (MACRIPhone only) — Social media publishing API (zernio.com). When you publish a post, your content and images are sent to Zernio for delivery to your connected social media platforms. See the "Our relationship with Zernio" section above for a detailed description of what data is shared and how.

Data retention

Your account information and usage logs are kept for as long as your account is active. If you want your data deleted, email us and we will remove your account and all associated data within 30 days.

Security

All connections are encrypted with HTTPS. Authentication is handled by Google and Microsoft — we never see or store your password. Database access is restricted to our application servers. OAuth tokens are encrypted at rest. We follow standard security practices, but no system is perfectly secure, and we cannot guarantee absolute security.

Children

Macrify's products are not intended for use by anyone under 18. We do not knowingly collect information from children.

Changes to this policy

If we make meaningful changes to this policy, we will update the effective date at the top of this page.

Questions?

If you have any questions about this privacy policy or how we handle your data, reach out to us at legal@macrify.me.

Frequently Asked Questions

ScheduleHound

Can Macrify employees see my court documents?

No. Documents uploaded through the scanner are sent directly to the AI API and are never stored on our servers. For email submissions, attachments are temporarily held only for processing, then permanently deleted — typically within seconds. In both cases, the original filename is replaced with a cryptographic hash before anything is logged or stored.

Could a data breach expose my documents?

Because we do not store document content, there is nothing to breach. A compromise of our database would expose only account information (name, email) and usage metadata (anonymized file identifiers, timestamps, deadline counts) — not the documents themselves or their original filenames.

Can I revoke ScheduleHound's access to my calendar and email?

Yes. You can disconnect your calendar at any time within ScheduleHound, or revoke access directly from your Google account or Microsoft account settings.

Why does ScheduleHound need calendar write access?

Write access allows us to create deadline events and reschedule them when case dates change (Mass Move). We also use read access to search your existing events during Mass Move so we can propose which events need to be updated.

The Google permissions say ScheduleHound can "delete" calendar events. Can it?

No. Google's Calendar API does not offer a narrower permission scope that separates "create and update" from "delete." The https://www.googleapis.com/auth/calendar scope is the only option that allows ScheduleHound to create deadline events and update them when dates change — and Google's consent screen describes that scope as including the ability to delete, because technically it does. However, ScheduleHound's code does not contain any function, API call, or pathway that deletes calendar events or calendars. The application only creates new events, reads existing events (for conflict detection and Mass Move), and updates event dates. We have no "delete event" feature, no delete button, and no API endpoint that issues a delete request to Google Calendar. The permission is a limitation of Google's scope model, not a reflection of what our application actually does.

MACRIPhone

Does MACRIPhone post content without my approval?

No. Every piece of generated content goes through an automated approval queue. Nothing is published to your social media accounts until you explicitly approve it. Posts are also created as drafts on Zernio by default, giving you an additional layer of review before going live.

Does anyone at Macrify review my content before it's published?

No. The approval queue is entirely automated. No Macrify employee reviews, reads, or moderates your content at any stage. Your content flows directly from AI generation to your review to publishing — there is no human intermediary on our side.

Will my documents be used to train AI?

No. We only use AI providers with contractual commitments not to train on API-submitted data. This is a firm requirement we will maintain regardless of which AI provider we use.

What happens to images I upload to MACRIPhone?

Uploaded images are stored securely in cloud storage (Supabase, United States) and used only for their intended purpose — as template backgrounds, carousel post images, or AI reference material. They are retained for as long as your account is active and deleted within 30 days of an account deletion request. We do not share your images with other users or use them for AI training.

Can I delete content I've created in MACRIPhone?

Yes. You can delete individual posts from the approval queue. If you want all your content deleted, email us and we will remove your account and all associated content within 30 days.